raylang.dev valid
ray-elements
Web components (custom elements, Shadow DOM, no dependencies) for any web app: plain HTML, React, Vue or a raylang app. npm: `@raylang/elements`, `@raylang/react`, `@raylang/vue`; raylang: the `elements` package. This file describes version 0.9.0.
Their llms.txt
The beginning of the file, from our validated copy saved 2026-10-26T02:40:15.957Z. Cached copy · Source on raylang.dev
# ray-elements
> Web components (custom elements, Shadow DOM, no dependencies) for any web app: plain HTML, React, Vue or a raylang app. npm: `@raylang/elements`, `@raylang/react`, `@raylang/vue`; raylang: the `elements` package. This file describes version 0.9.0.
ray-elements is a design system of standard web components (custom elements
with Shadow DOM, no dependencies): `<ray-button>`, `<ray-input>`,
`<ray-dialog>`… They work in plain HTML, React, Vue, a browser or any webview,
and get extras in a raylang app (a native bridge to the program). The rules
below are what this library does differently from what you may assume; the
reference of every component follows them.
## Load it
```html
<link rel="stylesheet" href="node_modules/@raylang/elements/tokens.css"> <!-- required: the components read the tokens -->
<link rel="stylesheet" href="node_modules/@raylang/elements/base.css"> <!-- optional: font, colors and margins of the document -->
<script type="module">
import "@raylang/elements"; // registers EVERY <ray-*> element and exports the whole API
</script>
```
- The bare name (`"@raylang/elements"`) resolves with a bundler (Vite,
esbuild…) and in a raylang app (raylang serves the package with an import
map). A plain page without either imports the files:
`import { notify } from "./node_modules/@raylang/elements/index.js";`
(everything), `./node_modules/@raylang/elements/components/<name>/<name>.js`
(one component), `./node_modules/@raylang/elements/core.js` (the API), or
declares an import map:
`<script type="importmap">{ "imports": { "@raylang/elements": "./node_modules/@raylang/elements/index.js" } }</script>`.
- `npm install @raylang/elements` (React: also `@raylang/react`; Vue: also
`@raylang/vue`). With a bundler: `import "@raylang/elements/tokens.css";`.
- Only some components: `import "@raylang/elements/button";` — one entry per
component directory (the "Import" line of each component below). Each brings
what it uses. `import { notify } from "@raylang/elements/notification";` gets
a component's exports with it.
- The API without registering any element: `import { setTheme } from
"@raylang/elements/core";`. Note that `import { RayButton } from
"@raylang/elements"` loads everything (that entry registers every element).
- Avoid a flash of unstyled tags: `<style>:not(:defined) { visibility: hidden; }</style>`.
## Rules
- **Attributes are kebab-case, properties camelCase**: `full-width` /
`fullWidth`. Boolean attributes are present or absent (`disabled`, never
`disabled="false"`). Properties marked "property only" have no attribute:
set them from JS (arrays, objects, functions). The exception is `checked`
and `value` on form controls: their attribute is the initial state (see
Forms).
- **Shared vocabulary**: `size` = `xs` | `sm` | `md` | `lg` | `xl` (default
`sm`); `radius` = `xs`…`xl` | `full`; `color` = a palette color (`blue`,
`red`, `teal`, `gray`…) or any CSS color, default t
…
Machine-readable: GET /v1/resolve?q=raylang.dev · GET /v1/domain/raylang.dev · this page as Accept: application/json or text/markdown · MCP lookup_domain
Automatically discovered from public files. Inclusion does not imply endorsement or publisher participation.
Own or manage this website?
If you own or manage raylang.dev, you can update its listing and review file health, discovery activity and score history.
Manage this listing — optional
What verification unlocks
See how your site is discovered—and control what agents see.
- See your website in the map
Review your indexed topics, nearby publishers sharing headings, measured listing exposure and map snapshots in a private report for your website.
- Control what agents see
Edit your listing description, tags, public contact details and additional llms.txt paths. Publish your terms for automated access, attribution and pricing.
- Make your profile eligible for search
A valid, listed, unblocked, verified profile can appear in our publisher sitemap and become eligible for search-engine visibility. Search engines decide what to index and rank.
- Appear in our llms-full.txt
Eligible verified publishers are listed by name, with their file links and summaries, in the service overview agents can read.
Free. No account registration, backlink or payment required. Public discovery remains available without verification.
Let your coding agent verify it
If your coding agent is authorized to manage this website, paste these instructions into it.
Claim my listing on Agent Web Map for raylang.dev:
1. POST https://agentwebmap.com/v1/sites/raylang.dev/claims and keep claim_id and claim_secret private.
2. Publish the verification line "AgentWebMap verification: <token>" (token from step 1) in https://raylang.dev/llms.txt, or use the DNS, meta-tag or well-known method the response describes. This only verifies the listing; your website and domain remain yours.
3. POST https://agentwebmap.com/v1/sites/raylang.dev/verify with {"claim_id": "...", "claim_secret": "..."}.
4. Save the api_key from the answer; it manages the listing (PATCH https://agentwebmap.com/v1/sites/raylang.dev).
MCP equivalent: tools begin_ownership_claim, then verify_domain, at https://agentwebmap.com/mcp. Docs: https://agentwebmap.com/docs#verifyCorrections or removal requests: contact the directory.