playbook_ui 6.0.1 → 6.1.0.pre.alpha1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +4 -1
  3. data/app/pb_kits/playbook/data/menu.yml +5 -2
  4. data/app/pb_kits/playbook/index.js +4 -0
  5. data/app/pb_kits/playbook/packs/examples.js +7 -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_picker/_date_picker.html.erb +38 -0
  50. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +101 -0
  51. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +846 -0
  52. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +41 -0
  53. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +91 -0
  54. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +1 -0
  55. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx +12 -0
  56. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +24 -0
  57. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +30 -0
  58. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.html.erb +43 -0
  59. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.jsx +48 -0
  60. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +4 -0
  61. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx +13 -0
  62. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +19 -0
  63. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +25 -0
  64. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.html.erb +4 -0
  65. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.jsx +13 -0
  66. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb +14 -0
  67. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.jsx +22 -0
  68. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +4 -0
  69. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +13 -0
  70. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +23 -0
  71. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +8 -0
  72. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +2 -2
  73. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +2 -2
  74. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
  75. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +2 -2
  76. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +2 -2
  77. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +2 -2
  78. data/app/pb_kits/playbook/pb_file_upload/_file_upload.jsx +2 -2
  79. data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx +2 -2
  80. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +2 -1
  81. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +2 -2
  82. data/app/pb_kits/playbook/pb_flex/_flex.jsx +2 -2
  83. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +2 -2
  84. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +2 -1
  85. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +2 -1
  86. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +3 -1
  87. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +3 -1
  88. data/app/pb_kits/playbook/pb_form/form_builder.rb +1 -0
  89. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +41 -0
  90. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +2 -2
  91. data/app/pb_kits/playbook/pb_gauge/_gauge.html.erb +12 -0
  92. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +110 -0
  93. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +11 -0
  94. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.html.erb +11 -0
  95. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +17 -0
  96. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.html.erb +12 -0
  97. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +18 -0
  98. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.html.erb +14 -0
  99. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +20 -0
  100. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.html.erb +15 -0
  101. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +23 -0
  102. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +40 -0
  103. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.html.erb +15 -0
  104. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +21 -0
  105. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.md +1 -0
  106. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +26 -0
  107. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +37 -0
  108. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.md +1 -0
  109. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.html.erb +14 -0
  110. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +20 -0
  111. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.html.erb +29 -0
  112. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +29 -0
  113. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +24 -0
  114. data/app/pb_kits/playbook/pb_gauge/docs/index.js +9 -0
  115. data/app/pb_kits/playbook/pb_gauge/gauge.rb +57 -0
  116. data/app/pb_kits/playbook/pb_hashtag/_hashtag.jsx +2 -2
  117. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +2 -2
  118. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +2 -2
  119. data/app/pb_kits/playbook/pb_icon/_icon.jsx +2 -2
  120. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.jsx +2 -2
  121. data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +2 -2
  122. data/app/pb_kits/playbook/pb_image/_image.jsx +2 -2
  123. data/app/pb_kits/playbook/pb_kit/dateTime.js +5 -1
  124. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +2 -2
  125. data/app/pb_kits/playbook/pb_label_value/_label_value.jsx +2 -2
  126. data/app/pb_kits/playbook/pb_layout/_layout.jsx +6 -6
  127. data/app/pb_kits/playbook/pb_legend/_legend.jsx +2 -2
  128. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +2 -2
  129. data/app/pb_kits/playbook/pb_list/_list.jsx +2 -2
  130. data/app/pb_kits/playbook/pb_list/_list_item.jsx +2 -2
  131. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.jsx +2 -2
  132. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +111 -0
  133. data/app/pb_kits/playbook/pb_message/_message.jsx +2 -2
  134. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +2 -2
  135. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.jsx +2 -2
  136. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
  137. data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +2 -2
  138. data/app/pb_kits/playbook/pb_person/_person.jsx +2 -2
  139. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +2 -2
  140. data/app/pb_kits/playbook/pb_pill/_pill.jsx +2 -2
  141. data/app/pb_kits/playbook/pb_popover/_popover.jsx +2 -2
  142. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +5 -5
  143. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +2 -2
  144. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +2 -2
  145. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +2 -2
  146. data/app/pb_kits/playbook/pb_radio/_radio.jsx +2 -2
  147. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +2 -2
  148. data/app/pb_kits/playbook/pb_select/_select.jsx +2 -2
  149. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.jsx +12 -16
  150. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -1
  151. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +1 -7
  152. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.jsx +26 -26
  153. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +1 -1
  154. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +1 -8
  155. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.jsx +8 -10
  156. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +1 -1
  157. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +1 -7
  158. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
  159. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +2 -2
  160. data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
  161. data/app/pb_kits/playbook/pb_table/_table_row.jsx +2 -2
  162. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +2 -2
  163. data/app/pb_kits/playbook/pb_textarea/_textarea.html.erb +1 -1
  164. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +2 -2
  165. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +2 -1
  166. data/app/pb_kits/playbook/pb_time/_time.jsx +57 -14
  167. data/app/pb_kits/playbook/pb_time/_time.scss +17 -0
  168. data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +27 -0
  169. data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +28 -0
  170. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +28 -0
  171. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +32 -0
  172. data/app/pb_kits/playbook/pb_time/docs/example.yml +4 -0
  173. data/app/pb_kits/playbook/pb_time/docs/index.js +4 -0
  174. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +2 -2
  175. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +2 -2
  176. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +2 -2
  177. data/app/pb_kits/playbook/pb_title/_title.jsx +3 -6
  178. data/app/pb_kits/playbook/pb_title/_title.scss +1 -1
  179. data/app/pb_kits/playbook/pb_title/title.rb +1 -9
  180. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +2 -2
  181. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +2 -2
  182. data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +39 -31
  183. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom.jsx +31 -0
  184. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.html.erb +6 -6
  185. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.jsx +72 -0
  186. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.html.erb +1 -3
  187. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.jsx +6 -19
  188. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_name.jsx +57 -0
  189. data/app/pb_kits/playbook/pb_toggle/docs/{_toggle_checked.html.erb → _toggle_size.html.erb} +2 -2
  190. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +44 -0
  191. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +8 -5
  192. data/app/pb_kits/playbook/pb_toggle/docs/index.js +4 -2
  193. data/app/pb_kits/playbook/pb_user/_user.jsx +2 -2
  194. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +2 -2
  195. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.jsx +2 -2
  196. data/app/pb_kits/playbook/plugins/pb_chart.js +74 -0
  197. data/app/pb_kits/playbook/props.rb +6 -0
  198. data/app/pb_kits/playbook/utilities/{spacing.js → globalProps.js} +14 -1
  199. data/app/pb_kits/playbook/utilities/props.js +1 -0
  200. data/app/pb_kits/playbook/vendor.js +6 -0
  201. data/lib/generators/kit/templates/kit_jsx.erb.tt +2 -2
  202. data/lib/playbook/version.rb +1 -1
  203. metadata +81 -9
  204. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_accessibility.jsx +0 -12
  205. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_data.jsx +0 -15
@@ -0,0 +1,32 @@
1
+ import React from 'react'
2
+ import Time from '../_time.jsx'
3
+
4
+ const TimeStamp = () => {
5
+ return (
6
+ <div>
7
+ <Time
8
+ date={new Date()}
9
+ showTimezone
10
+ size="sm"
11
+ />
12
+
13
+ <br />
14
+
15
+ <Time
16
+ date={new Date().getTime()}
17
+ showTimezone
18
+ size="sm"
19
+ />
20
+
21
+ <br />
22
+
23
+ <Time
24
+ date="2012-08-02T15:49:29Z"
25
+ showTimezone
26
+ size="sm"
27
+ />
28
+ </div>
29
+ )
30
+ }
31
+
32
+ export default TimeStamp
@@ -5,3 +5,7 @@ examples:
5
5
  - time_timestamp: Timestamp Values
6
6
 
7
7
  react:
8
+ - time_default: Sizes
9
+ - time_timestamp: Timestamp Values
10
+ - time_align: Alignment
11
+ - time_dark: Dark
@@ -0,0 +1,4 @@
1
+ export { default as TimeDefault } from './_time_default.jsx'
2
+ export { default as TimeTimestamp } from './_time_timestamp.jsx'
3
+ export { default as TimeAlign } from './_time_align.jsx'
4
+ export { default as TimeDark } from './_time_dark.jsx'
@@ -4,7 +4,7 @@ import React from 'react'
4
4
  import classnames from 'classnames'
5
5
  import { Body, Caption, Icon } from '../'
6
6
  import DateTime from '../pb_kit/dateTime.js'
7
- import { spacing } from '../utilities/spacing.js'
7
+ import { globalProps } from '../utilities/globalProps.js'
8
8
 
9
9
  type TimeRangeInlineProps = {
10
10
  className?: String,
@@ -78,7 +78,7 @@ const TimeRangeInline = (props: TimeRangeInlineProps) => {
78
78
 
79
79
  return (
80
80
  <div
81
- className={classnames('pb_time_range_inline_kit_' + alignment, className, spacing(props))}
81
+ className={classnames('pb_time_range_inline_kit_' + alignment, className, globalProps(props))}
82
82
  >
83
83
  <div className="pb_time_range_inline_wrapper">
84
84
  <If condition={size == 'xs'}>
@@ -6,7 +6,7 @@ import classnames from 'classnames'
6
6
  import DateTime from '../pb_kit/dateTime.js'
7
7
  import { buildCss } from '../utilities/props'
8
8
  import { Body, Caption } from '../'
9
- import { spacing } from '../utilities/spacing.js'
9
+ import { globalProps } from '../utilities/globalProps.js'
10
10
 
11
11
  const Components = {
12
12
  body: Body,
@@ -30,7 +30,7 @@ const TimeStacked = (props: TimeStackedProps) => {
30
30
  buildCss('pb_time_stacked_kit', {
31
31
  dark: dark,
32
32
  }),
33
- spacing(props)
33
+ globalProps(props)
34
34
  )
35
35
 
36
36
  const tagClasses = classnames(buildCss('pb_time_stacked_kit', tag))
@@ -7,7 +7,7 @@ import { Caption } from '../'
7
7
 
8
8
  import { buildCss, buildDataProps } from '../utilities/props'
9
9
 
10
- import { spacing } from '../utilities/spacing.js'
10
+ import { globalProps } from '../utilities/globalProps.js'
11
11
 
12
12
  type TimestampProps = {
13
13
  id?: String,
@@ -24,7 +24,7 @@ const Timestamp = (props: TimestampProps) => {
24
24
  return (
25
25
  <div
26
26
  {...dataProps}
27
- className={classnames(className, pbCss, spacing(props))}
27
+ className={classnames(className, pbCss, globalProps(props))}
28
28
  id={id}
29
29
  >
30
30
  <Caption
@@ -3,17 +3,16 @@
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
5
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
6
- import { spacing } from '../utilities/spacing.js'
6
+ import { globalProps } from '../utilities/globalProps.js'
7
7
 
8
8
  type TitleProps = {
9
9
  aria?: object,
10
10
  children?: Array<React.ReactNode> | React.ReactNode,
11
11
  className?: String,
12
- dark?: Boolean,
13
12
  data?: object,
14
13
  id?: String,
15
14
  size?: 1 | 2 | 3 | 4,
16
- tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div",
15
+ tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div" | "span",
17
16
  text?: String,
18
17
  variant?: null | "primary",
19
18
  }
@@ -23,7 +22,6 @@ const Title = (props: TitleProps) => {
23
22
  aria = {},
24
23
  children,
25
24
  className,
26
- dark = false,
27
25
  data = {},
28
26
  id,
29
27
  size = 3,
@@ -32,10 +30,9 @@ const Title = (props: TitleProps) => {
32
30
  variant = null,
33
31
  } = props
34
32
 
35
- const themeStyle = dark === true ? 'dark' : ''
36
33
  const ariaProps = buildAriaProps(aria)
37
34
  const dataProps = buildDataProps(data)
38
- const classes = classnames(buildCss('pb_title_kit', size, themeStyle, variant), className, spacing(props))
35
+ const classes = classnames(buildCss('pb_title_kit', size, variant), className, globalProps(props))
39
36
  const Tag = `${tag}`
40
37
 
41
38
  return (
@@ -18,7 +18,7 @@
18
18
  @include pb_title_4;
19
19
  }
20
20
 
21
- &[class*=_dark] {
21
+ &.dark {
22
22
  @include pb_title_dark;
23
23
  }
24
24
 
@@ -7,8 +7,6 @@ module Playbook
7
7
 
8
8
  partial "pb_title/title"
9
9
 
10
- prop :dark, type: Playbook::Props::Boolean,
11
- default: false
12
10
  prop :size, type: Playbook::Props::Enum,
13
11
  values: [1, 2, 3, 4],
14
12
  default: 3
@@ -21,13 +19,7 @@ module Playbook
21
19
  default: nil
22
20
 
23
21
  def classname
24
- generate_classname("pb_title_kit", size, dark_class, variant)
25
- end
26
-
27
- private
28
-
29
- def dark_class
30
- dark ? "dark" : nil
22
+ generate_classname("pb_title_kit", size, variant)
31
23
  end
32
24
  end
33
25
  end
@@ -6,7 +6,7 @@ import classnames from 'classnames'
6
6
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
7
7
 
8
8
  import { Body, Title } from '../'
9
- import { spacing } from '../utilities/spacing.js'
9
+ import { globalProps } from '../utilities/globalProps.js'
10
10
 
11
11
  type TitleCountProps = {
12
12
  align: "center" | "left" | "right",
@@ -32,7 +32,7 @@ const TitleCount = (props: TitleCountProps) => {
32
32
  const ariaProps = buildAriaProps(aria)
33
33
  const dataProps = buildDataProps(data)
34
34
 
35
- const css = classnames(buildCss('pb_title_count_kit', align, size), className, spacing(props))
35
+ const css = classnames(buildCss('pb_title_count_kit', align, size), className, globalProps(props))
36
36
 
37
37
  const formatCount = count.toLocaleString()
38
38
 
@@ -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 { Body, Title } from '../'
8
8
 
@@ -25,7 +25,7 @@ const TitleDetail = (props: TitleDetailProps) => {
25
25
  return (
26
26
  <div
27
27
  {...dataProps}
28
- className={classnames(className, pbCss, spacing(props))}
28
+ className={classnames(className, pbCss, globalProps(props))}
29
29
  id={id}
30
30
  >
31
31
  <Title
@@ -8,59 +8,67 @@ import {
8
8
  buildAriaProps,
9
9
  buildCss,
10
10
  buildDataProps,
11
- noop,
12
11
  } from '../utilities/props'
13
12
 
14
- import { spacing } from '../utilities/spacing.js'
13
+ import { globalProps } from '../utilities/globalProps.js'
15
14
 
16
15
  type Props = {
17
- aria: object,
18
- checked: boolean,
19
- data: object,
20
- onChange: InputCallback<HTMLInputElement>,
21
- onCheck: InputCallback<HTMLInputElement>,
22
- onUncheck: InputCallback<HTMLInputElement>,
23
- size: "sm" | "md",
16
+ aria?: object,
17
+ checked?: Boolean,
18
+ children?: React.Node,
19
+ className?: String,
20
+ data?: object,
21
+ id?: String,
22
+ name?: String,
23
+ onChange?: InputCallback<HTMLInputElement>,
24
+ size?: "sm" | "md",
25
+ value?: String,
24
26
  }
25
27
 
26
28
  const Toggle = ({
27
29
  aria = {},
28
30
  checked = false,
31
+ children,
32
+ className,
29
33
  data = {},
30
- onChange = noop,
31
- onCheck = noop,
32
- onUncheck = noop,
34
+ id,
35
+ name,
36
+ onChange = () => {},
33
37
  size = 'md',
38
+ value,
34
39
  ...props
35
40
  }: Props) => {
36
41
  const ariaProps = buildAriaProps(aria)
37
42
  const dataProps = buildDataProps(data)
38
- const handleChange = (event) => {
39
- onChange(event)
40
- event.target.checked ? onCheck(event) : onUncheck(event)
41
- }
42
-
43
- const css = buildCss({
44
- 'pb_toggle_kit': true,
45
- [size]: true,
46
- on: checked,
47
- off: !checked,
48
- })
43
+ const css = classnames(
44
+ buildCss('pb_toggle_kit',
45
+ size,
46
+ {
47
+ on: checked,
48
+ off: !checked,
49
+ }
50
+ ), className)
49
51
 
50
52
  return (
51
53
  <div
52
54
  {...ariaProps}
53
55
  {...dataProps}
54
- className={classnames(css, spacing(props))}
56
+ className={classnames(css, globalProps(props))}
57
+ id={id}
55
58
  >
56
59
  <label className="pb_toggle_wrapper">
57
- <input
58
- {...props}
59
- checked={checked}
60
- onChange={handleChange}
61
- type="checkbox"
62
- />
63
-
60
+ <If condition={children}>
61
+ {children}
62
+ <Else />
63
+ <input
64
+ {...props}
65
+ defaultChecked={checked}
66
+ name={name}
67
+ onChange={onChange}
68
+ type="checkbox"
69
+ value={value}
70
+ />
71
+ </If>
64
72
  <div className="pb_toggle_control" />
65
73
  </label>
66
74
  </div>
@@ -0,0 +1,31 @@
1
+ // @flow
2
+
3
+ import React, { useState } from 'react'
4
+ import { Toggle } from '../..'
5
+
6
+ const ToggleCustom = () => {
7
+ const [choice, setChoice] = useState(false)
8
+
9
+ const handleOnChange = ({ target }) => {
10
+ setChoice(target.value = !choice)
11
+ }
12
+
13
+ return (
14
+ <>
15
+ <Toggle
16
+ checked={choice}
17
+ size="sm"
18
+ >
19
+ <input
20
+ className="my custom checkbox"
21
+ name="custom checkbox"
22
+ onChange={handleOnChange}
23
+ type="checkbox"
24
+ value="ABC"
25
+ />
26
+ </Toggle>
27
+ </>
28
+ )
29
+ }
30
+
31
+ export default ToggleCustom
@@ -2,21 +2,21 @@
2
2
 
3
3
  <br>
4
4
 
5
- <%= pb_rails("caption", props: { text: "Male" }) %>
5
+ <%= pb_rails("caption", props: { text: "Walk" }) %>
6
6
  <%= pb_rails("toggle", props: { size: "sm" }) do %>
7
- <input type="radio" name="gender" value="male">
7
+ <input type="radio" name="modes of transportation" value="walk">
8
8
  <% end %>
9
9
 
10
10
  <br/>
11
11
 
12
- <%= pb_rails("caption", props: { text: "Female" }) %>
12
+ <%= pb_rails("caption", props: { text: "Bike" }) %>
13
13
  <%= pb_rails("toggle", props: { size: "sm" }) do %>
14
- <input type="radio" name="gender" value="female">
14
+ <input type="radio" name="modes of transportation" value="bike">
15
15
  <% end %>
16
16
 
17
17
  <br/>
18
18
 
19
- <%= pb_rails("caption", props: { text: "Other" }) %>
19
+ <%= pb_rails("caption", props: { text: "Ride" }) %>
20
20
  <%= pb_rails("toggle", props: { size: "sm" }) do %>
21
- <input type="radio" name="gender" value="other">
21
+ <input type="radio" name="modes of transportation" value="ride">
22
22
  <% end %>
@@ -0,0 +1,72 @@
1
+ // @flow
2
+
3
+ import React, { useState } from 'react'
4
+ import { Caption, Title, Toggle } from '../..'
5
+
6
+ const ToggleCustomRadio = () => {
7
+ const [choice, setChoice] = useState('walk')
8
+
9
+ const handleOnChange = ({ target }) => {
10
+ setChoice(target.value)
11
+ }
12
+
13
+ return (
14
+ <>
15
+ <Title
16
+ size={4}
17
+ text="Select one option:"
18
+ />
19
+
20
+ <br />
21
+
22
+ <Caption
23
+ text="Walk"
24
+ />
25
+ <Toggle
26
+ checked={choice}
27
+ size="sm"
28
+ >
29
+ <input
30
+ name="modes of transportation"
31
+ onChange={handleOnChange}
32
+ type="radio"
33
+ value="walk"
34
+ />
35
+ </Toggle>
36
+
37
+ <br />
38
+
39
+ <Caption
40
+ text="Bike"
41
+ />
42
+ <Toggle
43
+ size="sm"
44
+ >
45
+ <input
46
+ name="modes of transportation"
47
+ onChange={handleOnChange}
48
+ type="radio"
49
+ value="bike"
50
+ />
51
+ </Toggle>
52
+
53
+ <br />
54
+
55
+ <Caption
56
+ text="Ride"
57
+ />
58
+ <Toggle
59
+ size="sm"
60
+ >
61
+ <input
62
+ name="modes of transportation"
63
+ onChange={handleOnChange}
64
+ type="radio"
65
+ value="ride"
66
+ />
67
+ </Toggle>
68
+ </>
69
+ )
70
+ }
71
+
72
+ export default ToggleCustomRadio
@@ -1,11 +1,9 @@
1
1
  <%= pb_rails("toggle", props: {
2
- size: "sm",
3
- checked: false
2
+ checked: true
4
3
  }) %>
5
4
 
6
5
  <br>
7
6
 
8
7
  <%= pb_rails("toggle", props: {
9
- size: "md",
10
8
  checked: false
11
9
  }) %>