playbook_ui 14.12.0.pre.alpha.PLAY1602lightboxoverlapnitrobug5781 → 14.12.0.pre.alpha.PLAY18565866

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +9 -0
  3. data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +11 -7
  4. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +6 -7
  5. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.jsx +9 -3
  6. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.jsx +6 -2
  7. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +71 -36
  8. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +6 -6
  9. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +1 -0
  10. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -6
  11. data/app/pb_kits/playbook/pb_filter/filter.html.erb +1 -5
  12. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_auto_close.html.erb +58 -0
  13. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_auto_close_rails.md +3 -0
  14. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +1 -0
  15. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/index.js +7 -5
  16. data/app/pb_kits/playbook/pb_form_group/form_group.html.erb +1 -6
  17. data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +1 -1
  18. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +11 -7
  19. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting.html.erb +11 -0
  20. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting.jsx +22 -0
  21. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting_rails.md +1 -0
  22. data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting_react.md +1 -0
  23. data/app/pb_kits/playbook/pb_home_address_street/docs/example.yml +2 -0
  24. data/app/pb_kits/playbook/pb_home_address_street/docs/index.js +1 -0
  25. data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +11 -2
  26. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +6 -7
  27. data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.html.erb +6 -9
  28. data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.jsx +6 -9
  29. data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +26 -0
  30. data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +0 -1
  31. data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +25 -0
  32. data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +25 -0
  33. data/app/pb_kits/playbook/pb_user/_user.tsx +3 -0
  34. data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.html.erb +42 -0
  35. data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.jsx +59 -0
  36. data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.md +2 -0
  37. data/app/pb_kits/playbook/pb_user/docs/example.yml +2 -0
  38. data/app/pb_kits/playbook/pb_user/docs/index.js +1 -0
  39. data/app/pb_kits/playbook/pb_user/user.html.erb +1 -1
  40. data/app/pb_kits/playbook/pb_user/user.rb +1 -0
  41. data/app/pb_kits/playbook/pb_user/user.test.js +14 -0
  42. data/dist/chunks/{_typeahead-BIhRQo8Q.js → _typeahead-W0hatdPs.js} +2 -2
  43. data/dist/chunks/{_weekday_stacked-CttHBFW3.js → _weekday_stacked-C98LOqgG.js} +2 -2
  44. data/dist/chunks/vendor.js +1 -1
  45. data/dist/playbook-doc.js +1 -1
  46. data/dist/playbook-rails-react-bindings.js +1 -1
  47. data/dist/playbook-rails.js +1 -1
  48. data/dist/playbook.css +1 -1
  49. data/lib/playbook/version.rb +1 -1
  50. metadata +14 -5
  51. /data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/{_fixed_confirmation_toast_auto_close.md → _fixed_confirmation_toast_auto_close_react.md} +0 -0
@@ -0,0 +1 @@
1
+ The `state` prop will always capitalize the state name, even if the data entered is in lowercase. For example, when `state="pa"` is passed, it will be rendered as "PA". When you pass `preserve_case: true`, the street address will be rendered exactly as entered, without automatic title capitalization.
@@ -0,0 +1 @@
1
+ The `state` prop will always capitalize the state name, even if the data entered is in lowercase. For example, when `state="pa"` is passed, it will be rendered as "PA". When you pass `preserveCase`, the street address will be rendered exactly as entered, without automatic title capitalization.
@@ -5,12 +5,14 @@ examples:
5
5
  - home_address_street_emphasis: Emphasis
6
6
  - home_address_street_modified: Modified
7
7
  - home_address_street_link: Link
8
+ - home_address_street_formatting: Formatting
8
9
 
9
10
  react:
10
11
  - home_address_street_default: Default
11
12
  - home_address_street_emphasis: Emphasis
12
13
  - home_address_street_modified: Modified
13
14
  - home_address_street_link: Link
15
+ - home_address_street_formatting: Formatting
14
16
 
15
17
  swift:
16
18
  - home_address_street_default_swift: Default
@@ -2,3 +2,4 @@ export { default as HomeAddressStreetDefault } from './_home_address_street_defa
2
2
  export { default as HomeAddressStreetEmphasis } from './_home_address_street_emphasis.jsx'
3
3
  export { default as HomeAddressStreetModified } from './_home_address_street_modified.jsx'
4
4
  export { default as HomeAddressStreetLink } from './_home_address_street_link.jsx'
5
+ export { default as HomeAddressStreetFormatting } from './_home_address_street_formatting.jsx'
@@ -18,6 +18,7 @@ module Playbook
18
18
  prop :state
19
19
  prop :zipcode
20
20
  prop :territory
21
+ prop :preserve_case, default: false
21
22
  prop :dark, type: Playbook::Props::Boolean, default: false
22
23
 
23
24
  def classname
@@ -29,7 +30,7 @@ module Playbook
29
30
  end
30
31
 
31
32
  def city_state
32
- [city&.titleize, state].join(", ")
33
+ [city&.titleize, state&.upcase].join(", ")
33
34
  end
34
35
 
35
36
  def zip
@@ -37,7 +38,7 @@ module Playbook
37
38
  end
38
39
 
39
40
  def address_house_style
40
- [address&.titleize, house_style].join(separator)
41
+ [format_street_address, house_style].join(separator)
41
42
  end
42
43
 
43
44
  def address_house_style2
@@ -48,6 +49,14 @@ module Playbook
48
49
  house_style ? " \u00b7 " : ""
49
50
  end
50
51
 
52
+ def format_street_address
53
+ preserve_case ? address : custom_titleize(address)
54
+ end
55
+
56
+ def custom_titleize(str)
57
+ str.split(" ").map(&:capitalize).join(" ")
58
+ end
59
+
51
60
  def city_emphasis_props
52
61
  {
53
62
  address_house_style: address_house_style,
@@ -2,7 +2,6 @@
2
2
  @import "../tokens/screen_sizes";
3
3
 
4
4
  $slides-margin: $space-md;
5
- $lightbox-z-index-floor: $z_10 !default;
6
5
 
7
6
  .carousel {
8
7
 
@@ -14,7 +13,7 @@ $lightbox-z-index-floor: $z_10 !default;
14
13
  top: 0;
15
14
  left: 0;
16
15
  right: 0;
17
- z-index: $lightbox-z-index-floor + 99;
16
+ z-index: 9999999;
18
17
  align-items: center;
19
18
  transition: all .5s;
20
19
 
@@ -56,7 +55,7 @@ $lightbox-z-index-floor: $z_10 !default;
56
55
  justify-content: space-between;
57
56
  flex-direction: column;
58
57
  background-color: black;
59
- z-index: $lightbox-z-index-floor + 1;
58
+ z-index: 1;
60
59
  overflow: hidden;
61
60
  }
62
61
 
@@ -64,7 +63,7 @@ $lightbox-z-index-floor: $z_10 !default;
64
63
  display: flex;
65
64
  height: calc(100% - 120px);
66
65
  width: 100%;
67
- z-index: $lightbox-z-index-floor + 1;
66
+ z-index: 1;
68
67
 
69
68
  [class^="react-transform-wrapper"] {
70
69
  flex-shrink: 0;
@@ -88,7 +87,7 @@ $lightbox-z-index-floor: $z_10 !default;
88
87
  .carousel-arrow-left {
89
88
  display: block;
90
89
  position: absolute;
91
- z-index: $lightbox-z-index-floor + 4;
90
+ z-index: 4;
92
91
  top: 50%;
93
92
  @media only screen and (max-width: $screen-xs-max) {
94
93
  display: none;
@@ -98,7 +97,7 @@ $lightbox-z-index-floor: $z_10 !default;
98
97
  .carousel-arrow-right {
99
98
  display: block;
100
99
  position: absolute;
101
- z-index: $lightbox-z-index-floor + 4;
100
+ z-index: 4;
102
101
  top: 50%;
103
102
  right: 0;
104
103
  @media only screen and (max-width: $screen-xs-max) {
@@ -141,7 +140,7 @@ $lightbox-z-index-floor: $z_10 !default;
141
140
  width: 100vw;
142
141
  padding: 3px;
143
142
  overflow: scroll;
144
- z-index: $lightbox-z-index-floor + 20;
143
+ z-index: 20;
145
144
  &.centered {
146
145
  justify-content: center;
147
146
  }
@@ -39,20 +39,17 @@
39
39
  </tr>
40
40
  </tbody>
41
41
  <% end %>
42
-
43
42
  <%= pb_rails("table", props: { size: "sm", margin_bottom: "lg" }) do %>
44
43
  <colgroup>
45
44
  <%= pb_rails("background", props: { background_color: "error_subtle", tag: "col" }) %>
46
- <%= pb_rails("background", props: { background_color: "card_light", tag: "col" }) %>
45
+ <%= pb_rails("background", props: { background_color: "info_subtle", tag: "col" }) %>
47
46
  <%= pb_rails("background", props: { background_color: "warning_subtle", tag: "col" }) %>
48
47
  </colgroup>
49
- <%= pb_rails("background", props: { background_color: "card_light", tag: "thead" }) do %>
50
- <tr>
51
- <th>Column 1</th>
52
- <th>Column 2</th>
53
- <th>Column 3</th>
54
- </tr>
55
- <% end %>
48
+ <thead>
49
+ <th>Column 1</th>
50
+ <th>Column 2</th>
51
+ <th>Column 3</th>
52
+ </thead>
56
53
  <tbody>
57
54
  <tr>
58
55
  <td>Value 1</td>
@@ -68,7 +68,7 @@ const TableWithBackgroundKit = (props) => {
68
68
  tag='col'
69
69
  />
70
70
  <Background
71
- backgroundColor="card_light"
71
+ backgroundColor="info_subtle"
72
72
  tag='col'
73
73
  />
74
74
  <Background
@@ -76,16 +76,13 @@ const TableWithBackgroundKit = (props) => {
76
76
  tag='col'
77
77
  />
78
78
  </colgroup>
79
- <Background
80
- backgroundColor="card_light"
81
- tag='thead'
82
- >
79
+ <thead>
83
80
  <tr>
84
- <th>{'Column 1'}</th>
85
- <th>{'Column 2'}</th>
86
- <th>{'Column 3'}</th>
81
+ <th>{'Column 1'}</th>
82
+ <th>{'Column 2'}</th>
83
+ <th>{'Column 3'}</th>
87
84
  </tr>
88
- </Background>
85
+ </thead>
89
86
  <tbody>
90
87
  <tr>
91
88
  <td>{'Value 1'}</td>
@@ -74,6 +74,31 @@
74
74
  &.table-card {
75
75
  background: none !important;
76
76
 
77
+ &.dark {
78
+ tbody, .pb_table_tbody {
79
+ tr, .pb_table_tr {
80
+ td, .pb_table_td {
81
+ background: $bg_dark_card !important;
82
+ border-color: $border_dark !important;
83
+ &:before {
84
+ color: $text_dk_light !important;
85
+ }
86
+ &:after {
87
+ height: 0;
88
+ background-color: transparent;
89
+ }
90
+
91
+ &:first-child {
92
+ border-radius: $border_rad_light $border_rad_light 0 0 !important;
93
+ }
94
+ &:last-child {
95
+ border-radius: 0 0 $border_rad_light $border_rad_light !important;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+
77
102
  tbody, .pb_table_tbody {
78
103
  tr, .pb_table_tr {
79
104
  td, .pb_table_td {
@@ -81,6 +106,7 @@
81
106
  border-left-width: 1px !important;
82
107
  border-right-width: 1px !important;
83
108
  border-top-width: 1px !important;
109
+
84
110
  &:after {
85
111
  height: 0;
86
112
  background-color: transparent;
@@ -77,7 +77,6 @@
77
77
  tbody, .pb_table_tbody {
78
78
  tr, .pb_table_tr {
79
79
  td, .pb_table_td {
80
- background: $white !important;
81
80
  border-left-width: 1px !important;
82
81
  border-right-width: 1px !important;
83
82
  border-top-width: 1px !important;
@@ -74,6 +74,31 @@
74
74
  &.table-card {
75
75
  background: none !important;
76
76
 
77
+ &.dark {
78
+ tbody, .pb_table_tbody {
79
+ tr, .pb_table_tr {
80
+ td, .pb_table_td {
81
+ background: $bg_dark_card !important;
82
+ border-color: $border_dark !important;
83
+ &:before {
84
+ color: $text_dk_light !important;
85
+ }
86
+ &:after {
87
+ height: 0;
88
+ background-color: transparent;
89
+ }
90
+
91
+ &:first-child {
92
+ border-radius: $border_rad_light $border_rad_light 0 0 !important;
93
+ }
94
+ &:last-child {
95
+ border-radius: 0 0 $border_rad_light $border_rad_light !important;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+
77
102
  tbody, .pb_table_tbody {
78
103
  tr, .pb_table_tr {
79
104
  td, .pb_table_td {
@@ -74,6 +74,31 @@
74
74
  &.table-card {
75
75
  background: none !important;
76
76
 
77
+ &.dark {
78
+ tbody, .pb_table_tbody {
79
+ tr, .pb_table_tr {
80
+ td, .pb_table_td {
81
+ background: $bg_dark_card !important;
82
+ border-color: $border_dark !important;
83
+ &:before {
84
+ color: $text_dk_light !important;
85
+ }
86
+ &:after {
87
+ height: 0;
88
+ background-color: transparent;
89
+ }
90
+
91
+ &:first-child {
92
+ border-radius: $border_rad_light $border_rad_light 0 0 !important;
93
+ }
94
+ &:last-child {
95
+ border-radius: 0 0 $border_rad_light $border_rad_light !important;
96
+ }
97
+ }
98
+ }
99
+ }
100
+ }
101
+
77
102
  tbody, .pb_table_tbody {
78
103
  tr, .pb_table_tr {
79
104
  td, .pb_table_td {
@@ -13,6 +13,7 @@ type UserProps = {
13
13
  aria?: {[key: string]: string},
14
14
  avatar?: boolean,
15
15
  avatarUrl?: string,
16
+ bold?: boolean,
16
17
  className?: string,
17
18
  dark?: boolean,
18
19
  data?: {[key: string]: string},
@@ -32,6 +33,7 @@ const User = (props: UserProps): React.ReactElement => {
32
33
  aria = {},
33
34
  avatar = false,
34
35
  avatarUrl,
36
+ bold = true,
35
37
  className,
36
38
  dark = false,
37
39
  data = {},
@@ -75,6 +77,7 @@ const User = (props: UserProps): React.ReactElement => {
75
77
  }
76
78
  <div className="content_wrapper">
77
79
  <Title
80
+ bold={bold}
78
81
  dark={dark}
79
82
  size={size == 'lg' ? 3 : 4}
80
83
  text={name}
@@ -0,0 +1,42 @@
1
+ <div class="pb--doc-demo-row">
2
+ <div>
3
+ <%= pb_rails("user", props: {
4
+ name: "Anna Black",
5
+ title: "Remodeling Consultant",
6
+ orientation: "vertical",
7
+ align: "center",
8
+ size: "lg",
9
+ avatar_url: "https://randomuser.me/api/portraits/women/44.jpg",
10
+ bold: false
11
+ }) %>
12
+ </div>
13
+ <div>
14
+ <%= pb_rails("user", props: {
15
+ name: "Anna Black",
16
+ title: "Remodeling Consultant",
17
+ orientation: "horizontal",
18
+ align: "left",
19
+ avatar_url: "https://randomuser.me/api/portraits/women/44.jpg",
20
+ bold: false
21
+ }) %>
22
+ </div>
23
+ <div>
24
+ <%= pb_rails("user", props: {
25
+ name: "Anna Black",
26
+ orientation: "horizontal",
27
+ align: "left",
28
+ avatar_url: "https://randomuser.me/api/portraits/women/44.jpg",
29
+ bold: false
30
+ }) %>
31
+
32
+ <br>
33
+
34
+ <%= pb_rails("user", props: {
35
+ name: "Anna Black",
36
+ orientation: "horizontal",
37
+ align: "left",
38
+ avatar: true,
39
+ bold: false
40
+ }) %>
41
+ </div>
42
+ </div>
@@ -0,0 +1,59 @@
1
+ import React from 'react'
2
+ import { User } from 'playbook-ui'
3
+
4
+ const UserLightWeight = (props) => {
5
+ return (
6
+ <div className="pb--doc-demo-row">
7
+
8
+ <div>
9
+ <User
10
+ align="center"
11
+ avatarUrl="https://randomuser.me/api/portraits/women/44.jpg"
12
+ bold={false}
13
+ name="Anna Black"
14
+ orientation="vertical"
15
+ size="lg"
16
+ title="Remodeling Consultant"
17
+ {...props}
18
+ />
19
+ </div>
20
+
21
+ <div>
22
+ <User
23
+ align="left"
24
+ avatarUrl="https://randomuser.me/api/portraits/women/44.jpg"
25
+ bold={false}
26
+ name="Anna Black"
27
+ orientation="horizontal"
28
+ title="Remodeling Consultant"
29
+ {...props}
30
+ />
31
+ </div>
32
+
33
+ <div>
34
+ <User
35
+ align="left"
36
+ avatarUrl="https://randomuser.me/api/portraits/women/44.jpg"
37
+ bold={false}
38
+ name="Anna Black"
39
+ orientation="horizontal"
40
+ {...props}
41
+ />
42
+
43
+ <br />
44
+
45
+ <User
46
+ align="left"
47
+ avatar
48
+ bold={false}
49
+ name="Anna Black"
50
+ orientation="horizontal"
51
+ {...props}
52
+ />
53
+ </div>
54
+
55
+ </div>
56
+ )
57
+ }
58
+
59
+ export default UserLightWeight
@@ -0,0 +1,2 @@
1
+ ##### Prop
2
+ Name will use `font-weight: 700` by default, if you want a lighter font weight, use the `bold` prop set to `false`. Name will then use `font-weight: 300`.
@@ -2,6 +2,7 @@ examples:
2
2
 
3
3
  rails:
4
4
  - user_default: Default
5
+ - user_light_weight: Light Weight
5
6
  - user_with_territory: With Territory
6
7
  - user_text_only: Text Only
7
8
  - user_size: Horizontal Size
@@ -11,6 +12,7 @@ examples:
11
12
 
12
13
  react:
13
14
  - user_default: Default
15
+ - user_light_weight: Light Weight
14
16
  - user_with_territory: With Territory
15
17
  - user_text_only: Text Only
16
18
  - user_size: Horizontal Size
@@ -1,4 +1,5 @@
1
1
  export { default as UserDefault } from './_user_default.jsx'
2
+ export { default as UserLightWeight } from './_user_light_weight.jsx'
2
3
  export { default as UserWithTerritory } from './_user_with_territory.jsx'
3
4
  export { default as UserTextOnly } from './_user_text_only.jsx'
4
5
  export { default as UserSize } from './_user_size.jsx'
@@ -12,7 +12,7 @@
12
12
  }) %>
13
13
  <% end %>
14
14
  <%= content_tag(:div, class: "content_wrapper") do %>
15
- <%= pb_rails("title", props: { text: object.name, size: object.title_size, dark: object.dark }) %>
15
+ <%= pb_rails("title", props: { text: object.name, size: object.title_size, dark: object.dark, bold: object.bold }) %>
16
16
  <%= pb_rails("body", props: {
17
17
  text: "#{object.details}",
18
18
  dark: object.dark,
@@ -9,6 +9,7 @@ module Playbook
9
9
  prop :avatar, type: Playbook::Props::Boolean,
10
10
  default: false
11
11
  prop :avatar_url
12
+ prop :bold, type: Playbook::Props::Boolean, default: true
12
13
  prop :name
13
14
  prop :orientation, type: Playbook::Props::Enum,
14
15
  values: %w[vertical horizontal],
@@ -26,3 +26,17 @@ test('subtitle prop accepts a node', () => {
26
26
 
27
27
  expect(screen.getByTestId('test-subtitle-block')).toHaveTextContent('test caption')
28
28
  })
29
+
30
+ test('bold prop applies correct styling when false', () => {
31
+ render(
32
+ <User
33
+ bold={false}
34
+ data={{ testid: 'test-bold-false' }}
35
+ name="Anna Black"
36
+ />
37
+ )
38
+ const titleElement = screen.getByText("Anna Black")
39
+ expect(titleElement).toBeInTheDocument()
40
+
41
+ expect(titleElement).toHaveClass('pb_title_kit_size_4_thin')
42
+ })