playbook_ui 11.0.0.pre.alpha.2 → 11.0.0

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