Components are embeddable UI widgets built with JSX/HTML/JS and compiled by Sinas into browser-ready bundles. They can call agents, functions, queries, and access state through proxy endpoints.Key properties:
Property
Description
namespace / name
Unique identifier
title
Display title
source_code
JSX/HTML/JS source
compiled_bundle
Auto-generated browser-ready JS
input_schema
JSON Schema for component configuration
enabled_agents
Agents the component can call
enabled_functions
Functions the component can call
enabled_queries
Queries the component can execute
enabled_components
Other components it can embed
enabled_stores
Stores the component can access ({"store": "ns/name", "access": "readonly|readwrite"})
css_overrides
Custom CSS
visibility
private, shared, or public
Components use the sinas-ui library (loaded from npm/unpkg) for a consistent look and feel.Management endpoints:
POST /api/v1/components # Create componentGET /api/v1/components # List componentsGET /api/v1/components/{namespace}/{name} # Get componentPUT /api/v1/components/{namespace}/{name} # Update componentDELETE /api/v1/components/{namespace}/{name} # Delete componentPOST /api/v1/components/{namespace}/{name}/compile # Trigger compilation
Share links allow embedding components outside Sinas with optional expiration and view limits:
POST /api/v1/components/{namespace}/{name}/shares # Create share linkGET /api/v1/components/{namespace}/{name}/shares # List share linksDELETE /api/v1/components/{namespace}/{name}/shares/{token} # Revoke share link
Runtime rendering:
GET /components/{namespace}/{name}/render # Render as full HTML pageGET /components/shared/{token} # Render via share token
Proxy endpoints allow components to call backend resources from the browser securely — the proxy enforces the component’s enabled_* permissions:
POST /components/{ns}/{name}/proxy/queries/{q_ns}/{q_name}/execute # Execute queryPOST /components/{ns}/{name}/proxy/functions/{fn_ns}/{fn_name}/execute # Execute functionPOST /components/{ns}/{name}/proxy/states/{state_ns} # Access state
{"docsConfig":{"theme":"sequoia","$schema":"https://mintlify.com/docs.json","name":"Sinas","colors":{"primary":"#6366F1","light":"#818CF8","dark":"#4F46E5"},"logo":{"light":"https://mintcdn.com/sinas/iT4E3NGmMyveEvtm/logo/light.svg?fit=max\u0026auto=format\u0026n=iT4E3NGmMyveEvtm\u0026q=85\u0026s=2a95c719ea222d7d43314fecba33da1e","dark":"https://mintcdn.com/sinas/iT4E3NGmMyveEvtm/logo/dark.svg?fit=max\u0026auto=format\u0026n=iT4E3NGmMyveEvtm\u0026q=85\u0026s=4c630781b0447a87f6c96c2e120ad97e","href":"https://sinas.co"},"favicon":"https://mintcdn.com/sinas/iT4E3NGmMyveEvtm/favicon.png?fit=max\u0026auto=format\u0026n=iT4E3NGmMyveEvtm\u0026q=85\u0026s=befdf6a34378ae8a7994509fe0e7f55f","navbar":{"links":[{"href":"https://sinas.co","label":"Website"}]},"footer":{"socials":{"github":"https://github.com/sinas-platform"}},"contextual":{"options":["copy","view","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/sinas-platform"},{"anchor":"Packages","icon":"box","href":"https://github.com/sinas-platform/packages"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sinas","hasAudioNarration":false,"actualSubdomain":"sinas","customDomains":["docs.sinas.co"],"gitSource":{"type":"github","owner":"sinas-platform","repo":"sinas","deployBranch":"main","contentDirectory":"docs-mint","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6abd6fa4ae82d68189669ba2","collectionId":"62238b63-24cd-4537-9c31-cde5728a98f6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6abd6fa4ae82d68189669ba2"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6abd6fa4ae82d68189669ba2","clientVersion":"0.0.3918","searchFilterCounts":[{"language":"default","tag":"Documentation","count":34},{"language":"default","tag":"Build","count":9},{"language":"default","tag":"Admin","count":7},{"language":"default","tag":"Getting Started","count":5},{"language":"default","tag":"Platform","count":5},{"language":"default","tag":"Configure","count":3},{"language":"default","tag":"Triggers","count":3},{"language":"default","tag":"Storage","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"teamspace","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"client-snapshot-docs-config","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"build-resources/components","slug":"/build-resources/components","pageMetadata":{"title":"Components","description":"Renderable UI components","href":"/build-resources/components"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Renderable UI components\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Components are embeddable UI widgets built with JSX/HTML/JS and compiled by Sinas into browser-ready bundles. They can call agents, functions, queries, and access state through proxy endpoints.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Key properties:`})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Property`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(_components.code,{children:`namespace`}),` / `,_jsx(_components.code,{children:`name`})]}),_jsx(_components.td,{children:`Unique identifier`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`title`})}),_jsx(_components.td,{children:`Display title`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`source_code`})}),_jsx(_components.td,{children:`JSX/HTML/JS source`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`compiled_bundle`})}),_jsx(_components.td,{children:`Auto-generated browser-ready JS`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`input_schema`})}),_jsx(_components.td,{children:`JSON Schema for component configuration`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled_agents`})}),_jsx(_components.td,{children:`Agents the component can call`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled_functions`})}),_jsx(_components.td,{children:`Functions the component can call`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled_queries`})}),_jsx(_components.td,{children:`Queries the component can execute`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled_components`})}),_jsx(_components.td,{children:`Other components it can embed`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`enabled_stores`})}),_jsxs(_components.td,{children:[`Stores the component can access (`,_jsx(_components.code,{children:`{\"store\": \"ns/name\", \"access\": \"readonly|readwrite\"}`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`css_overrides`})}),_jsx(_components.td,{children:`Custom CSS`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`visibility`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`private`}),`, `,_jsx(_components.code,{children:`shared`}),`, or `,_jsx(_components.code,{children:`public`})]})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Components use the `,_jsx(_components.code,{children:`sinas-ui`}),` library (loaded from npm/unpkg) for a consistent look and feel.`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Management endpoints:`})}),`\n`,_jsx(CodeBlock,{numberOfLines:`7`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`POST /api/v1/components # Create component`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`GET /api/v1/components # List components`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`GET /api/v1/components/{namespace}/{name} # Get component`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`PUT /api/v1/components/{namespace}/{name} # Update component`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`DELETE /api/v1/components/{namespace}/{name} # Delete component`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`POST /api/v1/components/{namespace}/{name}/compile # Trigger compilation`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Share links`}),` allow embedding components outside Sinas with optional expiration and view limits:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`POST /api/v1/components/{namespace}/{name}/shares # Create share link`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`GET /api/v1/components/{namespace}/{name}/shares # List share links`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`DELETE /api/v1/components/{namespace}/{name}/shares/{token} # Revoke share link`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Runtime rendering:`})}),`\n`,_jsx(CodeBlock,{numberOfLines:`3`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`GET /components/{namespace}/{name}/render # Render as full HTML page`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`GET /components/shared/{token} # Render via share token`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Proxy endpoints`}),` allow components to call backend resources from the browser securely — the proxy enforces the component’s `,_jsx(_components.code,{children:`enabled_*`}),` permissions:`]}),`\n`,_jsx(CodeBlock,{numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`POST /components/{ns}/{name}/proxy/queries/{q_ns}/{q_name}/execute # Execute query`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`POST /components/{ns}/{name}/proxy/functions/{fn_ns}/{fn_name}/execute # Execute function`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`POST /components/{ns}/{name}/proxy/states/{state_ns} # Access state`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Components","description":"Renderable UI components","href":"/build-resources/components"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"sinas","siteName":"Sinas","title":"Components - Sinas","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-04-22T12:59:09.066Z","originalFileLocation":"build-resources/components.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Renderable UI components\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sinas\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sinas/Qur5_eOCmXgSFUvZ/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/sinas/Qur5_eOCmXgSFUvZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sinas/Qur5_eOCmXgSFUvZ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sinas/Qur5_eOCmXgSFUvZ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sinas/Qur5_eOCmXgSFUvZ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sinas/Qur5_eOCmXgSFUvZ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sinas/Qur5_eOCmXgSFUvZ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/sinas/Qur5_eOCmXgSFUvZ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/sinas/Qur5_eOCmXgSFUvZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Components - Sinas\">\u003cmeta data-mint-head property=\"og:description\" content=\"Renderable UI components\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sinas\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sinas.co/build-resources/components\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sinas.mintlify.app/_mintlify/api/og/v2?division=Build\u0026amp;title=Components\u0026amp;description=Renderable+UI+components\u0026amp;theme=1666c4175d3a1e864f856cb8\u0026amp;signature=3b38213af88fc1f908445ea41b95d9779db62f994539193097e932a8938a2f4f\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Components - Sinas\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Renderable UI components\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sinas.mintlify.app/_mintlify/api/og/v2?division=Build\u0026amp;title=Components\u0026amp;description=Renderable+UI+components\u0026amp;theme=1666c4175d3a1e864f856cb8\u0026amp;signature=3b38213af88fc1f908445ea41b95d9779db62f994539193097e932a8938a2f4f\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/sinas/Qur5_eOCmXgSFUvZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sinas\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366F1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sinas.co/build-resources/components\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/build-resources/components.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sinas.co/#organization\",\"name\":\"Sinas\",\"url\":\"https://docs.sinas.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sinas/iT4E3NGmMyveEvtm/logo/light.svg?fit=max\u0026auto=format\u0026n=iT4E3NGmMyveEvtm\u0026q=85\u0026s=2a95c719ea222d7d43314fecba33da1e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sinas.co#website\",\"name\":\"Sinas\",\"url\":\"https://docs.sinas.co\",\"publisher\":{\"@id\":\"https://docs.sinas.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sinas.co/build-resources/components#webpage\",\"url\":\"https://docs.sinas.co/build-resources/components\",\"name\":\"Components\",\"description\":\"Renderable UI components\",\"dateModified\":\"2026-04-22T12:59:09.066Z\",\"isPartOf\":{\"@id\":\"https://docs.sinas.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sinas.co/build-resources/components#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sinas.co/build-resources/components#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Build\",\"item\":\"https://docs.sinas.co/build-resources/agents\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Components\",\"item\":\"https://docs.sinas.co/build-resources/components\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.sinas.co/build-resources/components#article\",\"headline\":\"Components\",\"name\":\"Components\",\"description\":\"Renderable UI components\",\"url\":\"https://docs.sinas.co/build-resources/components\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sinas.co/build-resources/components#webpage\"},\"dateModified\":\"2026-04-22T12:59:09.066Z\",\"publisher\":{\"@id\":\"https://docs.sinas.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sinas.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Sinas\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Sinas","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/sinas-platform"},{"anchor":"Packages","icon":"box","href":"https://github.com/sinas-platform/packages"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":""},{"title":"Deployment","href":"/getting-started/deployment"},{"title":"Deploy on Kubernetes","href":"/getting-started/kubernetes"},{"title":"Concepts","href":"/getting-started/concepts"},{"title":"Environment Variables","href":"/getting-started/environment-variables"}]},{"group":"Platform","pages":[{"title":"Authentication","href":"/platform/authentication"},{"title":"Verifying Sinas Tokens","href":"/platform/verifying-tokens"},{"title":"Role-Based Access Control","href":"/platform/rbac"},{"title":"API Overview","href":"/platform/api-overview"},{"title":"Async jobs","href":"/platform/async-jobs"}]},{"group":"Build","pages":[{"title":"Agents","href":"/build-resources/agents"},{"title":"System Tools","href":"/build-resources/system-tools"},{"title":"Functions","href":"/build-resources/functions"},{"title":"Queries","href":"/build-resources/queries"},{"title":"Pipelines","href":"/build-resources/pipelines"},{"title":"Connectors","href":"/build-resources/connectors"},{"title":"Skills","description":"Knowledge resources for agents","href":"/build-resources/skills"},{"title":"Components","href":"/build-resources/components"},{"title":"Secrets","description":"Encrypted values for API keys and credentials","href":"/build-resources/secrets"}]},{"group":"Storage","pages":[{"title":"Collections \u0026 Files","href":"/storage/collections"},{"title":"States","href":"/storage/states"}]},{"group":"Triggers","pages":[{"title":"Webhooks","href":"/triggers/webhooks"},{"title":"Schedules","href":"/triggers/schedules"},{"title":"Database Triggers","href":"/triggers/database-triggers"}]},{"group":"Configure","pages":[{"title":"LLM Providers","href":"/configure/llm-providers"},{"title":"Database Connections","href":"/configure/database-connections"},{"title":"Templates","href":"/configure/templates"}]},{"group":"Admin","pages":[{"title":"Packages","href":"/admin/packages"},{"title":"Manifests","href":"/admin/manifests"},{"title":"Users \u0026 Roles","href":"/admin/users-roles"},{"title":"Permissions","href":"/admin/permissions"},{"title":"System","href":"/admin/system"},{"title":"Config Manager","href":"/admin/config-manager"},{"title":"Icons","href":"/admin/icons"}]}]}]},"title":"Components - Sinas","buildId":"dpl_22zLaHtK6fmmSqApXTTP5tC7UBZn","deploymentId":"dpl_22zLaHtK6fmmSqApXTTP5tC7UBZn","dynamics":[],"chunks":[]}