playbook_ui 4.17.0.pre.alpha1 → 4.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -6
  3. data/app/pb_kits/playbook/_playbook.scss +3 -0
  4. data/app/pb_kits/playbook/data/menu.yml +1 -0
  5. data/app/pb_kits/playbook/index.js +1 -4
  6. data/app/pb_kits/playbook/packs/examples.js +2 -0
  7. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +1 -1
  8. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +24 -15
  9. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx +45 -0
  10. data/app/pb_kits/playbook/pb_avatar/docs/example.yml +6 -5
  11. data/app/pb_kits/playbook/pb_avatar/docs/index.js +1 -0
  12. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.html.erb +32 -0
  13. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.jsx +78 -0
  14. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.scss +63 -0
  15. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.rb +44 -0
  16. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +15 -0
  17. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +19 -0
  18. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +8 -0
  19. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +13 -0
  20. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +15 -0
  21. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +14 -0
  22. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +27 -0
  23. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +29 -0
  24. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +11 -0
  25. data/app/pb_kits/playbook/pb_avatar_action_button/docs/example.yml +16 -0
  26. data/app/pb_kits/playbook/pb_avatar_action_button/docs/index.js +4 -0
  27. data/app/pb_kits/playbook/pb_badge/_badge.jsx +20 -14
  28. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +3 -2
  29. data/app/pb_kits/playbook/pb_body/_body.jsx +2 -1
  30. data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +4 -0
  31. data/app/pb_kits/playbook/pb_button/_button.jsx +2 -1
  32. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +6 -0
  33. data/app/pb_kits/playbook/pb_caption/_caption.jsx +19 -17
  34. data/app/pb_kits/playbook/pb_card/_card.html.erb +1 -1
  35. data/app/pb_kits/playbook/pb_card/_card.jsx +35 -38
  36. data/app/pb_kits/playbook/pb_card/_card.scss +0 -10
  37. data/app/pb_kits/playbook/pb_card/card.rb +9 -3
  38. data/app/pb_kits/playbook/pb_card/card_body.rb +1 -5
  39. data/app/pb_kits/playbook/pb_card/card_header.rb +0 -3
  40. data/app/pb_kits/playbook/pb_card/docs/_card_light.html.erb +2 -1
  41. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +17 -18
  42. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +4 -1
  43. data/app/pb_kits/playbook/pb_contact/_contact.html.erb +16 -3
  44. data/app/pb_kits/playbook/pb_contact/_contact.jsx +58 -34
  45. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.html.erb +1 -1
  46. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +1 -0
  47. data/app/pb_kits/playbook/pb_currency/_currency.html.erb +1 -0
  48. data/app/pb_kits/playbook/pb_currency/_currency.jsx +37 -21
  49. data/app/pb_kits/playbook/pb_currency/docs/_currency_dark.html.erb +3 -3
  50. data/app/pb_kits/playbook/pb_currency/docs/_currency_dark.jsx +2 -3
  51. data/app/pb_kits/playbook/pb_currency/docs/_currency_large.jsx +2 -3
  52. data/app/pb_kits/playbook/pb_currency/docs/_currency_medium.jsx +2 -2
  53. data/app/pb_kits/playbook/pb_currency/docs/_currency_small.html.erb +1 -1
  54. data/app/pb_kits/playbook/pb_currency/docs/_currency_small.jsx +5 -2
  55. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +2 -2
  56. data/app/pb_kits/playbook/pb_date/_date.jsx +39 -15
  57. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +3 -1
  58. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +43 -37
  59. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.jsx +2 -2
  60. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +6 -16
  61. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +21 -18
  62. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +30 -33
  63. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +10 -15
  64. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +8 -8
  65. data/app/pb_kits/playbook/pb_file_upload/_file_upload.jsx +13 -23
  66. data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx +16 -14
  67. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +13 -12
  68. data/app/pb_kits/playbook/pb_flex/_flex.jsx +35 -20
  69. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +6 -9
  70. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +14 -19
  71. data/app/pb_kits/playbook/pb_hashtag/_hashtag.jsx +26 -22
  72. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +13 -12
  73. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +85 -80
  74. data/app/pb_kits/playbook/pb_icon/_icon.jsx +54 -33
  75. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.jsx +13 -9
  76. data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +16 -20
  77. data/app/pb_kits/playbook/pb_image/_image.jsx +12 -10
  78. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +15 -25
  79. data/app/pb_kits/playbook/pb_label_value/_label_value.jsx +10 -17
  80. data/app/pb_kits/playbook/pb_layout/_layout.jsx +49 -45
  81. data/app/pb_kits/playbook/pb_layout/_layout.scss +76 -57
  82. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.html.erb +54 -0
  83. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.jsx +27 -0
  84. data/app/pb_kits/playbook/pb_layout/docs/example.yml +2 -0
  85. data/app/pb_kits/playbook/pb_layout/docs/index.js +1 -0
  86. data/app/pb_kits/playbook/pb_layout/layout.rb +10 -2
  87. data/app/pb_kits/playbook/pb_legend/_legend.jsx +17 -15
  88. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +3 -2
  89. data/app/pb_kits/playbook/pb_list/_list.jsx +24 -21
  90. data/app/pb_kits/playbook/pb_list/docs/_description.md +7 -1
  91. data/app/pb_kits/playbook/pb_list/docs/_list_layout_left.html.erb +8 -0
  92. data/app/pb_kits/playbook/pb_list/docs/_list_layout_right.html.erb +8 -0
  93. data/app/pb_kits/playbook/pb_list/docs/example.yml +2 -0
  94. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.jsx +21 -19
  95. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +4 -11
  96. data/app/pb_kits/playbook/pb_message/_message.jsx +15 -11
  97. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +10 -10
  98. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.jsx +7 -19
  99. data/app/pb_kits/playbook/pb_nav/_nav.jsx +17 -14
  100. data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +5 -13
  101. data/app/pb_kits/playbook/pb_person/_person.jsx +5 -11
  102. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +20 -20
  103. data/app/pb_kits/playbook/pb_pill/_pill.jsx +5 -10
  104. data/app/pb_kits/playbook/pb_popover/_popover.jsx +52 -41
  105. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +16 -12
  106. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +15 -12
  107. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +17 -10
  108. data/app/pb_kits/playbook/pb_radio/_radio.jsx +3 -1
  109. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +19 -13
  110. data/app/pb_kits/playbook/pb_select/_select.jsx +4 -2
  111. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.jsx +12 -7
  112. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +14 -13
  113. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +2 -1
  114. data/app/pb_kits/playbook/pb_table/_table.jsx +29 -28
  115. data/app/pb_kits/playbook/pb_table/_table.scss +1 -1
  116. data/app/pb_kits/playbook/pb_table/_table_row.jsx +6 -7
  117. data/app/pb_kits/playbook/pb_table/docs/_table_side_highlight.html.erb +52 -8
  118. data/app/pb_kits/playbook/pb_table/docs/_table_side_highlight.jsx +52 -8
  119. data/app/pb_kits/playbook/pb_table/docs/_table_side_highlight.md +3 -1
  120. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +3 -5
  121. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.jsx +1 -1
  122. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +2 -1
  123. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +38 -18
  124. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +12 -11
  125. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +7 -14
  126. data/app/pb_kits/playbook/pb_title/_title.jsx +12 -13
  127. data/app/pb_kits/playbook/pb_title/docs/_title_light.html.erb +1 -1
  128. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +49 -28
  129. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_align.jsx +31 -0
  130. data/app/pb_kits/playbook/pb_title_count/docs/_title_count_default.jsx +13 -2
  131. data/app/pb_kits/playbook/pb_title_count/docs/example.yml +4 -5
  132. data/app/pb_kits/playbook/pb_title_count/docs/index.js +1 -0
  133. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +7 -18
  134. data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +9 -11
  135. data/app/pb_kits/playbook/pb_user/_user.jsx +37 -37
  136. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +7 -7
  137. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.jsx +32 -30
  138. data/app/pb_kits/playbook/props.rb +48 -0
  139. data/app/pb_kits/playbook/tokens/_spacing.scss +1 -0
  140. data/app/pb_kits/playbook/utilities/_spacing.scss +42 -0
  141. data/app/pb_kits/playbook/utilities/spacing.js +33 -0
  142. data/app/views/playbook/samples/dashboards/index.html.erb +3 -1
  143. data/lib/playbook/version.rb +1 -1
  144. data/lib/tasks/pb_release.rake +0 -2
  145. metadata +28 -6
@@ -0,0 +1,54 @@
1
+ <%= pb_rails("layout", props: {layout: "collection"}) do %>
2
+ <%= pb_rails("layout/body") do %>
3
+
4
+ <%= pb_rails("card" ) do %>
5
+ Card content
6
+ <% end %>
7
+ <%= pb_rails("card") do %>
8
+ <%= pb_rails("title", props: { text: "Title 4", tag: "h4", size: 4 }) %>
9
+ <%= pb_rails("title", props: { text: "Title 3", tag: "h3", size: 3 }) %>
10
+
11
+ <% end %>
12
+ <%= pb_rails("card" ) do %>
13
+ <%= pb_rails("user", props: {
14
+ name: "Anna Black",
15
+ title: "Remodeling Consultant",
16
+ orientation: "vertical",
17
+ align: "center",
18
+ size: "lg",
19
+ avatar_url: "https://randomuser.me/api/portraits/women/44.jpg"
20
+ }) %>
21
+ <% end %>
22
+ <%= pb_rails("card" ) do %>
23
+ <%= pb_rails("title", props: { text: "Title 4", tag: "h4", size: 4 }) %>
24
+
25
+ <%= pb_rails("title", props: { text: "Title 2", tag: "h2", size: 2 }) %>
26
+ <%= pb_rails("title", props: { text: "Title 1", tag: "h1", size: 1 }) %>
27
+ <% end %>
28
+ <%= pb_rails("card" ) do %>
29
+ Card content
30
+ <% end %>
31
+ <%= pb_rails("card") do %>
32
+ Card content
33
+ <% end %>
34
+ <%= pb_rails("user", props: {
35
+ name: "Anna Black",
36
+ title: "Remodeling Consultant",
37
+ orientation: "vertical",
38
+ align: "center",
39
+ size: "lg",
40
+ avatar_url: "https://randomuser.me/api/portraits/women/44.jpg"
41
+ }) %>
42
+ <%= pb_rails("card" ) do %>
43
+ Card content
44
+ <% end %>
45
+ <%= pb_rails("card" ) do %>
46
+ <%= pb_rails("title", props: { text: "Title 4", tag: "h4", size: 4 }) %>
47
+ <%= pb_rails("title", props: { text: "Title 3", tag: "h3", size: 3 }) %>
48
+ <%= pb_rails("title", props: { text: "Title 2", tag: "h2", size: 2 }) %>
49
+ <%= pb_rails("title", props: { text: "Title 1", tag: "h1", size: 1 }) %>
50
+ <% end %>
51
+
52
+
53
+ <% end %>
54
+ <% end %>
@@ -0,0 +1,27 @@
1
+ import React from 'react'
2
+ import { Card, Layout } from '../../'
3
+
4
+ const LayoutCollection = () => {
5
+ return (
6
+ <div>
7
+ <Layout
8
+ layout="collection"
9
+ >
10
+ <Layout.Body>
11
+ <Card>{'Card content'}</Card>
12
+ <Card>{'Card content'}</Card>
13
+ <Card>{'Card content'}</Card>
14
+ <Card>{'Card content'}</Card>
15
+ <Card>{'Card content'}</Card>
16
+ <Card>{'Card content'}</Card>
17
+ <Card>{'Card content'}</Card>
18
+ <Card>{'Card content'}</Card>
19
+ <Card>{'Card content'}</Card>
20
+ <Card>{'Card content'}</Card>
21
+ </Layout.Body>
22
+ </Layout>
23
+ </div>
24
+ )
25
+ }
26
+
27
+ export default LayoutCollection
@@ -4,8 +4,10 @@ examples:
4
4
  - layout_transparent: Transparent
5
5
  - layout_sizes: Sizes
6
6
  - layout_sizes_dark: Sizes Dark
7
+ - layout_collection: Collection Layout
7
8
  react:
8
9
  - layout_colors: Colors
9
10
  - layout_transparent: Transparent
10
11
  - layout_sizes: Sizes
11
12
  - layout_sizes_dark: Sizes Dark
13
+ - layout_collection: Collection Layout
@@ -2,3 +2,4 @@ export { default as LayoutColors } from './_layout_colors.jsx'
2
2
  export { default as LayoutTransparent } from './_layout_transparent.jsx'
3
3
  export { default as LayoutSizes } from './_layout_sizes.jsx'
4
4
  export { default as LayoutSizesDark } from './_layout_sizes_dark.jsx'
5
+ export { default as LayoutCollection } from './_layout_collection.jsx'
@@ -21,10 +21,18 @@ module Playbook
21
21
  prop :variant, type: Playbook::Props::Enum,
22
22
  values: %w[light dark gradient],
23
23
  default: "light"
24
+ prop :layout, type: Playbook::Props::Enum,
25
+ values: %w[sidebar collection],
26
+ default: "sidebar"
24
27
 
25
28
  def classname
26
- first_class = generate_classname("pb_layout_kit", "size_#{size}", position, variant, transparent_class)
27
- [first_class, full_class, collapse_class].reject(&:empty?).join(" ")
29
+ case layout
30
+ when "collection"
31
+ generate_classname("pb_layout_kit", layout)
32
+ else
33
+ first_class = generate_classname("pb_layout_kit_sidebar","size_#{size}", position, variant, transparent_class)
34
+ [first_class, full_class, collapse_class].reject(&:empty?).join(" ")
35
+ end
28
36
  end
29
37
 
30
38
  private
@@ -1,34 +1,36 @@
1
1
  /* @flow */
2
2
 
3
3
  import React from 'react'
4
+ import classnames from 'classnames'
4
5
  import { buildCss } from '../utilities/props'
6
+ import { spacing } from '../utilities/spacing.js'
5
7
 
6
- import {
7
- Body,
8
- Title,
9
- } from '../'
8
+ import { Body, Title } from '../'
10
9
 
11
10
  type LegendProps = {
12
- color?: 'data_1' | 'data_2' | 'data_3' | 'data_4' | 'data_5' | 'data_6' | 'data_7',
11
+ color?: | "data_1"
12
+ | "data_2"
13
+ | "data_3"
14
+ | "data_4"
15
+ | "data_5"
16
+ | "data_6"
17
+ | "data_7",
13
18
  dark?: Boolean,
14
19
  prefixText?: String,
15
20
  text: String,
16
21
  }
17
22
 
18
- const Legend = ({
19
- color = 'data_1',
20
- dark = false,
21
- prefixText,
22
- text,
23
- }: LegendProps) => {
23
+ const Legend = (props: LegendProps) => {
24
+ const { color = 'data_1', dark = false, prefixText, text } = props
24
25
  const darkClass = dark ? 'dark' : 'light'
25
- const bodyCSS = buildCss('pb_legend_kit', color, darkClass)
26
+ const bodyCSS = classnames(
27
+ buildCss('pb_legend_kit', color, darkClass),
28
+ spacing(props)
29
+ )
26
30
 
27
31
  return (
28
32
  <div className={bodyCSS}>
29
- <Body
30
- color={dark ? 'lighter' : 'light'}
31
- >
33
+ <Body color={dark ? 'lighter' : 'light'}>
32
34
  <span className="pb_legend_indicator_circle" />
33
35
  <If condition={prefixText}>
34
36
  <Title
@@ -1,7 +1,8 @@
1
1
  /* @flow */
2
2
 
3
3
  import React from 'react'
4
-
4
+ import classnames from 'classnames'
5
+ import { spacing } from '../utilities/spacing.js'
5
6
  import { pbChart } from '../'
6
7
 
7
8
  type LineGraphProps = {
@@ -71,7 +72,7 @@ export default class LineGraph extends React.Component {
71
72
 
72
73
  return (
73
74
  <div
74
- className={className}
75
+ className={classnames(className, spacing(this.props))}
75
76
  id={id}
76
77
  />
77
78
  )
@@ -1,40 +1,43 @@
1
1
  /* @flow */
2
2
 
3
3
  import React, { type Node } from 'react'
4
-
4
+ import classnames from 'classnames'
5
5
  import { buildCss } from '../utilities/props'
6
+ import { spacing } from '../utilities/spacing.js'
6
7
 
7
8
  type ListProps = {
8
9
  borderless: boolean,
9
10
  children: Array<Node> | Node,
10
11
  dark: boolean,
11
- layout: '' | 'left' | 'right',
12
+ layout: "" | "left" | "right",
12
13
  ordered: boolean,
13
- size: '' | 'large',
14
+ size: "" | "large",
14
15
  xpadding: boolean,
15
16
  }
16
17
 
17
- const List = ({
18
- borderless = false,
19
- children,
20
- dark = false,
21
- layout = '',
22
- ordered = false,
23
- size = '',
24
- xpadding = false,
25
- }: ListProps) => {
26
- const classes = buildCss('pb_list_kit', layout, size, {
27
- 'dark': dark,
28
- 'borderless': borderless,
29
- 'ordered': ordered,
30
- 'xpadding': xpadding,
31
- })
18
+ const List = (props: ListProps) => {
19
+ const {
20
+ borderless = false,
21
+ children,
22
+ dark = false,
23
+ layout = '',
24
+ ordered = false,
25
+ size = '',
26
+ xpadding = false,
27
+ } = props
28
+ const classes = classnames(
29
+ buildCss('pb_list_kit', layout, size, {
30
+ dark: dark,
31
+ borderless: borderless,
32
+ ordered: ordered,
33
+ xpadding: xpadding,
34
+ }),
35
+ spacing(props)
36
+ )
32
37
 
33
38
  return (
34
39
  <div className={classes}>
35
- <ul>
36
- {children}
37
- </ul>
40
+ <ul>{children}</ul>
38
41
  </div>
39
42
  )
40
43
  }
@@ -1 +1,7 @@
1
- Lists display a vertical set of related content.
1
+ Lists display a vertical set of related content.
2
+
3
+ **Layout Prop**
4
+
5
+ - Setting the `layout` prop to either `left` or `right` creates a 2 column layout on the the list/item kit. This is useful if you need 2 things on the same line in a list.
6
+ - Using `layout:'left'` will make the first column shrink and the second column grow and align to the left.
7
+ - Using `layout:'right'` will make the first column grow and push the second column to the right.
@@ -0,0 +1,8 @@
1
+ <%= pb_rails("list", props: {ordered: false, dark: false, borderless: false,layout: "left"}) do %>
2
+ <% 5.times do%>
3
+ <%= pb_rails("list/item") do %>
4
+ <%= pb_rails("title", props:{text: "Label", size:4})%>
5
+ <%= pb_rails("currency", props: { label: "Caption",amount: "2,000.50",size: "sm",}) %>
6
+ <% end %>
7
+ <%end%>
8
+ <% end %>
@@ -0,0 +1,8 @@
1
+ <%= pb_rails("list", props: {ordered: false, dark: false, borderless: false,layout: "right"}) do %>
2
+ <% 5.times do%>
3
+ <%= pb_rails("list/item") do %>
4
+ <%= pb_rails("title", props:{text: "Label", size:4})%>
5
+ <%= pb_rails("currency", props: { label: "Caption",amount: "2,000.50",size: "sm",}) %>
6
+ <% end %>
7
+ <%end%>
8
+ <% end %>
@@ -5,6 +5,8 @@ examples:
5
5
  - list_ordered: Ordered
6
6
  - list_borderless: Borderless
7
7
  - list_xpadding: Horizontal Padding
8
+ - list_layout_left: Layout Left
9
+ - list_layout_right: Layout Right
8
10
  - list_dark: Dark Default
9
11
  - list_dark_lg: Dark Large
10
12
  - list_dark_ordered: Dark Ordered
@@ -1,33 +1,35 @@
1
1
  /* @flow */
2
2
 
3
3
  import React from 'react'
4
+ import classnames from 'classnames'
5
+ import { Body, Icon } from '../'
4
6
 
5
- import {
6
- Body,
7
- Icon,
8
- } from '../'
7
+ import { spacing } from '../utilities/spacing.js'
9
8
 
10
9
  type LoadingInlineProps = {
11
- align?: 'left' | 'center' | 'right',
10
+ align?: "left" | "center" | "right",
12
11
  className?: String,
13
12
  dark?: Boolean,
14
13
  data?: String,
15
14
  id?: String,
16
15
  }
17
16
 
18
- const LoadingInline = ({
19
- align = 'left',
20
- }: LoadingInlineProps) => (
21
- <div className={`pb_loading_inline_kit_${align}`}>
22
- <Body color="light">
23
- <Icon
24
- fixedWidth
25
- icon="spinner"
26
- pulse
27
- />
28
- {' Loading'}
29
- </Body>
30
- </div>
31
- )
17
+ const LoadingInline = (props: LoadingInlineProps) => {
18
+ const { align = 'left' } = props
19
+ return (
20
+ <div
21
+ className={classnames(`pb_loading_inline_kit_${align}`, spacing(props))}
22
+ >
23
+ <Body color="light">
24
+ <Icon
25
+ fixedWidth
26
+ icon="spinner"
27
+ pulse
28
+ />
29
+ {' Loading'}
30
+ </Body>
31
+ </div>
32
+ )
33
+ }
32
34
 
33
35
  export default LoadingInline
@@ -4,6 +4,7 @@ import React from 'react'
4
4
  import classnames from 'classnames'
5
5
  import DateTime from '../pb_kit/dateTime.js'
6
6
  import { Body, Caption, Icon, Title } from '../'
7
+ import { spacing } from '../utilities/spacing.js'
7
8
 
8
9
  const dateString = (value: DateTime) => {
9
10
  const month = value.toMonthNum()
@@ -20,19 +21,12 @@ type LogisticProps = {
20
21
  projectNumber: Number,
21
22
  }
22
23
 
23
- const Logistic = ({
24
- dark = false,
25
- date,
26
- link,
27
- projectName,
28
- projectNumber,
29
- }: LogisticProps) => {
24
+ const Logistic = (props: LogisticProps) => {
25
+ const { dark = false, date, link, projectName, projectNumber } = props
30
26
  const formattedDate = new DateTime({ value: date })
31
27
 
32
28
  return (
33
- <div
34
- className={classnames('pb_logistic_kit')}
35
- >
29
+ <div className={classnames('pb_logistic_kit', spacing(props))}>
36
30
  <Body color="light">
37
31
  <Caption text="Project" />
38
32
  <Icon
@@ -85,7 +79,6 @@ const Logistic = ({
85
79
  />
86
80
  </Otherwise>
87
81
  </Choose>
88
-
89
82
  </Otherwise>
90
83
  </Choose>
91
84
  </Body>
@@ -1,8 +1,9 @@
1
1
  /* @flow */
2
2
 
3
3
  import React from 'react'
4
-
5
4
  import { Avatar, Body, Caption } from '../'
5
+ import classnames from 'classnames'
6
+ import { spacing } from '../utilities/spacing.js'
6
7
 
7
8
  type MessageProps = {
8
9
  avatarName?: String,
@@ -13,19 +14,22 @@ type MessageProps = {
13
14
  timestamp?: String,
14
15
  }
15
16
 
16
- const Message = ({
17
- avatarName = '',
18
- avatarUrl = '',
19
- label = '',
20
- message = '',
21
- timestamp = '',
22
- avatarStatus = null,
23
- }: MessageProps) => {
17
+ const Message = (props: MessageProps) => {
18
+ const {
19
+ avatarName = '',
20
+ avatarUrl = '',
21
+ label = '',
22
+ message = '',
23
+ timestamp = '',
24
+ avatarStatus = null,
25
+ } = props
24
26
  const shouldDisplayAvatar = avatarUrl || avatarName
25
- const classes = shouldDisplayAvatar ? 'pb_message_kit_avatar' : 'pb_message_kit'
27
+ const classes = shouldDisplayAvatar
28
+ ? 'pb_message_kit_avatar'
29
+ : 'pb_message_kit'
26
30
 
27
31
  return (
28
- <div className={classes}>
32
+ <div className={classnames(classes, spacing(props))}>
29
33
  <If condition={shouldDisplayAvatar}>
30
34
  <Avatar
31
35
  imageUrl={avatarUrl}
@@ -2,9 +2,9 @@
2
2
 
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
-
6
5
  import { buildCss } from '../utilities/props'
7
6
  import { Avatar } from '../'
7
+ import { spacing } from '../utilities/spacing.js'
8
8
 
9
9
  type MultipleUsersProps = {
10
10
  className?: String,
@@ -14,19 +14,19 @@ type MultipleUsersProps = {
14
14
  users: Array<Object>,
15
15
  }
16
16
 
17
- const MultipleUsers = ({
18
- className,
19
- id,
20
- maxDisplayedUsers = 4,
21
- reverse = false,
22
- users,
23
- }: MultipleUsersProps) => {
24
- const displayCount = users.length > maxDisplayedUsers ? maxDisplayedUsers - 1 : users.length
17
+ const MultipleUsers = (props: MultipleUsersProps) => {
18
+ const { className, id, maxDisplayedUsers = 4, reverse = false, users } = props
19
+ const displayCount =
20
+ users.length > maxDisplayedUsers ? maxDisplayedUsers - 1 : users.length
25
21
  const usersToDisplay = users.slice(0, displayCount)
26
22
 
27
23
  return (
28
24
  <div
29
- className={classnames(className, buildCss('pb_multiple_users_kit', reverse && 'reverse'))}
25
+ className={classnames(
26
+ className,
27
+ buildCss('pb_multiple_users_kit', reverse && 'reverse'),
28
+ spacing(props)
29
+ )}
30
30
  id={id}
31
31
  >
32
32
  {usersToDisplay.map((avatarData, index) => (