Update all snippets to new format

This commit is contained in:
Angelos Chalaris
2019-08-21 12:28:50 +03:00
parent 3deff54251
commit 7dfaffe7ac
26 changed files with 108 additions and 132 deletions

View File

@ -1,4 +1,7 @@
### Accordion
---
title: Accordion
tags: visual,children,state,advanced
---
Renders an accordion menu with multiple collapsible content components.
@ -77,7 +80,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: visual,children,state -->
<!-- expertise: 2 -->

View File

@ -1,4 +1,7 @@
### AutoLink
---
title: AutoLink
tags: string,fragment,regexp,advanced
---
Renders a string as plaintext, with URLs converted to appropriate `<a>` elements.
@ -30,7 +33,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: string,fragment,regexp -->
<!-- expertise: 2 -->

View File

@ -1,4 +1,7 @@
### Carousel
---
title: Carousel
tags: visual,children,state,effect,intermediate
---
Renders a carousel component.
@ -60,7 +63,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: visual,children,state,effect -->
<!-- expertise: 2 -->

View File

@ -1,4 +1,7 @@
### ClickInside and ClickOutside
---
title: ClickInside and ClickOutside
tags: hooks,effect,event,intermediate
---
Two handy hooks to handle the click outside and inside event on the wrapped component.

View File

@ -1,4 +1,7 @@
### Collapse
---
title: Collapse
tags: visual,children,state,intermediate
---
Renders a component with collapsible content.
@ -51,7 +54,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: visual,children,state -->
<!-- expertise: 2 -->

View File

@ -1,4 +1,7 @@
### CountDown
---
title: CountDown
tags: visual,state,advanced
---
Renders a countdown timer that prints a message when it reaches zero.
@ -75,7 +78,3 @@ function CountDown({ hours = 0, minutes = 0, seconds = 0 }) {
```jsx
ReactDOM.render(<CountDown hours="1" minutes="45" />, document.getElementById('root'));
```
<!-- tags: visual,state -->
<!-- expertise: 2 -->

View File

@ -1,4 +1,7 @@
### DataList
---
title: DataList
tags: array,beginner
---
Renders a list of elements from an array of primitives.
@ -18,7 +21,3 @@ const names = ['John', 'Paul', 'Mary'];
ReactDOM.render(<DataList data={names} />, document.getElementById('root'));
ReactDOM.render(<DataList data={names} isOrdered />, document.getElementById('root'));
```
<!-- tags: array -->
<!-- expertise: 0 -->

View File

@ -1,4 +1,7 @@
### DataTable
---
title: DataTable
tags: array,beginner
---
Renders a table with rows dynamically created from an array of primitives.
@ -32,7 +35,3 @@ function DataTable({ data }) {
const people = ['John', 'Jesse'];
ReactDOM.render(<DataTable data={people} />, document.getElementById('root'));
```
<!-- tags: array -->
<!-- expertise: 0 -->

View File

@ -1,4 +1,7 @@
### FileDrop
---
title: FileDrop
tags: visual,input,state,effect,event,intermediate
---
Renders a file drag and drop component for a single file.
@ -96,7 +99,3 @@ function FileDrop(props) {
```jsx
ReactDOM.render(<FileDrop handleDrop={console.log} />, document.getElementById('root'));
```
<!-- tags: visual,input,state,effect -->
<!-- expertise: 2 -->

View File

@ -1,4 +1,7 @@
### LimitedTextarea
---
title: LimitedTextarea
tags: input,state,effect,event,beginner
---
Renders a textarea component with a character limit.
@ -38,7 +41,3 @@ function LimitedTextarea({ rows, cols, value, limit }) {
```jsx
ReactDOM.render(<LimitedTextarea limit={32} value="Hello!" />, document.getElementById('root'));
```
<!-- tags: input,state,effect -->
<!-- expertise: 0 -->

View File

@ -1,4 +1,7 @@
### LimitedWordTextarea
---
title: LimitedWordTextarea
tags: input,state,effect,event,beginner
---
Renders a textarea component with a word limit.
@ -55,7 +58,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: input,state,effect -->
<!-- expertise: 0 -->

View File

@ -1,4 +1,7 @@
### Mailto
---
title: Mailto
tags: viual,beginner
---
Renders a link formatted to send an email.
@ -21,7 +24,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: visual -->
<!-- expertise: 0 -->

View File

@ -1,4 +1,7 @@
### MappedTable
---
title: MappedTable
tags: array,object,intermediate
---
Renders a table with rows dynamically created from an array of objects and a list of property names.
@ -7,6 +10,8 @@ Renders a table with rows dynamically created from an array of objects and a lis
* Use `Array.prototype.map` to render each value in the `propertyNames` array as a `<th>` element.
* Use `Array.prototype.map` to render each object in the `filteredData` array as a `<tr>` element, containing a `<td>` for each key in the object.
*This component does not work with nested objects and will break if there are nested objects inside any of the properties specified in `propertyNames`*
```jsx
function MappedTable({ data, propertyNames }) {
let filteredData = data.map(v =>
@ -48,11 +53,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
#### Notes:
- This component does not work with nested objects and will break if there are nested objects inside any of the properties specified in `propertyNames`.
<!-- tags: array,object -->
<!-- expertise: 1 -->

View File

@ -1,4 +1,7 @@
### Modal
---
title: Modal
tags: visual,effect,intermediate
---
Renders a Modal component, controllable through events.
To use the component, import `Modal` only once and then display it by passing a boolean value to the `isVisible` attribute.
@ -131,7 +134,3 @@ function App() {
ReactDOM.render( <App/>, document.getElementById('root'));
```
<!-- tags: visual,effect -->
<!-- expertise: 2 -->

View File

@ -1,4 +1,7 @@
### MultiselectCheckbox
---
title: MultiselectCheckbox
tags: input,state,array,intermediate
---
Renders a checkbox list that uses a callback function to pass its selected value/values to the parent component.
@ -58,7 +61,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: input,state,array -->
<!-- expertise: 1 -->

View File

@ -1,4 +1,7 @@
### PasswordRevealer
---
title: PasswordRevealer
tags: input,state,beginner
---
Renders a password input field with a reveal button.
@ -21,7 +24,3 @@ function PasswordRevealer({ value }) {
```jsx
ReactDOM.render(<PasswordRevealer />, document.getElementById('root'));
```
<!--tags: input,state -->
<!--expertise: 0 -->

View File

@ -1,4 +1,7 @@
### Select
---
title: Select
tags: input,beginner
---
Renders a `<select>` element that uses a callback function to pass its value to the parent component.
@ -36,7 +39,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: input -->
<!-- expertise: 0 -->

View File

@ -1,4 +1,7 @@
### Slider
---
title: Slider
tags: input,beginner
---
Renders a slider element that uses a callback function to pass its value to the parent component.
@ -21,7 +24,3 @@ function Slider({ callback, disabled = false, readOnly = false }) {
```jsx
ReactDOM.render(<Slider callback={val => console.log(val)} />, document.getElementById('root'));
```
<!-- tags: input -->
<!-- expertise: 0 -->

View File

@ -1,4 +1,7 @@
### StarRating
---
title: StarRating
tags: visual,children,input,state,intermediate
---
Renders a star rating component.
@ -48,7 +51,3 @@ function StarRating(props) {
ReactDOM.render(<StarRating />, document.getElementById('root'));
ReactDOM.render(<StarRating rating={2} />, document.getElementById('root'));
```
<!-- tags: visual,children,input,state -->
<!-- expertise: 2 -->

View File

@ -1,4 +1,7 @@
### Tabs
---
title: Tabs
tags: visual,state,children,intermediate
---
Renders a tabbed menu and view component.
@ -74,7 +77,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: visual,state,children -->
<!-- expertise: 1 -->

View File

@ -1,4 +1,7 @@
### TextArea
---
title: TextArea
tags: input,beginner
---
Renders a `<textarea>` element that uses a callback function to pass its value to the parent component.
@ -33,7 +36,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: input -->
<!-- expertise: 0 -->

View File

@ -1,4 +1,7 @@
### Ticker
---
title: Ticker
tags: visual,state,beginner
---
Renders a ticker component.
@ -37,7 +40,3 @@ function Ticker(props) {
```jsx
ReactDOM.render(<Ticker times={5} interval={1000} />, document.getElementById('root'));
```
<!-- tags: visual,state -->
<!-- expertise: 1 -->

View File

@ -1,4 +1,7 @@
### Toggle
---
title: Toggle
tags: visual,state,beginner
---
Renders a toggle component.
@ -29,7 +32,3 @@ function Toggle(props) {
```jsx
ReactDOM.render(<Toggle />, document.getElementById('root'));
```
<!-- tags: visual,state -->
<!-- expertise: 0 -->

View File

@ -1,4 +1,7 @@
### Tooltip
---
title: Tooltip
tags: visual,state,children,beginner
---
Renders a tooltip component.
@ -51,7 +54,3 @@ ReactDOM.render(
document.getElementById('root')
);
```
<!-- tags: visual,state,children -->
<!-- expertise: 1 -->

View File

@ -1,4 +1,7 @@
### TreeView
---
title: TreeView
tags: object,visual,state,recursion,advanced
---
Renders a tree view of a JSON object or array with collapsible content.
@ -121,7 +124,3 @@ let data = {
};
ReactDOM.render(<TreeView data={data} name="data" />, document.getElementById('root'));
```
<!-- tags: object,visual,state,recursion -->
<!-- expertise: 2 -->

View File

@ -1,4 +1,7 @@
### Input
---
title: UncontrolledInput
tags: input,beginner
---
Renders an `<input>` element that uses a callback function to pass its value to the parent component.
@ -6,7 +9,7 @@ Renders an `<input>` element that uses a callback function to pass its value to
* Render an `<input>` element with the appropriate attributes and use the `callback` function in the `onChange` event to pass the value of the input to the parent.
```jsx
function Input({ callback, type = 'text', disabled = false, readOnly = false, placeholder = '' }) {
function UncontrolledInput({ callback, type = 'text', disabled = false, readOnly = false, placeholder = '' }) {
return (
<input
type={type}
@ -21,11 +24,7 @@ function Input({ callback, type = 'text', disabled = false, readOnly = false, pl
```jsx
ReactDOM.render(
<Input type="text" placeholder="Insert some text here..." callback={val => console.log(val)} />,
<UncontrolledInput type="text" placeholder="Insert some text here..." callback={val => console.log(val)} />,
document.getElementById('root')
);
```
<!-- tags: input -->
<!-- expertise: 0 -->