@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.

Readme

Keywords

none

Package Sidebar

Install

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

Weekly Downloads

54

Version

3.0.0-beta.56

License

MPL-2.0

Unpacked Size

491 kB

Total Files

40

Last publish

Collaborators

  • mzhang
  • acstll