[{"data":1,"prerenderedAt":1391},["ShallowReactive",2],{"navigation_docs":3,"-ui-core":194,"-ui-core-surround":1386},[4,22,82,124,146,168,190],{"title":5,"path":6,"stem":7,"children":8},"Getting started","/getting-started","1.getting-started/0.index",[9,10,14,18],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"MCP quickstart","/getting-started/mcp-quickstart","1.getting-started/1.mcp-quickstart",{"title":15,"path":16,"stem":17},"REST quickstart","/getting-started/rest-quickstart","1.getting-started/2.rest-quickstart",{"title":19,"path":20,"stem":21},"UI quickstart","/getting-started/ui-quickstart","1.getting-started/3.ui-quickstart",{"title":23,"path":24,"stem":25,"children":26},"MCP server","/mcp","2.mcp/0.index",[27,28,32,36,40],{"title":23,"path":24,"stem":25},{"title":29,"path":30,"stem":31},"Connecting","/mcp/connection","2.mcp/1.connection",{"title":33,"path":34,"stem":35},"Envelope","/mcp/envelope","2.mcp/2.envelope",{"title":37,"path":38,"stem":39},"Resources","/mcp/resources","2.mcp/3.resources",{"title":41,"path":42,"stem":43,"children":44},"Tools","/mcp/tools","2.mcp/4.tools/0.index",[45,46,50,54,58,62,66,70,74,78],{"title":41,"path":42,"stem":43},{"title":47,"path":48,"stem":49},"list_schema_versions","/mcp/tools/list-schema-versions","2.mcp/4.tools/1.list-schema-versions",{"title":51,"path":52,"stem":53},"get_schema","/mcp/tools/get-schema","2.mcp/4.tools/2.get-schema",{"title":55,"path":56,"stem":57},"list_categories","/mcp/tools/list-categories","2.mcp/4.tools/3.list-categories",{"title":59,"path":60,"stem":61},"list_elements","/mcp/tools/list-elements","2.mcp/4.tools/4.list-elements",{"title":63,"path":64,"stem":65},"get_element","/mcp/tools/get-element","2.mcp/4.tools/5.get-element",{"title":67,"path":68,"stem":69},"get_elements","/mcp/tools/get-elements","2.mcp/4.tools/6.get-elements",{"title":71,"path":72,"stem":73},"validate_datachain","/mcp/tools/validate-datachain","2.mcp/4.tools/7.validate-datachain",{"title":75,"path":76,"stem":77},"render_datachain","/mcp/tools/render-datachain","2.mcp/4.tools/8.render-datachain",{"title":79,"path":80,"stem":81},"get_icon_url","/mcp/tools/get-icon-url","2.mcp/4.tools/9.get-icon-url",{"title":83,"path":84,"stem":85,"children":86},"REST API (v2)","/rest","3.rest/0.index",[87,88,92,96,100,104,108,112,116,120],{"title":83,"path":84,"stem":85},{"title":89,"path":90,"stem":91},"GET /schemas","/rest/schemas","3.rest/1.schemas",{"title":93,"path":94,"stem":95},"GET /schemas/:version/manifest","/rest/manifest","3.rest/2.manifest",{"title":97,"path":98,"stem":99},"GET /schemas/:version/categories","/rest/categories","3.rest/3.categories",{"title":101,"path":102,"stem":103},"GET /schemas/:version/elements","/rest/elements-list","3.rest/4.elements-list",{"title":105,"path":106,"stem":107},"GET /schemas/:version/elements/:element_id","/rest/element-detail","3.rest/5.element-detail",{"title":109,"path":110,"stem":111},"POST /schemas/:version/validate","/rest/validate","3.rest/6.validate",{"title":113,"path":114,"stem":115},"Icon routes","/rest/icons","3.rest/7.icons",{"title":117,"path":118,"stem":119},"Pagination & fields","/rest/pagination-and-fields","3.rest/8.pagination-and-fields",{"title":121,"path":122,"stem":123},"Errors","/rest/errors","3.rest/9.errors",{"title":125,"path":126,"stem":127,"children":128},"Icon composition","/icons","4.icons/0.index",[129,130,134,138,142],{"title":125,"path":126,"stem":127},{"title":131,"path":132,"stem":133},"Shapes","/icons/shapes","4.icons/1.shapes",{"title":135,"path":136,"stem":137},"Symbols","/icons/symbols","4.icons/2.symbols",{"title":139,"path":140,"stem":141},"Composed variants","/icons/composed-variants","4.icons/3.composed-variants",{"title":143,"path":144,"stem":145},"URLs","/icons/urls","4.icons/4.urls",{"title":147,"path":148,"stem":149,"children":150},"@dtpr/ui","/ui","5.ui/0.index",[151,152,156,160,164],{"title":147,"path":148,"stem":149},{"title":153,"path":154,"stem":155},"@dtpr/ui/core","/ui/core","5.ui/1.core",{"title":157,"path":158,"stem":159},"@dtpr/ui/vue","/ui/vue","5.ui/2.vue",{"title":161,"path":162,"stem":163},"@dtpr/ui/html","/ui/html","5.ui/3.html",{"title":165,"path":166,"stem":167},"Theming","/ui/theming","5.ui/4.theming",{"title":169,"path":170,"stem":171,"children":172},"Concepts","/concepts","6.concepts/0.index",[173,174,178,182,186],{"title":169,"path":170,"stem":171},{"title":175,"path":176,"stem":177},"Datachains","/concepts/datachains","6.concepts/1.datachains",{"title":179,"path":180,"stem":181},"Elements & categories","/concepts/elements-categories","6.concepts/2.elements-categories",{"title":183,"path":184,"stem":185},"Versions & releases","/concepts/versions-and-releases","6.concepts/3.versions-and-releases",{"title":187,"path":188,"stem":189},"Content hash","/concepts/content-hash","6.concepts/4.content-hash",{"title":191,"path":192,"stem":193},"Changelog","/changelog","7.changelog",{"id":195,"title":153,"body":196,"description":1379,"extension":1380,"links":1381,"meta":1382,"navigation":1383,"path":154,"seo":1384,"stem":155,"__hash__":1385},"docs/5.ui/1.core.md",{"type":197,"value":198,"toc":1352},"minimark",[199,203,208,213,335,339,346,354,406,512,518,524,574,578,584,591,637,682,688,691,748,759,763,769,776,819,825,836,889,895,909,913,919,937,1010,1051,1055,1061,1079,1127,1130,1134,1139,1153,1172,1176,1185,1326,1330,1348],[200,201,153],"h1",{"id":202},"dtpruicore",[204,205,207],"callout",{"type":206},"info","Pure TypeScript, no framework dependencies. Import these helpers from any runtime — Node, Bun, Deno, Workers, a Vue app, a React app.",[209,210,212],"h2",{"id":211},"import","Import",[214,215,220],"pre",{"className":216,"code":217,"language":218,"meta":219,"style":219},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import {\n  extract,\n  extractWithLocale,\n  interpolate,\n  interpolateSegments,\n  groupElementsByCategory,\n  sortCategoriesByOrder,\n  findCategoryDefinition,\n  deriveElementDisplay,\n  validateDatachain,\n  HEXAGON_FALLBACK_DATA_URI,\n} from '@dtpr/ui/core'\n","ts","",[221,222,223,235,245,253,261,269,277,285,293,301,309,317],"code",{"__ignoreMap":219},[224,225,228,231],"span",{"class":226,"line":227},"line",1,[224,229,211],{"class":230},"s7zQu",[224,232,234],{"class":233},"sMK4o"," {\n",[224,236,238,242],{"class":226,"line":237},2,[224,239,241],{"class":240},"sTEyZ","  extract",[224,243,244],{"class":233},",\n",[224,246,248,251],{"class":226,"line":247},3,[224,249,250],{"class":240},"  extractWithLocale",[224,252,244],{"class":233},[224,254,256,259],{"class":226,"line":255},4,[224,257,258],{"class":240},"  interpolate",[224,260,244],{"class":233},[224,262,264,267],{"class":226,"line":263},5,[224,265,266],{"class":240},"  interpolateSegments",[224,268,244],{"class":233},[224,270,272,275],{"class":226,"line":271},6,[224,273,274],{"class":240},"  groupElementsByCategory",[224,276,244],{"class":233},[224,278,280,283],{"class":226,"line":279},7,[224,281,282],{"class":240},"  sortCategoriesByOrder",[224,284,244],{"class":233},[224,286,288,291],{"class":226,"line":287},8,[224,289,290],{"class":240},"  findCategoryDefinition",[224,292,244],{"class":233},[224,294,296,299],{"class":226,"line":295},9,[224,297,298],{"class":240},"  deriveElementDisplay",[224,300,244],{"class":233},[224,302,304,307],{"class":226,"line":303},10,[224,305,306],{"class":240},"  validateDatachain",[224,308,244],{"class":233},[224,310,312,315],{"class":226,"line":311},11,[224,313,314],{"class":240},"  HEXAGON_FALLBACK_DATA_URI",[224,316,244],{"class":233},[224,318,320,323,326,329,332],{"class":226,"line":319},12,[224,321,322],{"class":233},"}",[224,324,325],{"class":230}," from",[224,327,328],{"class":233}," '",[224,330,153],{"class":331},"sfazB",[224,333,334],{"class":233},"'\n",[209,336,338],{"id":337},"locale-extraction","Locale extraction",[340,341,343],"h3",{"id":342},"extractvalues-locale",[221,344,345],{},"extract(values, locale)",[347,348,349,350,353],"p",{},"Return the first ",[221,351,352],{},"LocaleValue"," matching the requested locale, or an empty string.",[214,355,357],{"className":216,"code":356,"language":218,"meta":219,"style":219},"function extract(values: readonly LocaleValue[], locale: string): string\n",[221,358,359],{"__ignoreMap":219},[224,360,361,365,369,372,376,379,382,386,389,392,395,397,400,403],{"class":226,"line":227},[224,362,364],{"class":363},"spNyl","function",[224,366,368],{"class":367},"s2Zo4"," extract",[224,370,371],{"class":233},"(",[224,373,375],{"class":374},"sHdIc","values",[224,377,378],{"class":233},":",[224,380,381],{"class":363}," readonly",[224,383,385],{"class":384},"sBMFI"," LocaleValue",[224,387,388],{"class":240},"[]",[224,390,391],{"class":233},",",[224,393,394],{"class":374}," locale",[224,396,378],{"class":233},[224,398,399],{"class":384}," string",[224,401,402],{"class":233},"):",[224,404,405],{"class":384}," string\n",[214,407,409],{"className":216,"code":408,"language":218,"meta":219,"style":219},"extract(\n  [{ locale: 'en', value: 'Camera' }, { locale: 'fr', value: 'Caméra' }],\n  'fr',\n) // → 'Caméra'\n",[221,410,411,419,492,503],{"__ignoreMap":219},[224,412,413,416],{"class":226,"line":227},[224,414,415],{"class":367},"extract",[224,417,418],{"class":240},"(\n",[224,420,421,424,427,430,432,434,437,440,442,445,447,449,452,454,457,460,462,464,466,469,471,473,475,477,479,482,484,487,490],{"class":226,"line":237},[224,422,423],{"class":240},"  [",[224,425,426],{"class":233},"{",[224,428,394],{"class":429},"swJcz",[224,431,378],{"class":233},[224,433,328],{"class":233},[224,435,436],{"class":331},"en",[224,438,439],{"class":233},"'",[224,441,391],{"class":233},[224,443,444],{"class":429}," value",[224,446,378],{"class":233},[224,448,328],{"class":233},[224,450,451],{"class":331},"Camera",[224,453,439],{"class":233},[224,455,456],{"class":233}," },",[224,458,459],{"class":233}," {",[224,461,394],{"class":429},[224,463,378],{"class":233},[224,465,328],{"class":233},[224,467,468],{"class":331},"fr",[224,470,439],{"class":233},[224,472,391],{"class":233},[224,474,444],{"class":429},[224,476,378],{"class":233},[224,478,328],{"class":233},[224,480,481],{"class":331},"Caméra",[224,483,439],{"class":233},[224,485,486],{"class":233}," }",[224,488,489],{"class":240},"]",[224,491,244],{"class":233},[224,493,494,497,499,501],{"class":226,"line":247},[224,495,496],{"class":233},"  '",[224,498,468],{"class":331},[224,500,439],{"class":233},[224,502,244],{"class":233},[224,504,505,508],{"class":226,"line":255},[224,506,507],{"class":240},") ",[224,509,511],{"class":510},"sHwdD","// → 'Caméra'\n",[340,513,515],{"id":514},"extractwithlocalevalues-locale",[221,516,517],{},"extractWithLocale(values, locale)",[347,519,520,521,523],{},"Like ",[221,522,415],{}," but returns the matched locale too — useful when you want to know whether the extraction fell back.",[214,525,527],{"className":216,"code":526,"language":218,"meta":219,"style":219},"function extractWithLocale(\n  values: readonly LocaleValue[],\n  locale: string,\n): ExtractWithLocaleResult  // { value: string, locale: string | null }\n",[221,528,529,538,553,564],{"__ignoreMap":219},[224,530,531,533,536],{"class":226,"line":227},[224,532,364],{"class":363},[224,534,535],{"class":367}," extractWithLocale",[224,537,418],{"class":233},[224,539,540,543,545,547,549,551],{"class":226,"line":237},[224,541,542],{"class":374},"  values",[224,544,378],{"class":233},[224,546,381],{"class":363},[224,548,385],{"class":384},[224,550,388],{"class":240},[224,552,244],{"class":233},[224,554,555,558,560,562],{"class":226,"line":247},[224,556,557],{"class":374},"  locale",[224,559,378],{"class":233},[224,561,399],{"class":384},[224,563,244],{"class":233},[224,565,566,568,571],{"class":226,"line":255},[224,567,402],{"class":233},[224,569,570],{"class":384}," ExtractWithLocaleResult",[224,572,573],{"class":510},"  // { value: string, locale: string | null }\n",[209,575,577],{"id":576},"interpolation","Interpolation",[340,579,581],{"id":580},"interpolatetemplate-vars",[221,582,583],{},"interpolate(template, vars)",[347,585,586,587,590],{},"Replace ",[221,588,589],{},"{{variable_id}}"," tokens in a template string.",[214,592,594],{"className":216,"code":593,"language":218,"meta":219,"style":219},"function interpolate(template: string, vars: Record\u003Cstring, string>): string\n",[221,595,596],{"__ignoreMap":219},[224,597,598,600,603,605,608,610,612,614,617,619,622,625,628,630,632,635],{"class":226,"line":227},[224,599,364],{"class":363},[224,601,602],{"class":367}," interpolate",[224,604,371],{"class":233},[224,606,607],{"class":374},"template",[224,609,378],{"class":233},[224,611,399],{"class":384},[224,613,391],{"class":233},[224,615,616],{"class":374}," vars",[224,618,378],{"class":233},[224,620,621],{"class":384}," Record",[224,623,624],{"class":233},"\u003C",[224,626,627],{"class":384},"string",[224,629,391],{"class":233},[224,631,399],{"class":384},[224,633,634],{"class":233},">):",[224,636,405],{"class":384},[214,638,640],{"className":216,"code":639,"language":218,"meta":219,"style":219},"interpolate('Shared with {{partner}}', { partner: 'Acme' })\n// → 'Shared with Acme'\n",[221,641,642,677],{"__ignoreMap":219},[224,643,644,647,649,651,654,656,658,660,663,665,667,670,672,674],{"class":226,"line":227},[224,645,646],{"class":367},"interpolate",[224,648,371],{"class":240},[224,650,439],{"class":233},[224,652,653],{"class":331},"Shared with {{partner}}",[224,655,439],{"class":233},[224,657,391],{"class":233},[224,659,459],{"class":233},[224,661,662],{"class":429}," partner",[224,664,378],{"class":233},[224,666,328],{"class":233},[224,668,669],{"class":331},"Acme",[224,671,439],{"class":233},[224,673,486],{"class":233},[224,675,676],{"class":240},")\n",[224,678,679],{"class":226,"line":237},[224,680,681],{"class":510},"// → 'Shared with Acme'\n",[340,683,685],{"id":684},"interpolatesegmentstemplate-vars",[221,686,687],{},"interpolateSegments(template, vars)",[347,689,690],{},"Tokenize a template into segments so a renderer can style filled vs missing variables differently.",[214,692,694],{"className":216,"code":693,"language":218,"meta":219,"style":219},"function interpolateSegments(\n  template: string,\n  vars: Record\u003Cstring, string>,\n): readonly InterpolateSegment[]\n",[221,695,696,705,716,736],{"__ignoreMap":219},[224,697,698,700,703],{"class":226,"line":227},[224,699,364],{"class":363},[224,701,702],{"class":367}," interpolateSegments",[224,704,418],{"class":233},[224,706,707,710,712,714],{"class":226,"line":237},[224,708,709],{"class":374},"  template",[224,711,378],{"class":233},[224,713,399],{"class":384},[224,715,244],{"class":233},[224,717,718,721,723,725,727,729,731,733],{"class":226,"line":247},[224,719,720],{"class":374},"  vars",[224,722,378],{"class":233},[224,724,621],{"class":384},[224,726,624],{"class":233},[224,728,627],{"class":384},[224,730,391],{"class":233},[224,732,399],{"class":384},[224,734,735],{"class":233},">,\n",[224,737,738,740,742,745],{"class":226,"line":255},[224,739,402],{"class":233},[224,741,381],{"class":363},[224,743,744],{"class":384}," InterpolateSegment",[224,746,747],{"class":240},"[]\n",[347,749,750,751,754,755,758],{},"Each segment is ",[221,752,753],{},"{ kind: 'text' | 'variable' | 'missing', value: string, variable_id?: string }",". ",[221,756,757],{},"DtprElementDetail"," uses this helper to highlight filled variables and emphasize missing ones.",[209,760,762],{"id":761},"category-grouping","Category grouping",[340,764,766],{"id":765},"groupelementsbycategoryelements",[221,767,768],{},"groupElementsByCategory(elements)",[347,770,771,772,775],{},"Bucket a flat element list into ",[221,773,774],{},"{ [category_id]: Element[] }",".",[214,777,779],{"className":216,"code":778,"language":218,"meta":219,"style":219},"function groupElementsByCategory(elements: readonly Element[]): Record\u003Cstring, Element[]>\n",[221,780,781],{"__ignoreMap":219},[224,782,783,785,788,790,793,795,797,800,802,804,806,808,810,812,814,816],{"class":226,"line":227},[224,784,364],{"class":363},[224,786,787],{"class":367}," groupElementsByCategory",[224,789,371],{"class":233},[224,791,792],{"class":374},"elements",[224,794,378],{"class":233},[224,796,381],{"class":363},[224,798,799],{"class":384}," Element",[224,801,388],{"class":240},[224,803,402],{"class":233},[224,805,621],{"class":384},[224,807,624],{"class":233},[224,809,627],{"class":384},[224,811,391],{"class":233},[224,813,799],{"class":384},[224,815,388],{"class":240},[224,817,818],{"class":233},">\n",[340,820,822],{"id":821},"sortcategoriesbyordercategories-order",[221,823,824],{},"sortCategoriesByOrder(categories, order)",[347,826,827,828,831,832,835],{},"Order categories according to a reference id sequence (e.g. the one declared on ",[221,829,830],{},"datachainType.categories","). Categories not in ",[221,833,834],{},"order"," land at the end in their natural order.",[214,837,839],{"className":216,"code":838,"language":218,"meta":219,"style":219},"function sortCategoriesByOrder(\n  categories: readonly Category[],\n  order: readonly string[],\n): Category[]\n",[221,840,841,850,866,881],{"__ignoreMap":219},[224,842,843,845,848],{"class":226,"line":227},[224,844,364],{"class":363},[224,846,847],{"class":367}," sortCategoriesByOrder",[224,849,418],{"class":233},[224,851,852,855,857,859,862,864],{"class":226,"line":237},[224,853,854],{"class":374},"  categories",[224,856,378],{"class":233},[224,858,381],{"class":363},[224,860,861],{"class":384}," Category",[224,863,388],{"class":240},[224,865,244],{"class":233},[224,867,868,871,873,875,877,879],{"class":226,"line":247},[224,869,870],{"class":374},"  order",[224,872,378],{"class":233},[224,874,381],{"class":363},[224,876,399],{"class":384},[224,878,388],{"class":240},[224,880,244],{"class":233},[224,882,883,885,887],{"class":226,"line":255},[224,884,402],{"class":233},[224,886,861],{"class":384},[224,888,747],{"class":240},[340,890,892],{"id":891},"findcategorydefinitioncategories-id",[221,893,894],{},"findCategoryDefinition(categories, id)",[347,896,897,898,901,902,905,906,775],{},"Lookup helper that returns the ",[221,899,900],{},"Category"," matching ",[221,903,904],{},"id",", or ",[221,907,908],{},"undefined",[209,910,912],{"id":911},"display-derivation","Display derivation",[340,914,916],{"id":915},"deriveelementdisplayelement-placement-locale",[221,917,918],{},"deriveElementDisplay(element, placement, locale)",[347,920,921,922,925,926,928,929,932,933,936],{},"Compose the pre-rendered display payload consumed by ",[221,923,924],{},"DtprElement"," and ",[221,927,757],{},". It resolves the icon URL (including the ",[221,930,931],{},"HEXAGON_FALLBACK_DATA_URI"," when ",[221,934,935],{},"icon_url"," is missing), extracts localized strings, and tees up variables with their filled values.",[214,938,940],{"className":216,"code":939,"language":218,"meta":219,"style":219},"function deriveElementDisplay(\n  element: Element,\n  placement: InstanceElement | undefined,\n  locale: string,\n  options?: DeriveElementDisplayOptions,\n): ElementDisplay\n",[221,941,942,951,962,980,990,1003],{"__ignoreMap":219},[224,943,944,946,949],{"class":226,"line":227},[224,945,364],{"class":363},[224,947,948],{"class":367}," deriveElementDisplay",[224,950,418],{"class":233},[224,952,953,956,958,960],{"class":226,"line":237},[224,954,955],{"class":374},"  element",[224,957,378],{"class":233},[224,959,799],{"class":384},[224,961,244],{"class":233},[224,963,964,967,969,972,975,978],{"class":226,"line":247},[224,965,966],{"class":374},"  placement",[224,968,378],{"class":233},[224,970,971],{"class":384}," InstanceElement",[224,973,974],{"class":233}," |",[224,976,977],{"class":384}," undefined",[224,979,244],{"class":233},[224,981,982,984,986,988],{"class":226,"line":255},[224,983,557],{"class":374},[224,985,378],{"class":233},[224,987,399],{"class":384},[224,989,244],{"class":233},[224,991,992,995,998,1001],{"class":226,"line":263},[224,993,994],{"class":374},"  options",[224,996,997],{"class":233},"?:",[224,999,1000],{"class":384}," DeriveElementDisplayOptions",[224,1002,244],{"class":233},[224,1004,1005,1007],{"class":226,"line":271},[224,1006,402],{"class":233},[224,1008,1009],{"class":384}," ElementDisplay\n",[214,1011,1013],{"className":216,"code":1012,"language":218,"meta":219,"style":219},"const display = deriveElementDisplay(element, placement, 'en')\n// { title, description, citation, icon: {url, alt}, variables: [{id, label, value, type, required}] }\n",[221,1014,1015,1046],{"__ignoreMap":219},[224,1016,1017,1020,1023,1026,1028,1031,1033,1036,1038,1040,1042,1044],{"class":226,"line":227},[224,1018,1019],{"class":363},"const",[224,1021,1022],{"class":240}," display ",[224,1024,1025],{"class":233},"=",[224,1027,948],{"class":367},[224,1029,1030],{"class":240},"(element",[224,1032,391],{"class":233},[224,1034,1035],{"class":240}," placement",[224,1037,391],{"class":233},[224,1039,328],{"class":233},[224,1041,436],{"class":331},[224,1043,439],{"class":233},[224,1045,676],{"class":240},[224,1047,1048],{"class":226,"line":237},[224,1049,1050],{"class":510},"// { title, description, citation, icon: {url, alt}, variables: [{id, label, value, type, required}] }\n",[209,1052,1054],{"id":1053},"validation","Validation",[340,1056,1058],{"id":1057},"validatedatachaininstance-source",[221,1059,1060],{},"validateDatachain(instance, source)",[347,1062,1063,1064,1070,1071,1074,1075,1078],{},"Run the same validator used by ",[1065,1066,1067],"a",{"href":110},[221,1068,1069],{},"POST /validate"," over a ",[221,1072,1073],{},"DatachainInstance",", given a ",[221,1076,1077],{},"SchemaVersionSource"," (manifest + categories + elements + datachain-type).",[214,1080,1082],{"className":216,"code":1081,"language":218,"meta":219,"style":219},"function validateDatachain(\n  instance: DatachainInstance,\n  source: SchemaVersionSource,\n): ValidationResult  // { ok: boolean, errors: SemanticError[], warnings: SemanticError[] }\n",[221,1083,1084,1093,1105,1117],{"__ignoreMap":219},[224,1085,1086,1088,1091],{"class":226,"line":227},[224,1087,364],{"class":363},[224,1089,1090],{"class":367}," validateDatachain",[224,1092,418],{"class":233},[224,1094,1095,1098,1100,1103],{"class":226,"line":237},[224,1096,1097],{"class":374},"  instance",[224,1099,378],{"class":233},[224,1101,1102],{"class":384}," DatachainInstance",[224,1104,244],{"class":233},[224,1106,1107,1110,1112,1115],{"class":226,"line":247},[224,1108,1109],{"class":374},"  source",[224,1111,378],{"class":233},[224,1113,1114],{"class":384}," SchemaVersionSource",[224,1116,244],{"class":233},[224,1118,1119,1121,1124],{"class":226,"line":255},[224,1120,402],{"class":233},[224,1122,1123],{"class":384}," ValidationResult",[224,1125,1126],{"class":510},"  // { ok: boolean, errors: SemanticError[], warnings: SemanticError[] }\n",[347,1128,1129],{},"Use it when you want to run validation client-side without a round-trip.",[209,1131,1133],{"id":1132},"constants","Constants",[340,1135,1137],{"id":1136},"hexagon_fallback_data_uri",[221,1138,931],{},[347,1140,1141,1142,1145,1146,1148,1149,1152],{},"Inline data URI for a neutral hexagon fallback icon. Used by ",[221,1143,1144],{},"deriveElementDisplay"," when an element lacks an ",[221,1147,935],{}," — pass it to ",[221,1150,1151],{},"DtprIcon.src"," wherever you need a safe placeholder.",[214,1154,1156],{"className":216,"code":1155,"language":218,"meta":219,"style":219},"const HEXAGON_FALLBACK_DATA_URI: string  // 'data:image/svg+xml,...'\n",[221,1157,1158],{"__ignoreMap":219},[224,1159,1160,1162,1165,1167,1169],{"class":226,"line":227},[224,1161,1019],{"class":363},[224,1163,1164],{"class":240}," HEXAGON_FALLBACK_DATA_URI",[224,1166,378],{"class":233},[224,1168,399],{"class":384},[224,1170,1171],{"class":510},"  // 'data:image/svg+xml,...'\n",[209,1173,1175],{"id":1174},"type-exports","Type exports",[347,1177,1178,1180,1181,1184],{},[221,1179,153],{}," also re-exports the schema types so consumers don't have to depend on ",[221,1182,1183],{},"@dtpr/api"," directly:",[1186,1187,1188,1201],"table",{},[1189,1190,1191],"thead",{},[1192,1193,1194,1198],"tr",{},[1195,1196,1197],"th",{},"Type",[1195,1199,1200],{},"Description",[1202,1203,1204,1226,1241,1251,1264,1280,1296,1314],"tbody",{},[1192,1205,1206,1223],{},[1207,1208,1209,1212,1213,1212,1215,1212,1217,1212,1220],"td",{},[221,1210,1211],{},"Element",", ",[221,1214,900],{},[221,1216,352],{},[221,1218,1219],{},"Variable",[221,1221,1222],{},"VariableType",[1207,1224,1225],{},"Schema primitives.",[1192,1227,1228,1238],{},[1207,1229,1230,1212,1233,1212,1236],{},[221,1231,1232],{},"InstanceElement",[221,1234,1235],{},"InstanceVariableValue",[221,1237,1073],{},[1207,1239,1240],{},"Instance primitives.",[1192,1242,1243,1248],{},[1207,1244,1245],{},[221,1246,1247],{},"SchemaManifest",[1207,1249,1250],{},"Manifest shape.",[1192,1252,1253,1258],{},[1207,1254,1255],{},[221,1256,1257],{},"InterpolateSegment",[1207,1259,1260,1261,775],{},"Segment type returned by ",[221,1262,1263],{},"interpolateSegments",[1192,1265,1266,1277],{},[1207,1267,1268,1212,1271,1212,1274],{},[221,1269,1270],{},"ElementDisplay",[221,1272,1273],{},"ElementDisplayIcon",[221,1275,1276],{},"ElementDisplayVariable",[1207,1278,1279],{},"Derived display payload.",[1192,1281,1282,1287],{},[1207,1283,1284],{},[221,1285,1286],{},"ExtractWithLocaleResult",[1207,1288,1289,1292,1293,775],{},[221,1290,1291],{},"{ value, locale }"," from ",[221,1294,1295],{},"extractWithLocale",[1192,1297,1298,1311],{},[1207,1299,1300,1212,1302,1212,1305,1212,1308],{},[221,1301,1077],{},[221,1303,1304],{},"SemanticError",[221,1306,1307],{},"Severity",[221,1309,1310],{},"ValidationResult",[1207,1312,1313],{},"Validator inputs and outputs.",[1192,1315,1316,1321],{},[1207,1317,1318],{},[221,1319,1320],{},"DeriveElementDisplayOptions",[1207,1322,1323,1324,775],{},"Options bag for ",[221,1325,1144],{},[209,1327,1329],{"id":1328},"see-also","See also",[1331,1332,1333,1339,1344],"ul",{},[1334,1335,1336],"li",{},[1065,1337,1338],{"href":158},"Vue components",[1334,1340,1341],{},[1065,1342,1343],{"href":162},"SSR HTML renderer",[1334,1345,1346],{},[1065,1347,165],{"href":166},[1349,1350,1351],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":219,"searchDepth":237,"depth":237,"links":1353},[1354,1355,1359,1363,1368,1371,1374,1377,1378],{"id":211,"depth":237,"text":212},{"id":337,"depth":237,"text":338,"children":1356},[1357,1358],{"id":342,"depth":247,"text":345},{"id":514,"depth":247,"text":517},{"id":576,"depth":237,"text":577,"children":1360},[1361,1362],{"id":580,"depth":247,"text":583},{"id":684,"depth":247,"text":687},{"id":761,"depth":237,"text":762,"children":1364},[1365,1366,1367],{"id":765,"depth":247,"text":768},{"id":821,"depth":247,"text":824},{"id":891,"depth":247,"text":894},{"id":911,"depth":237,"text":912,"children":1369},[1370],{"id":915,"depth":247,"text":918},{"id":1053,"depth":237,"text":1054,"children":1372},[1373],{"id":1057,"depth":247,"text":1060},{"id":1132,"depth":237,"text":1133,"children":1375},[1376],{"id":1136,"depth":247,"text":931},{"id":1174,"depth":237,"text":1175},{"id":1328,"depth":237,"text":1329},"Framework-neutral helpers for locale extraction, interpolation, category grouping, display derivation, and validation.","md",null,{},true,{"title":153,"description":1379},"Z7yCklXCqdixD8Nk-mJk-lNzyEndnqiYkcvGCWGbGbk",[1387,1389],{"title":147,"path":148,"stem":149,"description":1388,"children":-1},"Framework-neutral helpers, Vue components, and SSR HTML renderer for DTPR content.",{"title":157,"path":158,"stem":159,"description":1390,"children":-1},"Six Vue 3 components for rendering DTPR datachains.",1776525922453]