@telekom/scale-components-react-neutral
TypeScript icon, indicating that this package has built-in type declarations

3.0.0-beta.56 • Public • Published

Scale and React

Unfortunately React brings it's own synthetic event system and handles all props as HTML attributes, more info: Custom Elements Everywhere.

To work around this problems we provide custom element wrappers for better developer experience.

Please note that you will need to install both, the telekom/scale-components-neutral as well as the @telekom/scale-components-react-neutral packages.

Once you have installed both packages and defined the custom elements, Scale components behave mostly the way you would expect a React component to behave!

src/index.html

import React from 'react';
import ReactDOM from 'react-dom';
import { applyPolyfills, defineCustomElements } from '@telekom/scale-components-neutral/loader';
import App from './App';
import '@telekom/scale-components-neutral/dist/scale-components/scale-components.css';
import './index.css';

applyPolyfills().then(() => {
  defineCustomElements(window);
});

ReactDOM.render(<App />, document.getElementById('root'));

src/App.jsx

import React from 'react';
import { ScaleButton } from '@telekom/scale-components-react-neutral';
import './App.css';

const App: React.FC = () => (
  <div>
    <ScaleButton>Label</ScaleButton>
  </div>
);

export default App;

Events in React

In order to prevent collisions with standard events and compatibility with other libraries and frameworks, some components of Scale are using custom event names. You can find documentation for the custom events on the respective component pages in the docs section.

Events in React are prefixed with: Scale{EventName}


Find Telekom Scale on GitHub.

/@telekom/scale-components-react-neutral/

    Package Sidebar

    Install

    npm i @telekom/scale-components-react-neutral

    Weekly Downloads

    32

    Version

    3.0.0-beta.56

    License

    MPL-2.0

    Unpacked Size

    491 kB

    Total Files

    40

    Last publish

    Collaborators

    • mzhang
    • acstll