vcc-ui
Version:
A React library for building user interfaces at Volvo Cars
96 lines (93 loc) • 2.33 kB
JavaScript
import React from 'react';
import { Button } from 'vcc-ui';
/*#__PURE__*/React.createElement(Button, {
type: "submit",
form: "button only attribute"
});
/*#__PURE__*/React.createElement(Button, {
href: "#",
hrefLang: "`a` only attribute"
});
// // @ts-expect-error
// <Button type="submit" hrefLang="`a` only attribute" />;
// @ts-expect-error
/*#__PURE__*/React.createElement(Button, {
href: "#",
form: "button only attribute"
});
// @ts-expect-error
/*#__PURE__*/React.createElement(Button, {
foo: "bar"
});
// @ts-expect-error
/*#__PURE__*/React.createElement(Button, {
href: "#",
foo: "bar"
});
const buttonOrAnchorRef = /*#__PURE__*/React.createRef();
/*#__PURE__*/React.createElement(Button, {
ref: buttonOrAnchorRef
});
const buttonRef = /*#__PURE__*/React.createRef();
/*#__PURE__*/React.createElement(Button, {
ref: buttonRef
});
const anchorRef = /*#__PURE__*/React.createRef();
/*#__PURE__*/React.createElement(Button, {
href: "href",
ref: anchorRef
});
// Allows implicitly typed onClick
/*#__PURE__*/React.createElement(Button, {
onClick: event => console.log(event)
});
/*#__PURE__*/React.createElement(Button, {
href: "href",
onClick: event => console.log(event)
});
// Allows explicitly typed onClick
const htmlOnClick = () => {};
/*#__PURE__*/React.createElement(Button, {
type: "submit",
onClick: htmlOnClick
});
const buttonOrAnchorOnClick = () => {};
/*#__PURE__*/React.createElement(Button, {
type: "submit",
onClick: buttonOrAnchorOnClick
});
const buttonOnClick = () => {};
/*#__PURE__*/React.createElement(Button, {
type: "submit",
onClick: buttonOnClick
});
const anchorOnClick = () => {};
/*#__PURE__*/React.createElement(Button, {
href: "#",
onClick: anchorOnClick
});
// Fails on incorrect element
const divOnClick = () => {};
// @ts-expect-error
/*#__PURE__*/React.createElement(Button, {
href: "#",
onClick: divOnClick
});
const CustomComponent = _ref => {
let {
anotherProperty,
...props
} = _ref;
return /*#__PURE__*/React.createElement(Button, props);
};
/*#__PURE__*/React.createElement(CustomComponent
// @ts-expect-error TODO
, {
href: "#",
anotherProperty: 5,
onClick: event => console.log(event)
});
/*#__PURE__*/React.createElement(CustomComponent, {
anotherProperty: 5,
onClick: event => console.log(event)
});