playbook_ui 4.18.1 → 5.0.1.pre.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/app/helpers/playbook/pb_sample_helper.rb +1 -1
  4. data/app/pb_kits/playbook/_playbook.scss +1 -1
  5. data/app/pb_kits/playbook/data/menu.yml +3 -1
  6. data/app/pb_kits/playbook/packs/examples.js +2 -0
  7. data/app/pb_kits/playbook/packs/samples.js +2 -0
  8. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +5 -0
  9. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +3 -0
  10. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.html.erb +15 -0
  11. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +24 -0
  12. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +6 -4
  13. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +1 -0
  14. data/app/pb_kits/playbook/pb_caption/_caption.jsx +21 -4
  15. data/app/pb_kits/playbook/pb_card/_card.scss +1 -72
  16. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +72 -0
  17. data/app/pb_kits/playbook/pb_filter/Filter/FiltersPopover.jsx +0 -1
  18. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.jsx +1 -1
  19. data/app/pb_kits/playbook/pb_filter/templates/_default.html.erb +2 -2
  20. data/app/pb_kits/playbook/pb_installer/_installer.html.erb +16 -0
  21. data/app/pb_kits/playbook/pb_installer/_installer.jsx +54 -0
  22. data/app/pb_kits/playbook/pb_installer/_installer.scss +7 -0
  23. data/app/pb_kits/playbook/pb_installer/docs/_installer_default.html.erb +8 -0
  24. data/app/pb_kits/playbook/pb_installer/docs/_installer_default.jsx +16 -0
  25. data/app/pb_kits/playbook/pb_installer/docs/example.yml +9 -0
  26. data/app/pb_kits/playbook/pb_installer/docs/index.js +1 -0
  27. data/app/pb_kits/playbook/pb_installer/installer.rb +18 -0
  28. data/app/pb_kits/playbook/pb_layout/_body.html.erb +1 -1
  29. data/app/pb_kits/playbook/pb_layout/_column.html.erb +7 -0
  30. data/app/pb_kits/playbook/pb_layout/_layout.jsx +31 -13
  31. data/app/pb_kits/playbook/pb_layout/_layout.scss +54 -0
  32. data/app/pb_kits/playbook/pb_layout/body.rb +4 -0
  33. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban.html.erb +140 -0
  34. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban.jsx +1234 -0
  35. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban_responsive.html.erb +57 -0
  36. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban_responsive.jsx +46 -0
  37. data/app/pb_kits/playbook/pb_layout/docs/example.yml +3 -0
  38. data/app/pb_kits/playbook/pb_layout/docs/index.js +2 -0
  39. data/app/pb_kits/playbook/pb_layout/layout.rb +12 -4
  40. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +5 -0
  41. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.html.erb +16 -0
  42. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +23 -0
  43. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +5 -3
  44. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +1 -0
  45. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +3 -0
  46. data/app/pb_kits/playbook/pb_list/_item.html.erb +3 -2
  47. data/app/pb_kits/playbook/pb_list/_list.html.erb +3 -3
  48. data/app/pb_kits/playbook/pb_list/_list.jsx +55 -10
  49. data/app/pb_kits/playbook/pb_list/_list_item.jsx +41 -18
  50. data/app/pb_kits/playbook/pb_list/docs/_list_borderless.jsx +21 -0
  51. data/app/pb_kits/playbook/pb_list/docs/_list_dark.jsx +0 -5
  52. data/app/pb_kits/playbook/pb_list/docs/_list_dark_borderless.jsx +22 -0
  53. data/app/pb_kits/playbook/pb_list/docs/_list_dark_lg.jsx +22 -0
  54. data/app/pb_kits/playbook/pb_list/docs/_list_dark_ordered.jsx +22 -0
  55. data/app/pb_kits/playbook/pb_list/docs/_list_dark_xpadding.jsx +22 -0
  56. data/app/pb_kits/playbook/pb_list/docs/_list_layout_left.jsx +75 -0
  57. data/app/pb_kits/playbook/pb_list/docs/_list_layout_right.jsx +75 -0
  58. data/app/pb_kits/playbook/pb_list/docs/_list_lg.jsx +21 -0
  59. data/app/pb_kits/playbook/pb_list/docs/_list_ordered.jsx +21 -0
  60. data/app/pb_kits/playbook/pb_list/docs/_list_xpadding.jsx +21 -0
  61. data/app/pb_kits/playbook/pb_list/docs/example.yml +12 -1
  62. data/app/pb_kits/playbook/pb_list/docs/index.js +11 -0
  63. data/app/pb_kits/playbook/pb_popover/_popover.html.erb +4 -4
  64. data/app/pb_kits/playbook/pb_popover/_popover.jsx +41 -8
  65. data/app/pb_kits/playbook/pb_popover/_popover.scss +41 -2
  66. data/app/pb_kits/playbook/pb_popover/docs/_popover_close.html.erb +42 -0
  67. data/app/pb_kits/playbook/pb_popover/docs/_popover_close.jsx +99 -0
  68. data/app/pb_kits/playbook/pb_popover/docs/_popover_default.html.erb +19 -7
  69. data/app/pb_kits/playbook/pb_popover/docs/_popover_default.jsx +22 -6
  70. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.html.erb +11 -10
  71. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +22 -18
  72. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.md +1 -0
  73. data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height.html.erb +24 -0
  74. data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height.jsx +56 -0
  75. data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index.html.erb +14 -0
  76. data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index.jsx +50 -0
  77. data/app/pb_kits/playbook/pb_popover/docs/example.yml +12 -8
  78. data/app/pb_kits/playbook/pb_popover/docs/index.js +3 -3
  79. data/app/pb_kits/playbook/pb_popover/index.js +13 -9
  80. data/app/pb_kits/playbook/pb_popover/popover.rb +26 -2
  81. data/app/pb_kits/playbook/pb_title/_title.html.erb +1 -0
  82. data/app/pb_kits/playbook/pb_title/_title.jsx +24 -17
  83. data/app/pb_kits/playbook/plugins/pb_chart.js +8 -2
  84. data/app/pb_kits/playbook/props.rb +7 -0
  85. data/app/views/playbook/samples/filter_table/index.html.erb +348 -0
  86. data/app/views/playbook/samples/filter_table/index.jsx +433 -0
  87. data/lib/playbook/version.rb +1 -1
  88. metadata +41 -12
  89. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_any.html.erb +0 -19
  90. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_any.jsx +0 -40
  91. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_inside.html.erb +0 -14
  92. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_inside.jsx +0 -40
  93. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_outside.html.erb +0 -14
  94. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_outside.jsx +0 -40
  95. data/app/pb_kits/playbook/pb_popover/docs/_popover_with_button.jsx +0 -34
  96. data/app/pb_kits/playbook/pb_popover/docs/_popover_with_circle.html.erb +0 -5
@@ -0,0 +1,57 @@
1
+ <%= pb_rails("layout", props: {layout: "kanban", responsive: true}) do %>
2
+ <%= pb_rails("layout/body") do %>
3
+ <%= pb_rails("caption", props: {text: 'Queued'}) %>
4
+ <%= pb_rails("card") do %>
5
+ Runway Ticket #1
6
+ <% end %>
7
+ <% end %>
8
+ <%= pb_rails("layout/body") do %>
9
+ <%= pb_rails("caption", props: {text: 'In Progress'}) %>
10
+ <%= pb_rails("card") do %>
11
+ Runway Ticket #4
12
+ <% end %>
13
+ <%= pb_rails("card") do %>
14
+ Runway Ticket #5
15
+ <% end %>
16
+ <%= pb_rails("card") do %>
17
+ Runway Ticket #6
18
+ <% end %>
19
+ <% end %>
20
+ <%= pb_rails("layout/body") do %>
21
+ <%= pb_rails("caption", props: {text: 'Validation'}) %>
22
+ <%= pb_rails("card") do %>
23
+ Runway Ticket #7
24
+ <% end %>
25
+ <%= pb_rails("card") do %>
26
+ Runway Ticket 8
27
+ <% end %>
28
+ <%= pb_rails("card") do %>
29
+ Runway Ticket #9
30
+ <% end %>
31
+ <% end %>
32
+ <%= pb_rails("layout/body") do %>
33
+ <%= pb_rails("caption", props: {text: 'Done'}) %>
34
+ <%= pb_rails("card") do %>
35
+ More
36
+ <% end %>
37
+ <%= pb_rails("card") do %>
38
+ Stuff
39
+ <% end %>
40
+ <%= pb_rails("card") do %>
41
+ Here
42
+ <% end %>
43
+ <% end %>
44
+ <%= pb_rails("layout/body") do %>
45
+ <%= pb_rails("caption", props: {text: 'Backlog'}) %>
46
+ <%= pb_rails("card") do %>
47
+ Lots
48
+ <% end %>
49
+ <%= pb_rails("card") do %>
50
+ of
51
+ <% end %>
52
+ <%= pb_rails("card") do %>
53
+ Stuff
54
+ <% end %>
55
+ <% end %>
56
+
57
+ <% end %>
@@ -0,0 +1,46 @@
1
+ import React from 'react'
2
+ import { Caption, Card, Layout } from '../../'
3
+
4
+ const LayoutKanbanResponsive = () => {
5
+ return (
6
+ <div>
7
+ <Layout
8
+ layout="kanban"
9
+ responsive
10
+ >
11
+ <Layout.Body>
12
+ <Caption>{'Queue'}</Caption>
13
+ <Card>{'Card content'}</Card>
14
+ <Card>{'Card content'}</Card>
15
+ <Card>{'Card content'}</Card>
16
+ </Layout.Body>
17
+ <Layout.Body>
18
+ <Caption>{'In Progress'}</Caption>
19
+ <Card>{'Card content'}</Card>
20
+ <Card>{'Card content'}</Card>
21
+ <Card>{'Card content'}</Card>
22
+ </Layout.Body>
23
+ <Layout.Body>
24
+ <Caption>{'Validation'}</Caption>
25
+ <Card>{'Card content'}</Card>
26
+ <Card>{'Card content'}</Card>
27
+ <Card>{'Card content'}</Card>
28
+ </Layout.Body>
29
+ <Layout.Body>
30
+ <Caption>{'Done'}</Caption>
31
+ <Card>{'Card content'}</Card>
32
+ <Card>{'Card content'}</Card>
33
+ <Card>{'Card content'}</Card>
34
+ </Layout.Body>
35
+ <Layout.Body>
36
+ <Caption>{'Another Column'}</Caption>
37
+ <Card>{'Card content'}</Card>
38
+ <Card>{'Card content'}</Card>
39
+ <Card>{'Card content'}</Card>
40
+ </Layout.Body>
41
+ </Layout>
42
+ </div>
43
+ )
44
+ }
45
+
46
+ export default LayoutKanbanResponsive
@@ -5,9 +5,12 @@ examples:
5
5
  - layout_sizes: Sizes
6
6
  - layout_sizes_dark: Sizes Dark
7
7
  - layout_collection: Collection Layout
8
+ - layout_kanban: Kanban Layout
9
+
8
10
  react:
9
11
  - layout_colors: Colors
10
12
  - layout_transparent: Transparent
11
13
  - layout_sizes: Sizes
12
14
  - layout_sizes_dark: Sizes Dark
13
15
  - layout_collection: Collection Layout
16
+ - layout_kanban: Kanban Layout
@@ -3,3 +3,5 @@ export { default as LayoutTransparent } from './_layout_transparent.jsx'
3
3
  export { default as LayoutSizes } from './_layout_sizes.jsx'
4
4
  export { default as LayoutSizesDark } from './_layout_sizes_dark.jsx'
5
5
  export { default as LayoutCollection } from './_layout_collection.jsx'
6
+ export { default as LayoutKanban } from './_layout_kanban.jsx'
7
+ export { default as LayoutKanbanResponsive } from './_layout_kanban_responsive.jsx'
@@ -22,13 +22,17 @@ module Playbook
22
22
  values: %w[light dark gradient],
23
23
  default: "light"
24
24
  prop :layout, type: Playbook::Props::Enum,
25
- values: %w[sidebar collection],
25
+ values: %w[sidebar collection kanban],
26
26
  default: "sidebar"
27
27
 
28
+ prop :responsive, type: Playbook::Props::Boolean, default: false
29
+
28
30
  def classname
29
31
  case layout
30
- when "collection"
31
- generate_classname("pb_layout_kit", layout)
32
+ when "collection"
33
+ generate_classname("pb_layout_kit", layout)
34
+ when "kanban"
35
+ generate_classname("pb_layout_kit", layout, responsive_class)
32
36
  else
33
37
  first_class = generate_classname("pb_layout_kit_sidebar","size_#{size}", position, variant, transparent_class)
34
38
  [first_class, full_class, collapse_class].reject(&:empty?).join(" ")
@@ -37,6 +41,10 @@ module Playbook
37
41
 
38
42
  private
39
43
 
44
+ def responsive_class
45
+ responsive ? "responsive" : ""
46
+ end
47
+
40
48
  def full_class
41
49
  full ? "full" : ""
42
50
  end
@@ -50,4 +58,4 @@ module Playbook
50
58
  end
51
59
  end
52
60
  end
53
- end
61
+ end
@@ -22,6 +22,7 @@ type LineGraphProps = {
22
22
  title: String,
23
23
  type?: String,
24
24
  legend?: Boolean,
25
+ toggleLegendClick?: Boolean,
25
26
  height?: String,
26
27
  }
27
28
 
@@ -30,6 +31,8 @@ export default class LineGraph extends React.Component {
30
31
  className: 'pb_bar_graph',
31
32
  gradient: false,
32
33
  type: 'line',
34
+ legend: false,
35
+ toggleLegendClick: true,
33
36
  }
34
37
 
35
38
  componentDidMount() {
@@ -46,6 +49,7 @@ export default class LineGraph extends React.Component {
46
49
  title,
47
50
  type,
48
51
  legend,
52
+ toggleLegendClick,
49
53
  height,
50
54
  } = this.props
51
55
 
@@ -61,6 +65,7 @@ export default class LineGraph extends React.Component {
61
65
  yAxisMin: yAxisMin,
62
66
  yAxisMax: yAxisMax,
63
67
  legend: legend,
68
+ toggleLegendClick: toggleLegendClick,
64
69
  height: height,
65
70
  })
66
71
  }
@@ -0,0 +1,16 @@
1
+ <% data = [{
2
+ name: 'Number of Installations',
3
+ data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
4
+ }] %>
5
+
6
+ <%= pb_rails("line_graph", props: {
7
+ id: "line-test-3",
8
+ gradient: false,
9
+ chart_data: data,
10
+ x_axis_categories: ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug'],
11
+ title: 'Line Graph with Legend Non Clickable',
12
+ axis_title: 'Number of Employees',
13
+ legend: true,
14
+ toggle_legend_click: false,
15
+ }) %>
16
+
@@ -0,0 +1,23 @@
1
+ import React from 'react'
2
+ import { LineGraph } from '../..'
3
+
4
+ const data = [{
5
+ name: 'Number of Installations',
6
+ data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175],
7
+ }]
8
+
9
+ const LineGraphLegendNonclickable = () => (
10
+ <div>
11
+ <LineGraph
12
+ axisTitle="Number of Employees"
13
+ chartData={data}
14
+ id="line-test-3"
15
+ legend
16
+ title="Line Graph with Legend Non Clickable"
17
+ toggleLegendClick={false}
18
+ xAxisCategories={['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug']}
19
+ />
20
+ </div>
21
+ )
22
+
23
+ export default LineGraphLegendNonclickable
@@ -1,12 +1,14 @@
1
1
  examples:
2
-
2
+
3
3
  rails:
4
4
  - line_graph_default: Default
5
5
  - line_graph_legend: Legend
6
+ - line_graph_legend_nonclickable: Legend Nonclickable
6
7
  - line_graph_height: Height
7
-
8
-
8
+
9
+
9
10
  react:
10
11
  - line_graph_default: Default
11
12
  - line_graph_legend: Legend
13
+ - line_graph_legend_nonclickable: Legend Nonclickable
12
14
  - line_graph_height: Height
@@ -1,3 +1,4 @@
1
1
  export { default as LineGraphDefault } from './_line_graph_default.jsx'
2
2
  export { default as LineGraphLegend } from './_line_graph_legend.jsx'
3
+ export { default as LineGraphLegendNonclickable } from './_line_graph_legend_nonclickable.jsx'
3
4
  export { default as LineGraphHeight } from './_line_graph_height.jsx'
@@ -21,6 +21,8 @@ module Playbook
21
21
  prop :y_axis_max, type: Playbook::Props::Numeric
22
22
  prop :legend, type: Playbook::Props::Boolean,
23
23
  default: false
24
+ prop :toggle_legend_click, type: Playbook::Props::Boolean,
25
+ default: true
24
26
  prop :height
25
27
 
26
28
  def chart_type
@@ -40,6 +42,7 @@ module Playbook
40
42
  yAxisMin: y_axis_min,
41
43
  yAxisMax: y_axis_max,
42
44
  legend: legend,
45
+ toggleLegendClick: toggle_legend_click,
43
46
  height: height,
44
47
  }.to_json.html_safe
45
48
  end
@@ -1,7 +1,8 @@
1
1
  <%= content_tag(:li,
2
- id: object.id,
3
- data: object.data,
2
+ aria: object.aria,
4
3
  class: object.classname,
4
+ data: object.data,
5
+ id: object.id,
5
6
  tabindex: object.tabindex
6
7
  ) do %>
7
8
  <%= capture(&object.children) %>
@@ -1,10 +1,10 @@
1
1
  <%= content_tag(:div, class: object.list_classname) do %>
2
2
  <%= content_tag(:"#{object.ordered_class}",
3
- id: object.id,
4
- data: object.data,
3
+ aria: object.aria,
5
4
  class: object.classname,
5
+ data: object.data,
6
+ id: object.id,
6
7
  role: object.role,
7
- aria: object.aria,
8
8
  tabindex: object.tabindex
9
9
  ) do %>
10
10
  <%= capture(&object.children) %>
@@ -2,42 +2,87 @@
2
2
 
3
3
  import React, { type Node } from 'react'
4
4
  import classnames from 'classnames'
5
- import { buildCss } from '../utilities/props'
5
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
6
6
  import { spacing } from '../utilities/spacing.js'
7
7
 
8
8
  type ListProps = {
9
- borderless: boolean,
9
+ aria?: object,
10
+ borderless: Boolean,
11
+ className?: String,
10
12
  children: Array<Node> | Node,
11
- dark: boolean,
13
+ dark: Boolean,
14
+ data?: object,
15
+ id?: String,
12
16
  layout: "" | "left" | "right",
13
- ordered: boolean,
14
- size: "" | "large",
15
- xpadding: boolean,
17
+ ordered: Boolean,
18
+ role?: String,
19
+ tabIndex?: String,
20
+ size?: String,
21
+ xpadding: Boolean,
16
22
  }
17
23
 
18
24
  const List = (props: ListProps) => {
19
25
  const {
26
+ aria = {},
20
27
  borderless = false,
21
28
  children,
29
+ className,
22
30
  dark = false,
31
+ data = {},
32
+ id,
23
33
  layout = '',
24
34
  ordered = false,
35
+ role,
25
36
  size = '',
37
+ tabIndex,
26
38
  xpadding = false,
27
39
  } = props
40
+
41
+ const layoutClass = {
42
+ left: 'layout_left',
43
+ right: 'layout_right',
44
+ default: '',
45
+ }
46
+
47
+ const ariaProps = buildAriaProps(aria)
48
+ const dataProps = buildDataProps(data)
28
49
  const classes = classnames(
29
- buildCss('pb_list_kit', layout, size, {
50
+ buildCss('pb_list_kit', layoutClass[layout], size, {
30
51
  dark: dark,
31
52
  borderless: borderless,
32
53
  ordered: ordered,
33
54
  xpadding: xpadding,
34
- }),
55
+ }), className,
35
56
  spacing(props)
36
57
  )
37
58
 
38
59
  return (
39
- <div className={classes}>
40
- <ul>{children}</ul>
60
+ <div
61
+ className={classes}
62
+ >
63
+ <If condition={ordered}>
64
+ <ol
65
+ {...ariaProps}
66
+ {...dataProps}
67
+ className={className}
68
+ id={id}
69
+ role={role}
70
+ tabIndex={tabIndex}
71
+ >
72
+ {children}
73
+ </ol>
74
+ <Else />
75
+ <ul
76
+ {...ariaProps}
77
+ {...dataProps}
78
+ className={className}
79
+ id={id}
80
+ role={role}
81
+ tabIndex={tabIndex}
82
+ >
83
+ {children}
84
+ </ul>
85
+ </If>
41
86
  </div>
42
87
  )
43
88
  }
@@ -1,26 +1,49 @@
1
- import React, { Component } from 'react'
2
- import PropTypes from 'prop-types'
1
+ /* @flow */
3
2
 
4
- const propTypes = {
5
- children: PropTypes.oneOfType([
6
- PropTypes.arrayOf(PropTypes.node),
7
- PropTypes.node,
8
- ]),
3
+ import React, { type Node } from 'react'
4
+ import classnames from 'classnames'
5
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
6
+ import { spacing } from '../utilities/spacing.js'
7
+
8
+ type ListItemProps = {
9
+ aria?: object,
10
+ children: Array<Node> | Node,
11
+ className?: String,
12
+ data?: object,
13
+ id?: String,
14
+ tabIndex?: String,
9
15
  }
10
16
 
11
- class ListItem extends Component {
12
- render() {
13
- const {
14
- children,
15
- } = this.props
16
- return (
17
- <li className="pb_item_kit">
17
+ const ListItem = (props: ListItemProps) => {
18
+ const {
19
+ aria = {},
20
+ children,
21
+ className,
22
+ data = {},
23
+ id,
24
+ tabIndex,
25
+ } = props
26
+
27
+ const ariaProps = buildAriaProps(aria)
28
+ const dataProps = buildDataProps(data)
29
+ const classes = classnames(
30
+ buildCss('pb_item_kit'), className,
31
+ spacing(props)
32
+ )
33
+
34
+ return (
35
+ <>
36
+ <li
37
+ {...ariaProps}
38
+ {...dataProps}
39
+ className={classes}
40
+ id={id}
41
+ tabIndex={tabIndex}
42
+ >
18
43
  {children}
19
44
  </li>
20
- )
21
- }
45
+ </>
46
+ )
22
47
  }
23
48
 
24
- ListItem.propTypes = propTypes
25
-
26
49
  export default ListItem