playbook_ui 2.9.7 → 2.9.8

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 (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";