playbook_ui 2.9.2 → 2.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/pb.logo.svg +28 -0
  3. data/app/helpers/playbook/pb_doc_helper.rb +9 -12
  4. data/app/helpers/playbook/pb_kit_helper.rb +12 -30
  5. data/app/pb_kits/playbook/_playbook.scss +50 -0
  6. data/app/pb_kits/playbook/index.js +10 -9
  7. data/app/pb_kits/playbook/kits/pb_contact.js +4 -0
  8. data/app/pb_kits/playbook/kits/pb_person.js +4 -0
  9. data/app/pb_kits/playbook/kits/pb_person_contact.js +4 -0
  10. data/app/pb_kits/playbook/packs/application.js +3 -3
  11. data/app/pb_kits/playbook/packs/examples.js +85 -127
  12. data/app/pb_kits/playbook/packs/kits.js +36 -36
  13. data/app/pb_kits/playbook/packs/main.scss +1 -1
  14. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +7 -0
  15. data/app/pb_kits/playbook/pb_bar_graph/barGraphSettings.js +1 -1
  16. data/app/pb_kits/playbook/pb_button/_button.jsx +48 -49
  17. data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +8 -2
  18. data/app/pb_kits/playbook/pb_card/_card.html.erb +2 -2
  19. data/app/pb_kits/playbook/pb_card/child_kits/_card_body.html.erb +1 -1
  20. data/app/pb_kits/playbook/pb_contact/_contact.html.erb +6 -0
  21. data/app/pb_kits/playbook/pb_contact/_contact.jsx +72 -0
  22. data/app/pb_kits/playbook/{pb_phone/_phone.scss → pb_contact/_contact.scss} +0 -0
  23. data/app/pb_kits/playbook/pb_contact/contact.rb +78 -0
  24. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.html.erb +18 -0
  25. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +26 -0
  26. data/app/pb_kits/playbook/pb_contact/docs/example.yml +8 -0
  27. data/app/pb_kits/playbook/pb_contact/docs/index.js +1 -0
  28. data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +16 -13
  29. data/app/pb_kits/playbook/pb_hashtag/_hashtag.html.erb +2 -2
  30. data/app/pb_kits/playbook/pb_hashtag/hashtag.rb +20 -59
  31. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.html.erb +3 -3
  32. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +18 -61
  33. data/app/pb_kits/playbook/pb_input/_input.html.erb +1 -1
  34. data/app/pb_kits/playbook/pb_input/_input.jsx +2 -2
  35. data/app/pb_kits/playbook/pb_input/_input.scss +1 -1
  36. data/app/pb_kits/playbook/pb_input/input.rb +10 -79
  37. data/app/pb_kits/playbook/pb_line_graph/lineGraphSettings.js +1 -1
  38. data/app/pb_kits/playbook/{pb_owner/_owner.html.erb → pb_person/_person.html.erb} +1 -1
  39. data/app/pb_kits/playbook/pb_person/_person.jsx +36 -0
  40. data/app/pb_kits/playbook/{pb_owner/_owner.scss → pb_person/_person.scss} +2 -2
  41. data/app/pb_kits/playbook/pb_person/docs/_person_default.html.erb +1 -0
  42. data/app/pb_kits/playbook/pb_person/docs/_person_default.jsx +13 -0
  43. data/app/pb_kits/playbook/pb_person/docs/example.yml +9 -0
  44. data/app/pb_kits/playbook/pb_person/docs/index.js +1 -0
  45. data/app/pb_kits/playbook/{pb_owner/owner.rb → pb_person/person.rb} +18 -14
  46. data/app/pb_kits/playbook/pb_person_contact/_person_contact.html.erb +12 -0
  47. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +49 -0
  48. data/app/pb_kits/playbook/{pb_owner_phone/_owner_phone.scss → pb_person_contact/_person_contact.scss} +3 -3
  49. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_default.html.erb +21 -0
  50. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_default.jsx +34 -0
  51. data/app/pb_kits/playbook/pb_person_contact/docs/example.yml +8 -0
  52. data/app/pb_kits/playbook/pb_person_contact/docs/index.js +1 -0
  53. data/app/pb_kits/playbook/pb_person_contact/person_contact.rb +55 -0
  54. data/app/pb_kits/playbook/props.rb +4 -4
  55. data/app/pb_kits/playbook/props/base.rb +7 -3
  56. data/app/pb_kits/playbook/props/number.rb +11 -0
  57. data/app/pb_kits/playbook/props/proc.rb +11 -0
  58. data/app/pb_kits/playbook/tokens/_colors.scss +12 -8
  59. data/app/views/layouts/playbook/_nav.html.slim +2 -2
  60. data/app/views/playbook/pages/principles.html.slim +0 -2
  61. data/fonts/fontawesome.min.js +5 -0
  62. data/fonts/regular.min.js +5 -0
  63. data/lib/generators/kit/kit_generator.rb +2 -2
  64. data/lib/playbook/version.rb +1 -1
  65. metadata +35 -32
  66. data/app/pb_kits/playbook/kits/pb_owner.js +0 -4
  67. data/app/pb_kits/playbook/kits/pb_owner_phone.js +0 -4
  68. data/app/pb_kits/playbook/kits/pb_phone.js +0 -4
  69. data/app/pb_kits/playbook/packs/site_styles/_kit_style_index.scss +0 -50
  70. data/app/pb_kits/playbook/pb_owner/_owner.jsx +0 -21
  71. data/app/pb_kits/playbook/pb_owner/docs/_owner_default.html.erb +0 -1
  72. data/app/pb_kits/playbook/pb_owner/docs/_owner_default.jsx +0 -10
  73. data/app/pb_kits/playbook/pb_owner/docs/example.yml +0 -9
  74. data/app/pb_kits/playbook/pb_owner/docs/index.js +0 -1
  75. data/app/pb_kits/playbook/pb_owner_phone/_owner_phone.html.erb +0 -7
  76. data/app/pb_kits/playbook/pb_owner_phone/_owner_phone.jsx +0 -21
  77. data/app/pb_kits/playbook/pb_owner_phone/docs/_owner_phone_default.html.erb +0 -6
  78. data/app/pb_kits/playbook/pb_owner_phone/docs/_owner_phone_default.jsx +0 -10
  79. data/app/pb_kits/playbook/pb_owner_phone/docs/example.yml +0 -9
  80. data/app/pb_kits/playbook/pb_owner_phone/docs/index.js +0 -1
  81. data/app/pb_kits/playbook/pb_owner_phone/owner_phone.rb +0 -62
  82. data/app/pb_kits/playbook/pb_phone/_phone.html.erb +0 -6
  83. data/app/pb_kits/playbook/pb_phone/_phone.jsx +0 -21
  84. data/app/pb_kits/playbook/pb_phone/docs/_phone_default.html.erb +0 -4
  85. data/app/pb_kits/playbook/pb_phone/docs/_phone_default.jsx +0 -10
  86. data/app/pb_kits/playbook/pb_phone/docs/example.yml +0 -9
  87. data/app/pb_kits/playbook/pb_phone/docs/index.js +0 -1
  88. data/app/pb_kits/playbook/pb_phone/phone.rb +0 -70
  89. data/fonts/fontawesome.js +0 -1978
  90. data/fonts/regular.js +0 -1217
@@ -0,0 +1,18 @@
1
+ <%= pb_rails("contact", props: {
2
+ contact_type: "cell",
3
+ contact_value: "349-185-9988",
4
+ }) %>
5
+
6
+ <%= pb_rails("contact", props: {
7
+ contact_value: 5555555555,
8
+ }) %>
9
+
10
+ <%= pb_rails("contact", props: {
11
+ contact_type: "email",
12
+ contact_value: "email@example.com",
13
+ }) %>
14
+
15
+ <%= pb_rails("contact", props: {
16
+ contact_type: "work",
17
+ contact_value: "3245627482",
18
+ }) %>
@@ -0,0 +1,26 @@
1
+ import React from "react"
2
+ import {Contact} from "../../"
3
+
4
+ function ContactDefault() {
5
+ return (
6
+ <div>
7
+ <Contact
8
+ contactType="cell"
9
+ contactValue="349-185-9988"
10
+ />
11
+ <Contact
12
+ contactValue="5555555555"
13
+ />
14
+ <Contact
15
+ contactType="email"
16
+ contactValue="email@example.com"
17
+ />
18
+ <Contact
19
+ contactType="work"
20
+ contactValue="3245627482"
21
+ />
22
+ </div>
23
+ )
24
+ }
25
+
26
+ export default ContactDefault
@@ -0,0 +1,8 @@
1
+ examples:
2
+
3
+ rails:
4
+ - contact_default: Default
5
+
6
+
7
+ react:
8
+ - contact_default: Default
@@ -0,0 +1 @@
1
+ export {default as ContactDefault} from './_contact_default.jsx';
@@ -1,21 +1,21 @@
1
1
  import colors from "../tokens/_colors.scss"
2
2
  import typography from "../tokens/_typography.scss";
3
3
 
4
- const applyCustomSeriesColors = function(highchart) {
5
- const data_colors = [
6
- colors.data_1,
7
- colors.data_2,
8
- colors.data_3,
9
- colors.data_4,
10
- colors.data_5,
11
- colors.data_6,
12
- colors.data_7
13
- ];
4
+ const dataColors = [
5
+ colors.data_1,
6
+ colors.data_2,
7
+ colors.data_3,
8
+ colors.data_4,
9
+ colors.data_5,
10
+ colors.data_6,
11
+ colors.data_7,
12
+ colors.data_8,
13
+ ]
14
14
 
15
+ const applyCustomSeriesColors = function(highchart) {
15
16
  highchart.series.forEach(function(item, index) {
16
- const selected_color = data_colors[index];
17
+ const selected_color = dataColors[index];
17
18
  item.color = selected_color;
18
-
19
19
  item.data.forEach(function(data_item) {
20
20
  if(data_item.color){
21
21
  data_item.color = selected_color;
@@ -98,4 +98,7 @@ const commonSettings = function(highchart) {
98
98
  styleLegend(highchart);
99
99
  };
100
100
 
101
- export default commonSettings;
101
+ export {
102
+ commonSettings,
103
+ dataColors,
104
+ }
@@ -1,10 +1,10 @@
1
1
  <%= content_tag(:div,
2
2
  id: object.id,
3
3
  data: object.data,
4
- class: object.classname(object.kit_class)) do %>
4
+ class: object.classname) do %>
5
5
 
6
6
  <%= link_to object.url do %>
7
- <%= object.hashtag %>
7
+ <%= pb_rails("badge", props: { variant: "primary", text: object.hashtag_text }) %>
8
8
  <% end %>
9
9
 
10
10
  <% end %>
@@ -2,75 +2,36 @@
2
2
 
3
3
  module Playbook
4
4
  module PbHashtag
5
- class Hashtag < Playbook::PbKit::Base
6
- PROPS = %i[configured_classname
7
- configured_data
8
- configured_id
9
- configured_text
10
- configured_type
11
- configured_url].freeze
5
+ class Hashtag
6
+ include Playbook::Props
12
7
 
13
- def initialize(classname: default_configuration,
14
- data: default_configuration,
15
- id: default_configuration,
16
- text: default_configuration,
17
- type: default_configuration,
18
- url: default_configuration)
19
- self.configured_classname = classname
20
- self.configured_data = data
21
- self.configured_id = id
22
- self.configured_text = text
23
- self.configured_type = type
24
- self.configured_url = url
25
- end
26
-
27
- def type
28
- type_options = %w[default project home]
29
- set_type = one_of_value(configured_type, type_options, "default")
30
- if set_type === "home"
31
- "H#"
32
- elsif set_type === "project"
33
- "P#"
34
- else
35
- "#"
36
- end
37
- end
8
+ partial "pb_hashtag/hashtag"
38
9
 
39
- def hashtag
40
- pb_hashtag = Playbook::PbBadge::Badge.new(text: hashtag_value, variant: "primary")
41
- ApplicationController.renderer.render(partial: pb_hashtag, as: :object)
42
- end
10
+ prop :text
11
+ prop :type, type: Playbook::Props::Enum,
12
+ values: %w[default project home],
13
+ default: "default"
14
+ prop :url
43
15
 
44
- def hashtag_value
45
- text = default_value(configured_text, "")
46
- type + text
16
+ def classname
17
+ generate_classname("pb_hastag_kit")
47
18
  end
48
19
 
49
- def url
50
- default_value(configured_url, "")
51
- end
52
-
53
- def kit_class
54
- kit_options = [
55
- "pb_hashtag_kit",
56
- type,
57
- ]
58
- kit_options.join("_")
59
- end
60
-
61
-
62
- def to_partial_path
63
- "pb_hashtag/hashtag"
20
+ def hashtag_text
21
+ type_text + text
64
22
  end
65
23
 
66
24
  private
67
25
 
68
- DEFAULT = Object.new
69
- private_constant :DEFAULT
70
- def default_configuration
71
- DEFAULT
26
+ def type_text
27
+ if type === "home"
28
+ "H#"
29
+ elsif type === "project"
30
+ "P#"
31
+ else
32
+ "#"
33
+ end
72
34
  end
73
- attr_accessor(*PROPS)
74
35
  end
75
36
  end
76
37
  end
@@ -1,17 +1,17 @@
1
1
  <%= content_tag(:div,
2
2
  id: object.id,
3
3
  data: object.data,
4
- class: object.classname(["pb_home_address_street", object.dark ? "dark" : nil].compact.join("_"))) do %>
4
+ class: object.classname) do %>
5
5
 
6
6
  <%= pb_rails "title", props: {
7
7
  classname: "pb_home_address_street_address",
8
8
  size: 4,
9
- text: "#{object.address} \u00b7 #{object.house_style}"
9
+ text: object.address_house_style
10
10
  } %>
11
11
 
12
12
  <%= pb_rails "body", props: {
13
13
  color: "light",
14
- text: "#{object.city}, #{object.state}",
14
+ text: object.city_state,
15
15
  } %>
16
16
 
17
17
  <%= pb_rails "body", props: { classname: "home-hashtag", tag: "span" } do %>
@@ -2,79 +2,36 @@
2
2
 
3
3
  module Playbook
4
4
  module PbHomeAddressStreet
5
- class HomeAddressStreet < Playbook::PbKit::Base
6
- PROPS = %i[configured_address
7
- configured_city
8
- configured_classname
9
- configured_dark
10
- configured_data
11
- configured_home_id
12
- configured_house_style
13
- configured_id
14
- configured_state
15
- configured_zipcode].freeze
5
+ class HomeAddressStreet
6
+ include Playbook::Props
16
7
 
17
- def initialize(address: default_configuration,
18
- city: default_configuration,
19
- classname: default_configuration,
20
- dark: default_configuration,
21
- data: default_configuration,
22
- home_id: default_configuration,
23
- house_style: default_configuration,
24
- id: default_configuration,
25
- state: default_configuration,
26
- zipcode: default_configuration)
27
- self.configured_address = address
28
- self.configured_city = city
29
- self.configured_classname = classname
30
- self.configured_dark = dark
31
- self.configured_data = data
32
- self.configured_home_id = home_id
33
- self.configured_house_style = house_style
34
- self.configured_state = state
35
- self.configured_zipcode = zipcode
36
- end
37
-
38
- def address
39
- default_value(configured_address, "")
40
- end
41
-
42
- def city
43
- default_value(configured_city, "")
44
- end
8
+ partial "pb_home_address_street/home_address_street"
45
9
 
46
- def dark
47
- true_value(configured_dark, true, false)
48
- end
49
-
50
- def home_id
51
- default_value(configured_home_id, "")
52
- end
53
-
54
- def house_style
55
- default_value(configured_house_style, "")
56
- end
10
+ prop :address
11
+ prop :city
12
+ prop :home_id, type: Playbook::Props::Number
13
+ prop :house_style
14
+ prop :state
15
+ prop :zipcode
16
+ prop :dark, type: Playbook::Props::Boolean, default: false
57
17
 
58
- def state
59
- default_value(configured_state, "")
18
+ def classname
19
+ generate_classname("pb_home_address_street_kit", dark_class)
60
20
  end
61
21
 
62
- def zipcode
63
- default_value(configured_zipcode, "")
22
+ def city_state
23
+ "#{city}, #{state}"
64
24
  end
65
25
 
66
- def to_partial_path
67
- "pb_home_address_street/home_address_street"
26
+ def address_house_style
27
+ "#{address} \u00b7 #{house_style}"
68
28
  end
69
29
 
70
30
  private
71
31
 
72
- DEFAULT = Object.new
73
- private_constant :DEFAULT
74
- def default_configuration
75
- DEFAULT
32
+ def dark_class
33
+ dark ? "dark" : nil
76
34
  end
77
- attr_accessor(*PROPS)
78
35
  end
79
36
  end
80
37
  end
@@ -8,7 +8,7 @@
8
8
  <%= tag(:input,
9
9
  id: object.id,
10
10
  data: object.data,
11
- class: object.classname("input_field"),
11
+ class: object.classname,
12
12
  name: object.name,
13
13
  placeholder: object.placeholder,
14
14
  type: object.type,
@@ -31,12 +31,12 @@ class Input extends React.Component {
31
31
  } = this.props
32
32
 
33
33
  const css = classnames([
34
- `input_field`,
34
+ `pb_input_kit`,
35
35
  className,
36
36
  ])
37
37
 
38
38
  return (
39
- <div className="pb_input">
39
+ <div className="pb_input_kit">
40
40
  <Caption text={label} />
41
41
  <div className="input_wrapper">
42
42
  <input className={css}
@@ -10,7 +10,7 @@
10
10
  margin-bottom: 1rem;
11
11
  }
12
12
 
13
- .input_field {
13
+ .pb_input_kit {
14
14
  border: 1px solid $border-light;
15
15
  border-radius: $border-rad-light;
16
16
  display: block;
@@ -2,89 +2,20 @@
2
2
 
3
3
  module Playbook
4
4
  module PbInput
5
- class Input < Playbook::PbKit::Base
6
- PROPS = %i[configured_aria
7
- configured_classname
8
- configured_data
9
- configured_id
10
- configured_name
11
- configured_label
12
- configured_placeholder
13
- configured_type
14
- configured_value].freeze
5
+ class Input
6
+ include Playbook::Props
15
7
 
16
- def initialize(aria: default_configuration,
17
- classname: default_configuration,
18
- data: default_configuration,
19
- id: default_configuration,
20
- name: default_configuration,
21
- label: default_configuration,
22
- placeholder: default_configuration,
23
- type: default_configuration,
24
- value: default_configuration)
25
- self.configured_aria = aria
26
- self.configured_classname = classname
27
- self.configured_data = data
28
- self.configured_id = id
29
- self.configured_name = name
30
- self.configured_label = label
31
- self.configured_placeholder = placeholder
32
- self.configured_type = type
33
- self.configured_value = value
34
- end
35
-
36
- def label
37
- if configured_label == default_configuration
38
- ""
39
- else
40
- configured_label
41
- end
42
- end
43
-
44
- def name
45
- if configured_name == default_configuration
46
- ""
47
- else
48
- configured_name
49
- end
50
- end
51
-
52
- def placeholder
53
- if configured_placeholder == default_configuration
54
- ""
55
- else
56
- configured_placeholder
57
- end
58
- end
59
-
60
- def type
61
- if configured_type == default_configuration
62
- "text"
63
- else
64
- configured_type
65
- end
66
- end
67
-
68
- def value
69
- if configured_value == default_configuration
70
- ""
71
- else
72
- configured_value
73
- end
74
- end
75
-
76
- def to_partial_path
77
- "pb_input/input"
78
- end
8
+ partial "pb_input/input"
79
9
 
80
- private
10
+ prop :label
11
+ prop :name
12
+ prop :placeholder
13
+ prop :value
14
+ prop :type, default: "text"
81
15
 
82
- DEFAULT = Object.new
83
- private_constant :DEFAULT
84
- def default_configuration
85
- DEFAULT
16
+ def classname
17
+ generate_classname("pb_input_kit")
86
18
  end
87
- attr_accessor(*PROPS)
88
19
  end
89
20
  end
90
21
  end