playbook_ui 5.3.0.pre.alpha1 → 5.5.1.pre.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (103) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +2 -2
  3. data/app/pb_kits/playbook/data/menu.yml +4 -3
  4. data/app/pb_kits/playbook/index.js +2 -1
  5. data/app/pb_kits/playbook/packs/examples.js +2 -2
  6. data/app/pb_kits/playbook/packs/samples.js +2 -0
  7. data/app/pb_kits/playbook/pb_body/_body.html.erb +1 -0
  8. data/app/pb_kits/playbook/pb_body/_body.jsx +33 -24
  9. data/app/pb_kits/playbook/pb_body/docs/_body_dark.html.erb +1 -1
  10. data/app/pb_kits/playbook/pb_body/docs/_body_dark.jsx +0 -2
  11. data/app/pb_kits/playbook/pb_body/docs/_body_light.html.erb +1 -0
  12. data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +3 -7
  13. data/app/pb_kits/playbook/pb_button/_button.jsx +2 -0
  14. data/app/pb_kits/playbook/pb_caption/_caption.scss +2 -2
  15. data/app/pb_kits/playbook/pb_checkbox/_checkbox.html.erb +2 -1
  16. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +18 -5
  17. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_checked.jsx +17 -0
  18. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +1 -0
  19. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
  20. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.html.erb +1 -0
  21. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +17 -1
  22. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +0 -26
  23. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.html.erb +3 -2
  24. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +15 -12
  25. data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +36 -0
  26. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +98 -0
  27. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +59 -0
  28. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +38 -0
  29. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +91 -0
  30. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +1 -0
  31. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx +12 -0
  32. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +24 -0
  33. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +30 -0
  34. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.html.erb +43 -0
  35. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.jsx +48 -0
  36. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +4 -0
  37. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx +13 -0
  38. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +19 -0
  39. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +25 -0
  40. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.html.erb +4 -0
  41. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.jsx +13 -0
  42. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb +14 -0
  43. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.jsx +22 -0
  44. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +4 -0
  45. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +13 -0
  46. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +23 -0
  47. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +8 -0
  48. data/app/pb_kits/playbook/pb_date_picker/index.js +11 -0
  49. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +1 -0
  50. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -0
  51. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +3 -1
  52. data/app/pb_kits/playbook/pb_form/form_builder.rb +1 -0
  53. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +15 -0
  54. data/app/pb_kits/playbook/pb_highlight/docs/_highlight_default.html.erb +1 -1
  55. data/app/pb_kits/playbook/pb_image/_image.jsx +1 -1
  56. data/app/pb_kits/playbook/pb_layout/_layout.scss +16 -0
  57. data/app/pb_kits/playbook/pb_legend/_legend.html.erb +1 -0
  58. data/app/pb_kits/playbook/pb_legend/_legend.jsx +25 -4
  59. data/app/pb_kits/playbook/pb_nav/_item.jsx +20 -10
  60. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +3 -0
  61. data/app/pb_kits/playbook/pb_popover/_popover.html.erb +1 -1
  62. data/app/pb_kits/playbook/pb_popover/_popover.jsx +3 -1
  63. data/app/pb_kits/playbook/pb_popover/_popover.scss +4 -0
  64. data/app/pb_kits/playbook/pb_popover/popover.rb +4 -0
  65. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.html.erb +2 -2
  66. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +24 -10
  67. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +3 -1
  68. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +6 -0
  69. data/app/pb_kits/playbook/pb_title/_title.jsx +7 -4
  70. data/app/pb_kits/playbook/pb_title/_title.scss +7 -0
  71. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -0
  72. data/app/pb_kits/playbook/pb_title/title.rb +4 -1
  73. data/app/pb_kits/playbook/plugins/pb_chart.js +0 -71
  74. data/app/pb_kits/playbook/vendor.js +4 -0
  75. data/app/views/layouts/playbook/samples.html.erb +1 -0
  76. data/app/views/playbook/samples/collection_detail/index.html.erb +169 -0
  77. data/app/views/playbook/samples/collection_detail/index.jsx +372 -0
  78. data/lib/generators/kit/kit_generator.rb +6 -3
  79. data/lib/generators/kit/templates/kit_html.erb.tt +3 -2
  80. data/lib/generators/kit/templates/kit_jsx.erb.tt +38 -10
  81. data/lib/playbook/version.rb +1 -1
  82. metadata +30 -23
  83. data/app/pb_kits/playbook/pb_gauge/_gauge.html.erb +0 -12
  84. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +0 -105
  85. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +0 -11
  86. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.html.erb +0 -11
  87. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +0 -17
  88. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.html.erb +0 -14
  89. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +0 -20
  90. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.html.erb +0 -15
  91. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +0 -23
  92. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +0 -25
  93. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.html.erb +0 -21
  94. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +0 -26
  95. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +0 -33
  96. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +0 -42
  97. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.html.erb +0 -14
  98. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +0 -20
  99. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.html.erb +0 -29
  100. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +0 -29
  101. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +0 -22
  102. data/app/pb_kits/playbook/pb_gauge/docs/index.js +0 -8
  103. data/app/pb_kits/playbook/pb_gauge/gauge.rb +0 -55
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 456edb4112fd56741c0aca0d3e8bcd4b9709abc6a8245dc635bbb9de8a453476
4
- data.tar.gz: d1f53edaa77edf61e3af081c6b4bd6bf4723214a0d99158ddec934aba8974229
3
+ metadata.gz: fa66f8cfafaeec93584b7752d2346a2254f856a2994681b09b50d11af8c3ec80
4
+ data.tar.gz: bd0dc3b635736355aa8a08e6d5dd27cca89a5cc550852d248eac2603684b58f2
5
5
  SHA512:
6
- metadata.gz: 6ddc39e458c5783a6cf0a231399d51b0168a1342fe80ebfba6b8814854c764420e332af64871b8294536d46864f85ab91cd58dd07400df32be10d9cc833fdd0f
7
- data.tar.gz: 74656e11978287baba8979c672840258db5410f1e744c5377b9fbe831dcd753b3b03c2b1e48f0c759b959d948f042bcf28debca416747c65278a9a9b76920558
6
+ metadata.gz: 13b87a0f669639bb1921b01688146fcea0e13aa08f1b6c94b214a80d3448a9220081b8df7b9e6610f5820dc4a8e591728d789678caca7ac637f719a0a86b0766
7
+ data.tar.gz: 4f213af2da0881139ed2689d9cd384757e34fb8a7780963dd139fbcb1b9a5562ba2eeff4fdda10750a4d95eca7694936887fdcddff65a983b09171594df19ed5
@@ -14,6 +14,7 @@
14
14
  @import 'pb_currency/currency';
15
15
  @import 'pb_dashboard_value/dashboard_value';
16
16
  @import 'pb_date/date';
17
+ @import 'pb_date_picker/date_picker';
17
18
  @import 'pb_date_range_inline/date_range_inline';
18
19
  @import 'pb_date_range_stacked/date_range_stacked';
19
20
  @import 'pb_date_stacked/date_stacked';
@@ -26,7 +27,6 @@
26
27
  @import 'pb_form/form';
27
28
  @import 'pb_form_pill/form_pill';
28
29
  @import 'pb_flex/flex';
29
- @import 'pb_gauge/gauge';
30
30
  @import 'pb_hashtag/hashtag';
31
31
  @import 'pb_highlight/highlight';
32
32
  @import 'pb_home_address_street/home_address_street';
@@ -81,4 +81,4 @@
81
81
  @import 'pb_user_badge/user_badge';
82
82
  @import 'pb_time_stacked/time_stacked';
83
83
  @import 'pb_weekday_stacked/weekday_stacked';
84
- @import './utilities/spacing';
84
+ @import './utilities/spacing';
@@ -2,6 +2,7 @@ samples:
2
2
  - dashboards
3
3
  - registration
4
4
  - filter_table
5
+ - collection_detail
5
6
 
6
7
  kits:
7
8
  - avatar
@@ -14,16 +15,16 @@ kits:
14
15
  - checkbox
15
16
  - charts_and_graphs:
16
17
  - bar_graph
17
- - circle_chart
18
- - distribution_bar
19
- - gauge
20
18
  - legend
21
19
  - line_graph
20
+ - distribution_bar
21
+ - circle_chart
22
22
 
23
23
  - filter
24
24
  - fixed_confirmation_toast
25
25
  - flex
26
26
  - forms:
27
+ - date_picker
27
28
  - file_upload
28
29
  - form
29
30
  - form_pill
@@ -13,6 +13,7 @@ export Contact from './pb_contact/_contact.jsx'
13
13
  export Currency from './pb_currency/_currency.jsx'
14
14
  export DashboardValue from './pb_dashboard_value/_dashboard_value.jsx'
15
15
  export Date from './pb_date/_date.jsx'
16
+ export DatePicker from 'pb_date_picker/_date_picker.jsx'
16
17
  export DateRangeInline from './pb_date_range_inline/_date_range_inline.jsx'
17
18
  export DateRangeStacked from './pb_date_range_stacked/_date_range_stacked.jsx'
18
19
  export DateStacked from './pb_date_stacked/_date_stacked.jsx'
@@ -25,7 +26,6 @@ export FixedConfirmationToast from './pb_fixed_confirmation_toast/_fixed_confirm
25
26
  export Flex from './pb_flex/_flex.jsx'
26
27
  export FlexItem from './pb_flex/_flex_item.jsx'
27
28
  export FormPill from './pb_form_pill/_form_pill.jsx'
28
- export Gauge from './pb_gauge/_gauge.jsx'
29
29
  export Hashtag from './pb_hashtag/_hashtag.jsx'
30
30
  export Highlight from './pb_highlight/_highlight.jsx'
31
31
  export HomeAddressStreet from './pb_home_address_street/_home_address_street.jsx'
@@ -91,6 +91,7 @@ export dashboardValueSettings from './pb_dashboard_value/dashboardValueSettings'
91
91
 
92
92
  // Other JS/Plugins
93
93
  export pbChart from './plugins/pb_chart.js'
94
+ export datePickerHelper from './pb_date_picker/date_picker_helper.js'
94
95
  export PbTypeahead from './pb_typeahead'
95
96
  export PbPopover from './pb_popover'
96
97
  export PbTable from './pb_table'
@@ -27,6 +27,7 @@ import * as Contact from 'pb_contact/docs'
27
27
  import * as Currency from 'pb_currency/docs'
28
28
  import * as DashboardValue from 'pb_dashboard_value/docs'
29
29
  import * as Date from 'pb_date/docs'
30
+ import * as DatePicker from 'pb_date_picker/docs'
30
31
  import * as DateRangeInline from 'pb_date_range_inline/docs'
31
32
  import * as DateRangeStacked from 'pb_date_range_stacked/docs'
32
33
  import * as DateStacked from 'pb_date_stacked/docs'
@@ -38,7 +39,6 @@ import * as Filter from 'pb_filter/docs'
38
39
  import * as FixedConfirmationToast from 'pb_fixed_confirmation_toast/docs'
39
40
  import * as Flex from 'pb_flex/docs'
40
41
  import * as FormPill from 'pb_form_pill/docs'
41
- import * as Gauge from 'pb_gauge/docs'
42
42
  import * as Hashtag from 'pb_hashtag/docs'
43
43
  import * as Highlight from 'pb_highlight/docs'
44
44
  import * as HomeAddressStreet from 'pb_home_address_street/docs'
@@ -108,6 +108,7 @@ WebpackerReact.setup({
108
108
  ...Currency,
109
109
  ...DashboardValue,
110
110
  ...Date,
111
+ ...DatePicker,
111
112
  ...DateRangeInline,
112
113
  ...DateRangeStacked,
113
114
  ...DateStacked,
@@ -119,7 +120,6 @@ WebpackerReact.setup({
119
120
  ...FixedConfirmationToast,
120
121
  ...Flex,
121
122
  ...FormPill,
122
- ...Gauge,
123
123
  ...Hashtag,
124
124
  ...Highlight,
125
125
  ...HomeAddressStreet,
@@ -13,7 +13,9 @@ import WebpackerReact from 'webpacker-react'
13
13
  import Dashboards from '../../../views/playbook/samples/dashboards/index.jsx'
14
14
  import FilterTable from '../../../views/playbook/samples/filter_table/index.jsx'
15
15
  import Registration from '../../../views/playbook/samples/registration/index.jsx'
16
+ import CollectionDetail from '../../../views/playbook/samples/collection_detail/index.jsx'
16
17
 
17
18
  WebpackerReact.setup({ Dashboards })
18
19
  WebpackerReact.setup({ FilterTable })
19
20
  WebpackerReact.setup({ Registration })
21
+ WebpackerReact.setup({ CollectionDetail })
@@ -1,4 +1,5 @@
1
1
  <%= content_tag(object.tag,
2
+ aria: object.aria,
2
3
  id: object.id,
3
4
  data: object.data,
4
5
  class: object.classname) do %>
@@ -2,50 +2,59 @@
2
2
 
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
5
6
  import { Highlight } from '../'
6
7
  import { spacing } from '../utilities/spacing.js'
7
8
 
8
9
  type BodyProps = {
10
+ aria?: object,
9
11
  className?: String,
10
12
  children?: Array<React.ReactChild>,
11
- color: 'light' | 'lighter',
13
+ color: 'dark' | 'default' | 'light' | 'lighter' | 'light_dark' | 'lighter_dark',
12
14
  dark?: Boolean,
13
- status?: 'negative' | 'positive',
14
- tag: String,
15
- text?: String,
15
+ data?: object,
16
+ highlightedText?: Array<String>,
16
17
  highlighting?: Boolean,
17
- highlightedText?: Array<String>
18
- }
19
-
20
- const bodyCSS = ({
21
- color = '',
22
- dark = false,
23
- status = '',
24
-
25
- }: BodyProps) => {
26
- const colorStyle = color !== '' ? `_${color}` : ''
27
-
28
- const themeStyle = dark === true ? '_dark' : ''
29
-
30
- const statusStyle = status !== '' ? `_${status}` : ''
31
-
32
- return 'pb_body_kit' + colorStyle + themeStyle + statusStyle
18
+ id?: String,
19
+ status?: 'negative' | 'neutral' | 'positive',
20
+ tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div',
21
+ text?: String,
33
22
  }
34
23
 
35
24
  const Body = (props: BodyProps) => {
36
25
  const {
26
+ aria = {},
37
27
  className,
38
28
  children,
39
- text,
40
- tag = 'div',
41
- highlightedText,
29
+ color = '',
30
+ dark = false,
31
+ data = {},
32
+ highlightedText = [],
42
33
  highlighting = false,
34
+ id,
35
+ status = '',
36
+ tag = 'div',
37
+ text,
43
38
  } = props
44
39
 
40
+ const ariaProps = buildAriaProps(aria)
41
+ const dataProps = buildDataProps(data)
42
+ const classes = classnames(
43
+ buildCss('pb_body_kit', color, status, {
44
+ dark: dark,
45
+ }),
46
+ spacing(props),
47
+ className
48
+ )
45
49
  const Tag = `${tag}`
46
50
 
47
51
  return (
48
- <Tag className={classnames(bodyCSS(props), className, spacing(props))}>
52
+ <Tag
53
+ {...ariaProps}
54
+ {...dataProps}
55
+ className={classes}
56
+ id={id}
57
+ >
49
58
  <If condition={highlighting}>
50
59
  <Highlight highlightedText={highlightedText}>{text || children}</Highlight>
51
60
  <Else />
@@ -1,6 +1,6 @@
1
1
  <%= pb_rails("body", props: {
2
2
  text: "I am a body kit",
3
- dark: true
3
+ dark: true,
4
4
  }) %>
5
5
 
6
6
  <%= pb_rails("body", props: {
@@ -18,8 +18,6 @@ const BodyDark = () => {
18
18
  dark
19
19
  text="I am a body kit (Lighter)"
20
20
  />
21
- <br />
22
- <br />
23
21
  <Body
24
22
  dark
25
23
  status="negative"
@@ -2,6 +2,7 @@
2
2
  text: "I am a body kit"
3
3
  }) %>
4
4
 
5
+
5
6
  <%= pb_rails("body", props: {
6
7
  text: "I am a body kit (Light)",
7
8
  color: "light"
@@ -4,7 +4,9 @@ import { Body } from '../../'
4
4
  const BodyLight = () => {
5
5
  return (
6
6
  <div>
7
- <Body text="I am a body kit (Default)" />
7
+ <Body
8
+ text="I am a body kit (Default)"
9
+ />
8
10
  <Body
9
11
  color="light"
10
12
  text="I am a body kit (Light)"
@@ -13,8 +15,6 @@ const BodyLight = () => {
13
15
  color="lighter"
14
16
  text="I am a body kit (Lighter)"
15
17
  />
16
- <br />
17
- <br />
18
18
  <Body
19
19
  status="negative"
20
20
  text="I am a body kit (Status: negative)"
@@ -23,10 +23,6 @@ const BodyLight = () => {
23
23
  status="positive"
24
24
  text="I am a body kit (Status: positive)"
25
25
  />
26
- <Body
27
- status="positive"
28
- text="I am a body kit (Status: positive)"
29
- />
30
26
  </div>
31
27
  )
32
28
  }
@@ -72,6 +72,7 @@ const Button = (props: ButtonPropTypes) => {
72
72
  const {
73
73
  children,
74
74
  className,
75
+ disabled,
75
76
  icon = null,
76
77
  id,
77
78
  loading = false,
@@ -120,6 +121,7 @@ const Button = (props: ButtonPropTypes) => {
120
121
  <button
121
122
  {...buttonAria}
122
123
  className={css}
124
+ disabled={disabled}
123
125
  id={id}
124
126
  onClick={onClick}
125
127
  type={htmlType}
@@ -3,11 +3,11 @@
3
3
  [class^=pb_caption_kit] {
4
4
  @include caption;
5
5
 
6
- &[class*=_lg] {
6
+ &[class^=pb_caption_kit_lg] {
7
7
  @include caption_lg;
8
8
  }
9
9
 
10
- &[class*=_xs] {
10
+ &[class^=pb_caption_kit_xs] {
11
11
  @include caption_xs;
12
12
  }
13
13
 
@@ -1,4 +1,5 @@
1
- <%= content_tag(:label, id: object.id,
1
+ <%= content_tag(:label, aria: object.aria,
2
+ id: object.id,
2
3
  data: object.data,
3
4
  class: object.classname) do %>
4
5
  <% if object.children %>
@@ -3,13 +3,18 @@
3
3
  import React from 'react'
4
4
  import Body from '../pb_body/_body.jsx'
5
5
  import Icon from '../pb_icon/_icon.jsx'
6
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
6
7
  import classnames from 'classnames'
7
8
  import { spacing } from '../utilities/spacing.js'
8
9
 
9
10
  type CheckboxProps = {
11
+ aria?: object,
10
12
  checked?: Boolean,
13
+ className?: String,
11
14
  dark?: Boolean,
15
+ data?: object,
12
16
  error?: Boolean,
17
+ id?: String,
13
18
  name: String,
14
19
  text: String,
15
20
  value: String,
@@ -19,9 +24,13 @@ type CheckboxProps = {
19
24
 
20
25
  const Checkbox = (props: CheckboxProps) => {
21
26
  const {
27
+ aria = {},
22
28
  checked = false,
29
+ className,
23
30
  dark = false,
31
+ data = {},
24
32
  error = false,
33
+ id,
25
34
  name = '',
26
35
  text = '',
27
36
  value = '',
@@ -29,13 +38,17 @@ const Checkbox = (props: CheckboxProps) => {
29
38
  onChange = () => {},
30
39
  } = props
31
40
 
41
+ const dataProps = buildDataProps(data)
42
+ const ariaProps = buildAriaProps(aria)
43
+ const classes = classnames(buildCss('pb_checkbox_kit',
44
+ { dark: dark, checked: checked, error: error }), className, spacing(props))
45
+
32
46
  return (
33
47
  <label
34
- className={classnames('pb_checkbox_kit' +
35
- (dark === true ? '_dark' : '') +
36
- (error === true ? ' error' : ''), spacing(props))
37
-
38
- }
48
+ {...ariaProps}
49
+ {...dataProps}
50
+ className={classes}
51
+ id={id}
39
52
  >
40
53
  <If condition={children}>
41
54
  {children}
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+ import { Checkbox } from '../../'
3
+
4
+ const CheckboxChecked = () => {
5
+ return (
6
+ <div>
7
+ <Checkbox
8
+ checked
9
+ name="checkbox-name"
10
+ text="Checked Checkbox"
11
+ value="check-box value"
12
+ />
13
+ </div>
14
+ )
15
+ }
16
+
17
+ export default CheckboxChecked
@@ -9,6 +9,7 @@ examples:
9
9
 
10
10
  react:
11
11
  - checkbox_default: Default
12
+ - checkbox_checked: Load as checked
12
13
  - checkbox_dark: Dark
13
14
  - checkbox_custom: Custom Checkbox
14
15
  - checkbox_error: Default w/ Error
@@ -3,3 +3,4 @@ export { default as CheckboxDark } from './_checkbox_dark.jsx'
3
3
  export { default as CheckboxCustom } from './_checkbox_custom.jsx'
4
4
  export { default as CheckboxError } from './_checkbox_error.jsx'
5
5
  export { default as CheckboxDarkError } from './_checkbox_dark_error.jsx'
6
+ export { default as CheckboxChecked } from './_checkbox_checked.jsx'
@@ -1,4 +1,5 @@
1
1
  <%= content_tag(:div,
2
+ aria: object.aria,
2
3
  id: object.id,
3
4
  data: object.data,
4
5
  class: object.classname) do %>
@@ -2,6 +2,7 @@
2
2
 
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
5
6
  import { Button, Icon } from '../'
6
7
 
7
8
  import type { Callback } from '../types'
@@ -13,8 +14,10 @@ import {
13
14
  import { spacing } from '../utilities/spacing.js'
14
15
 
15
16
  type CircleIconButtonProps = {
17
+ aria?: object,
16
18
  className?: String,
17
19
  dark?: Boolean,
20
+ data?: object,
18
21
  disabled?: Boolean,
19
22
  icon: String,
20
23
  id?: String,
@@ -27,9 +30,13 @@ type CircleIconButtonProps = {
27
30
 
28
31
  const CircleIconButton = (props: CircleIconButtonProps) => {
29
32
  const {
33
+ aria = {},
34
+ className,
30
35
  dark,
36
+ data = {},
31
37
  disabled,
32
38
  icon,
39
+ id,
33
40
  onClick = noop,
34
41
  type,
35
42
  link,
@@ -37,8 +44,17 @@ const CircleIconButton = (props: CircleIconButtonProps) => {
37
44
  variant,
38
45
  } = props
39
46
 
47
+ const ariaProps = buildAriaProps(aria)
48
+ const dataProps = buildDataProps(data)
49
+ const classes = classnames(buildCss('pb_circle_icon_button_kit'), className, spacing(props))
50
+
40
51
  return (
41
- <div className={classnames('pb_circle_icon_button_kit', spacing(props))}>
52
+ <div
53
+ {...ariaProps}
54
+ {...dataProps}
55
+ className={classes}
56
+ id={id}
57
+ >
42
58
  <Button
43
59
  dark={dark}
44
60
  disabled={disabled}