playbook_ui 2.9.7 → 2.9.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/app/assets/images/pb.logo.svg +14 -14
  4. data/app/pb_kits/playbook/_playbook.scss +6 -6
  5. data/app/pb_kits/playbook/index.js +11 -10
  6. data/app/pb_kits/playbook/kits/pb_nav.js +4 -0
  7. data/app/pb_kits/playbook/kits/pb_text_input.js +4 -0
  8. data/app/pb_kits/playbook/packs/examples.js +4 -4
  9. data/app/pb_kits/playbook/packs/kits.js +2 -2
  10. data/app/pb_kits/playbook/packs/site_styles/docs/_color_utilities.scss +0 -1
  11. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +1 -1
  12. data/app/pb_kits/playbook/pb_badge/_badge.jsx +5 -2
  13. data/app/pb_kits/playbook/pb_badge/_badge.scss +19 -7
  14. data/app/pb_kits/playbook/pb_badge/badge.rb +6 -1
  15. data/app/pb_kits/playbook/pb_badge/docs/_badge_dark.html.erb +124 -0
  16. data/app/pb_kits/playbook/pb_badge/docs/_badge_dark.jsx +82 -0
  17. data/app/pb_kits/playbook/pb_badge/docs/example.yml +2 -0
  18. data/app/pb_kits/playbook/pb_badge/docs/index.js +1 -0
  19. data/app/pb_kits/playbook/pb_button/_button.scss +15 -0
  20. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +37 -3
  21. data/app/pb_kits/playbook/pb_button/button.rb +7 -1
  22. data/app/pb_kits/playbook/pb_button/docs/_button_default_dark.html.erb +22 -4
  23. data/app/pb_kits/playbook/pb_button/docs/_button_default_dark.jsx +6 -1
  24. data/app/pb_kits/playbook/pb_caption/_caption.jsx +13 -9
  25. data/app/pb_kits/playbook/pb_caption/_caption.scss +4 -0
  26. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +11 -7
  27. data/app/pb_kits/playbook/pb_caption/caption.rb +4 -5
  28. data/app/pb_kits/playbook/pb_caption/docs/_caption_dark.html.erb +2 -1
  29. data/app/pb_kits/playbook/pb_caption/docs/_caption_dark.jsx +2 -1
  30. data/app/pb_kits/playbook/pb_caption/docs/_caption_light.html.erb +2 -1
  31. data/app/pb_kits/playbook/pb_caption/docs/_caption_light.jsx +2 -1
  32. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +3 -3
  33. data/app/pb_kits/playbook/pb_contact/_contact.html.erb +2 -1
  34. data/app/pb_kits/playbook/pb_contact/_contact.jsx +10 -4
  35. data/app/pb_kits/playbook/pb_contact/contact.rb +4 -9
  36. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.html.erb +1 -4
  37. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +0 -3
  38. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.html.erb +16 -0
  39. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.jsx +25 -0
  40. data/app/pb_kits/playbook/pb_contact/docs/example.yml +2 -0
  41. data/app/pb_kits/playbook/pb_contact/docs/index.js +1 -0
  42. data/app/pb_kits/playbook/pb_date/_date.html.erb +10 -2
  43. data/app/pb_kits/playbook/pb_date/date.rb +18 -90
  44. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.html.erb +3 -3
  45. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.rb +15 -54
  46. data/app/pb_kits/playbook/pb_hashtag/_hashtag.html.erb +2 -2
  47. data/app/pb_kits/playbook/pb_hashtag/_hashtag.jsx +13 -11
  48. data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +3 -1
  49. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_dark.html.erb +9 -0
  50. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_dark.jsx +31 -0
  51. data/app/pb_kits/playbook/pb_hashtag/docs/_hashtag_default.jsx +2 -2
  52. data/app/pb_kits/playbook/pb_hashtag/docs/example.yml +2 -1
  53. data/app/pb_kits/playbook/pb_hashtag/docs/index.js +1 -0
  54. data/app/pb_kits/playbook/pb_hashtag/hashtag.rb +6 -1
  55. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.html.erb +12 -6
  56. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +10 -5
  57. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.scss +0 -20
  58. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_dark.jsx +1 -1
  59. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_default.jsx +1 -1
  60. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_modified.jsx +1 -0
  61. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +3 -3
  62. data/app/pb_kits/playbook/pb_label_pill/docs/_label_pill_default.html.erb +9 -3
  63. data/app/pb_kits/playbook/pb_label_pill/label_pill.rb +1 -1
  64. data/app/pb_kits/playbook/pb_nav/_horizontal_nav.scss +67 -0
  65. data/app/pb_kits/playbook/{pb_vertical_nav → pb_nav}/_item.html.erb +2 -2
  66. data/app/pb_kits/playbook/{pb_vertical_nav → pb_nav}/_item.jsx +7 -7
  67. data/app/pb_kits/playbook/{pb_vertical_nav/_vertical_nav.html.erb → pb_nav/_nav.html.erb} +2 -2
  68. data/app/pb_kits/playbook/{pb_vertical_nav/_vertical_nav.jsx → pb_nav/_nav.jsx} +7 -7
  69. data/app/pb_kits/playbook/pb_nav/_nav.scss +6 -0
  70. data/app/pb_kits/playbook/{pb_vertical_nav → pb_nav}/_vertical_nav.scss +38 -35
  71. data/app/pb_kits/playbook/pb_nav/docs/_block_nav.html.erb +5 -0
  72. data/app/pb_kits/playbook/pb_nav/docs/_block_no_title.html.erb +5 -0
  73. data/app/pb_kits/playbook/pb_nav/docs/_default_nav.html.erb +5 -0
  74. data/app/pb_kits/playbook/{pb_vertical_nav → pb_nav}/docs/_default_nav.jsx +2 -2
  75. data/app/pb_kits/playbook/pb_nav/docs/_horizontal_nav.html.erb +5 -0
  76. data/app/pb_kits/playbook/{pb_vertical_nav → pb_nav}/docs/example.yml +1 -0
  77. data/app/pb_kits/playbook/{pb_vertical_nav → pb_nav}/docs/index.js +0 -0
  78. data/app/pb_kits/playbook/{pb_vertical_nav → pb_nav}/item.rb +3 -3
  79. data/app/pb_kits/playbook/pb_nav/nav.rb +27 -0
  80. data/app/pb_kits/playbook/pb_person_contact/_person_contact.html.erb +13 -6
  81. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +8 -14
  82. data/app/pb_kits/playbook/pb_person_contact/_person_contact.scss +1 -0
  83. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_default.html.erb +5 -20
  84. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_default.jsx +2 -17
  85. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_multiple.html.erb +27 -0
  86. data/app/pb_kits/playbook/pb_person_contact/docs/{_person_contact_single_person.jsx → _person_contact_multiple.jsx} +13 -11
  87. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_detail.html.erb +19 -0
  88. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_detail.jsx +30 -0
  89. data/app/pb_kits/playbook/pb_person_contact/docs/example.yml +5 -4
  90. data/app/pb_kits/playbook/pb_person_contact/docs/index.js +2 -2
  91. data/app/pb_kits/playbook/pb_person_contact/person_contact.rb +10 -1
  92. data/app/pb_kits/playbook/pb_pill/docs/_pill_default.html.erb +7 -0
  93. data/app/pb_kits/playbook/pb_pill/docs/_pill_default.jsx +4 -0
  94. data/app/pb_kits/playbook/pb_pill/pill.rb +1 -1
  95. data/app/pb_kits/playbook/pb_table/styles/_headers.scss +3 -4
  96. data/app/pb_kits/playbook/{pb_input/_input.html.erb → pb_text_input/_text_input.html.erb} +2 -2
  97. data/app/pb_kits/playbook/{pb_input/_input.jsx → pb_text_input/_text_input.jsx} +7 -7
  98. data/app/pb_kits/playbook/{pb_input/_input.scss → pb_text_input/_text_input.scss} +3 -3
  99. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.html.erb +5 -0
  100. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.jsx +16 -0
  101. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +5 -0
  102. data/app/pb_kits/playbook/pb_text_input/docs/index.js +1 -0
  103. data/app/pb_kits/playbook/{pb_input/input.rb → pb_text_input/text_input.rb} +4 -4
  104. data/app/pb_kits/playbook/pb_time/_time.html.erb +32 -2
  105. data/app/pb_kits/playbook/pb_time/time.rb +15 -116
  106. data/app/pb_kits/playbook/pb_timestamp/_timestamp-mixins.scss +0 -2
  107. data/app/pb_kits/playbook/pb_timestamp/_timestamp.html.erb +1 -1
  108. data/app/pb_kits/playbook/tokens/_colors.scss +18 -22
  109. data/app/pb_kits/playbook/utilities/_colors.scss +12 -0
  110. data/app/pb_kits/playbook/utilities/text.js +16 -0
  111. data/app/views/layouts/playbook/_sidebar.html.slim +10 -11
  112. data/lib/playbook/version.rb +1 -1
  113. metadata +39 -29
  114. data/app/pb_kits/playbook/kits/pb_input.js +0 -4
  115. data/app/pb_kits/playbook/kits/pb_vertical_nav.js +0 -4
  116. data/app/pb_kits/playbook/pb_input/docs/_input_default.html.erb +0 -5
  117. data/app/pb_kits/playbook/pb_input/docs/_input_default.jsx +0 -16
  118. data/app/pb_kits/playbook/pb_input/docs/example.yml +0 -5
  119. data/app/pb_kits/playbook/pb_input/docs/index.js +0 -1
  120. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_single_person.html.erb +0 -24
  121. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_three_people.html.erb +0 -16
  122. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_three_people.jsx +0 -33
  123. data/app/pb_kits/playbook/pb_vertical_nav/docs/_block_nav.html.erb +0 -5
  124. data/app/pb_kits/playbook/pb_vertical_nav/docs/_block_no_title.html.erb +0 -5
  125. data/app/pb_kits/playbook/pb_vertical_nav/docs/_default_nav.html.erb +0 -5
  126. data/app/pb_kits/playbook/pb_vertical_nav/vertical_nav.rb +0 -19
@@ -1,7 +1,7 @@
1
1
  <%= content_tag(:div,
2
2
  id: object.id,
3
3
  data: object.data,
4
- class: object.classname(object.kit_class)) do %>
5
- <%= object.day_month %>
6
- <%= object.year %>
4
+ class: object.classname) do %>
5
+ <%= pb_rails("title", props: { text: object.day_month, size: 4, dark: object.dark }) %>
6
+ <%= pb_rails("body", props: { text: object.year, size: 4, color: "light", dark: object.dark }) %>
7
7
  <% end %>
@@ -2,74 +2,35 @@
2
2
 
3
3
  module Playbook
4
4
  module PbDateYearStacked
5
- class DateYearStacked < Playbook::PbKit::Base
6
- PROPS = %i[configured_align
7
- configured_classname
8
- configured_dark
9
- configured_data
10
- configured_date
11
- configured_id].freeze
5
+ class DateYearStacked
6
+ include Playbook::Props
12
7
 
13
- def initialize(align: default_configuration,
14
- classname: default_configuration,
15
- dark: default_configuration,
16
- data: default_configuration,
17
- date: default_configuration,
18
- id: default_configuration)
19
- self.configured_align = align
20
- self.configured_classname = classname
21
- self.configured_dark = dark
22
- self.configured_data = data
23
- self.configured_date = date
24
- self.configured_id = id
25
- end
8
+ partial "pb_date_year_stacked/date_year_stacked"
26
9
 
27
- def align
28
- align_options = %w[left center right]
29
- one_of_value(configured_align, align_options, "left")
30
- end
31
-
32
- def dark
33
- is_true? configured_dark
34
- end
35
-
36
- def date
37
- Playbook::PbKit::PbDateTime.new(configured_date)
38
- end
10
+ prop :align, type: Playbook::Props::Enum,
11
+ values: %w[left center right],
12
+ default: "left"
13
+ prop :dark, type: Playbook::Props::Boolean,
14
+ default: false
15
+ prop :date
39
16
 
40
17
  def year
41
- year = date.to_year
42
- pb_body = Playbook::PbBody::Body.new(text: year, color: "light", dark: dark)
43
- ApplicationController.renderer.render(partial: pb_body, as: :object)
18
+ as_date.to_year
44
19
  end
45
20
 
46
21
  def day_month
47
- day_month = "#{date.to_day} #{date.to_month}"
48
- pb_title = Playbook::PbTitle::Title.new(text: day_month, size: 4, dark: dark)
49
- ApplicationController.renderer.render(partial: pb_title, as: :object)
50
- end
51
-
52
- def to_partial_path
53
- "pb_date_year_stacked/date_year_stacked"
22
+ "#{as_date.to_day.strip} #{as_date.to_month}"
54
23
  end
55
24
 
56
- def kit_class
57
- kit_options = [
58
- "pb_date_year_stacked",
59
- align,
60
-
61
- ]
62
- kit_options.join("_")
25
+ def classname
26
+ generate_classname("pb_date_year_stacked", align)
63
27
  end
64
28
 
65
29
  private
66
30
 
67
- DEFAULT = Object.new
68
- private_constant :DEFAULT
69
- def default_configuration
70
- DEFAULT
31
+ def as_date
32
+ Playbook::PbKit::PbDateTime.new(date)
71
33
  end
72
- attr_accessor(*PROPS)
73
34
  end
74
35
  end
75
36
  end
@@ -1,10 +1,10 @@
1
- <%= content_tag(:div,
1
+ <%= content_tag(:span,
2
2
  id: object.id,
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
5
 
6
6
  <%= link_to object.url do %>
7
- <%= pb_rails("badge", props: { variant: "primary", text: object.hashtag_text }) %>
7
+ <%= pb_rails("badge", props: { variant: "primary", text: object.hashtag_text, dark: object.dark }) %>
8
8
  <% end %>
9
9
 
10
10
  <% end %>
@@ -7,13 +7,13 @@ import {Badge} from '../'
7
7
  type HashtagProps = {
8
8
  className?: String,
9
9
  data?: String,
10
+ dark?: Boolean,
10
11
  id?: String,
11
12
  text?: String,
12
13
  type: 'default' | 'home' | 'project',
13
14
  url?: String,
14
15
  }
15
16
 
16
-
17
17
  const HashType = {
18
18
  "home": "H#",
19
19
  "project": "P#",
@@ -23,19 +23,21 @@ const HashType = {
23
23
  const Hashtag = ({
24
24
  className,
25
25
  data,
26
+ dark = false,
26
27
  id,
27
28
  text,
28
29
  type,
29
30
  url
30
- } : HashtagProps) => (
31
-
32
-
33
-
34
- <div className={`pb_hashtag_kit_${type}`}>
35
- <a href={url}>
36
- <Badge variant="primary" text={HashType[type] + text}></Badge>
37
- </a>
38
- </div>
39
- )
31
+ } : HashtagProps) => {
32
+ const darkClass = dark === true ? "dark" : ""
33
+
34
+ return (
35
+ <div className={`pb_hashtag_kit_${darkClass}`}>
36
+ <a href={url}>
37
+ <Badge variant="primary" text={HashType[type] + text} dark={dark}></Badge>
38
+ </a>
39
+ </div>
40
+ )
41
+ }
40
42
 
41
43
  export default Hashtag
@@ -1 +1,3 @@
1
-
1
+ [class^=pb_hastag_kit] {
2
+ display: inline-block;
3
+ }
@@ -0,0 +1,9 @@
1
+ <%= pb_rails("hashtag", props: {text: "470297", url: "https://google.com", type: "project", dark: true}) %>
2
+
3
+ <br/><br/>
4
+
5
+ <%= pb_rails("hashtag", props: {text: "123456", url: "https://google.com", type: "home", dark: true}) %>
6
+
7
+ <br/><br/>
8
+
9
+ <%= pb_rails("hashtag", props: {text: "123456", url: "https://google.com", type: "default", dark: true}) %>
@@ -0,0 +1,31 @@
1
+ import React from "react"
2
+ import {Hashtag} from "../../"
3
+
4
+ function HashtagDark() {
5
+ return (
6
+ <div>
7
+ <Hashtag
8
+ dark
9
+ text="470297"
10
+ type="project"
11
+ url="https://google.com"
12
+ />
13
+ <br/>
14
+ <Hashtag
15
+ dark
16
+ text="123456"
17
+ type="home"
18
+ url="https://google.com"
19
+ />
20
+ <br/>
21
+ <Hashtag
22
+ dark
23
+ text="654321"
24
+ type="default"
25
+ url="https://google.com"
26
+ />
27
+ </div>
28
+ )
29
+ }
30
+
31
+ export default HashtagDark;
@@ -9,13 +9,13 @@ function HashtagDefault() {
9
9
  type="project"
10
10
  url="https://google.com"
11
11
  />
12
- <br/><br/>
12
+ <br/>
13
13
  <Hashtag
14
14
  text="123456"
15
15
  type="home"
16
16
  url="https://google.com"
17
17
  />
18
- <br/><br/>
18
+ <br/>
19
19
  <Hashtag
20
20
  text="654321"
21
21
  type="default"
@@ -2,7 +2,8 @@ examples:
2
2
 
3
3
  rails:
4
4
  - hashtag_default: Hashtag Types
5
-
5
+ - hashtag_dark: Dark
6
6
 
7
7
  react:
8
8
  - hashtag_default: Hashtag Types
9
+ - hashtag_dark: Dark
@@ -1 +1,2 @@
1
1
  export {default as HashtagDefault} from './_hashtag_default.jsx';
2
+ export {default as HashtagDark} from './_hashtag_dark.jsx';
@@ -8,13 +8,14 @@ module Playbook
8
8
  partial "pb_hashtag/hashtag"
9
9
 
10
10
  prop :text
11
+ prop :dark, type: Playbook::Props::Boolean, default: false
11
12
  prop :type, type: Playbook::Props::Enum,
12
13
  values: %w[default project home],
13
14
  default: "default"
14
15
  prop :url
15
16
 
16
17
  def classname
17
- generate_classname("pb_hastag_kit")
18
+ generate_classname("pb_hastag_kit", dark_class)
18
19
  end
19
20
 
20
21
  def hashtag_text
@@ -23,6 +24,10 @@ module Playbook
23
24
 
24
25
  private
25
26
 
27
+ def dark_class
28
+ dark ? "dark" : nil
29
+ end
30
+
26
31
  def type_text
27
32
  if type === "home"
28
33
  "H#"
@@ -6,27 +6,33 @@
6
6
  <%= pb_rails "title", props: {
7
7
  classname: "pb_home_address_street_address",
8
8
  size: 4,
9
- text: object.address_house_style
9
+ text: object.address_house_style,
10
+ dark: object.dark
10
11
  } %>
11
12
 
12
13
  <%= pb_rails "title", props: {
13
14
  classname: "pb_home_address_street_address",
14
15
  size: 4,
15
- text: object.address_house_style2
16
+ text: object.address_house_style2,
17
+ dark: object.dark
16
18
  } %>
17
19
 
18
20
  <%= pb_rails "body", props: {
19
21
  color: "light",
20
22
  text: object.city_state_zip,
23
+ dark: object.dark
21
24
  } %>
22
25
 
23
26
  <% if object.home_id %>
24
- <%= pb_rails "body", props: { classname: "home-hashtag", tag: "span" } do %>
25
- H#<%= object.home_id %>
26
- <% end %>
27
+ <%= pb_rails("hashtag", props: {
28
+ text: "#{object.home_id}",
29
+ url: "#",
30
+ type: "home",
31
+ dark: object.dark,
32
+ classname: "home-hashtag"}) %>
27
33
  <% end %>
28
34
 
29
- <%= pb_rails "body", props: { color: "light", tag: "span" } do %>
35
+ <%= pb_rails "body", props: { color: "light", tag: "span", dark: object.dark } do %>
30
36
  <small><%= object.territory %></small>
31
37
  <% end %>
32
38
 
@@ -3,6 +3,8 @@
3
3
 
4
4
  import React from 'react'
5
5
  import classnames from 'classnames'
6
+ import { titleize } from '../utilities/text.js'
7
+
6
8
 
7
9
  import {
8
10
  Body,
@@ -14,10 +16,12 @@ const dot = (houseStyle) =>
14
16
  return "\u00b7"
15
17
  }
16
18
  }
19
+ const titleizeAddessCont = (addressCont) => addressCont ? titleize(addressCont) : null;
20
+
17
21
 
18
22
  type HomeAddressStreetProps = {
19
23
  address: String,
20
- address_cont: String,
24
+ addressCont: String,
21
25
  city: String,
22
26
  className?: String,
23
27
  dark?: Boolean,
@@ -38,7 +42,7 @@ const classes = (className, dark) => (
38
42
 
39
43
  const HomeAddressStreet = ({
40
44
  address,
41
- address_cont,
45
+ addressCont,
42
46
  city,
43
47
  className,
44
48
  dark=false,
@@ -53,16 +57,17 @@ const HomeAddressStreet = ({
53
57
  className="pb_home_address_street_address"
54
58
  size={4}
55
59
  >
56
- {address} {dot(houseStyle)} {houseStyle}
60
+ {titleize(address)} {dot(houseStyle)} {houseStyle}
57
61
  </Title>
62
+
58
63
  <Title
59
64
  className="pb_home_address_street_address"
60
65
  size={4}
61
66
  >
62
- {address_cont}
67
+ {titleizeAddessCont(addressCont)}
63
68
  </Title>
64
69
  <Body color="light">
65
- {city}, {state} {zipcode}
70
+ {titleize(city)}, {state} {zipcode}
66
71
  </Body>
67
72
  <Body
68
73
  className="home-hashtag"
@@ -1,20 +0,0 @@
1
- @import "../tokens/opacity";
2
- @import "../tokens/border_radius";
3
- @import "../tokens/colors";
4
-
5
- [class^=pb_home_address_street] {
6
- .home-hashtag {
7
- background: rgba(6, 77, 255, $opacity_1);
8
- border-radius: $border_rad_light;
9
- font-weight: bold;
10
- font-size: 10px;
11
- color: #064DFF;
12
- letter-spacing: 0;
13
- padding: 1px 3px 1px 5px;
14
- margin-right: 7px;
15
- }
16
-
17
- &[class$=_dark] .pb_home_address_street_address {
18
- color: $white;
19
- }
20
- }
@@ -5,7 +5,7 @@ function HomeAddressStreetDark() {
5
5
  return (
6
6
  <HomeAddressStreet
7
7
  address="70 Prospect Ave"
8
- address_cont="Apt M18"
8
+ addressCont="Apt M18"
9
9
  city="West Chester"
10
10
  dark
11
11
  homeId={8250263}
@@ -5,7 +5,7 @@ function HomeAddressStreetDefault() {
5
5
  return (
6
6
  <HomeAddressStreet
7
7
  address="70 Prospect Ave"
8
- address_cont="Apt M18"
8
+ addressCont="Apt M18"
9
9
  city="West Chester"
10
10
  homeId={8250263}
11
11
  houseStyle="Colonial"
@@ -6,6 +6,7 @@ function HomeAddressStreetModified() {
6
6
  <HomeAddressStreet
7
7
  address="70 Prospect Ave"
8
8
  city="West Chester"
9
+ addressCont="M18"
9
10
  homeId={8250263}
10
11
  state="PA"
11
12
  zipcode="19382"
@@ -22,15 +22,15 @@ module Playbook
22
22
  end
23
23
 
24
24
  def city_state_zip
25
- "#{city}, #{state} #{zipcode}"
25
+ "#{city.titleize}, #{state} #{zipcode}"
26
26
  end
27
27
 
28
28
  def address_house_style
29
- "#{address} #{separator} #{house_style}"
29
+ "#{address.titleize} #{separator} #{house_style}"
30
30
  end
31
31
 
32
32
  def address_house_style2
33
- address_cont
33
+ address_cont&.titleize
34
34
  end
35
35
 
36
36
  def separator
@@ -17,18 +17,24 @@
17
17
 
18
18
  <%= pb_rails("label_pill", props: {
19
19
  label: "Fully Serviced",
20
- pill_value: "198",
20
+ pill_value: "101",
21
21
  variant: "warning"
22
22
  }) %>
23
23
 
24
24
  <%= pb_rails("label_pill", props: {
25
25
  label: "Inbox",
26
- pill_value: "198",
26
+ pill_value: "197",
27
27
  variant: "info"
28
28
  }) %>
29
29
 
30
30
  <%= pb_rails("label_pill", props: {
31
31
  label: "Outbox",
32
- pill_value: "198",
32
+ pill_value: "13",
33
33
  variant: "neutral"
34
34
  }) %>
35
+
36
+ <%= pb_rails("label_pill", props: {
37
+ label: "Inbox",
38
+ pill_value: "218",
39
+ variant: "primary"
40
+ }) %>
@@ -8,7 +8,7 @@ module Playbook
8
8
  partial "pb_label_pill/label_pill"
9
9
 
10
10
  prop :variant, type: Playbook::Props::Enum,
11
- values: %w[success warning error info neutral],
11
+ values: %w[success warning error info neutral primary],
12
12
  default: "neutral"
13
13
  prop :label
14
14
  prop :pill_value
@@ -0,0 +1,67 @@
1
+
2
+ $selector: ".pb_nav_list";
3
+ [class^=pb_nav_list][class*=_horizontal] {
4
+ ul {
5
+ display: flex;
6
+ align-items: center;
7
+ padding: 0;
8
+ margin: 0;
9
+ list-style: none;
10
+ }
11
+
12
+ [class*=_border_item] {
13
+ transition-property: border-color;
14
+ transition-duration: 0.15s;
15
+ transition-timing-function: $bezier;
16
+ padding: 0;
17
+
18
+ [class*=_link] {
19
+ text-decoration: none;
20
+ display: flex;
21
+ align-items: center;
22
+ padding: $space_sm $space_xl;
23
+ border: 0 solid transparent;
24
+ border-width: 0 0 3px 0;
25
+ border-color: $border_light;
26
+ transition-property: color, border-color, background-color;
27
+ transition-duration: 0.15s;
28
+ transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
29
+ color: $text_lt_default;
30
+
31
+ &_icon {
32
+ font-size: $font_large;
33
+ margin-right: $space_sm;
34
+ color: $text_lt_lighter;
35
+ }
36
+
37
+ &_text {
38
+ font-size: $font_base;
39
+ font-weight: $bold;
40
+ color: $text_lt_default;
41
+ }
42
+
43
+ &:hover {
44
+ color: $primary;
45
+ #{$selector}_item_icon,
46
+ #{$selector}_item_text {
47
+ color: $primary;
48
+ }
49
+ }
50
+ }
51
+ }
52
+
53
+ [class*=_active] {
54
+ #{$selector}_item_link {
55
+ border-color: $primary;
56
+
57
+ [class*=_item_icon] {
58
+ color: $text_lt_default;
59
+ }
60
+
61
+ [class*=_item_text] {
62
+ color: $text_lt_default;
63
+ font-weight: $bold;
64
+ }
65
+ }
66
+ }
67
+ }
@@ -2,8 +2,8 @@
2
2
  id: object.id,
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
- <a href=<%= object.link %> class="vertical_nav_list_item_link">
6
- <span class="vertical_nav_list_item_link_text">
5
+ <a href="<%= object.link %>" class="pb_nav_list_item_link">
6
+ <span class="pb_nav_list_item_text">
7
7
  <%= object.text %><%= capture(&object.children) if !object.children.nil? %>
8
8
  </span>
9
9
  </a>
@@ -13,22 +13,22 @@ const defaultProps = {
13
13
  active: false
14
14
  };
15
15
 
16
- class VerticalNavItem extends Component {
16
+ class NavItem extends Component {
17
17
  render() {
18
18
  const { text, link, active } = this.props;
19
19
  return (
20
- <li className={"vertical_nav_list_border_item" + active}>
21
- <a className="vertical_nav_list_item_link"
20
+ <li className={"pb_nav_list_border_item" + active}>
21
+ <a className="pb_nav_list_item_link"
22
22
  href={link}
23
23
  >
24
- <span className="vertical_nav_list_item_link-text">{text}</span>
24
+ <span className="pb_nav_list_item_text">{text}</span>
25
25
  </a>
26
26
  </li>
27
27
  );
28
28
  }
29
29
  }
30
30
 
31
- VerticalNavItem.propTypes = propTypes;
32
- VerticalNavItem.defaultProps = defaultProps;
31
+ NavItem.propTypes = propTypes;
32
+ NavItem.defaultProps = defaultProps;
33
33
 
34
- export default VerticalNavItem;
34
+ export default NavItem;
@@ -3,8 +3,8 @@
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
5
  <% if object.title %>
6
- <%= content_tag(:div, class: "vertical_nav_list_title") do %>
7
- <%= content_tag(:a, class: "vertical_nav_list_item_link_text", href: object.link) do %>
6
+ <%= content_tag(:div, class: "pb_nav_list_title") do %>
7
+ <%= content_tag(:a, class: "pb_nav_list_item_link_text", href: object.link) do %>
8
8
  <%= pb_rails("caption", props: { text: object.title }) %>
9
9
  <% end %>
10
10
  <% end %>
@@ -1,6 +1,6 @@
1
1
  import React, { Component } from "react"
2
2
  import PropTypes from "prop-types"
3
- import VerticalNavItem from "./_item"
3
+ import NavItem from "./_item"
4
4
  import {Caption} from "../"
5
5
 
6
6
  const propTypes = {
@@ -10,12 +10,12 @@ const propTypes = {
10
10
  ])
11
11
  }
12
12
 
13
- class VerticalNav extends Component {
14
- static VerticalNavItem = VerticalNavItem
13
+ class Nav extends Component {
14
+ static NavItem = NavItem
15
15
  render() {
16
16
  return (
17
- <div className="vertical_nav_list">
18
- <div className="vertical_nav_list_title">
17
+ <div className="pb_nav_list">
18
+ <div className="pb_nav_list_title">
19
19
  <a>
20
20
  <Caption />
21
21
  </a>
@@ -26,6 +26,6 @@ class VerticalNav extends Component {
26
26
  }
27
27
  }
28
28
 
29
- VerticalNav.propTypes = propTypes
29
+ Nav.propTypes = propTypes
30
30
 
31
- export default VerticalNav
31
+ export default Nav
@@ -0,0 +1,6 @@
1
+ @import "../tokens/typography";
2
+ @import "../tokens/animation-curves";
3
+ @import "../tokens/spacing";
4
+ @import "../tokens/colors";
5
+ @import "./vertical_nav";
6
+ @import "./horizontal_nav";