# API reference Source: http://realm.js.org/reference/ Exact names, types and defaults for everything in REALM. New to REALM? Start with the [Docs](/docs/). All examples load REALM from the CDN: ```html ``` ## Elements | Element | Purpose | | --- | --- | | [``](/reference/elements/custom-element/) | Defines a component | | [``](/reference/elements/import-element/) | Loads a file of component definitions | | [``](/reference/elements/repeat-list/) | Repeats its content for each item of an array | | [``](/reference/elements/is-visible/) | Mounts its content while a condition is true | | [``](/reference/elements/is-hidden/) | Mounts its content while a condition is false | | [Value slots](/reference/elements/value-slots/) | `` and `` show a value | ## Attributes | Attribute | Purpose | | --- | --- | | [`_name`](/reference/attributes/bindings/) | Binds an attribute, property or CSS variable to a reference | | [`on…`](/reference/attributes/handlers/) | Event handlers in component markup and on plain pages | | [`debounce`, `throttle`](/reference/attributes/debounce-throttle/) | Delay or rate-limit handlers and requests | | [`ref`](/reference/attributes/ref/) | Names an element for `refs` and `render` | | [`repeat`](/reference/attributes/repeat/) | Repeats one element per item | | [`focusgroup`](/reference/attributes/focusgroup/) | Arrow-key focus navigation | | [`fetch`, `method`, `params`, `headers`](/reference/fetch/fetch/) | Send a request from markup | | [`trigger`, `poll`](/reference/fetch/trigger/) | When the request is sent | | [`into`, `into-mode`, `into-key`](/reference/fetch/into/) | Write the response into state | | [`render`, `render-mode`, `render-select`](/reference/fetch/render/) | Insert the response as HTML | | [`busy`, `timeout`](/reference/fetch/busy-timeout/) | Track a request and set a time limit | ## Script Names available in every component ` ``` To load less, import only the components you use instead of the bundle: ```html ``` Each file imports the files it depends on, so `sheet.html` also loads `dialog.html`. A file is fetched once, however many files import it. Pin an exact version (currently `@realmorg/ui@2.0.0-alpha.2`) in production, as described in [Installation](/docs/installation/#pin-a-version). The package contains: | File | Contents | | --- | --- | | `dist/theme.css` | Design tokens (colours, spacing, type, radius, shadows) with light and dark values | | `dist/ui.html` | Every component in one file | | `components/.html` | One component (or a small family, such as tabs and tab panels) per file, with its dependencies imported at the top | To own a component, copy its file from `components/` into your project and import your copy instead. Components depend on REALM, the theme tokens and the files they import at the top, such as `button.html`. ## Conventions - **Native first.** Components wrap native elements: `ui-button` renders a `