# Using UX4G in HTML, React, and Angular UX4G is a CSS-class-based design system. It styles standard DOM elements and does not export named React, Angular, Vue, or Web Component UI components. ## Strict import rule Load the package once at the application entry point: ```js import 'ux4g-web-components/styles.css'; import 'ux4g-web-components/design-system'; ``` Never write named UI imports: ```js // Invalid: these exports do not exist. import { Button, Modal, Pagination, Card } from 'ux4g-web-components'; ``` ## Syntax mapping | HTML/Angular template | React/TSX | Rule | |---|---|---| | `class` | `className` | Preserve the complete class value. | | `for` | `htmlFor` | Use for label/control relationships. | | `tabindex` | `tabIndex` | React DOM property casing. | | `readonly` | `readOnly` | React DOM property casing. | | `maxlength` | `maxLength` | React DOM property casing. | | `style="..."` | `style={{ ... }}` | Convert inline styles to a JSX object. | | `onclick` | `onClick` | Supply an application handler. | | `onchange` | `onChange` | Supply an application handler. | | `aria-*` | unchanged | Keep ARIA attributes hyphenated. | | `data-*` | unchanged | Keep data attributes hyphenated. | Angular uses the canonical HTML class contract. Add property, class, attribute, and event bindings only for dynamic application state. ## State example Canonical HTML: ```html ``` React/TSX adaptation: ```tsx ``` Angular adaptation: ```html ``` Framework binding syntax changes; UX4G classes, DOM structure, accessibility attributes, and runtime requirements do not.