playbook_ui 11.0.0.pre.alpha.2 → 11.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_background/_background.scss +8 -1
  3. data/app/pb_kits/playbook/pb_background/_background.tsx +9 -1
  4. data/app/pb_kits/playbook/pb_background/background.rb +76 -16
  5. data/app/pb_kits/playbook/pb_background/docs/_background_status.html.erb +14 -2
  6. data/app/pb_kits/playbook/pb_background/docs/_background_status.jsx +43 -2
  7. data/app/pb_kits/playbook/pb_background/docs/_background_status.md +1 -1
  8. data/app/pb_kits/playbook/pb_badge/_badge.tsx +1 -2
  9. data/app/pb_kits/playbook/pb_body/_body.scss +4 -4
  10. data/app/pb_kits/playbook/pb_body/_body.tsx +5 -4
  11. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +7 -3
  12. data/app/pb_kits/playbook/pb_body/body.rb +4 -3
  13. data/app/pb_kits/playbook/pb_body/body.test.js +12 -9
  14. data/app/pb_kits/playbook/pb_body/docs/_body_light.html.erb +4 -4
  15. data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +4 -4
  16. data/app/pb_kits/playbook/pb_body/docs/_description.md +2 -2
  17. data/app/pb_kits/playbook/pb_body/docs/_footer.md +1 -1
  18. data/app/pb_kits/playbook/pb_button/button.rb +5 -5
  19. data/app/pb_kits/playbook/pb_caption/_caption.tsx +1 -1
  20. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +3 -1
  21. data/app/pb_kits/playbook/pb_caption/docs/_caption_colors.html.erb +2 -1
  22. data/app/pb_kits/playbook/pb_caption/docs/_caption_colors.jsx +5 -0
  23. data/app/pb_kits/playbook/pb_card/_card.tsx +5 -5
  24. data/app/pb_kits/playbook/pb_checkbox/{_checkbox.jsx → _checkbox.tsx} +33 -29
  25. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +30 -18
  26. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +3 -0
  27. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +12 -1
  28. data/app/pb_kits/playbook/pb_date_picker/date_picker.test.js +160 -0
  29. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +37 -11
  30. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +1 -1
  31. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_month_and_year.html.erb +2 -2
  32. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_month_and_year.jsx +1 -1
  33. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_month_and_year.md +1 -1
  34. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_time.html.erb +6 -0
  35. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_time.jsx +21 -0
  36. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_time.md +1 -0
  37. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_week.html.erb +5 -0
  38. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_week.jsx +18 -0
  39. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_week.md +1 -0
  40. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +4 -0
  41. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +2 -0
  42. data/app/pb_kits/playbook/pb_date_picker/plugins/timeSelect.js +137 -0
  43. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_day_styles.scss +27 -2
  44. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_flatpickr_styles.scss +1 -5
  45. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +63 -0
  46. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_week_styles.scss +127 -0
  47. data/app/pb_kits/playbook/pb_dialog/_dialog.jsx +60 -14
  48. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default.jsx +1 -1
  49. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_stacked_alert.jsx +153 -0
  50. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_stacked_alert.md +1 -0
  51. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_status.jsx +130 -0
  52. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_status.md +1 -0
  53. data/app/pb_kits/playbook/pb_dialog/docs/example.yml +2 -0
  54. data/app/pb_kits/playbook/pb_dialog/docs/index.js +2 -0
  55. data/app/pb_kits/playbook/pb_form_pill/{_form_pill.jsx → _form_pill.tsx} +16 -12
  56. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_example.jsx +1 -1
  57. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_size.jsx +1 -1
  58. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_tag.jsx +1 -1
  59. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_user.jsx +1 -1
  60. data/app/pb_kits/playbook/pb_hashtag/{_hashtag.jsx → _hashtag.tsx} +3 -4
  61. data/app/pb_kits/playbook/pb_radio/_radio.tsx +86 -0
  62. data/app/pb_kits/playbook/pb_select/{_select.jsx → _select.tsx} +34 -38
  63. data/app/pb_kits/playbook/pb_text_input/{_text_input.jsx → _text_input.tsx} +42 -43
  64. data/app/pb_kits/playbook/tokens/_colors.scss +17 -1
  65. data/app/pb_kits/playbook/utilities/props.ts +2 -2
  66. data/lib/playbook/version.rb +1 -1
  67. metadata +24 -10
  68. data/app/pb_kits/playbook/pb_radio/_radio.jsx +0 -78
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d28e27927e8602f94b1e7899dc68b885a4d6e1c16d68a1fe9193f1906ac4612
4
- data.tar.gz: d4e34b7ed0c56ef0115540018aa793a9916d1c7289262b7100e3096bb0c0b8ec
3
+ metadata.gz: 3801f19c66a84d1760c5731a046e20df793ba1a7f5f2d5df91f51422b521c065
4
+ data.tar.gz: 80abfc9506e8ea1de5d864356f946091a55073419aee8b900de11d2fbec5f7ac
5
5
  SHA512:
6
- metadata.gz: c3e96e40585f37e05faecc618cff08a9c073c3e296aafe6044bbecf647c7011d6042008714d412f8844232a1b68d256060c7ab82a869c1553cb143ac8dfbef4c
7
- data.tar.gz: 2b4b0344dcc62a9e841c41c88a7a8a027d6c442720d2ada777118ae1470fd1eb81e54ec458f3ff19cedb3877df52382ce8c87c03ed1cd926a8720ff46cc87c8b
6
+ metadata.gz: 1a7cd6defa69aaaa7f3b4b7352f719e9dc7941ec1ae8a0dd272b69e6de3769d8f53bcfbf9b6f56bb40b69c713332b1c0f1336c769994f846c4a7b395c7feffae
7
+ data.tar.gz: 55e41eecece21925e7378faa6c7834369cccef09d0737eb0f8c7165e7db6fd3f5ed96fdd4721b218cdb54c44bb4b12ff2ebd908887108581f1843050590671fe
@@ -5,11 +5,18 @@ $additional_colors: (
5
5
  "dark": $bg_dark,
6
6
  "light": $bg_light,
7
7
  "white": $white,
8
+ "primary": $primary_action,
9
+ "shadow": $shadow,
8
10
  );
9
11
 
10
12
  $merge_kits1: map-merge($status_colors, $category_colors);
11
13
  $merge_kits2: map-merge($merge_kits1, $product_colors);
12
- $background_colors: map-merge($additional_colors, $merge_kits2);
14
+ $merge_kits3: map-merge($merge_kits2, $text_colors);
15
+ $merge_kits4: map-merge($merge_kits3, $card_colors);
16
+ $merge_kits5: map-merge($merge_kits4, $status_colors);
17
+ $merge_kits6: map-merge($merge_kits5, $data_colors);
18
+ $merge_kits7: map-merge($merge_kits6, $border_colors);
19
+ $background_colors: map-merge($additional_colors, $merge_kits7);
13
20
 
14
21
  [class^=pb_background_kit] {
15
22
  max-width: 100%;
@@ -6,7 +6,15 @@ import { GlobalProps, globalProps } from '../utilities/globalProps'
6
6
  type BackgroundProps = {
7
7
  alt?: string,
8
8
  aria?: {[key: string]: string},
9
- backgroundColor?: 'gradient' | 'dark' | 'light' | 'white' | 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'primary' | 'category_1' | 'category_2' | 'category_3' | 'category_4' | 'category_5' | 'category_6' | 'category_7' | 'category_8' | 'category_9' | 'category_10' | 'category_11' | 'category_12' | 'category_13' | 'category_14' | 'category_15' | 'category_16' | 'category_17' | 'category_18' | 'category_19' | 'category_20' | 'category_21',
9
+ backgroundColor?: 'gradient' |
10
+ 'dark' |'light' | 'white' | 'success' | 'warning' | 'error' | 'info' | 'neutral' | 'primary' | 'shadow' |
11
+ 'category_1' | 'category_2' | 'category_3' | 'category_4' | 'category_5' | 'category_6' | 'category_7' |
12
+ 'category_8' | 'category_9' | 'category_10' | 'category_11' | 'category_12' | 'category_13' | 'category_14' |
13
+ 'category_15' | 'category_16' | 'category_17' | 'category_18' | 'category_19' | 'category_20' | 'category_21' |
14
+ 'text_lt_default' | 'text_lt_light' | 'text_lt_lighter' | 'text_dk_default' | 'text_dk_light' | 'text_dk_lighter' |
15
+ 'card_light' | 'card_dark' | 'data_1' | 'data_2' | 'data_3' | 'data_4' | 'data_5' | 'data_6' | 'data_7' | 'data_8' |
16
+ 'border_light' | 'border_dark' | 'success_secondary' | 'error_secondary' | 'info_secondary' | 'warning_secondary' |
17
+ 'neutral_secondary' | 'primary_secondary',
10
18
  backgroundRepeat?: 'repeat' | 'repeat-x' | 'repeat-y' | 'no-repeat' | 'space' | 'round' | 'initial' | 'inherit',
11
19
  backgroundSize?: 'auto' | 'cover' | 'contain',
12
20
  children?: React.ReactChild[] | React.ReactNode,
@@ -1,34 +1,93 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # rubocop:disable Layout/HashAlignment
4
+
3
5
  module Playbook
4
6
  module PbBackground
5
7
  class Background < Playbook::KitBase
6
8
  prop :background_color, type: Playbook::Props::Enum,
7
- values: %w[gradient dark light white success warning error info neutral primary category_1 category_2 category_3 category_4 category_5 category_6 category_7 category_8 category_9 category_10 category_11 category_12 category_13 category_14 category_15 category_16 category_17 category_18 category_19 category_20 category_21],
9
+ values: %w[
10
+ gradient
11
+ dark
12
+ light
13
+ white
14
+ success
15
+ warning
16
+ error
17
+ info
18
+ neutral
19
+ primary
20
+ shadow
21
+ category_1
22
+ category_2
23
+ category_3
24
+ category_4
25
+ category_5
26
+ category_6
27
+ category_7
28
+ category_8
29
+ category_9
30
+ category_10
31
+ category_11
32
+ category_12
33
+ category_13
34
+ category_14
35
+ category_15
36
+ category_16
37
+ category_17
38
+ category_18
39
+ category_19
40
+ category_20
41
+ category_21
42
+ success_secondary
43
+ error_secondary
44
+ info_secondary
45
+ warning_secondary
46
+ neutral_secondary
47
+ primary_secondary
48
+ text_lt_default
49
+ text_lt_light
50
+ text_lt_lighter
51
+ text_dk_default
52
+ text_dk_light
53
+ text_dk_lighter
54
+ card_light
55
+ card_dark
56
+ data_1
57
+ data_2
58
+ data_3
59
+ data_4
60
+ data_5
61
+ data_6
62
+ data_7
63
+ data_8
64
+ border_light
65
+ border_dark
66
+ ],
8
67
  default: "light"
9
68
 
10
69
  prop :background_repeat, type: Playbook::Props::Enum,
11
- values: %w[
12
- repeat
13
- repeat-x
14
- repeat-y
15
- no-repeat
16
- space
17
- round
18
- initial
19
- inherit
20
- ],
21
- default: "initial"
70
+ values: %w[
71
+ repeat
72
+ repeat-x
73
+ repeat-y
74
+ no-repeat
75
+ space
76
+ round
77
+ initial
78
+ inherit
79
+ ],
80
+ default: "initial"
22
81
 
23
82
  prop :background_size, type: Playbook::Props::Enum,
24
- values: %w[contain cover auto],
25
- default: "cover"
83
+ values: %w[contain cover auto],
84
+ default: "cover"
26
85
 
27
86
  prop :image_url
28
87
 
29
88
  prop :tag, type: Playbook::Props::Enum,
30
- values: %w[h1 h2 h3 h4 h5 h6 p div span],
31
- default: "div"
89
+ values: %w[h1 h2 h3 h4 h5 h6 p div span],
90
+ default: "div"
32
91
 
33
92
  prop :transition, type: Playbook::Props::Enum,
34
93
  values: ["blur", "fade", "scale", nil],
@@ -55,3 +114,4 @@ module Playbook
55
114
  end
56
115
  end
57
116
  end
117
+ # rubocop:enable Layout/HashAlignment
@@ -1,13 +1,25 @@
1
- <div class="pb--doc-demo-row">
1
+ <%= pb_rails("flex", props: {gap: "md", justify: "center", wrap: true}) do %>
2
2
  <%= pb_rails("background", props: { background_color: "success", padding: "xl" }) do %> <% end %>
3
3
  <br>
4
+ <%= pb_rails("background", props: { background_color: "success_secondary", padding: "xl" }) do %> <% end %>
5
+ <br>
4
6
  <%= pb_rails("background", props: { background_color: "warning", padding: "xl" }) do %> <% end %>
7
+ <br>
8
+ <%= pb_rails("background", props: { background_color: "warning_secondary", padding: "xl" }) do %> <% end %>
5
9
  <br>
6
10
  <%= pb_rails("background", props: { background_color: "error", padding: "xl" }) do %> <% end %>
7
11
  <br>
12
+ <%= pb_rails("background", props: { background_color: "error_secondary", padding: "xl" }) do %> <% end %>
13
+ <br>
8
14
  <%= pb_rails("background", props: { background_color: "info", padding: "xl" }) do %> <% end %>
15
+ <br>
16
+ <%= pb_rails("background", props: { background_color: "info_secondary", padding: "xl" }) do %> <% end %>
9
17
  <br>
10
18
  <%= pb_rails("background", props: { background_color: "neutral", padding: "xl" }) do %> <% end %>
11
19
  <br>
20
+ <%= pb_rails("background", props: { background_color: "neutral_secondary", padding: "xl" }) do %> <% end %>
21
+ <br>
12
22
  <%= pb_rails("background", props: { background_color: "primary", padding: "xl" }) do %> <% end %>
13
- </div>
23
+ <br>
24
+ <%= pb_rails("background", props: { background_color: "primary_secondary", padding: "xl" }) do %> <% end %>
25
+ <%end%>
@@ -1,44 +1,85 @@
1
1
  import React from 'react'
2
2
  import { Background } from '../..'
3
+ import { Flex } from '../..'
3
4
 
4
5
  const BackgroundStatus = (props) => (
5
- <div className="pb--doc-demo-row">
6
+ <Flex
7
+ gap="md"
8
+ justify="center"
9
+ wrap
10
+ >
6
11
  <Background
7
12
  backgroundColor="success"
8
13
  padding="xl"
9
14
  {...props}
10
15
  />
11
16
  <br />
17
+ <Background
18
+ backgroundColor="success_secondary"
19
+ padding="xl"
20
+ {...props}
21
+ />
22
+ <br />
12
23
  <Background
13
24
  backgroundColor="warning"
14
25
  padding="xl"
15
26
  {...props}
16
27
  />
17
28
  <br />
29
+ <Background
30
+ backgroundColor="warning_secondary"
31
+ padding="xl"
32
+ {...props}
33
+ />
34
+ <br />
18
35
  <Background
19
36
  backgroundColor="error"
20
37
  padding="xl"
21
38
  {...props}
22
39
  />
23
40
  <br />
41
+ <Background
42
+ backgroundColor="error_secondary"
43
+ padding="xl"
44
+ {...props}
45
+ />
46
+ <br />
24
47
  <Background
25
48
  backgroundColor="info"
26
49
  padding="xl"
27
50
  {...props}
28
51
  />
29
52
  <br />
53
+ <Background
54
+ backgroundColor="info_secondary"
55
+ padding="xl"
56
+ {...props}
57
+ />
58
+ <br />
30
59
  <Background
31
60
  backgroundColor="neutral"
32
61
  padding="xl"
33
62
  {...props}
34
63
  />
35
64
  <br />
65
+ <Background
66
+ backgroundColor="neutral_secondary"
67
+ padding="xl"
68
+ {...props}
69
+ />
70
+ <br />
36
71
  <Background
37
72
  backgroundColor="primary"
38
73
  padding="xl"
39
74
  {...props}
40
75
  />
41
- </div>
76
+ <br />
77
+ <Background
78
+ backgroundColor="primary_secondary"
79
+ padding="xl"
80
+ {...props}
81
+ />
82
+ </Flex>
42
83
  )
43
84
 
44
85
  export default BackgroundStatus
@@ -1 +1 @@
1
- Status colors can be passed into the background kit. `success`, `warning`, `error`, `info`, `neutral`, and `primary`
1
+ Status colors can be passed into the background kit. `success`, `success_secondary`, `warning`, `warning_secondary`, `error`, `error_secondary`, `info`, `info_secondary`, `neutral`, `neutral_secondary`, `primary`, and `primary_secondary`
@@ -1,7 +1,7 @@
1
1
  import React from 'react'
2
2
  import classnames from 'classnames'
3
3
 
4
- import { GlobalProps, globalProps } from '../utilities/globalProps'
4
+ import { globalProps, GlobalProps } from '../utilities/globalProps'
5
5
  import {
6
6
  buildAriaProps,
7
7
  buildCss,
@@ -26,7 +26,6 @@ type BadgeProps = {
26
26
  text?: string,
27
27
  variant?: "error" | "info" | "neutral" | "primary" | "success" | "warning",
28
28
  } & GlobalProps
29
-
30
29
  const Badge = (props: BadgeProps) => {
31
30
  const {
32
31
  aria = {},
@@ -15,10 +15,10 @@
15
15
 
16
16
  @each $dark_color_name, $dark_color_value in $pb_dark_body_colors{
17
17
  &[class*=_#{$dark_color_name}][class*=dark]{
18
- @include pb_body($dark_color_value);
18
+ @include pb_body($dark_color_value);
19
19
  }
20
20
  }
21
-
21
+
22
22
  @each $status_name, $status_value in $pb_body_status {
23
23
  &[class*=#{$status_name}] {
24
24
  @include pb_body($status_value);
@@ -29,7 +29,7 @@
29
29
  @include pb_body_dark();
30
30
  @each $dark_color_name, $dark_color_value in $pb_dark_body_colors{
31
31
  &[class*=_#{$dark_color_name}][class*=dark]{
32
- @include pb_body($dark_color_value);
32
+ @include pb_body($dark_color_value);
33
33
  }
34
34
  }
35
35
  @each $status_name, $status_value in $pb_body_status {
@@ -38,5 +38,5 @@
38
38
  }
39
39
  }
40
40
  }
41
-
41
+
42
42
  }
@@ -2,7 +2,7 @@ import React from 'react'
2
2
  import classnames from 'classnames'
3
3
 
4
4
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
5
- import { globalProps, GlobalProps } from '../utilities/globalProps'
5
+ import { deprecatedProps, globalProps, GlobalProps } from '../utilities/globalProps'
6
6
 
7
7
  import Highlight from '../pb_highlight/_highlight'
8
8
 
@@ -10,19 +10,20 @@ type BodyProps = {
10
10
  aria?: {[key: string]: string},
11
11
  className?: string,
12
12
  children?: React.ReactChild[] | React.ReactChild,
13
- color?: 'default' | 'light' | 'lighter' | 'link',
13
+ color?: 'default' | 'light' | 'lighter' | 'link' | 'error' | 'success',
14
14
  dark?: boolean,
15
15
  data?: {[key: string]: string},
16
16
  highlightedText?: string[],
17
17
  highlighting?: boolean,
18
18
  id?: string,
19
- status?: 'negative' | 'neutral' | 'positive',
19
+ status?: 'neutral' | 'negative' | 'positive',
20
20
  tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div',
21
21
  text?: string,
22
- variant: null | 'link',
22
+ variant?: null | 'link',
23
23
  } & GlobalProps
24
24
 
25
25
  const Body = (props: BodyProps): React.ReactElement => {
26
+ if (props.variant) deprecatedProps("Body", ["status"]) //status prop is deprecated, use color instead please
26
27
  const {
27
28
  aria = {},
28
29
  children,
@@ -7,19 +7,23 @@ $pb_body_colors: (
7
7
  light: $text_lt_light,
8
8
  lighter: $text_lt_lighter,
9
9
  link: $primary,
10
+ error: $error,
11
+ success: $success,
10
12
  );
11
13
 
12
14
  $pb_dark_body_colors: (
13
15
  default: $text_dk_default,
14
16
  light: $text_dk_light,
15
17
  lighter: $text_dk_lighter,
18
+ error: $error,
19
+ success: $success,
16
20
  );
17
21
 
18
22
  // Order is important here!
19
23
  $pb_body_status: (
20
24
  default: $text_lt_default,
21
25
  negative: $error,
22
- dark_negative: $error_dark_body,
26
+ dark_error: $error_dark_body,
23
27
  positive: $success,
24
28
  );
25
29
 
@@ -58,10 +62,10 @@ $pb_body_status: (
58
62
  @include pb_body($error);
59
63
  }
60
64
 
61
- @mixin pb_body_dark_negative {
65
+ @mixin pb_body_dark_error {
62
66
  @include pb_body($error_dark_body);
63
67
  }
64
68
 
65
69
  @mixin pb_body_positive {
66
70
  @include pb_body($success);
67
- }
71
+ }
@@ -4,11 +4,12 @@ module Playbook
4
4
  module PbBody
5
5
  class Body < Playbook::KitBase
6
6
  prop :color, type: Playbook::Props::Enum,
7
- values: %w[default light lighter link],
7
+ values: %w[default light lighter link success error],
8
8
  default: "default"
9
9
  prop :status, type: Playbook::Props::Enum,
10
- values: %w[neutral negative positive],
11
- default: "neutral"
10
+ values: %w[neutral positive negative],
11
+ default: "neutral",
12
+ deprecated: true
12
13
  prop :tag, type: Playbook::Props::Enum,
13
14
  values: %w[h1 h2 h3 h4 h5 h6 p span div],
14
15
  default: "div"
@@ -16,14 +16,17 @@ test('returns namespaced class name', () => {
16
16
  })
17
17
 
18
18
  test('with colors', () => {
19
- render(
20
- <Body
21
- color="success"
22
- data={{ testid: 'primary-test' }}
23
- text="Test colors"
24
- />
25
- )
19
+ ['light', 'lighter', 'link', 'success', 'error'].forEach((color) => {
20
+ const testId = `colors-test-${color}`
21
+ render(
22
+ <Body
23
+ color={color}
24
+ data={{ testid: testId }}
25
+ text="Test colors"
26
+ />
27
+ )
26
28
 
27
- const kit = screen.getByTestId('primary-test')
28
- expect(kit).toHaveClass('pb_body_kit_success')
29
+ const kit = screen.getByTestId(testId)
30
+ expect(kit).toHaveClass(`pb_body_kit_${color}`)
31
+ })
29
32
  })
@@ -18,11 +18,11 @@
18
18
  }) %>
19
19
 
20
20
  <%= pb_rails("body", props: {
21
- text: "I am a body kit (Status: negative)",
22
- status: "negative"
21
+ text: "I am a body kit (Error)",
22
+ color: "error"
23
23
  }) %>
24
24
 
25
25
  <%= pb_rails("body", props: {
26
- text: "I am a body kit (Status: positive)",
27
- status: "positive"
26
+ text: "I am a body kit (Success)",
27
+ color: "success"
28
28
  }) %>
@@ -24,13 +24,13 @@ const BodyLight = (props) => {
24
24
  {...props}
25
25
  />
26
26
  <Body
27
- status="negative"
28
- text="I am a body kit (Status: negative)"
27
+ color="error"
28
+ text="I am a body kit (Error)"
29
29
  {...props}
30
30
  />
31
31
  <Body
32
- status="positive"
33
- text="I am a body kit (Status: positive)"
32
+ color="success"
33
+ text="I am a body kit (Success)"
34
34
  {...props}
35
35
  />
36
36
  </div>
@@ -1,2 +1,2 @@
1
- Default text style for paragraphs. Follow hiearchy when using "light" or "lighter" variants to deemphasize text — default style should be followed by "light" followed by "lighter".
2
- Use "positive" and "negative" for status. View footer notes for things to avoid.
1
+ Default text style for paragraphs. Follow hiearchy when using "light" or "lighter" variants to deemphasize text — default style should be followed by "light" followed by "lighter".
2
+ Use "success" and "error" for status. View footer notes for things to avoid.
@@ -1,2 +1,2 @@
1
1
  ### Things to Avoid
2
- Do not use positive and negative variants with each other. Use <a href="https://playbook.powerapp.cloud/kits/pill">Pill Kit</a> to show status if the text is short. Otherwise, use positive and negative variants and use them sparingly.
2
+ Do not use positive and negative variants with each other. Use <a href="https://playbook.powerapp.cloud/kits/pill">Pill Kit</a> to show status if the text is short. Otherwise, use positive and negative variants and use them sparingly.
@@ -38,11 +38,11 @@ module Playbook
38
38
  end
39
39
 
40
40
  def link_options
41
- options.merge(
42
- href: link,
43
- role: "link",
44
- target: new_window ? "_blank" : "_self"
45
- )
41
+ options.tap do |option|
42
+ option[:href] = link
43
+ option[:role] = "link"
44
+ option[:target] = "_blank" if new_window
45
+ end
46
46
  end
47
47
 
48
48
  def tag
@@ -5,7 +5,7 @@ import { deprecatedProps, globalProps, GlobalProps } from '../utilities/globalPr
5
5
 
6
6
  type CaptionProps = {
7
7
  aria?: {[key: string]: string},
8
- children: React.ReactChild[],
8
+ children?: React.ReactChild[],
9
9
  className?: string,
10
10
  color?: "default" | "light" | "lighter" | "success" | "error" | "link",
11
11
  data?: {[key: string]: string},
@@ -14,6 +14,8 @@ $pb_dark_caption_colors: (
14
14
  default: $text_dk_default,
15
15
  light: $text_dk_light,
16
16
  link: $primary,
17
+ success: $success,
18
+ error: $error,
17
19
  );
18
20
 
19
21
 
@@ -48,4 +50,4 @@ $pb_dark_caption_colors: (
48
50
  color: $color
49
51
  }
50
52
  }
51
- }
53
+ }
@@ -1,3 +1,4 @@
1
1
  <%= pb_rails("caption", props: { text: "Test colors" }) %>
2
2
  <%= pb_rails("caption", props: { text: "Test colors", color: "success" }) %>
3
- <%= pb_rails("caption", props: { text: "Test colors", color: "link" }) %>
3
+ <%= pb_rails("caption", props: { text: "Test colors", color: "error" }) %>
4
+ <%= pb_rails("caption", props: { text: "Test colors", color: "link" }) %>
@@ -13,6 +13,11 @@ const CaptionColors = (props) => {
13
13
  text="Test colors"
14
14
  {...props}
15
15
  />
16
+ <Caption
17
+ color="error"
18
+ text="Test colors"
19
+ {...props}
20
+ />
16
21
  <Caption
17
22
  color="link"
18
23
  text="Test colors"
@@ -6,7 +6,7 @@ import classnames from 'classnames'
6
6
 
7
7
  import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
8
8
  import { GlobalProps, globalProps } from '../utilities/globalProps'
9
- import type { ProductColors, CategoryColors, BackgroundColors } from '../types'
9
+ import type { ProductColors, CategoryColors, BackgroundColors } from '../types/colors'
10
10
 
11
11
  type CardPropTypes = {
12
12
  aria?: {[key: string]: string},
@@ -83,10 +83,10 @@ const Card = (props: CardPropTypes) => {
83
83
  const borderCSS = borderNone == true ? 'border_none' : ''
84
84
  const selectedCSS = selected == true ? 'selected' : 'deselected'
85
85
  const backgroundCSS = background == 'none' ? '' : `background_${background}`
86
- const cardCss = buildCss('pb_card_kit', selectedCSS, borderCSS, `border_radius_${borderRadius}`, backgroundCSS,
87
- `highlight_${highlight.position}`,
88
- `highlight_${highlight.color}`,
89
- )
86
+ const cardCss = buildCss('pb_card_kit', selectedCSS, borderCSS, `border_radius_${borderRadius}`, backgroundCSS, {
87
+ [`highlight_${highlight.position}`]: highlight.position,
88
+ [`highlight_${highlight.color}`]: highlight.color,
89
+ })
90
90
  const ariaProps: {[key: string]: string} = buildAriaProps(aria)
91
91
  const dataProps: {[key: string]: string} = buildDataProps(data)
92
92