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
@@ -32,7 +32,7 @@
32
32
  }
33
33
  }
34
34
 
35
- &[class*=_dark] {
35
+ &.dark {
36
36
 
37
37
  input[type="checkbox"],
38
38
  input[type="radio"] {
@@ -25,11 +25,8 @@ module Playbook
25
25
  default: false
26
26
  prop :value
27
27
 
28
- prop :dark, type: Playbook::Props::Boolean,
29
- default: false
30
-
31
28
  def classname
32
- generate_classname("pb_selectable_card_icon_kit", checked_class, dark_class, enabled_disabled_class)
29
+ generate_classname("pb_selectable_card_icon_kit", checked_class, enabled_disabled_class)
33
30
  end
34
31
 
35
32
  private
@@ -38,10 +35,6 @@ module Playbook
38
35
  checked ? "checked" : nil
39
36
  end
40
37
 
41
- def dark_class
42
- dark ? "dark" : nil
43
- end
44
-
45
38
  def enabled_disabled_class
46
39
  disabled ? "disabled" : "enabled"
47
40
  end
@@ -10,12 +10,13 @@ import {
10
10
  buildDataProps,
11
11
  } from '../utilities/props'
12
12
 
13
+ import { globalProps } from '../utilities/globalProps.js'
14
+
13
15
  type SelectableIconProps = {
14
16
  aria?: Object,
15
17
  checked?: Boolean,
16
18
  className?: String,
17
19
  disabled?: Boolean,
18
- dark?: Boolean,
19
20
  data?: Object,
20
21
  icon: String,
21
22
  inputId: String,
@@ -30,7 +31,6 @@ const SelectableIcon = ({
30
31
  aria = {},
31
32
  className,
32
33
  checked = false,
33
- dark = false,
34
34
  data = {},
35
35
  disabled = false,
36
36
  icon,
@@ -45,13 +45,11 @@ const SelectableIcon = ({
45
45
  const ariaProps = buildAriaProps(aria)
46
46
  const dataProps = buildDataProps(data)
47
47
 
48
- const css = buildCss({
49
- 'pb_selectable_icon_kit': true,
50
- 'checked': checked,
51
- 'dark': dark,
52
- 'disabled': disabled,
53
- 'enabled': !disabled,
54
- })
48
+ const classes = classnames(buildCss('pb_selectable_icon_kit',
49
+ { 'checked': checked,
50
+ 'disabled': disabled,
51
+ 'enabled': !disabled },
52
+ className), globalProps(props))
55
53
 
56
54
  const inputType = multi === false ? 'radio' : 'checkbox'
57
55
 
@@ -61,7 +59,7 @@ const SelectableIcon = ({
61
59
  <div
62
60
  {...ariaProps}
63
61
  {...dataProps}
64
- className={classnames(css, className)}
62
+ className={classes}
65
63
  >
66
64
  <If condition={inputs === 'disabled'}>
67
65
  <>
@@ -53,7 +53,7 @@
53
53
  }
54
54
 
55
55
 
56
- &[class*=_dark] {
56
+ &.dark {
57
57
 
58
58
  input[type="checkbox"],
59
59
  input[type="radio"] {
@@ -9,8 +9,6 @@ module Playbook
9
9
 
10
10
  # Icon props
11
11
  prop :icon, type: Playbook::Props::String
12
- prop :dark, type: Playbook::Props::Boolean,
13
- default: false
14
12
  # Title text
15
13
  prop :text, type: Playbook::Props::String
16
14
 
@@ -30,7 +28,7 @@ module Playbook
30
28
  default: "enabled"
31
29
 
32
30
  def classname
33
- generate_classname("pb_selectable_icon_kit", checked_class, dark_class, enabled_disabled_class)
31
+ generate_classname("pb_selectable_icon_kit", checked_class, enabled_disabled_class)
34
32
  end
35
33
 
36
34
  def input_id_present
@@ -43,10 +41,6 @@ module Playbook
43
41
  checked ? "checked" : nil
44
42
  end
45
43
 
46
- def dark_class
47
- dark ? "dark" : nil
48
- end
49
-
50
44
  def enabled_disabled_class
51
45
  disabled ? "disabled" : "enabled"
52
46
  end
@@ -5,7 +5,7 @@ import classnames from 'classnames'
5
5
 
6
6
  import { buildCss } from '../utilities/props'
7
7
  import { Body, Icon } from '../'
8
- import { spacing } from '../utilities/spacing.js'
8
+ import { globalProps } from '../utilities/globalProps.js'
9
9
 
10
10
  const statusMap = {
11
11
  increase: 'positive',
@@ -35,7 +35,7 @@ const StatChange = (props: StatChangeProps) => {
35
35
  className={classnames(
36
36
  className,
37
37
  buildCss('pb_stat_change_kit', status),
38
- spacing(props)
38
+ globalProps(props)
39
39
  )}
40
40
  id={id}
41
41
  >
@@ -3,7 +3,7 @@
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
5
  import { Title } from '../'
6
- import { spacing } from '../utilities/spacing.js'
6
+ import { globalProps } from '../utilities/globalProps.js'
7
7
 
8
8
  type StatValueProps = {
9
9
  className?: String,
@@ -44,7 +44,7 @@ const StatValue = (props: StatValueProps) => {
44
44
 
45
45
  return (
46
46
  <div
47
- className={classnames('pb_stat_value_kit', className, spacing(props))}
47
+ className={classnames('pb_stat_value_kit', className, globalProps(props))}
48
48
  id={id}
49
49
  >
50
50
  <div className="pb_stat_value_wrapper">
@@ -2,7 +2,7 @@
2
2
 
3
3
  import React, { type Node } 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
  type TableProps = {
8
8
  children: Array<Node> | Node,
@@ -43,7 +43,7 @@ const Table = (props: TableProps) => {
43
43
  'single-line': singleLine,
44
44
  'no-hover': disableHover,
45
45
  },
46
- spacing(props)
46
+ globalProps(props)
47
47
  )}
48
48
  >
49
49
  {children}
@@ -2,7 +2,7 @@
2
2
  import React from 'react'
3
3
  import classnames from 'classnames'
4
4
  import { buildCss } from '../utilities/props'
5
- import { spacing } from '../utilities/spacing.js'
5
+ import { globalProps } from '../utilities/globalProps.js'
6
6
 
7
7
  type TableRowPropTypes = {
8
8
  children: Array<React.ReactNode> | React.ReactNode,
@@ -17,7 +17,7 @@ const TableRow = (props: TableRowPropTypes) => {
17
17
  const tableRowCss = buildCss('pb_table_row_kit', sideHighlightClass)
18
18
 
19
19
  return (
20
- <tr className={classnames(tableRowCss, className, spacing(props))}>
20
+ <tr className={classnames(tableRowCss, className, globalProps(props))}>
21
21
  {children}
22
22
  </tr>
23
23
  )
@@ -2,7 +2,7 @@
2
2
  import React from 'react'
3
3
  import classnames from 'classnames'
4
4
  import { Body, Caption } from '../'
5
- import { spacing } from '../utilities/spacing.js'
5
+ import { globalProps } from '../utilities/globalProps.js'
6
6
 
7
7
  import {
8
8
  buildAriaProps,
@@ -60,7 +60,7 @@ const TextInput = ({
60
60
  dark={dark}
61
61
  text={label}
62
62
  />
63
- <div className={classnames('text_input_wrapper', spacing(props))}>
63
+ <div className={classnames('text_input_wrapper', globalProps(props))}>
64
64
  <If condition={children}>
65
65
  {children}
66
66
  <Else />
@@ -3,7 +3,7 @@
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
5
  <% if object.label.present? %>
6
- <%= pb_rails("caption", props: {text: object.label, dark: object.dark, classname: "pb_textarea_kit_label"}) %>
6
+ <%= pb_rails("caption", props: {text: object.label, dark: object.dark}) %>
7
7
  <% end %>
8
8
  <% if object.children %>
9
9
  <%= capture(&object.children) %>
@@ -4,7 +4,7 @@ import React from 'react'
4
4
  import classnames from 'classnames'
5
5
  import { Body, Caption } from '../'
6
6
  import type { InputCallback } from '../types.js'
7
- import { spacing } from '../utilities/spacing.js'
7
+ import { globalProps } from '../utilities/globalProps.js'
8
8
 
9
9
  type TextareaProps = {
10
10
  className?: String,
@@ -43,7 +43,7 @@ const Textarea = ({
43
43
  const resizeClass = ` resize_${resize}`
44
44
 
45
45
  return (
46
- <div className={classnames(textareaClass, className, errorClass, resizeClass, spacing(props))}>
46
+ <div className={classnames(textareaClass, className, errorClass, resizeClass, globalProps(props))}>
47
47
  <Caption
48
48
  dark={dark}
49
49
  text={label}
@@ -1,10 +1,11 @@
1
1
  @import "../pb_body/body_mixins";
2
2
  @import "./textarea_mixin";
3
3
  @import "../pb_title/title_mixin";
4
+ @import "../tokens/spacing";
4
5
 
5
6
  [class^=pb_textarea_kit] {
6
7
  margin-bottom: $space_sm;
7
- .pb_textarea_kit_label {
8
+ [class^=pb_caption_kit] {
8
9
  margin-bottom: $space_xs;
9
10
  display: block;
10
11
  }
@@ -1,21 +1,64 @@
1
+ /* @flow */
2
+
1
3
  import React from 'react'
2
- import PropTypes from 'prop-types'
4
+ import classnames from 'classnames'
3
5
 
4
- const propTypes = {
5
- className: PropTypes.string,
6
- id: PropTypes.string,
7
- }
6
+ import DateTime from '../pb_kit/dateTime.js'
7
+ import { buildCss } from '../utilities/props'
8
+ import { globalProps } from '../utilities/globalProps.js'
9
+
10
+ import { Body, Icon, Title } from '../'
8
11
 
9
- class Time extends React.Component {
10
- render() {
11
- return (
12
- <div className="pb_time">
13
- <span>{'TIME CONTENT'}</span>
14
- </div>
15
- )
16
- }
12
+ type TimeProps = {
13
+ align?: 'left" | "center' | 'right',
14
+ className?: String | Array<String>,
15
+ data?: String,
16
+ date: String,
17
+ id?: String,
18
+ showTimezone?: Boolean,
19
+ size?: 'lg' | 'sm' | 'xs',
17
20
  }
18
21
 
19
- Time.propTypes = propTypes
22
+ const Time = (props: TimeProps) => {
23
+ const { align, className, date, showTimezone, size } = props
24
+ const classes = classnames(
25
+ className,
26
+ buildCss('pb_time_kit', align, size),
27
+ globalProps(props)
28
+ )
29
+
30
+ const dateTimestamp = new DateTime({ value: date })
31
+
32
+ return (
33
+ <div className={classes}>
34
+ <span className="pb_body_kit">
35
+ <If condition={size === 'sm'}>
36
+ <Icon
37
+ fixedWidth
38
+ icon="clock"
39
+ />
40
+ {' '}
41
+ </If>
42
+ <time dateTime={date}>
43
+ <span>
44
+ <If condition={size !== 'lg'}>
45
+ <Body
46
+ tag="span"
47
+ text={dateTimestamp.toTimeWithMeridian()}
48
+ />
49
+ <Else />
50
+ <Title
51
+ size={3}
52
+ tag="span"
53
+ text={dateTimestamp.toTimeWithMeridian()}
54
+ />
55
+ </If>
56
+ { showTimezone && <span className="pb_time_timezone">{dateTimestamp.toTimezone()}</span> }
57
+ </span>
58
+ </time>
59
+ </span>
60
+ </div>
61
+ )
62
+ }
20
63
 
21
64
  export default Time
@@ -5,6 +5,14 @@
5
5
  @import "../pb_title/title";
6
6
 
7
7
  [class^=pb_time_kit] {
8
+ &[class*=_center] {
9
+ text-align: center;
10
+ }
11
+
12
+ &[class*=_right] {
13
+ text-align: right;
14
+ }
15
+
8
16
  [class^=pb_body] {
9
17
  font-weight: $bold !important;
10
18
  }
@@ -25,4 +33,13 @@
25
33
  color: $text-lt-light;
26
34
  }
27
35
  }
36
+
37
+ &.dark {
38
+ & > * [class^=pb_title_kit] {
39
+ color: $text_dk_default;
40
+ }
41
+ & > * [class^=pb_body_kit] {
42
+ color: $text_dk_light;
43
+ }
44
+ }
28
45
  }
@@ -0,0 +1,27 @@
1
+ import React from 'react'
2
+ import Time from '../_time.jsx'
3
+
4
+ const TimeAlign = () => {
5
+ return (
6
+ <div>
7
+ <Time
8
+ date={new Date()}
9
+ size="lg"
10
+ />
11
+ <br />
12
+ <Time
13
+ align="center"
14
+ date={new Date()}
15
+ size="lg"
16
+ />
17
+ <br />
18
+ <Time
19
+ align="right"
20
+ date={new Date()}
21
+ size="lg"
22
+ />
23
+ </div>
24
+ )
25
+ }
26
+
27
+ export default TimeAlign
@@ -0,0 +1,28 @@
1
+ import React from 'react'
2
+ import Time from '../_time.jsx'
3
+
4
+ const TimeDark = () => {
5
+ return (
6
+ <div>
7
+ <Time
8
+ dark
9
+ date={new Date()}
10
+ />
11
+ <br />
12
+ <Time
13
+ dark
14
+ date={new Date()}
15
+ showTimezone
16
+ size="lg"
17
+ />
18
+ <br />
19
+ <Time
20
+ dark
21
+ date={new Date()}
22
+ showTimezone
23
+ />
24
+ </div>
25
+ )
26
+ }
27
+
28
+ export default TimeDark
@@ -0,0 +1,28 @@
1
+ import React from 'react'
2
+ import Time from '../_time.jsx'
3
+
4
+ const TimeDefault = () => {
5
+ return (
6
+ <div>
7
+ <Time
8
+ date={new Date()}
9
+ showTimezone
10
+ size="lg"
11
+ />
12
+ <br />
13
+ <Time
14
+ date={new Date().getTime()}
15
+ showTimezone
16
+ size="sm"
17
+ />
18
+ <br />
19
+ <Time
20
+ date="2012-08-02T09:49:29Z"
21
+ showTimezone
22
+ size="xs"
23
+ />
24
+ </div>
25
+ )
26
+ }
27
+
28
+ export default TimeDefault