playbook_ui 13.19.0.pre.alpha.PBNTR207tabledivsupport2245 → 13.19.0.pre.alpha.PBNTR211tablekitsubcomponentsreact2318

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/index.js +1 -1
  3. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +4 -4
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail.md +1 -1
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.md +1 -1
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.md +1 -1
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_subrow_headers.md +1 -1
  8. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_options.md +1 -1
  9. data/app/pb_kits/playbook/pb_icon/_icon.tsx +28 -16
  10. data/app/pb_kits/playbook/pb_icon/docs/_icon_custom.html.erb +5 -11
  11. data/app/pb_kits/playbook/pb_icon/docs/_icon_custom.jsx +44 -18
  12. data/app/pb_kits/playbook/pb_icon/docs/_icon_custom.md +4 -8
  13. data/app/pb_kits/playbook/pb_icon/icon.html.erb +6 -4
  14. data/app/pb_kits/playbook/pb_icon/icon.rb +27 -10
  15. data/app/pb_kits/playbook/pb_table/SubKits/_table_body.tsx +64 -0
  16. data/app/pb_kits/playbook/pb_table/SubKits/_table_cell.tsx +66 -0
  17. data/app/pb_kits/playbook/pb_table/SubKits/_table_head.tsx +64 -0
  18. data/app/pb_kits/playbook/pb_table/SubKits/_table_header.tsx +66 -0
  19. data/app/pb_kits/playbook/pb_table/SubKits/_table_row.tsx +74 -0
  20. data/app/pb_kits/playbook/pb_table/SubKits/index.tsx +5 -0
  21. data/app/pb_kits/playbook/pb_table/_table.tsx +99 -67
  22. data/app/pb_kits/playbook/pb_table/docs/_table_div.html.erb +26 -26
  23. data/app/pb_kits/playbook/pb_table/docs/_table_div.jsx +27 -26
  24. data/app/pb_kits/playbook/pb_table/docs/_table_side_highlight.jsx +24 -25
  25. data/app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents.html.erb +34 -0
  26. data/app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents.jsx +47 -0
  27. data/app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents_as_divs.html.erb +34 -0
  28. data/app/pb_kits/playbook/pb_table/docs/_table_with_subcomponents_as_divs.jsx +48 -0
  29. data/app/pb_kits/playbook/pb_table/docs/example.yml +7 -2
  30. data/app/pb_kits/playbook/pb_table/docs/index.js +2 -0
  31. data/app/pb_kits/playbook/pb_table/styles/_all.scss +0 -1
  32. data/app/pb_kits/playbook/pb_table/styles/_content.scss +3 -3
  33. data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +15 -15
  34. data/app/pb_kits/playbook/pb_table/styles/_headers.scss +3 -3
  35. data/app/pb_kits/playbook/pb_table/styles/_hover.scss +11 -11
  36. data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +15 -15
  37. data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +15 -15
  38. data/app/pb_kits/playbook/pb_table/styles/_reset.scss +3 -3
  39. data/app/pb_kits/playbook/pb_table/styles/_side_highlight.scss +2 -2
  40. data/app/pb_kits/playbook/pb_table/styles/_single-line.scss +4 -4
  41. data/app/pb_kits/playbook/pb_table/styles/_sticky_header.scss +2 -2
  42. data/app/pb_kits/playbook/pb_table/styles/_striped.scss +4 -4
  43. data/app/pb_kits/playbook/pb_table/styles/_structure.scss +22 -8
  44. data/app/pb_kits/playbook/pb_table/styles/_table-card.scss +7 -7
  45. data/app/pb_kits/playbook/pb_table/styles/_table-dark.scss +14 -14
  46. data/app/pb_kits/playbook/pb_table/styles/_table_header.scss +2 -2
  47. data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +15 -15
  48. data/app/pb_kits/playbook/pb_table/styles/_vertical_border.scss +3 -3
  49. data/app/pb_kits/playbook/pb_table/table.html.erb +1 -3
  50. data/app/pb_kits/playbook/pb_table/table.test.js +142 -1
  51. data/app/pb_kits/playbook/pb_table/table_body.html.erb +17 -0
  52. data/app/pb_kits/playbook/pb_table/table_body.rb +15 -0
  53. data/app/pb_kits/playbook/pb_table/table_cell.html.erb +17 -0
  54. data/app/pb_kits/playbook/pb_table/table_cell.rb +17 -0
  55. data/app/pb_kits/playbook/pb_table/table_head.html.erb +17 -0
  56. data/app/pb_kits/playbook/pb_table/table_head.rb +15 -0
  57. data/app/pb_kits/playbook/pb_table/table_header.html.erb +49 -39
  58. data/app/pb_kits/playbook/pb_table/table_header.rb +8 -1
  59. data/app/pb_kits/playbook/pb_table/table_row.html.erb +17 -7
  60. data/app/pb_kits/playbook/pb_table/table_row.rb +8 -1
  61. data/dist/playbook-rails.js +6 -6
  62. data/lib/playbook/version.rb +1 -1
  63. metadata +18 -4
  64. data/app/pb_kits/playbook/pb_table/_table_row.tsx +0 -47
  65. data/app/pb_kits/playbook/pb_table/styles/_div_support.scss +0 -22
@@ -0,0 +1,74 @@
1
+ import React from "react";
2
+ import classnames from "classnames";
3
+ import {
4
+ buildAriaProps,
5
+ buildCss,
6
+ buildDataProps,
7
+ buildHtmlProps,
8
+ } from "../../utilities/props";
9
+ import { globalProps } from "../../utilities/globalProps";
10
+
11
+ type TableRowPropTypes = {
12
+ aria?: { [key: string]: string };
13
+ children: React.ReactNode[] | React.ReactNode;
14
+ className: string;
15
+ data?: { [key: string]: string };
16
+ htmlOptions?: { [key: string]: string | number | boolean | (() => void) };
17
+ id?: string;
18
+ sideHighlightColor: string;
19
+ tag?: "table" | "div";
20
+ };
21
+
22
+ const TableRow = (props: TableRowPropTypes) => {
23
+ const {
24
+ aria = {},
25
+ children,
26
+ className,
27
+ data = {},
28
+ htmlOptions = {},
29
+ id,
30
+ sideHighlightColor = "none",
31
+ tag = "table",
32
+ } = props;
33
+
34
+ const ariaProps = buildAriaProps(aria);
35
+ const dataProps = buildDataProps(data);
36
+ const htmlProps = buildHtmlProps(htmlOptions);
37
+ const sideHighlightClass =
38
+ sideHighlightColor != "" ? `side_highlight_${sideHighlightColor}` : null;
39
+ const classes = classnames(
40
+ buildCss("pb_table_row_kit", sideHighlightClass),
41
+ "pb_table_tr",
42
+ globalProps(props),
43
+ className
44
+ );
45
+ const isTableTag = tag === "table";
46
+
47
+ return (
48
+ <>
49
+ {isTableTag ? (
50
+ <tr
51
+ {...ariaProps}
52
+ {...dataProps}
53
+ {...htmlProps}
54
+ className={classes}
55
+ id={id}
56
+ >
57
+ {children}
58
+ </tr>
59
+ ) : (
60
+ <div
61
+ {...ariaProps}
62
+ {...dataProps}
63
+ {...htmlProps}
64
+ className={classes}
65
+ id={id}
66
+ >
67
+ {children}
68
+ </div>
69
+ )}
70
+ </>
71
+ );
72
+ };
73
+
74
+ export default TableRow;
@@ -0,0 +1,5 @@
1
+ export { default as TableHead } from './_table_head';
2
+ export { default as TableHeader } from './_table_header';
3
+ export { default as TableBody } from './_table_body';
4
+ export { default as TableRow } from './_table_row';
5
+ export { default as TableCell } from './_table_cell';
@@ -3,69 +3,69 @@ import classnames from 'classnames'
3
3
  import { buildAriaProps, buildDataProps, buildHtmlProps } from '../utilities/props'
4
4
  import { globalProps, GlobalProps } from '../utilities/globalProps'
5
5
  import PbTable from '.'
6
+ import {
7
+ TableHead,
8
+ TableHeader,
9
+ TableBody,
10
+ TableRow,
11
+ TableCell,
12
+ } from "./SubKits";
6
13
 
7
14
  type TableProps = {
8
- aria?: { [key: string]: string },
9
- children: React.ReactNode[] | React.ReactNode,
10
- className: string,
11
- collapse?: "sm" | "md" | "lg",
12
- container?: boolean,
13
- dark?: boolean,
14
- data?: { [key: string]: string },
15
- dataTable: boolean,
16
- disableHover?: boolean,
17
- htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
18
- id?: string,
19
- responsive?: "collapse" | "scroll" | "none",
20
- singleLine?: boolean,
21
- size?: "sm" | "md" | "lg",
22
- sticky?: boolean,
23
- striped?: boolean,
24
- verticalBorder?: boolean,
15
+ aria?: { [key: string]: string },
16
+ children: React.ReactNode[] | React.ReactNode,
17
+ className: string,
18
+ collapse?: "sm" | "md" | "lg",
19
+ container?: boolean,
20
+ dark?: boolean,
21
+ data?: { [key: string]: string },
22
+ dataTable: boolean,
23
+ disableHover?: boolean,
24
+ htmlOptions?: { [key: string]: string | number | boolean | (() => void) },
25
+ id?: string,
26
+ responsive?: "collapse" | "scroll" | "none",
27
+ singleLine?: boolean,
28
+ size?: "sm" | "md" | "lg",
29
+ sticky?: boolean,
30
+ striped?: boolean,
31
+ tag?: "table" | "div",
32
+ verticalBorder?: boolean,
25
33
  } & GlobalProps
26
34
 
27
35
  const Table = (props: TableProps) => {
28
- const {
29
- aria = {},
30
- children,
31
- className,
32
- collapse = 'sm',
33
- container = true,
34
- dark,
35
- data = {},
36
- dataTable = false,
37
- disableHover = false,
38
- htmlOptions = {},
39
- id,
40
- responsive = 'collapse',
41
- singleLine = false,
42
- size = 'sm',
43
- sticky = false,
44
- striped = false,
45
- verticalBorder = false,
46
- } = props
36
+ const {
37
+ aria = {},
38
+ children,
39
+ className,
40
+ collapse = 'sm',
41
+ container = true,
42
+ dark,
43
+ data = {},
44
+ dataTable = false,
45
+ disableHover = false,
46
+ htmlOptions = {},
47
+ id,
48
+ responsive = 'collapse',
49
+ singleLine = false,
50
+ size = 'sm',
51
+ sticky = false,
52
+ striped = false,
53
+ tag = 'table',
54
+ verticalBorder = false,
55
+ } = props
47
56
 
48
- const ariaProps = buildAriaProps(aria)
49
- const dataProps = buildDataProps(data)
50
- const htmlProps = buildHtmlProps(htmlOptions)
51
- const tableCollapseCss = responsive !== 'none' ? `table-collapse-${collapse}` : ''
52
- const verticalBorderCss = verticalBorder ? 'vertical-border' : ''
57
+ const ariaProps = buildAriaProps(aria)
58
+ const dataProps = buildDataProps(data)
59
+ const htmlProps = buildHtmlProps(htmlOptions)
60
+ const tableCollapseCss = responsive !== 'none' ? `table-collapse-${collapse}` : ''
61
+ const verticalBorderCss = verticalBorder ? 'vertical-border' : ''
62
+ const isTableTag = tag === 'table'
53
63
 
54
- useEffect(() => {
55
- const instance = new PbTable()
56
- instance.connect()
57
- }, [])
58
-
59
- return (
60
- <table
61
- {...ariaProps}
62
- {...dataProps}
63
- {...htmlProps}
64
- className={classnames(
65
- 'pb_table',
66
- `table-${size}`,
67
- `table-responsive-${responsive}`,
68
- {
64
+ const classNames = classnames(
65
+ 'pb_table',
66
+ `table-${size}`,
67
+ `table-responsive-${responsive}`,
68
+ {
69
69
  'table-card': container,
70
70
  'table-dark': dark,
71
71
  'data_table': dataTable,
@@ -73,17 +73,49 @@ const Table = (props: TableProps) => {
73
73
  'no-hover': disableHover,
74
74
  'sticky-header': sticky,
75
75
  'striped': striped,
76
- },
77
- globalProps(props),
78
- tableCollapseCss,
79
- verticalBorderCss,
80
- className
81
- )}
82
- id={id}
83
- >
84
- {children}
85
- </table>
86
- )
76
+ },
77
+ globalProps(props),
78
+ tableCollapseCss,
79
+ verticalBorderCss,
80
+ className
81
+ )
82
+
83
+ useEffect(() => {
84
+ const instance = new PbTable()
85
+ instance.connect()
86
+ }, [])
87
+
88
+ return (
89
+ <>
90
+ {isTableTag ? (
91
+ <table
92
+ {...ariaProps}
93
+ {...dataProps}
94
+ {...htmlProps}
95
+ className={classNames}
96
+ id={id}
97
+ >
98
+ {children}
99
+ </table>
100
+ ) : (
101
+ <div
102
+ {...ariaProps}
103
+ {...dataProps}
104
+ {...htmlProps}
105
+ className={classNames}
106
+ id={id}
107
+ >
108
+ {children}
109
+ </div>
110
+ )}
111
+ </>
112
+ )
87
113
  }
88
114
 
115
+ Table.Head = TableHead
116
+ Table.Header = TableHeader
117
+ Table.Body = TableBody
118
+ Table.Row = TableRow
119
+ Table.Cell = TableCell
120
+
89
121
  export default Table
@@ -1,34 +1,34 @@
1
1
  <%= pb_rails("table", props: { size: "sm", tag: "div" }) do %>
2
- <div class="thead">
3
- <div class="tr">
4
- <div class="th">Column 1</div>
5
- <div class="th">Column 2</div>
6
- <div class="th">Column 3</div>
7
- <div class="th">Column 4</div>
8
- <div class="th">Column 5</div>
2
+ <div class="pb_table_thead">
3
+ <div class="pb_table_tr">
4
+ <div class="pb_table_th">Column 1</div>
5
+ <div class="pb_table_th">Column 2</div>
6
+ <div class="pb_table_th">Column 3</div>
7
+ <div class="pb_table_th">Column 4</div>
8
+ <div class="pb_table_th">Column 5</div>
9
9
  </div>
10
10
  </div>
11
- <div class="tbody">
12
- <div class="tr">
13
- <div class="td">Value 1</div>
14
- <div class="td">Value 2</div>
15
- <div class="td">Value 3</div>
16
- <div class="td">Value 4</div>
17
- <div class="td">Value 5</div>
11
+ <div class="pb_table_tbody">
12
+ <div class="pb_table_tr">
13
+ <div class="pb_table_td">Value 1</div>
14
+ <div class="pb_table_td">Value 2</div>
15
+ <div class="pb_table_td">Value 3</div>
16
+ <div class="pb_table_td">Value 4</div>
17
+ <div class="pb_table_td">Value 5</div>
18
18
  </div>
19
- <div class="tr">
20
- <div class="td">Value 1</div>
21
- <div class="td">Value 2</div>
22
- <div class="td">Value 3</div>
23
- <div class="td">Value 4</div>
24
- <div class="td">Value 5</div>
19
+ <div class="pb_table_tr">
20
+ <div class="pb_table_td">Value 1</div>
21
+ <div class="pb_table_td">Value 2</div>
22
+ <div class="pb_table_td">Value 3</div>
23
+ <div class="pb_table_td">Value 4</div>
24
+ <div class="pb_table_td">Value 5</div>
25
25
  </div>
26
- <div class="tr">
27
- <div class="td">Value 1</div>
28
- <div class="td">Value 2</div>
29
- <div class="td">Value 3</div>
30
- <div class="td">Value 4</div>
31
- <div class="td">Value 5</div>
26
+ <div class="pb_table_tr">
27
+ <div class="pb_table_td">Value 1</div>
28
+ <div class="pb_table_td">Value 2</div>
29
+ <div class="pb_table_td">Value 3</div>
30
+ <div class="pb_table_td">Value 4</div>
31
+ <div class="pb_table_td">Value 5</div>
32
32
  </div>
33
33
  </div>
34
34
  <% end %>
@@ -5,38 +5,39 @@ const TableDiv = (props) => {
5
5
  return (
6
6
  <Table
7
7
  size="sm"
8
+ tag="div"
8
9
  {...props}
9
10
  >
10
- <div className="thead">
11
- <div className="tr">
12
- <div className="th">{'Column 1'}</div>
13
- <div className="th">{'Column 2'}</div>
14
- <div className="th">{'Column 3'}</div>
15
- <div className="th">{'Column 4'}</div>
16
- <div className="th">{'Column 5'}</div>
11
+ <div className="pb_table_thead">
12
+ <div className="pb_table_tr">
13
+ <div className="pb_table_th">{'Column 1'}</div>
14
+ <div className="pb_table_th">{'Column 2'}</div>
15
+ <div className="pb_table_th">{'Column 3'}</div>
16
+ <div className="pb_table_th">{'Column 4'}</div>
17
+ <div className="pb_table_th">{'Column 5'}</div>
17
18
  </div>
18
19
  </div>
19
- <div className="tbody">
20
- <div className="tr">
21
- <div className="td">{'Value 1'}</div>
22
- <div className="td">{'Value 2'}</div>
23
- <div className="td">{'Value 3'}</div>
24
- <div className="td">{'Value 4'}</div>
25
- <div className="td">{'Value 5'}</div>
20
+ <div className="pb_table_tbody">
21
+ <div className="pb_table_tr">
22
+ <div className="pb_table_td">{'Value 1'}</div>
23
+ <div className="pb_table_td">{'Value 2'}</div>
24
+ <div className="pb_table_td">{'Value 3'}</div>
25
+ <div className="pb_table_td">{'Value 4'}</div>
26
+ <div className="pb_table_td">{'Value 5'}</div>
26
27
  </div>
27
- <div className="tr">
28
- <div className="td">{'Value 1'}</div>
29
- <div className="td">{'Value 2'}</div>
30
- <div className="td">{'Value 3'}</div>
31
- <div className="td">{'Value 4'}</div>
32
- <div className="td">{'Value 5'}</div>
28
+ <div className="pb_table_tr">
29
+ <div className="pb_table_td">{'Value 1'}</div>
30
+ <div className="pb_table_td">{'Value 2'}</div>
31
+ <div className="pb_table_td">{'Value 3'}</div>
32
+ <div className="pb_table_td">{'Value 4'}</div>
33
+ <div className="pb_table_td">{'Value 5'}</div>
33
34
  </div>
34
- <div className="tr">
35
- <div className="td">{'Value 1'}</div>
36
- <div className="td">{'Value 2'}</div>
37
- <div className="td">{'Value 3'}</div>
38
- <div className="td">{'Value 4'}</div>
39
- <div className="td">{'Value 5'}</div>
35
+ <div className="pb_table_tr">
36
+ <div className="pb_table_td">{'Value 1'}</div>
37
+ <div className="pb_table_td">{'Value 2'}</div>
38
+ <div className="pb_table_td">{'Value 3'}</div>
39
+ <div className="pb_table_td">{'Value 4'}</div>
40
+ <div className="pb_table_td">{'Value 5'}</div>
40
41
  </div>
41
42
  </div>
42
43
  </Table>
@@ -1,7 +1,6 @@
1
1
  import React from 'react'
2
2
 
3
3
  import Table from '../_table'
4
- import TableRow from '../_table_row'
5
4
 
6
5
  const TableSideHighlight = (props) => {
7
6
  return (
@@ -20,7 +19,7 @@ const TableSideHighlight = (props) => {
20
19
  </tr>
21
20
  </thead>
22
21
  <tbody>
23
- <TableRow
22
+ <Table.Row
24
23
  sideHighlightColor="product_1_highlight"
25
24
  {...props}
26
25
  >
@@ -29,8 +28,8 @@ const TableSideHighlight = (props) => {
29
28
  <td>{'Value 3'}</td>
30
29
  <td>{'Value 4'}</td>
31
30
  <td>{'Value 5'}</td>
32
- </TableRow>
33
- <TableRow
31
+ </Table.Row>
32
+ <Table.Row
34
33
  sideHighlightColor="product_2_highlight"
35
34
  {...props}
36
35
  >
@@ -39,8 +38,8 @@ const TableSideHighlight = (props) => {
39
38
  <td>{'Value 3'}</td>
40
39
  <td>{'Value 4'}</td>
41
40
  <td>{'Value 5'}</td>
42
- </TableRow>
43
- <TableRow
41
+ </Table.Row>
42
+ <Table.Row
44
43
  sideHighlightColor="product_3_highlight"
45
44
  {...props}
46
45
  >
@@ -49,8 +48,8 @@ const TableSideHighlight = (props) => {
49
48
  <td>{'Value 3'}</td>
50
49
  <td>{'Value 4'}</td>
51
50
  <td>{'Value 5'}</td>
52
- </TableRow>
53
- <TableRow
51
+ </Table.Row>
52
+ <Table.Row
54
53
  sideHighlightColor="none"
55
54
  {...props}
56
55
  >
@@ -59,7 +58,7 @@ const TableSideHighlight = (props) => {
59
58
  <td>{'Value 3'}</td>
60
59
  <td>{'Value 4'}</td>
61
60
  <td>{'Value 5'}</td>
62
- </TableRow>
61
+ </Table.Row>
63
62
  </tbody>
64
63
  </Table>
65
64
 
@@ -79,7 +78,7 @@ const TableSideHighlight = (props) => {
79
78
  </tr>
80
79
  </thead>
81
80
  <tbody>
82
- <TableRow
81
+ <Table.Row
83
82
  sideHighlightColor="success"
84
83
  {...props}
85
84
  >
@@ -88,8 +87,8 @@ const TableSideHighlight = (props) => {
88
87
  <td>{'Value 3'}</td>
89
88
  <td>{'Value 4'}</td>
90
89
  <td>{'Value 5'}</td>
91
- </TableRow>
92
- <TableRow
90
+ </Table.Row>
91
+ <Table.Row
93
92
  sideHighlightColor="warning"
94
93
  {...props}
95
94
  >
@@ -98,8 +97,8 @@ const TableSideHighlight = (props) => {
98
97
  <td>{'Value 3'}</td>
99
98
  <td>{'Value 4'}</td>
100
99
  <td>{'Value 5'}</td>
101
- </TableRow>
102
- <TableRow
100
+ </Table.Row>
101
+ <Table.Row
103
102
  sideHighlightColor="error"
104
103
  {...props}
105
104
  >
@@ -108,8 +107,8 @@ const TableSideHighlight = (props) => {
108
107
  <td>{'Value 3'}</td>
109
108
  <td>{'Value 4'}</td>
110
109
  <td>{'Value 5'}</td>
111
- </TableRow>
112
- <TableRow
110
+ </Table.Row>
111
+ <Table.Row
113
112
  sideHighlightColor="none"
114
113
  {...props}
115
114
  >
@@ -118,7 +117,7 @@ const TableSideHighlight = (props) => {
118
117
  <td>{'Value 3'}</td>
119
118
  <td>{'Value 4'}</td>
120
119
  <td>{'Value 5'}</td>
121
- </TableRow>
120
+ </Table.Row>
122
121
  </tbody>
123
122
  </Table>
124
123
 
@@ -138,7 +137,7 @@ const TableSideHighlight = (props) => {
138
137
  </tr>
139
138
  </thead>
140
139
  <tbody>
141
- <TableRow
140
+ <Table.Row
142
141
  sideHighlightColor="category_1"
143
142
  {...props}
144
143
  >
@@ -147,8 +146,8 @@ const TableSideHighlight = (props) => {
147
146
  <td>{'Value 3'}</td>
148
147
  <td>{'Value 4'}</td>
149
148
  <td>{'Value 5'}</td>
150
- </TableRow>
151
- <TableRow
149
+ </Table.Row>
150
+ <Table.Row
152
151
  sideHighlightColor="category_2"
153
152
  {...props}
154
153
  >
@@ -157,8 +156,8 @@ const TableSideHighlight = (props) => {
157
156
  <td>{'Value 3'}</td>
158
157
  <td>{'Value 4'}</td>
159
158
  <td>{'Value 5'}</td>
160
- </TableRow>
161
- <TableRow
159
+ </Table.Row>
160
+ <Table.Row
162
161
  sideHighlightColor="category_3"
163
162
  {...props}
164
163
  >
@@ -167,8 +166,8 @@ const TableSideHighlight = (props) => {
167
166
  <td>{'Value 3'}</td>
168
167
  <td>{'Value 4'}</td>
169
168
  <td>{'Value 5'}</td>
170
- </TableRow>
171
- <TableRow
169
+ </Table.Row>
170
+ <Table.Row
172
171
  sideHighlightColor="none"
173
172
  {...props}
174
173
  >
@@ -177,7 +176,7 @@ const TableSideHighlight = (props) => {
177
176
  <td>{'Value 3'}</td>
178
177
  <td>{'Value 4'}</td>
179
178
  <td>{'Value 5'}</td>
180
- </TableRow>
179
+ </Table.Row>
181
180
  </tbody>
182
181
  </Table>
183
182
  </div>
@@ -0,0 +1,34 @@
1
+ <%= pb_rails("table", props: { size: "sm" }) do %>
2
+ <%= pb_rails("table/table_head") do %>
3
+ <%= pb_rails("table/table_row") do %>
4
+ <%= pb_rails("table/table_header", props: { text: "Column 1"}) %>
5
+ <%= pb_rails("table/table_header", props: { text: "Column 2"}) %>
6
+ <%= pb_rails("table/table_header", props: { text: "Column 3"}) %>
7
+ <%= pb_rails("table/table_header", props: { text: "Column 4"}) %>
8
+ <%= pb_rails("table/table_header", props: { text: "Column 5"}) %>
9
+ <% end %>
10
+ <% end %>
11
+ <%= pb_rails("table/table_body") do %>
12
+ <%= pb_rails("table/table_row") do %>
13
+ <%= pb_rails("table/table_cell", props: { text: "Value 1"}) %>
14
+ <%= pb_rails("table/table_cell", props: { text: "Value 2"}) %>
15
+ <%= pb_rails("table/table_cell", props: { text: "Value 3"}) %>
16
+ <%= pb_rails("table/table_cell", props: { text: "Value 4"}) %>
17
+ <%= pb_rails("table/table_cell", props: { text: "Value 5"}) %>
18
+ <% end %>
19
+ <%= pb_rails("table/table_row") do %>
20
+ <%= pb_rails("table/table_cell", props: { text: "Value 1"}) %>
21
+ <%= pb_rails("table/table_cell", props: { text: "Value 2"}) %>
22
+ <%= pb_rails("table/table_cell", props: { text: "Value 3"}) %>
23
+ <%= pb_rails("table/table_cell", props: { text: "Value 4"}) %>
24
+ <%= pb_rails("table/table_cell", props: { text: "Value 5"}) %>
25
+ <% end %>
26
+ <%= pb_rails("table/table_row") do %>
27
+ <%= pb_rails("table/table_cell", props: { text: "Value 1"}) %>
28
+ <%= pb_rails("table/table_cell", props: { text: "Value 2"}) %>
29
+ <%= pb_rails("table/table_cell", props: { text: "Value 3"}) %>
30
+ <%= pb_rails("table/table_cell", props: { text: "Value 4"}) %>
31
+ <%= pb_rails("table/table_cell", props: { text: "Value 5"}) %>
32
+ <% end %>
33
+ <% end %>
34
+ <% end %>
@@ -0,0 +1,47 @@
1
+ import React from 'react'
2
+
3
+ import Table from '../_table'
4
+
5
+ const TableWithSubcomponents = (props) => {
6
+ return (
7
+ <Table
8
+ size="sm"
9
+ {...props}
10
+ >
11
+ <Table.Head>
12
+ <Table.Row>
13
+ <Table.Header>{'Column 1'}</Table.Header>
14
+ <Table.Header>{'Column 2'}</Table.Header>
15
+ <Table.Header>{'Column 3'}</Table.Header>
16
+ <Table.Header>{'Column 4'}</Table.Header>
17
+ <Table.Header>{'Column 5'}</Table.Header>
18
+ </Table.Row>
19
+ </Table.Head>
20
+ <Table.Body>
21
+ <Table.Row>
22
+ <Table.Cell>{'Value 1'}</Table.Cell>
23
+ <Table.Cell>{'Value 2'}</Table.Cell>
24
+ <Table.Cell>{'Value 3'}</Table.Cell>
25
+ <Table.Cell>{'Value 4'}</Table.Cell>
26
+ <Table.Cell>{'Value 5'}</Table.Cell>
27
+ </Table.Row>
28
+ <Table.Row>
29
+ <Table.Cell>{'Value 1'}</Table.Cell>
30
+ <Table.Cell>{'Value 2'}</Table.Cell>
31
+ <Table.Cell>{'Value 3'}</Table.Cell>
32
+ <Table.Cell>{'Value 4'}</Table.Cell>
33
+ <Table.Cell>{'Value 5'}</Table.Cell>
34
+ </Table.Row>
35
+ <Table.Row>
36
+ <Table.Cell>{'Value 1'}</Table.Cell>
37
+ <Table.Cell>{'Value 2'}</Table.Cell>
38
+ <Table.Cell>{'Value 3'}</Table.Cell>
39
+ <Table.Cell>{'Value 4'}</Table.Cell>
40
+ <Table.Cell>{'Value 5'}</Table.Cell>
41
+ </Table.Row>
42
+ </Table.Body>
43
+ </Table>
44
+ )
45
+ }
46
+
47
+ export default TableWithSubcomponents