playbook_ui 6.0.1 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +3 -1
  3. data/app/pb_kits/playbook/data/menu.yml +4 -2
  4. data/app/pb_kits/playbook/index.js +2 -0
  5. data/app/pb_kits/playbook/packs/examples.js +5 -0
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +2 -2
  7. data/app/pb_kits/playbook/pb_badge/_badge.jsx +2 -5
  8. data/app/pb_kits/playbook/pb_badge/_badge.scss +1 -1
  9. data/app/pb_kits/playbook/pb_badge/badge.rb +1 -6
  10. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +2 -2
  11. data/app/pb_kits/playbook/pb_body/_body.jsx +3 -6
  12. data/app/pb_kits/playbook/pb_body/_body.scss +6 -0
  13. data/app/pb_kits/playbook/pb_body/body.rb +2 -8
  14. data/app/pb_kits/playbook/pb_button/_button.jsx +2 -5
  15. data/app/pb_kits/playbook/pb_button/_button.scss +1 -1
  16. data/app/pb_kits/playbook/pb_button/button.rb +1 -7
  17. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +2 -0
  18. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.html.erb +7 -0
  19. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +52 -0
  20. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +101 -0
  21. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.rb +29 -0
  22. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.html.erb +7 -0
  23. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.jsx +29 -0
  24. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.html.erb +7 -0
  25. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.jsx +34 -0
  26. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.html.erb +11 -0
  27. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.jsx +29 -0
  28. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.html.erb +11 -0
  29. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.jsx +34 -0
  30. data/app/pb_kits/playbook/pb_button_toolbar/docs/_description.md +1 -0
  31. data/app/pb_kits/playbook/pb_button_toolbar/docs/example.yml +15 -0
  32. data/app/pb_kits/playbook/pb_button_toolbar/docs/index.js +4 -0
  33. data/app/pb_kits/playbook/pb_caption/_caption.jsx +3 -7
  34. data/app/pb_kits/playbook/pb_caption/_caption.scss +0 -4
  35. data/app/pb_kits/playbook/pb_caption/caption.rb +1 -8
  36. data/app/pb_kits/playbook/pb_card/_card.jsx +17 -14
  37. data/app/pb_kits/playbook/pb_card/_card.scss +4 -1
  38. data/app/pb_kits/playbook/pb_card/card.rb +2 -9
  39. data/app/pb_kits/playbook/pb_card/docs/_card_dark.html.erb +1 -1
  40. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +2 -2
  41. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +1 -8
  42. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +2 -2
  43. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +0 -2
  44. data/app/pb_kits/playbook/pb_contact/_contact.jsx +2 -2
  45. data/app/pb_kits/playbook/pb_currency/_currency.jsx +2 -2
  46. data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +26 -0
  47. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +2 -2
  48. data/app/pb_kits/playbook/pb_date/_date.jsx +4 -4
  49. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +2 -2
  50. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +2 -2
  51. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
  52. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +2 -2
  53. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +2 -2
  54. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +2 -2
  55. data/app/pb_kits/playbook/pb_file_upload/_file_upload.jsx +2 -2
  56. data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx +2 -2
  57. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +2 -2
  58. data/app/pb_kits/playbook/pb_flex/_flex.jsx +2 -2
  59. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +2 -2
  60. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +2 -2
  61. data/app/pb_kits/playbook/pb_gauge/_gauge.html.erb +12 -0
  62. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +110 -0
  63. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +11 -0
  64. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.html.erb +11 -0
  65. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +17 -0
  66. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.html.erb +12 -0
  67. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +18 -0
  68. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.html.erb +14 -0
  69. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +20 -0
  70. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.html.erb +15 -0
  71. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +23 -0
  72. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +40 -0
  73. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.html.erb +15 -0
  74. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +21 -0
  75. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.md +1 -0
  76. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +26 -0
  77. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +37 -0
  78. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.md +1 -0
  79. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.html.erb +14 -0
  80. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +20 -0
  81. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.html.erb +29 -0
  82. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +29 -0
  83. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +24 -0
  84. data/app/pb_kits/playbook/pb_gauge/docs/index.js +9 -0
  85. data/app/pb_kits/playbook/pb_gauge/gauge.rb +57 -0
  86. data/app/pb_kits/playbook/pb_hashtag/_hashtag.jsx +2 -2
  87. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +2 -2
  88. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +2 -2
  89. data/app/pb_kits/playbook/pb_icon/_icon.jsx +2 -2
  90. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.jsx +2 -2
  91. data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +2 -2
  92. data/app/pb_kits/playbook/pb_image/_image.jsx +2 -2
  93. data/app/pb_kits/playbook/pb_kit/dateTime.js +5 -1
  94. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +2 -2
  95. data/app/pb_kits/playbook/pb_label_value/_label_value.jsx +2 -2
  96. data/app/pb_kits/playbook/pb_layout/_layout.jsx +6 -6
  97. data/app/pb_kits/playbook/pb_legend/_legend.jsx +2 -2
  98. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +2 -2
  99. data/app/pb_kits/playbook/pb_list/_list.jsx +2 -2
  100. data/app/pb_kits/playbook/pb_list/_list_item.jsx +2 -2
  101. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.jsx +2 -2
  102. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +111 -0
  103. data/app/pb_kits/playbook/pb_message/_message.jsx +2 -2
  104. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +2 -2
  105. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.jsx +2 -2
  106. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
  107. data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +2 -2
  108. data/app/pb_kits/playbook/pb_person/_person.jsx +2 -2
  109. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +2 -2
  110. data/app/pb_kits/playbook/pb_pill/_pill.jsx +2 -2
  111. data/app/pb_kits/playbook/pb_popover/_popover.jsx +2 -2
  112. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +5 -5
  113. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +2 -2
  114. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +2 -2
  115. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +2 -2
  116. data/app/pb_kits/playbook/pb_radio/_radio.jsx +2 -2
  117. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +2 -2
  118. data/app/pb_kits/playbook/pb_select/_select.jsx +2 -2
  119. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.jsx +12 -16
  120. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -1
  121. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +1 -7
  122. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.jsx +26 -26
  123. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +1 -1
  124. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +1 -8
  125. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.jsx +8 -10
  126. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +1 -1
  127. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +1 -7
  128. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
  129. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +2 -2
  130. data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
  131. data/app/pb_kits/playbook/pb_table/_table_row.jsx +2 -2
  132. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +2 -2
  133. data/app/pb_kits/playbook/pb_textarea/_textarea.html.erb +1 -1
  134. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +2 -2
  135. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +2 -1
  136. data/app/pb_kits/playbook/pb_time/_time.jsx +57 -14
  137. data/app/pb_kits/playbook/pb_time/_time.scss +17 -0
  138. data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +27 -0
  139. data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +28 -0
  140. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +28 -0
  141. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +32 -0
  142. data/app/pb_kits/playbook/pb_time/docs/example.yml +4 -0
  143. data/app/pb_kits/playbook/pb_time/docs/index.js +4 -0
  144. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +2 -2
  145. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +2 -2
  146. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +2 -2
  147. data/app/pb_kits/playbook/pb_title/_title.jsx +3 -6
  148. data/app/pb_kits/playbook/pb_title/_title.scss +1 -1
  149. data/app/pb_kits/playbook/pb_title/title.rb +1 -9
  150. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +2 -2
  151. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +2 -2
  152. data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +39 -31
  153. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom.jsx +31 -0
  154. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.html.erb +6 -6
  155. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.jsx +72 -0
  156. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.html.erb +1 -3
  157. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.jsx +6 -19
  158. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_name.jsx +57 -0
  159. data/app/pb_kits/playbook/pb_toggle/docs/{_toggle_checked.html.erb → _toggle_size.html.erb} +2 -2
  160. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +44 -0
  161. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +8 -5
  162. data/app/pb_kits/playbook/pb_toggle/docs/index.js +4 -2
  163. data/app/pb_kits/playbook/pb_user/_user.jsx +2 -2
  164. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +2 -2
  165. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.jsx +2 -2
  166. data/app/pb_kits/playbook/plugins/pb_chart.js +74 -0
  167. data/app/pb_kits/playbook/props.rb +6 -0
  168. data/app/pb_kits/playbook/utilities/{spacing.js → globalProps.js} +14 -1
  169. data/app/pb_kits/playbook/utilities/props.js +1 -0
  170. data/lib/generators/kit/templates/kit_jsx.erb.tt +2 -2
  171. data/lib/playbook/version.rb +1 -1
  172. metadata +54 -7
  173. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_accessibility.jsx +0 -12
  174. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_data.jsx +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24e44a8fd04883d36ed1656d1cfa4791e15abfaacbcd7b2a7788e4f8ee648507
4
- data.tar.gz: d27894c4b909d292b8b180feedda3d74d8e942eeb62013c0b8b1278aec8a5f19
3
+ metadata.gz: 24d77ce736432481783b53597f57c59453de3b20f97b7e7ae5120b9a1ef9dd14
4
+ data.tar.gz: e282c218ef0a9232cf0efe601ba674bf5e14d3456d0be20ae01c6a0d8fdeb03e
5
5
  SHA512:
6
- metadata.gz: e2f35473ea28f15292080b7b60264b7c2cf0b3cb599808084f96afe15835d283c07715227b05b86cb8286ee1649256e3997b20b02f16f4231a0a0cafeaeea226
7
- data.tar.gz: 63cb7236310ad3ff67e13e62f0ee20a2e8b720edef687ee9c2e814a9fb93b9377a39707bb588f8b8b5ee41a50796e0af751613a6ca9fc3efebcae8d5d6266e03
6
+ metadata.gz: 5c2983f8a5539e725e04b3b4cbf6b06259bfd2097695da37e939d0a626aa568857e09093d0f9e27f1e56724b00a418501f54f864d573c789c98e88d02e798b03
7
+ data.tar.gz: cdc566a16f731aabac512d56b4165102781a95acd0274af6f55612bcb284c5de17671b3d5f5d93b21790286e361af0eca254327dbdcfdcbf11d18bfce736a141
@@ -1,5 +1,6 @@
1
1
  @import "pb_body/body";
2
2
  @import "pb_button/button";
3
+ @import 'pb_button_toolbar/button_toolbar';
3
4
  @import "pb_caption/caption";
4
5
  @import "pb_card/card";
5
6
  @import "pb_title/title";
@@ -26,6 +27,7 @@
26
27
  @import 'pb_form/form';
27
28
  @import 'pb_form_pill/form_pill';
28
29
  @import 'pb_flex/flex';
30
+ @import 'pb_gauge/gauge';
29
31
  @import 'pb_hashtag/hashtag';
30
32
  @import 'pb_highlight/highlight';
31
33
  @import 'pb_home_address_street/home_address_street';
@@ -78,4 +80,4 @@
78
80
  @import 'pb_user_badge/user_badge';
79
81
  @import 'pb_time_stacked/time_stacked';
80
82
  @import 'pb_weekday_stacked/weekday_stacked';
81
- @import './utilities/spacing';
83
+ @import './utilities/spacing';
@@ -10,15 +10,17 @@ kits:
10
10
  - badge
11
11
  - buttons:
12
12
  - button
13
+ - button_toolbar
13
14
  - circle_icon_button
14
15
  - card
15
16
  - checkbox
16
17
  - charts_and_graphs:
17
18
  - bar_graph
19
+ - circle_chart
20
+ - distribution_bar
21
+ - gauge
18
22
  - legend
19
23
  - line_graph
20
- - distribution_bar
21
- - circle_chart
22
24
 
23
25
  - filter
24
26
  - fixed_confirmation_toast
@@ -5,6 +5,7 @@ export Badge from './pb_badge/_badge.jsx'
5
5
  export BarGraph from './pb_bar_graph/_bar_graph.jsx'
6
6
  export Body from './pb_body/_body.jsx'
7
7
  export Button from './pb_button/_button.jsx'
8
+ export ButtonToolbar from './pb_button_toolbar/_button_toolbar.jsx'
8
9
  export Caption from './pb_caption/_caption.jsx'
9
10
  export Card from './pb_card/_card.jsx'
10
11
  export Checkbox from './pb_checkbox/_checkbox.jsx'
@@ -25,6 +26,7 @@ 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'
29
+ export Gauge from './pb_gauge/_gauge.jsx'
28
30
  export Hashtag from './pb_hashtag/_hashtag.jsx'
29
31
  export Highlight from './pb_highlight/_highlight.jsx'
30
32
  export HomeAddressStreet from './pb_home_address_street/_home_address_street.jsx'
@@ -19,6 +19,7 @@ import * as Badge from 'pb_badge/docs'
19
19
  import * as BarGraph from 'pb_bar_graph/docs'
20
20
  import * as Body from 'pb_body/docs'
21
21
  import * as Button from 'pb_button/docs'
22
+ import * as ButtonToolbar from 'pb_button_toolbar/docs'
22
23
  import * as Caption from 'pb_caption/docs'
23
24
  import * as Card from 'pb_card/docs'
24
25
  import * as Checkbox from 'pb_checkbox/docs'
@@ -38,6 +39,7 @@ 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'
42
+ import * as Gauge from 'pb_gauge/docs'
41
43
  import * as Hashtag from 'pb_hashtag/docs'
42
44
  import * as Highlight from 'pb_highlight/docs'
43
45
  import * as HomeAddressStreet from 'pb_home_address_street/docs'
@@ -97,6 +99,7 @@ WebpackerReact.setup({
97
99
  ...BarGraph,
98
100
  ...Body,
99
101
  ...Button,
102
+ ...ButtonToolbar,
100
103
  ...Caption,
101
104
  ...Card,
102
105
  ...Checkbox,
@@ -116,6 +119,7 @@ WebpackerReact.setup({
116
119
  ...FixedConfirmationToast,
117
120
  ...Flex,
118
121
  ...FormPill,
122
+ ...Gauge,
119
123
  ...Hashtag,
120
124
  ...Highlight,
121
125
  ...HomeAddressStreet,
@@ -168,3 +172,4 @@ WebpackerReact.setup({
168
172
  ...UserBadge,
169
173
  ...WeekdayStacked,
170
174
  })
175
+
@@ -5,7 +5,7 @@ import classnames from 'classnames'
5
5
  import { map } from 'lodash'
6
6
 
7
7
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
8
- import { spacing } from '../utilities/spacing.js'
8
+ import { globalProps } from '../utilities/globalProps.js'
9
9
 
10
10
  import { Image } from '../'
11
11
 
@@ -29,7 +29,7 @@ const Avatar = (props: AvatarProps) => {
29
29
  const { aria = {}, className, data = {}, name = null, id = id, imageUrl, size = 'md', status = null } = props
30
30
  const dataProps = buildDataProps(data)
31
31
  const ariaProps = buildAriaProps(aria)
32
- const classes = classnames(buildCss('pb_avatar_kit', size), className, spacing(props))
32
+ const classes = classnames(buildCss('pb_avatar_kit', size), className, globalProps(props))
33
33
 
34
34
  const initials = name && firstTwoInitials(name)
35
35
  dataProps['data-initials'] = initials
@@ -2,7 +2,7 @@
2
2
 
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
- import { spacing } from '../utilities/spacing.js'
5
+ import { globalProps } from '../utilities/globalProps.js'
6
6
 
7
7
  import {
8
8
  buildAriaProps,
@@ -13,7 +13,6 @@ import {
13
13
  type BadgeProps = {
14
14
  aria?: object,
15
15
  className?: String,
16
- dark?: Boolean,
17
16
  data?: object,
18
17
  id?: String,
19
18
  rounded?: Boolean,
@@ -24,7 +23,6 @@ const Badge = (props: BadgeProps) => {
24
23
  const {
25
24
  aria = {},
26
25
  className,
27
- dark = false,
28
26
  data = {},
29
27
  id,
30
28
  rounded = false,
@@ -37,9 +35,8 @@ const Badge = (props: BadgeProps) => {
37
35
  className,
38
36
  buildCss('pb_badge_kit', variant, {
39
37
  rounded: rounded,
40
- dark: dark,
41
38
  }),
42
- spacing(props)
39
+ globalProps(props)
43
40
  )
44
41
 
45
42
  return (
@@ -37,7 +37,7 @@
37
37
  border-radius: $pb_badge_height / 2;
38
38
  }
39
39
 
40
- &[class*=_dark] {
40
+ &.dark {
41
41
  border-width: 0;
42
42
 
43
43
  @each $color_name, $color_value in $status_colors {
@@ -7,7 +7,6 @@ module Playbook
7
7
 
8
8
  partial "pb_badge/badge"
9
9
 
10
- prop :dark, type: Playbook::Props::Boolean, default: false
11
10
  prop :rounded, type: Playbook::Props::Boolean, default: false
12
11
  prop :text
13
12
  prop :variant, type: Playbook::Props::Enum,
@@ -15,15 +14,11 @@ module Playbook
15
14
  default: "neutral"
16
15
 
17
16
  def classname
18
- generate_classname("pb_badge_kit", variant, rounded_class, dark_class)
17
+ generate_classname("pb_badge_kit", variant, rounded_class)
19
18
  end
20
19
 
21
20
  private
22
21
 
23
- def dark_class
24
- dark ? "dark" : nil
25
- end
26
-
27
22
  def rounded_class
28
23
  rounded ? "rounded" : nil
29
24
  end
@@ -3,7 +3,7 @@
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
5
  import { pbChart } from '../'
6
- import { spacing } from '../utilities/spacing.js'
6
+ import { globalProps } from '../utilities/globalProps.js'
7
7
 
8
8
  type BarGraphProps = {
9
9
  axisTitle: String,
@@ -75,7 +75,7 @@ export default class BarGraph extends React.Component<BarGraphProps> {
75
75
 
76
76
  return (
77
77
  <div
78
- className={classnames(className, spacing(this.props))}
78
+ className={classnames(className, globalProps(this.props))}
79
79
  id={id}
80
80
  />
81
81
  )
@@ -4,7 +4,7 @@ import React from 'react'
4
4
  import classnames from 'classnames'
5
5
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
6
6
  import { Highlight } from '../'
7
- import { spacing } from '../utilities/spacing.js'
7
+ import { globalProps } from '../utilities/globalProps.js'
8
8
 
9
9
  type BodyProps = {
10
10
  aria?: object,
@@ -27,7 +27,6 @@ const Body = (props: BodyProps) => {
27
27
  className,
28
28
  children,
29
29
  color = '',
30
- dark = false,
31
30
  data = {},
32
31
  highlightedText = [],
33
32
  highlighting = false,
@@ -40,10 +39,8 @@ const Body = (props: BodyProps) => {
40
39
  const ariaProps = buildAriaProps(aria)
41
40
  const dataProps = buildDataProps(data)
42
41
  const classes = classnames(
43
- buildCss('pb_body_kit', color, status, {
44
- dark: dark,
45
- }),
46
- spacing(props),
42
+ buildCss('pb_body_kit', color, status),
43
+ globalProps(props),
47
44
  className
48
45
  )
49
46
  const Tag = `${tag}`
@@ -1,5 +1,11 @@
1
1
  @import "./body_mixins";
2
2
 
3
+ .pb_body_kit {
4
+ &.dark {
5
+ @include pb_body_dark;
6
+ }
7
+ }
8
+
3
9
  [class^=pb_body_kit]{
4
10
  @include pb_body;
5
11
 
@@ -11,8 +11,6 @@ module Playbook
11
11
  prop :color, type: Playbook::Props::Enum,
12
12
  values: %w[default light lighter dark light_dark lighter_dark],
13
13
  default: "default"
14
- prop :dark, type: Playbook::Props::Boolean,
15
- default: false
16
14
  prop :status, type: Playbook::Props::Enum,
17
15
  values: %w[neutral negative positive],
18
16
  default: "neutral"
@@ -26,7 +24,7 @@ module Playbook
26
24
  default: []
27
25
 
28
26
  def classname
29
- generate_classname("pb_body_kit", color_class, dark_class, status_class)
27
+ generate_classname("pb_body_kit", color_class, status_class)
30
28
  end
31
29
 
32
30
  def content
@@ -41,15 +39,11 @@ module Playbook
41
39
  highlight_tags = pb_highlight_output.split("|")
42
40
  highlight(text, highlighted_text, highlighter: "#{highlight_tags.first.html_safe} \\1 #{highlight_tags.last.html_safe}")
43
41
  end
44
-
42
+
45
43
  def color_class
46
44
  color != "default" ? color : nil
47
45
  end
48
46
 
49
- def dark_class
50
- dark ? "dark" : nil
51
- end
52
-
53
47
  def status_class
54
48
  status != "neutral" ? status : nil
55
49
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
- import { spacing } from '../utilities/spacing.js'
5
+ import { globalProps } from '../utilities/globalProps.js'
6
6
 
7
7
  import Icon from '../pb_icon/_icon.jsx'
8
8
 
@@ -13,7 +13,6 @@ type ButtonPropTypes = {
13
13
  },
14
14
  children?: Array<React.ReactChild>,
15
15
  className?: String | Array<String>,
16
- dark: Boolean,
17
16
  disabled?: Boolean,
18
17
  fixedWidth?: Boolean,
19
18
  fullWidth?: Boolean,
@@ -34,7 +33,6 @@ type ButtonPropTypes = {
34
33
 
35
34
  const buttonClassName = (props: ButtonPropTypes) => {
36
35
  const {
37
- dark = false,
38
36
  disabled = false,
39
37
  fullWidth = false,
40
38
  loading = false,
@@ -48,7 +46,6 @@ const buttonClassName = (props: ButtonPropTypes) => {
48
46
  className += `${variant !== null ? `_${variant}` : ''}`
49
47
  className += `${type !== null ? `_${type}` : ''}`
50
48
  className += `${size !== null ? `_${size}` : ''}`
51
- className += `${dark === true ? '_dark' : ''}`
52
49
  className += `${fullWidth ? '_block' : ''}`
53
50
  className += disabled ? '_disabled' : '_enabled'
54
51
  className += loading ? '_loading' : ''
@@ -85,7 +82,7 @@ const Button = (props: ButtonPropTypes) => {
85
82
  } = props
86
83
 
87
84
  const buttonAria = buttonAriaProps(props)
88
- const css = classnames(buttonClassName(props), className, spacing(props))
85
+ const css = classnames(buttonClassName(props), className, globalProps(props))
89
86
  const loadingIcon = (
90
87
  <div className="loading-icon">
91
88
  <Icon
@@ -28,7 +28,7 @@
28
28
  @include pb_button_loading(true);
29
29
  }
30
30
  // Dark Variants =============
31
- &[class*=_dark] {
31
+ &.dark {
32
32
  &[class*=_primary] {
33
33
  @include pb_button_primary_dark;
34
34
  }
@@ -7,8 +7,6 @@ module Playbook
7
7
 
8
8
  partial "pb_button/button"
9
9
 
10
- prop :dark, type: Playbook::Props::Boolean,
11
- default: false
12
10
  prop :disabled, type: Playbook::Props::Boolean,
13
11
  default: false
14
12
  prop :full_width, type: Playbook::Props::Boolean,
@@ -51,11 +49,7 @@ module Playbook
51
49
  private
52
50
 
53
51
  def classname
54
- generate_classname("pb_button_kit", variant, full_width_class, disabled_class, loading_class, dark_class)
55
- end
56
-
57
- def dark_class
58
- dark ? "dark" : nil
52
+ generate_classname("pb_button_kit", variant, full_width_class, disabled_class, loading_class)
59
53
  end
60
54
 
61
55
  def disabled_class
@@ -4,6 +4,8 @@ import { Button } from '../../'
4
4
  const ButtonDefault = () => (
5
5
  <div>
6
6
  <Button
7
+ dark
8
+ marginRight="xl"
7
9
  onClick={() => alert('button clicked!')}
8
10
  text="Button Primary"
9
11
  />
@@ -0,0 +1,7 @@
1
+ <%= content_tag(:div,
2
+ aria: object.aria,
3
+ class: object.classname,
4
+ data: object.data,
5
+ id: object.id) do %>
6
+ <%= !object.children.nil? ? capture(&object.children) : object.text %>
7
+ <% end %>
@@ -0,0 +1,52 @@
1
+ /* @flow */
2
+
3
+ import React from 'react'
4
+ import classnames from 'classnames'
5
+
6
+ import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
7
+
8
+ import { globalProps } from '../utilities/globalProps.js'
9
+
10
+ type ButtonToolbarProps = {
11
+ aria?: object,
12
+ children?: Array<React.ReactChild>,
13
+ className?: String,
14
+ connected?: Boolean,
15
+ data?: object,
16
+ id?: String,
17
+ onClick?: EventHandler,
18
+ orientation?: "horizontal" | "vertical",
19
+ text?: String,
20
+ variant?: String,
21
+ }
22
+
23
+ const ButtonToolbar = (props: ButtonToolbarProps) => {
24
+ const {
25
+ aria = {},
26
+ children,
27
+ className,
28
+ connected = false,
29
+ data = {},
30
+ id,
31
+ orientation = 'horizontal',
32
+ text,
33
+ } = props
34
+
35
+ const ariaProps = buildAriaProps(aria)
36
+ const dataProps = buildDataProps(data)
37
+
38
+ const classes = classnames(buildCss('pb_button_toolbar_kit', orientation, { connected: connected }), className, globalProps(props))
39
+
40
+ return (
41
+ <div
42
+ {...ariaProps}
43
+ {...dataProps}
44
+ className={classes}
45
+ id={id}
46
+ >
47
+ {children || text}
48
+ </div>
49
+ )
50
+ }
51
+
52
+ export default ButtonToolbar
@@ -0,0 +1,101 @@
1
+ @import "../pb_button/button";
2
+ @import "../pb_button/button_mixins";
3
+ @import "../tokens/colors";
4
+
5
+ [class^=pb_button_toolbar]{
6
+ // Orientation =========
7
+ &[class*=_horizontal] {
8
+ display: inline-flex;
9
+ flex-direction: row;
10
+ align-items: center;
11
+ justify-content: flex-start;
12
+
13
+ & > [class^=pb_button] {
14
+ margin-right: $space-xs;
15
+
16
+ &:hover {
17
+ background-color:darken($royal, 20%);
18
+ }
19
+
20
+ &[class*=secondary] {
21
+ &:hover {
22
+ background-color:rgba($primary_action, $opacity_3)
23
+ }
24
+ }
25
+
26
+ &:last-child {
27
+ margin-right: 0;
28
+ }
29
+ }
30
+ }
31
+ &[class*=_vertical] {
32
+ display: inline-flex;
33
+ flex-direction: column;
34
+ align-items: flex-start;
35
+ justify-content: center;
36
+
37
+ & > [class^=pb_button] {
38
+ display: block;
39
+ flex-grow: 1;
40
+ flex-shrink: 1;
41
+ flex-basis: auto;
42
+ width: 100%;
43
+ margin-bottom: $space-xs;
44
+
45
+ &:hover {
46
+ background-color:darken($royal, 20%);
47
+ }
48
+
49
+ &[class*=secondary] {
50
+ &:hover {
51
+ background-color:rgba($primary_action, $opacity_3)
52
+ }
53
+ }
54
+
55
+ &:last-child {
56
+ margin-bottom: 0;
57
+ }
58
+ }
59
+ }
60
+
61
+ // Connect =============
62
+ &[class*=_connected] {
63
+ & > [class^=pb_button] {
64
+ margin: 0;
65
+ }
66
+
67
+ &[class*=_horizontal] {
68
+ & > [class^=pb_button] {
69
+ &:not(:last-child){
70
+ border-bottom-right-radius: 0;
71
+ border-top-right-radius: 0;
72
+ border-right-width: 0;
73
+ border: 1px solid #e1e4e8;
74
+ }
75
+ &:not(:first-child){
76
+ border-bottom-left-radius: 0;
77
+ border-top-left-radius: 0;
78
+ border-left-width: 0;
79
+ border: 1px solid #e1e4e8;
80
+ }
81
+ }
82
+ }
83
+
84
+ &[class*=_vertical] {
85
+ & > [class^=pb_button] {
86
+ &:not(:last-child){
87
+ border-bottom-right-radius: 0;
88
+ border-bottom-left-radius: 0;
89
+ border-bottom-width: 0;
90
+ border: 1px solid #e1e4e8;
91
+ }
92
+ &:not(:first-child){
93
+ border-top-right-radius: 0;
94
+ border-top-left-radius: 0;
95
+ border-top-width: 0;
96
+ border: 1px solid #e1e4e8;
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }