` HTML
-element. This enables making the component interactive and helps to improve
-its accessibility.
+can specify **any HTML attribute you like.** All attributes that don't
+interfere with the API of the React component and that aren't filtered out by
+[`transferProps`](/docs/js-helpers/transferProps) helper are forwarded to the
+root `
` HTML element. This enables making the component interactive and
+helps to improve its accessibility.
👉 For the full list of supported attributes refer to:
diff --git a/src/components/Toolbar/Toolbar.jsx b/src/components/Toolbar/Toolbar.jsx
index cef878f0..8bcef9df 100644
--- a/src/components/Toolbar/Toolbar.jsx
+++ b/src/components/Toolbar/Toolbar.jsx
@@ -1,8 +1,8 @@
import PropTypes from 'prop-types';
import React from 'react';
import { withGlobalProps } from '../../provider';
-import { transferProps } from '../_helpers/transferProps';
import { classNames } from '../../utils/classNames';
+import { transferProps } from '../../utils/transferProps';
import { isChildrenEmpty } from '../_helpers/isChildrenEmpty';
import { getAlignClassName } from './_helpers/getAlignClassName';
import { getJustifyClassName } from './_helpers/getJustifyClassName';
diff --git a/src/components/Toolbar/ToolbarGroup.jsx b/src/components/Toolbar/ToolbarGroup.jsx
index 2f10a7af..794e626b 100644
--- a/src/components/Toolbar/ToolbarGroup.jsx
+++ b/src/components/Toolbar/ToolbarGroup.jsx
@@ -1,8 +1,8 @@
import PropTypes from 'prop-types';
import React from 'react';
import { withGlobalProps } from '../../provider';
-import { transferProps } from '../_helpers/transferProps';
import { classNames } from '../../utils/classNames';
+import { transferProps } from '../../utils/transferProps';
import { isChildrenEmpty } from '../_helpers/isChildrenEmpty';
import { getAlignClassName } from './_helpers/getAlignClassName';
import styles from './Toolbar.module.scss';
diff --git a/src/components/Toolbar/ToolbarItem.jsx b/src/components/Toolbar/ToolbarItem.jsx
index 88a500dd..da8bc453 100644
--- a/src/components/Toolbar/ToolbarItem.jsx
+++ b/src/components/Toolbar/ToolbarItem.jsx
@@ -1,7 +1,7 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { transferProps } from '../_helpers/transferProps';
import { classNames } from '../../utils/classNames';
+import { transferProps } from '../../utils/transferProps';
import { withGlobalProps } from '../../provider';
import { isChildrenEmpty } from '../_helpers/isChildrenEmpty';
import styles from './Toolbar.module.scss';
diff --git a/src/docs/js-helpers/transferProps.md b/src/docs/js-helpers/transferProps.md
new file mode 100644
index 00000000..3cb69885
--- /dev/null
+++ b/src/docs/js-helpers/transferProps.md
@@ -0,0 +1,46 @@
+# Transferring Props
+
+The `transferProps` helper controls passing of props from the React component
+to the HTML element.
+
+It enables making the component interactive and helps to improve its
+accessibility. However some props should never be passed to the HTML element
+as it would break things. This function is used to filter them out. Among these
+props are:
+
+- `children`
+- `className`
+- `contentEditable`
+- `dangerouslySetInnerHtml`
+- `ref`
+- `staticContext`
+- `style`
+- `suppressContentEditableWarning`
+
+👉 When run in development mode, the function will log the error to the console
+if any invalid props are passed.
+
+## Basic Usage
+
+To use `transferProps` helper, you need to import it first:
+
+```js
+import { transferProps } from "@react-ui-org/react-ui";
+```
+
+And use it:
+
+```jsx
+const CustomComponent = ({
+ children,
+ id,
+ ...restProps
+}) => (
+
+ {children}
+
+);
+```
diff --git a/src/index.js b/src/index.js
index 921bc8e1..4526abc1 100644
--- a/src/index.js
+++ b/src/index.js
@@ -62,3 +62,4 @@ export { RUIProvider } from './provider';
// Utils
export { classNames } from './utils/classNames';
+export { transferProps } from './utils/transferProps';
diff --git a/src/utils/__tests__/classNames.js b/src/utils/__tests__/classNames.test.js
similarity index 100%
rename from src/utils/__tests__/classNames.js
rename to src/utils/__tests__/classNames.test.js
diff --git a/src/components/_helpers/__tests__/transferProps.test.js b/src/utils/__tests__/transferProps.test.js
similarity index 100%
rename from src/components/_helpers/__tests__/transferProps.test.js
rename to src/utils/__tests__/transferProps.test.js
diff --git a/src/components/_helpers/transferProps.js b/src/utils/transferProps.js
similarity index 74%
rename from src/components/_helpers/transferProps.js
rename to src/utils/transferProps.js
index d9d60729..9065b806 100644
--- a/src/components/_helpers/transferProps.js
+++ b/src/utils/transferProps.js
@@ -1,12 +1,4 @@
/**
- * Controls passing of props from the React component to the HTML element
- *
- * Sometimes it is useful to have a mechanism to pass props from the React component to a rendered HTML element.
- * It enables making the component interactive and helps improve its accessibility. However some props should
- * never be passed to the HTML element as it would break things. This function is used to filter out such props.
- *
- * When run in development mode, the function will log the error to the console if any invalid props are passed.
- *
* @param props The props that were passed to the React component and were not used by it
* @returns The props to be passed to the HTML element
*/