From f3e8be4333ccf46fb5e12184c4b748e093276079 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Mon, 22 May 2017 17:48:45 +0100 Subject: [PATCH 01/29] Fix rendering docs in ts 2.3 --- docs/src/ts/index.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/src/ts/index.tsx b/docs/src/ts/index.tsx index 6bea3362f..7866ad39b 100644 --- a/docs/src/ts/index.tsx +++ b/docs/src/ts/index.tsx @@ -28,7 +28,7 @@ const variables = fs.readFileSync(path.join(__dirname, '../../../src/less/variab const packageJson = require( '../../../package.json'); // tslint:disable-line:no-var-requires -class App extends React.Component { +class App extends React.Component<{}, void> { public render () { return ( @@ -75,4 +75,7 @@ class App extends React.Component { } } -ReactDOM.render(, document.getElementById('app')); +ReactDOM.render( + , + document.getElementById('app') +); From 18096ddeedf3491806eb0c198c71e15e7ffa2365 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 09:48:35 +0100 Subject: [PATCH 02/29] Update some deps --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index c22591eab..3494e9ee4 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ }, "homepage": "https://github.com/dabapps/roe#readme", "dependencies": { - "@types/classnames": "0.0.32", + "@types/classnames": "2.2.0", "@types/highlight.js": "9.1.9", "@types/random-seed": "0.3.2", "@types/react": "15.0.22", @@ -52,7 +52,7 @@ "react": "15.5.4", "react-dom": "15.5.4", "tsify": "3.0.1", - "typescript": "2.2.2" + "typescript": "2.3.3" }, "devDependencies": { "@types/jest": "19.2.3", @@ -62,7 +62,7 @@ "concurrently": "3.4.0", "envify": "4.0.0", "http-server": "0.9.0", - "jest": "20.0.1", + "jest": "20.0.3", "lesshint": "3.3.1", "livereload": "0.6.2", "react-test-renderer": "15.5.4", From 0301c2eb8cbef73c3b241345d5c615861c71fc05 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 10:44:46 +0100 Subject: [PATCH 03/29] Begin creating tables --- docs/src/ts/index.tsx | 2 + docs/src/ts/tables.tsx | 106 ++++++++++++++++++++++++++++++++++ src/less/index.less | 1 + src/less/overrides.less | 29 ++++++++++ src/less/tables.less | 51 +++++++++++++++++ src/ts/index.ts | 1 + src/ts/tables.tsx | 124 ++++++++++++++++++++++++++++++++++++++++ 7 files changed, 314 insertions(+) create mode 100644 docs/src/ts/tables.tsx create mode 100644 src/less/tables.less create mode 100644 src/ts/tables.tsx diff --git a/docs/src/ts/index.tsx b/docs/src/ts/index.tsx index 7866ad39b..b98f9a5ef 100644 --- a/docs/src/ts/index.tsx +++ b/docs/src/ts/index.tsx @@ -21,6 +21,7 @@ import { Hides } from './hides'; import { Inputs } from './inputs'; import { Ipsum } from './ipsum'; import { Layout } from './layout'; +import { Tables } from './tables'; import { Text } from './text'; import { Wells } from './wells'; @@ -55,6 +56,7 @@ class App extends React.Component<{}, void> { + diff --git a/docs/src/ts/tables.tsx b/docs/src/ts/tables.tsx new file mode 100644 index 000000000..d33baccb9 --- /dev/null +++ b/docs/src/ts/tables.tsx @@ -0,0 +1,106 @@ +import * as React from 'react'; + +import { + CodeBlock, + Column, + Row, + Section, + Table, + TableBody, + TableCell, + TableHead, + TableHeader, + TableRow +} from '../../../src/ts'; + +const data = [ + ['', 'Column header 1', 'Column header 2', 'Column header 3', 'Column header 4', 'Column header 5'], + ['Row header 1', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'], + ['Row header 2', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'], + ['Row header 3', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'], + ['Row header 4', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'], + ['Row header 5', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'] +]; + +export const Tables = () => { + const [ headers = [], ...body ] = data; + + return ( +
+ + +

+ Tables +

+
+
+ + +

+ Demo +

+ + + + { + headers.map((header, index) => index === 0 ? ( + + ) : ( + + {header} + + )) + } + + + + { + body.map((row = [], rowIndex) => ( + + { + row.map((cell, index) => index === 0 ? ( + + {cell} + + ) : ( + + {cell} + + )) + } + + )) + } + +
+
+
+ + +

+ Code +

+ + {` +
+

+ Section 1 +

+
+
+

+ Section 2 +

+
+
+

+ Section 3 +

+
+ `} +
+
+
+
+ ); +}; diff --git a/src/less/index.less b/src/less/index.less index 4ef9fb255..2faa73943 100644 --- a/src/less/index.less +++ b/src/less/index.less @@ -8,6 +8,7 @@ @import 'layout.less'; @import 'text.less'; @import 'well.less'; +@import 'tables.less'; // NOTE: float and hide should remaing after other imports @import 'float.less'; @import 'hide.less'; diff --git a/src/less/overrides.less b/src/less/overrides.less index ce5896163..1187c3b77 100644 --- a/src/less/overrides.less +++ b/src/less/overrides.less @@ -127,3 +127,32 @@ form { opacity: 0.5; } } + +table, +thead, +tbody, +tr, +th, +td { + border-collapse: collapse; + border: @border-none; +} + +tr { + background-color: @white; +} + +th, +td { + padding: @padding-base; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + vertical-align: middle; + text-align: left; +} + +thead tr { + border-bottom: @border-base; + border-bottom-width: 2px; +} diff --git a/src/less/tables.less b/src/less/tables.less new file mode 100644 index 000000000..aa093e922 --- /dev/null +++ b/src/less/tables.less @@ -0,0 +1,51 @@ +.table { + + .table-head, + .table-body { + .table-row { + border-bottom: @border-base; + } + } + + .table-body { + .table-row { + &:last-child { + border-bottom: @border-none; + } + } + } + + &.striped { + .table-body { + .table-row:nth-child(odd) { + background-color: @grey-lightest; + } + } + } + + &.condensed { + .table-header, + .table-cell { + padding: @padding-base / 2; + } + } + + &.hover { + .table-body .table-row { + cursor: pointer; + + &:hover { + background-color: @grey-lighter; + } + } + } + + &.bordered { + border: @border-base; + + .table-header, + .table-cell { + border: @border-base; + } + } +} diff --git a/src/ts/index.ts b/src/ts/index.ts index cce36914d..c00b62fea 100644 --- a/src/ts/index.ts +++ b/src/ts/index.ts @@ -9,4 +9,5 @@ export { InputGroup } from './input-group'; export { InputGroupAddon } from './input-group-addon'; export { Row } from './row'; export { Section } from './section'; +export * from './tables'; export { Well } from './well'; diff --git a/src/ts/tables.tsx b/src/ts/tables.tsx new file mode 100644 index 000000000..b26270a73 --- /dev/null +++ b/src/ts/tables.tsx @@ -0,0 +1,124 @@ +import * as classNames from 'classnames'; +import * as React from 'react'; + +// tslint:disable-next-line:no-unused-variable +interface ITableProps { + collapse?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; + fixHeaders?: 'none' | 'both' | 'column' | 'row'; + striped?: boolean; + bordered?: boolean; + hover?: boolean; + condensed?: boolean; +} + +export const Table: React.SFC> = (props) => { + const { + className, + children, + collapse = 'sm', + fixHeaders = 'none', + striped, + bordered, + hover, + condensed, + ...remainingProps + } = props; + + const myClassNames = [ + 'table', + `${collapse}-collapse`, + `fix-headers-${fixHeaders}`, + striped ? 'striped' : null, + bordered ? 'bordered' : null, + hover ? 'hover' : null, + condensed ? 'condensed' : null, + className + ] + + return ( + + {children} +
+ ); +} + +export const TableHead: React.SFC> = (props) => { + const { + className, + children, + ...remainingProps + } = props; + + return ( + + {children} + + ); +}; + +export const TableBody: React.SFC> = (props) => { + const { + className, + children, + ...remainingProps + } = props; + + return ( + + {children} + + ); +}; + +export const TableRow: React.SFC> = (props) => { + const { + className, + children, + ...remainingProps + } = props; + + return ( + + {children} + + ); +}; + +export const TableHeader: React.SFC> = (props) => { + const { + className, + children, + ...remainingProps + } = props; + + return ( + + {children} + + ); +}; + +// tslint:disable-next-line:no-unused-variable +interface ITableCellProps { + maxWidth?: number | string; +} + +export const TableCell: React.SFC> = (props) => { + const { + className, + children, + style, + maxWidth, + ...remainingProps + } = props; + + return ( + + {children} + + ); +}; From 2ab57fd192af21f59b2b417044474aa53192e733 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 10:51:36 +0100 Subject: [PATCH 04/29] Lighter table hover color --- src/less/tables.less | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/less/tables.less b/src/less/tables.less index aa093e922..d78fc949e 100644 --- a/src/less/tables.less +++ b/src/less/tables.less @@ -35,7 +35,7 @@ cursor: pointer; &:hover { - background-color: @grey-lighter; + background-color: darken(@grey-lightest, 3%); } } } From c3acf275f5a0639670ad24b52ed8348c0947d23a Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 11:00:00 +0100 Subject: [PATCH 05/29] Table wrapper --- src/less/overrides.less | 15 +++++++++++++++ src/less/tables.less | 19 ++++--------------- src/ts/tables.tsx | 8 +++++--- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/less/overrides.less b/src/less/overrides.less index 1187c3b77..af8ce24ea 100644 --- a/src/less/overrides.less +++ b/src/less/overrides.less @@ -156,3 +156,18 @@ thead tr { border-bottom: @border-base; border-bottom-width: 2px; } + +thead, +tbody { + tr { + border-bottom: @border-base; + } +} + +tbody { + tr { + &:last-child { + border-bottom: @border-none; + } + } +} diff --git a/src/less/tables.less b/src/less/tables.less index d78fc949e..e8094de4c 100644 --- a/src/less/tables.less +++ b/src/less/tables.less @@ -1,19 +1,8 @@ -.table { - - .table-head, - .table-body { - .table-row { - border-bottom: @border-base; - } - } +.table-wrapper { + overflow: auto; +} - .table-body { - .table-row { - &:last-child { - border-bottom: @border-none; - } - } - } +.table { &.striped { .table-body { diff --git a/src/ts/tables.tsx b/src/ts/tables.tsx index b26270a73..2d1330d7c 100644 --- a/src/ts/tables.tsx +++ b/src/ts/tables.tsx @@ -36,9 +36,11 @@ export const Table: React.SFC - {children} - +
+ + {children} +
+
); } From 372a760d8f440b05bdb708c249c0d9cdcdd7c78e Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 11:04:59 +0100 Subject: [PATCH 06/29] Background colors --- src/less/tables.less | 15 +++++++++++++-- src/ts/tables.tsx | 6 +++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/less/tables.less b/src/less/tables.less index e8094de4c..01ac69f9a 100644 --- a/src/less/tables.less +++ b/src/less/tables.less @@ -7,7 +7,10 @@ &.striped { .table-body { .table-row:nth-child(odd) { - background-color: @grey-lightest; + .table-header, + .table-cell { + background-color: @grey-lightest; + } } } } @@ -23,8 +26,16 @@ .table-body .table-row { cursor: pointer; + .table-header, + .table-cell { + transition: ease-in-out 0.1s background-color; + } + &:hover { - background-color: darken(@grey-lightest, 3%); + .table-header, + .table-cell { + background-color: darken(@grey-lightest, 3%); + } } } } diff --git a/src/ts/tables.tsx b/src/ts/tables.tsx index 2d1330d7c..eed2f7884 100644 --- a/src/ts/tables.tsx +++ b/src/ts/tables.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; // tslint:disable-next-line:no-unused-variable interface ITableProps { collapse?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; - fixHeaders?: 'none' | 'both' | 'column' | 'row'; + fixColumnHeaders?: boolean; striped?: boolean; bordered?: boolean; hover?: boolean; @@ -16,7 +16,7 @@ export const Table: React.SFC Date: Tue, 23 May 2017 11:07:51 +0100 Subject: [PATCH 07/29] Table min width --- src/less/overrides.less | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/less/overrides.less b/src/less/overrides.less index af8ce24ea..330cd2772 100644 --- a/src/less/overrides.less +++ b/src/less/overrides.less @@ -138,6 +138,10 @@ td { border: @border-none; } +table { + min-width: 100%; +} + tr { background-color: @white; } From 496e80598b31cdd91a1c15aaa941340a8b1f8588 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 11:31:10 +0100 Subject: [PATCH 08/29] Fix column headers --- docs/src/ts/tables.tsx | 8 +++++--- src/less/overrides.less | 2 +- src/less/tables.less | 17 +++++++++++++++++ src/ts/tables.tsx | 39 +++++++++++++++++++++++++++++---------- 4 files changed, 52 insertions(+), 14 deletions(-) diff --git a/docs/src/ts/tables.tsx b/docs/src/ts/tables.tsx index d33baccb9..e519d64a5 100644 --- a/docs/src/ts/tables.tsx +++ b/docs/src/ts/tables.tsx @@ -22,6 +22,8 @@ const data = [ ['Row header 5', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'] ]; +const COLUMN_HEADER_WIDTH = 150; + export const Tables = () => { const [ headers = [], ...body ] = data; @@ -39,12 +41,12 @@ export const Tables = () => {

Demo

- +
{ headers.map((header, index) => index === 0 ? ( - + ) : ( {header} @@ -59,7 +61,7 @@ export const Tables = () => { { row.map((cell, index) => index === 0 ? ( - + {cell} ) : ( diff --git a/src/less/overrides.less b/src/less/overrides.less index 330cd2772..dc1188c7d 100644 --- a/src/less/overrides.less +++ b/src/less/overrides.less @@ -149,6 +149,7 @@ tr { th, td { padding: @padding-base; + background-color: @white; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; @@ -158,7 +159,6 @@ td { thead tr { border-bottom: @border-base; - border-bottom-width: 2px; } thead, diff --git a/src/less/tables.less b/src/less/tables.less index 01ac69f9a..704bec1ae 100644 --- a/src/less/tables.less +++ b/src/less/tables.less @@ -1,4 +1,8 @@ .table-wrapper { + position: relative; +} + +.table-scroller { overflow: auto; } @@ -48,4 +52,17 @@ border: @border-base; } } + + &.fix-column-headers { + .table-row .table-header:first-child { + position: absolute; + border-right: @border-base; + left: 0; + border-bottom: @border-base; + } + + .table-body .table-row:last-child .table-header:first-child { + border-bottom: @border-none; + } + } } diff --git a/src/ts/tables.tsx b/src/ts/tables.tsx index eed2f7884..d7caaae1a 100644 --- a/src/ts/tables.tsx +++ b/src/ts/tables.tsx @@ -1,10 +1,13 @@ import * as classNames from 'classnames'; import * as React from 'react'; +const NBSP = '\u00a0'; + // tslint:disable-next-line:no-unused-variable interface ITableProps { collapse?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; fixColumnHeaders?: boolean; + columnHeaderMaxWidth?: number; striped?: boolean; bordered?: boolean; hover?: boolean; @@ -17,6 +20,7 @@ export const Table: React.SFC -
- {children} -
+
+
+ + {children} +
+
); } @@ -86,16 +95,26 @@ export const TableRow: React.SFC> = (p ); }; -export const TableHeader: React.SFC> = (props) => { +interface ITableHeaderProps { + maxWidth?: number | string; +} + +export const TableHeader: React.SFC> = (props) => { const { className, children, + style, + maxWidth, ...remainingProps } = props; return ( - - {children} + + {children || NBSP} ); }; @@ -118,9 +137,9 @@ export const TableCell: React.SFC - {children} + {children || NBSP} ); }; From b37664bb247d6ce28008adf1ea1f83513860fd04 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 11:56:39 +0100 Subject: [PATCH 09/29] Add usage info to readme --- README.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/README.md b/README.md index c3028fe49..6000246d3 100644 --- a/README.md +++ b/README.md @@ -10,3 +10,35 @@ Clone the repo and run the following to start all the watchers, and serve `docs/ npm install npm start ``` + +## Usage + +### Install + +You need to install Roe and its peer dependencies with npm. Npm should warn you if you haven't installed any peer dependencies. + +```shell +npm i dabapps/roe#v0.0.0 +``` + +See [releases](https://github.com/dabapps/roe/releases) for a full list of versions. + +### Less + +Include Roe in your main `index.less` file. Do not use `../` in the path. + +```less +@import 'node_modules/roe/src/less/index.less'; +``` + +### Components + +All components are exported, named, at the root level. + +```javascript +import { + Column, + Container, + Row +} from 'roe; +``` From 39b3ed5cec1debfd901d12153ad2b2ebaa266223 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 12:16:23 +0100 Subject: [PATCH 10/29] Tables optionally fill their container --- docs/src/ts/tables.tsx | 2 +- src/less/overrides.less | 4 ---- src/ts/tables.tsx | 4 ++++ 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/src/ts/tables.tsx b/docs/src/ts/tables.tsx index e519d64a5..2d405f30c 100644 --- a/docs/src/ts/tables.tsx +++ b/docs/src/ts/tables.tsx @@ -41,7 +41,7 @@ export const Tables = () => {

Demo

- +
{ diff --git a/src/less/overrides.less b/src/less/overrides.less index dc1188c7d..2457919b5 100644 --- a/src/less/overrides.less +++ b/src/less/overrides.less @@ -138,10 +138,6 @@ td { border: @border-none; } -table { - min-width: 100%; -} - tr { background-color: @white; } diff --git a/src/ts/tables.tsx b/src/ts/tables.tsx index d7caaae1a..ba2c770fb 100644 --- a/src/ts/tables.tsx +++ b/src/ts/tables.tsx @@ -12,12 +12,14 @@ interface ITableProps { bordered?: boolean; hover?: boolean; condensed?: boolean; + fill?: boolean; } export const Table: React.SFC> = (props) => { const { className, children, + style, collapse = 'sm', fixColumnHeaders, columnHeaderMaxWidth, @@ -25,6 +27,7 @@ export const Table: React.SFC {children}
From b1d8a98d2b48a677afc2c6181e04b52c0896a28d Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 13:16:06 +0100 Subject: [PATCH 11/29] Update docs --- docs/src/ts/tables.tsx | 90 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 73 insertions(+), 17 deletions(-) diff --git a/docs/src/ts/tables.tsx b/docs/src/ts/tables.tsx index 2d405f30c..12d1db5a9 100644 --- a/docs/src/ts/tables.tsx +++ b/docs/src/ts/tables.tsx @@ -22,11 +22,12 @@ const data = [ ['Row header 5', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'] ]; +const [ headers = [], ...body ] = data; +const smallBody: string[][] = [...body].splice(0, 2); + const COLUMN_HEADER_WIDTH = 150; export const Tables = () => { - const [ headers = [], ...body ] = data; - return (
@@ -41,6 +42,24 @@ export const Tables = () => {

Demo

+ + + { + smallBody.map((row = [], rowIndex) => ( + + { + row.map((cell) => ( + + {cell} + + )) + } + + )) + } + +
+ @@ -84,21 +103,58 @@ export const Tables = () => { {` -
-

- Section 1 -

-
-
-

- Section 2 -

-
-
-

- Section 3 -

-
+
+ + { + smallBody.map((row = [], rowIndex) => ( + + { + row.map((cell) => ( + + {cell} + + )) + } + + )) + } + +
+ + + + + { + headers.map((header, index) => index === 0 ? ( + + ) : ( + + {header} + + )) + } + + + + { + body.map((row = [], rowIndex) => ( + + { + row.map((cell, index) => index === 0 ? ( + + {cell} + + ) : ( + + {cell} + + )) + } + + )) + } + +
`} From 338c285b857e2dcbcdfb08abfaeb32534cd49223 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 13:17:57 +0100 Subject: [PATCH 12/29] Display table data in docs --- docs/src/ts/tables.tsx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/src/ts/tables.tsx b/docs/src/ts/tables.tsx index 12d1db5a9..b6d5a685d 100644 --- a/docs/src/ts/tables.tsx +++ b/docs/src/ts/tables.tsx @@ -23,7 +23,7 @@ const data = [ ]; const [ headers = [], ...body ] = data; -const smallBody: string[][] = [...body].splice(0, 2); +const smallBody = [...body].splice(0, 2); const COLUMN_HEADER_WIDTH = 150; @@ -101,6 +101,21 @@ export const Tables = () => {

Code

+ + {` + const data = [ + ['', 'Column header 1', 'Column header 2', 'Column header 3', 'Column header 4', 'Column header 5'], + ['Row header 1', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'], + ['Row header 2', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'], + ['Row header 3', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'], + ['Row header 4', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'], + ['Row header 5', 'Cell 1', 'Cell 2', 'Cell 3', 'Cell 4', 'Cell 5'] + ]; + + const [ headers = [], ...body ] = data; + const smallBody = [...body].splice(0, 2); + `} + {` From ba6fcd7c062bcbf7764658e2b9ac06cedfbae654 Mon Sep 17 00:00:00 2001 From: Jake 'Sid' Smith Date: Tue, 23 May 2017 13:20:32 +0100 Subject: [PATCH 13/29] Fix value no onChange error --- docs/src/ts/inputs.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/ts/inputs.tsx b/docs/src/ts/inputs.tsx index 4aacd030b..e98f94ef5 100644 --- a/docs/src/ts/inputs.tsx +++ b/docs/src/ts/inputs.tsx @@ -28,7 +28,7 @@ export const Inputs = () => (

Textarea

-