playbook_ui 2.8.4 → 2.8.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/packs/examples.js +3 -0
  3. data/app/pb_kits/playbook/packs/kits.js +1 -0
  4. data/app/pb_kits/playbook/packs/pb_source.js +4 -0
  5. data/app/pb_kits/playbook/packs/site_styles/_kit_style_index.scss +1 -0
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +1 -0
  7. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +3 -1
  8. data/app/pb_kits/playbook/pb_avatar/avatar.rb +1 -1
  9. data/app/pb_kits/playbook/pb_body/_body.scss +1 -1
  10. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +2 -1
  11. data/app/pb_kits/playbook/pb_body/body.rb +2 -2
  12. data/app/pb_kits/playbook/pb_button/_button.scss +2 -1
  13. data/app/pb_kits/playbook/pb_button/button.rb +1 -1
  14. data/app/pb_kits/playbook/pb_caption/_caption.scss +1 -1
  15. data/app/pb_kits/playbook/pb_caption/caption.rb +1 -1
  16. data/app/pb_kits/playbook/pb_card/_card.html.erb +1 -1
  17. data/app/pb_kits/playbook/pb_card/_card.scss +24 -25
  18. data/app/pb_kits/playbook/pb_card/card.rb +21 -5
  19. data/app/pb_kits/playbook/pb_card/card_body.rb +58 -0
  20. data/app/pb_kits/playbook/pb_card/child_kits/_card_body.html.erb +7 -0
  21. data/app/pb_kits/playbook/pb_card/child_kits/_card_body.scss +24 -0
  22. data/app/pb_kits/playbook/pb_card/docs/_card_content.html.erb +11 -0
  23. data/app/pb_kits/playbook/pb_card/docs/_card_light.html.erb +1 -1
  24. data/app/pb_kits/playbook/pb_card/docs/_card_padding.html.erb +27 -0
  25. data/app/pb_kits/playbook/pb_card/docs/_card_selected.html.erb +9 -0
  26. data/app/pb_kits/playbook/pb_card/docs/_card_shadow.html.erb +33 -0
  27. data/app/pb_kits/playbook/pb_card/docs/example.yml +4 -0
  28. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +4 -1
  29. data/app/pb_kits/playbook/pb_dashboard_value/child_kits/_stat_value.scss +1 -1
  30. data/app/pb_kits/playbook/pb_dashboard_value/dashboard_value.rb +1 -1
  31. data/app/pb_kits/playbook/pb_dashboard_value/stat_change.rb +1 -1
  32. data/app/pb_kits/playbook/pb_dashboard_value/stat_label.rb +1 -1
  33. data/app/pb_kits/playbook/pb_dashboard_value/stat_value.rb +1 -1
  34. data/app/pb_kits/playbook/pb_date/_date.scss +5 -1
  35. data/app/pb_kits/playbook/pb_date/date.rb +1 -1
  36. data/app/pb_kits/playbook/pb_icon/_icon.scss +1 -1
  37. data/app/pb_kits/playbook/pb_icon/icon.rb +1 -1
  38. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +8 -7
  39. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  40. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +5 -3
  41. data/app/pb_kits/playbook/pb_icon_value/icon_value.rb +1 -1
  42. data/app/pb_kits/playbook/pb_image/_image.scss +1 -1
  43. data/app/pb_kits/playbook/pb_image/image.rb +1 -1
  44. data/app/pb_kits/playbook/pb_input/_input.html.erb +1 -1
  45. data/app/pb_kits/playbook/pb_input/_input.scss +1 -1
  46. data/app/pb_kits/playbook/pb_label_pill/_label_pill.html.erb +1 -1
  47. data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +3 -2
  48. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +4 -2
  49. data/app/pb_kits/playbook/pb_label_value/label_value.rb +1 -1
  50. data/app/pb_kits/playbook/pb_list/_list.html.erb +1 -1
  51. data/app/pb_kits/playbook/pb_list/_list.scss +2 -2
  52. data/app/pb_kits/playbook/pb_message/_message.scss +5 -1
  53. data/app/pb_kits/playbook/pb_message/message.rb +1 -1
  54. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +1 -1
  55. data/app/pb_kits/playbook/pb_online_status/online_status.rb +1 -1
  56. data/app/pb_kits/playbook/pb_owner/_owner.html.erb +1 -1
  57. data/app/pb_kits/playbook/pb_owner/_owner.scss +3 -2
  58. data/app/pb_kits/playbook/pb_owner/owner.rb +1 -1
  59. data/app/pb_kits/playbook/pb_owner_phone/_owner_phone.html.erb +1 -1
  60. data/app/pb_kits/playbook/pb_owner_phone/_owner_phone.scss +3 -2
  61. data/app/pb_kits/playbook/pb_phone/_phone.html.erb +1 -1
  62. data/app/pb_kits/playbook/pb_pill/_pill.scss +3 -2
  63. data/app/pb_kits/playbook/pb_pill/pill.rb +2 -2
  64. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +1 -1
  65. data/app/pb_kits/playbook/pb_progress_simple/progress_simple.rb +1 -1
  66. data/app/pb_kits/playbook/pb_source/_source.html.erb +18 -0
  67. data/app/pb_kits/playbook/pb_source/_source.jsx +21 -0
  68. data/app/pb_kits/playbook/pb_source/_source.scss +29 -0
  69. data/app/pb_kits/playbook/pb_source/docs/_source_default.html.erb +23 -0
  70. data/app/pb_kits/playbook/pb_source/docs/_source_default.jsx +12 -0
  71. data/app/pb_kits/playbook/pb_source/docs/_source_noicon.html.erb +26 -0
  72. data/app/pb_kits/playbook/pb_source/docs/_source_types.html.erb +63 -0
  73. data/app/pb_kits/playbook/pb_source/docs/example.yml +10 -0
  74. data/app/pb_kits/playbook/pb_source/docs/index.js +1 -0
  75. data/app/pb_kits/playbook/pb_source/source.rb +110 -0
  76. data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
  77. data/app/pb_kits/playbook/pb_star_rating/star_rating.rb +1 -1
  78. data/app/pb_kits/playbook/pb_time/_time.scss +6 -3
  79. data/app/pb_kits/playbook/pb_time/time.rb +2 -2
  80. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +1 -1
  81. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
  82. data/app/pb_kits/playbook/pb_title/_title.scss +1 -1
  83. data/app/pb_kits/playbook/pb_title/title.rb +1 -1
  84. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +5 -2
  85. data/app/pb_kits/playbook/pb_title_count/title_count.rb +1 -1
  86. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +4 -1
  87. data/app/pb_kits/playbook/pb_title_detail/title_detail.rb +1 -1
  88. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +1 -1
  89. data/app/pb_kits/playbook/pb_toggle/toggle.rb +1 -1
  90. data/app/pb_kits/playbook/pb_user/_user.scss +4 -1
  91. data/app/pb_kits/playbook/pb_user/user.rb +1 -1
  92. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +1 -1
  93. data/app/pb_kits/playbook/pb_user_badge/user_badge.rb +2 -2
  94. data/app/pb_kits/playbook/tokens/_shadows.scss +1 -1
  95. data/lib/playbook/engine.rb +6 -0
  96. data/lib/playbook/version.rb +1 -1
  97. metadata +21 -3
@@ -1,6 +1,6 @@
1
1
  <%= content_tag(:div,
2
2
  id: object.id,
3
3
  data: object.data,
4
- class: object.classname("pb_phone")) do %>
4
+ class: object.classname("pb_phone_kit")) do %>
5
5
  <span><%= object.value %></span>
6
6
  <% end %>
@@ -1,10 +1,11 @@
1
1
  @import "../tokens/spacing";
2
2
  @import "../tokens/colors";
3
3
  @import "../tokens/opacity";
4
+ @import "../pb_body/body";
4
5
 
5
6
  $pb_pill_height: 22px;
6
7
 
7
- [class^=pb_pill] {
8
+ [class^=pb_pill_kit] {
8
9
  display: inline-flex;
9
10
  justify-content: center;
10
11
  align-items: center;
@@ -16,7 +17,7 @@ $pb_pill_height: 22px;
16
17
  &[class*=_#{$color_name}] {
17
18
  background: rgba($color_value, $opacity-1);
18
19
 
19
- [class^=pb_body] {
20
+ [class^=pb_body_kit] {
20
21
  color: $color_value !important;
21
22
  }
22
23
  }
@@ -22,7 +22,7 @@ module Playbook
22
22
  end
23
23
 
24
24
  def display_text
25
- pb_text = Playbook::PbBody::Body.new do
25
+ pb_text = Playbook::PbBody::Body.new(tag: "span") do
26
26
  text
27
27
  end
28
28
  ApplicationController.renderer.render(partial: pb_text, as: :object)
@@ -30,7 +30,7 @@ module Playbook
30
30
 
31
31
  def kit_class
32
32
  kit_options = [
33
- "pb_pill",
33
+ "pb_pill_kit",
34
34
  variant,
35
35
  ]
36
36
  kit_options.join("_")
@@ -17,7 +17,7 @@ $pb_progress_simple_height: 4px;
17
17
  }
18
18
  }
19
19
 
20
- [class^=pb_progress_simple] {
20
+ [class^=pb_progress_simple_kit] {
21
21
  width: 100%;
22
22
  height: $pb_progress_simple_height;
23
23
  border-radius: $pb_progress_simple_height/2;
@@ -56,7 +56,7 @@ module Playbook
56
56
 
57
57
  def kit_class
58
58
  kit_options = [
59
- "pb_progress_simple",
59
+ "pb_progress_simple_kit",
60
60
  muted,
61
61
  align,
62
62
  ]
@@ -0,0 +1,18 @@
1
+ <%= content_tag(:div,
2
+ id: object.id,
3
+ data: object.data,
4
+ class: object.classname("pb_source")) do %>
5
+ <div class="pb__source_layout">
6
+ <% if object.hide_icon == false %>
7
+ <%= object.type_icon %>
8
+ <%= object.avatar %>
9
+ <% end %>
10
+ <div class="pb__source_content">
11
+ <%= object.source %>
12
+ <div class="pb__source_value">
13
+ <%= object.type_text %>
14
+ <%= object.user_id %>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ <% end %>
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import PropTypes from "prop-types";
3
+
4
+ const propTypes = {
5
+ className: PropTypes.string,
6
+ id: PropTypes.string
7
+ };
8
+
9
+ class Source extends React.Component {
10
+ render() {
11
+ return (
12
+ <div className="pb_source">
13
+ <span>SOURCE CONTENT</span>
14
+ </div>
15
+ )
16
+ }
17
+ }
18
+
19
+ Source.propTypes = propTypes;
20
+
21
+ export default Source;
@@ -0,0 +1,29 @@
1
+ @import "../tokens/spacing";
2
+
3
+ [class^=pb_source] {
4
+ [class^=pb__source_layout] {
5
+ display: flex;
6
+ justify-content: flex-start;
7
+ align-items: flex-start;
8
+ }
9
+
10
+ [class^=pb_icon_circle],
11
+ [class^=pb_avatar] {
12
+ margin-right: $space-sm;
13
+ }
14
+
15
+ [class^=pb__source_content] {
16
+ display: block;
17
+ flex-grow: 1;
18
+
19
+ [class^=pb__source_value] {
20
+ display: flex;
21
+ justify-content: flex-start;
22
+ align-items: baseline;
23
+
24
+ [class^=pb_body] {
25
+ margin-right: $space-xs;
26
+ }
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,23 @@
1
+ <%= pb_rails("source", props: {
2
+ source: "BJ's Johnston-208",
3
+ type: "retail"
4
+ }) %>
5
+
6
+ <br><br>
7
+
8
+ <%= pb_rails("source", props: {
9
+ source: "Referral-phrg",
10
+ type: "inbound"
11
+ }) %>
12
+
13
+ <br><br>
14
+
15
+ <%= pb_rails("source", props: {
16
+ source: "BJ's Future CB",
17
+ type: "user",
18
+ user: {
19
+ name: "Anna Black",
20
+ image: {url: "https://randomuser.me/api/portraits/women/44.jpg"},
21
+ user_id: "48582"
22
+ }
23
+ }) %>
@@ -0,0 +1,12 @@
1
+ import React from "react"
2
+ import Source from "../_source.jsx"
3
+
4
+ function SourceDefault() {
5
+ return (
6
+ <div>
7
+ <Source />
8
+ </div>
9
+ )
10
+ }
11
+
12
+ export default SourceDefault;
@@ -0,0 +1,26 @@
1
+ <%= pb_rails("source", props: {
2
+ source: "BJ's Johnston-208",
3
+ type: "retail",
4
+ hide_icon: true
5
+ }) %>
6
+
7
+ <br><br>
8
+
9
+ <%= pb_rails("source", props: {
10
+ source: "Referral-phrg",
11
+ type: "inbound",
12
+ hide_icon: true
13
+ }) %>
14
+
15
+ <br><br>
16
+
17
+ <%= pb_rails("source", props: {
18
+ source: "BJ's Future CB",
19
+ type: "user",
20
+ user: {
21
+ name: "Anna Black",
22
+ image: {url: "https://randomuser.me/api/portraits/women/44.jpg"},
23
+ user_id: "48582"
24
+ },
25
+ hide_icon: true
26
+ }) %>
@@ -0,0 +1,63 @@
1
+ <%= pb_rails("source", props: {
2
+ source: "BJ's Johnston-208",
3
+ type: "retail"
4
+ }) %>
5
+
6
+ <br><br>
7
+
8
+ <%= pb_rails("source", props: {
9
+ source: "Referral-phrg",
10
+ type: "inbound"
11
+ }) %>
12
+
13
+ <br><br>
14
+
15
+ <%= pb_rails("source", props: {
16
+ source: "B.B.B. Outbound",
17
+ type: "outbound"
18
+ }) %>
19
+
20
+ <br><br>
21
+
22
+ <%= pb_rails("source", props: {
23
+ source: "Contractor.com",
24
+ type: "prospecting"
25
+ }) %>
26
+
27
+ <br><br>
28
+
29
+ <%= pb_rails("source", props: {
30
+ source: "Beards, Beers and Brats",
31
+ type: "events"
32
+ }) %>
33
+
34
+ <br><br>
35
+
36
+ <%= pb_rails("source", props: {
37
+ source: "BJ's Johnston-208",
38
+ type: "referral"
39
+ }) %>
40
+
41
+ <br><br>
42
+
43
+ <%= pb_rails("source", props: {
44
+ source: "Employee Referral",
45
+ type: "referral",
46
+ user: {
47
+ name: "Anna Black",
48
+ image: {url: "https://randomuser.me/api/portraits/women/44.jpg"},
49
+ user_id: "48582"
50
+ }
51
+ }) %>
52
+
53
+ <br><br>
54
+
55
+ <%= pb_rails("source", props: {
56
+ source: "BJ's Future CB",
57
+ type: "user",
58
+ user: {
59
+ name: "Anna Black",
60
+ image: {url: "https://randomuser.me/api/portraits/women/44.jpg"},
61
+ user_id: "48582"
62
+ }
63
+ }) %>
@@ -0,0 +1,10 @@
1
+ examples:
2
+
3
+ rails:
4
+ - source_default: Default
5
+ - source_noicon: Hide Icon
6
+ - source_types: Source Types
7
+
8
+
9
+ react:
10
+ - source_default: Default
@@ -0,0 +1 @@
1
+ export {default as SourceDefault} from './_source_default.jsx';
@@ -0,0 +1,110 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Playbook
4
+ module PbSource
5
+ class Source < Playbook::PbKit::Base
6
+ PROPS = %i[configured_classname
7
+ configured_data
8
+ configured_hide_icon
9
+ configured_id
10
+ configured_source
11
+ configured_type
12
+ configured_user].freeze
13
+
14
+ def initialize(classname: default_configuration,
15
+ data: default_configuration,
16
+ hide_icon: default_configuration,
17
+ id: default_configuration,
18
+ source: default_configuration,
19
+ type: default_configuration,
20
+ user: default_configuration)
21
+ self.configured_classname = classname
22
+ self.configured_data = data
23
+ self.configured_hide_icon = hide_icon
24
+ self.configured_id = id
25
+ self.configured_source = source
26
+ self.configured_type = type
27
+ self.configured_user = user
28
+ end
29
+
30
+ def source
31
+ pb_source_title = Playbook::PbTitle::Title.new(size: 4, text: configured_source)
32
+ ApplicationController.renderer.render(partial: pb_source_title, as: :object)
33
+ end
34
+
35
+ def type_text
36
+ pb_type = Playbook::PbBody::Body.new(color: "light") do
37
+ if type == "user" || (type == "referral" && is_set?(configured_user))
38
+ configured_user[:name]
39
+ else
40
+ type.titleize
41
+ end
42
+ end
43
+ ApplicationController.renderer.render(partial: pb_type, as: :object)
44
+ end
45
+
46
+ def type_icon
47
+ if !type_icon_name.nil? && avatar.nil?
48
+ pb_type_icon = Playbook::PbIconCircle::IconCircle.new(icon: type_icon_name, size: "sm")
49
+ ApplicationController.renderer.render(partial: pb_type_icon, as: :object)
50
+ end
51
+ end
52
+
53
+ def avatar
54
+ if is_set?(configured_user) && (type == "user" || type == "referral")
55
+ avatar_props = configured_user.clone
56
+ avatar_props[:size] = "sm"
57
+ avatar_props.delete(:user_id)
58
+ pb_avatar = Playbook::PbAvatar::Avatar.new(avatar_props)
59
+ ApplicationController.renderer.render(partial: pb_avatar, as: :object)
60
+ end
61
+ end
62
+
63
+ def user_id
64
+ if is_set?(configured_user) && configured_user[:user_id].present?
65
+ pb_user_id = Playbook::PbCaption::Caption.new(text: configured_user[:user_id])
66
+ ApplicationController.renderer.render(partial: pb_user_id, as: :object)
67
+ end
68
+ end
69
+
70
+ def hide_icon
71
+ is_true? configured_hide_icon
72
+ end
73
+
74
+ def to_partial_path
75
+ "pb_source/source"
76
+ end
77
+
78
+ private
79
+
80
+ def type_icon_name
81
+ case type
82
+ when "retail"
83
+ "shopping-bag"
84
+ when "inbound"
85
+ "sign-in"
86
+ when "outbound"
87
+ "sign-out"
88
+ when "prospecting"
89
+ "binoculars"
90
+ when "events"
91
+ "calendar-alt"
92
+ when "referral"
93
+ "handshake"
94
+ end
95
+ end
96
+
97
+ def type
98
+ type_options = %w[user retail inbound outbound prospecting events referral]
99
+ one_of_value(configured_type, type_options, "inbound")
100
+ end
101
+
102
+ DEFAULT = Object.new
103
+ private_constant :DEFAULT
104
+ def default_configuration
105
+ DEFAULT
106
+ end
107
+ attr_accessor(*PROPS)
108
+ end
109
+ end
110
+ end
@@ -6,7 +6,7 @@ $pb_star_rating_number_width: 30px;
6
6
  $pb_star_rating_wrapper_width: 150px;
7
7
  $pb_star_rating_height: 26px;
8
8
 
9
- [class^=pb_star_rating] {
9
+ [class^=pb_star_rating_kit] {
10
10
  position: relative;
11
11
  display: inline-flex;
12
12
  justify-content: flex-start;
@@ -43,7 +43,7 @@ module Playbook
43
43
 
44
44
  def kit_class
45
45
  kit_options = [
46
- "pb_star_rating",
46
+ "pb_star_rating_kit",
47
47
  hide_rating,
48
48
  ]
49
49
  kit_options.compact.join("_")
@@ -1,12 +1,15 @@
1
1
  @import "../tokens/colors";
2
2
  @import "../tokens/typography";
3
+ @import "../pb_icon/icon";
4
+ @import "../pb_body/body";
5
+ @import "../pb_title/title";
3
6
 
4
- [class^=pb_time] {
7
+ [class^=pb_time_kit] {
5
8
  [class^=pb_body] {
6
9
  font-weight: $bold !important;
7
10
  }
8
11
 
9
- [class^=pb__time_timezone] {
12
+ [class^=pb_time_timezone] {
10
13
  font-size: $font-small;
11
14
  font-weight: $regular;
12
15
  color: $text-lt-light;
@@ -17,7 +20,7 @@
17
20
  }
18
21
 
19
22
  &[class*=_lg] {
20
- [class^=pb__time_timezone] {
23
+ [class^=pb_time_timezone] {
21
24
  font-size: $font-large !important;
22
25
  color: $text-lt-light;
23
26
  }