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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_background/_background.scss +8 -1
- data/app/pb_kits/playbook/pb_background/_background.tsx +9 -1
- data/app/pb_kits/playbook/pb_background/background.rb +76 -16
- data/app/pb_kits/playbook/pb_background/docs/_background_status.html.erb +14 -2
- data/app/pb_kits/playbook/pb_background/docs/_background_status.jsx +43 -2
- data/app/pb_kits/playbook/pb_background/docs/_background_status.md +1 -1
- data/app/pb_kits/playbook/pb_badge/_badge.tsx +1 -2
- data/app/pb_kits/playbook/pb_body/_body.scss +4 -4
- data/app/pb_kits/playbook/pb_body/_body.tsx +5 -4
- data/app/pb_kits/playbook/pb_body/_body_mixins.scss +7 -3
- data/app/pb_kits/playbook/pb_body/body.rb +4 -3
- data/app/pb_kits/playbook/pb_body/body.test.js +12 -9
- data/app/pb_kits/playbook/pb_body/docs/_body_light.html.erb +4 -4
- data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +4 -4
- data/app/pb_kits/playbook/pb_body/docs/_description.md +2 -2
- data/app/pb_kits/playbook/pb_body/docs/_footer.md +1 -1
- data/app/pb_kits/playbook/pb_button/button.rb +5 -5
- data/app/pb_kits/playbook/pb_caption/_caption.tsx +1 -1
- data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +3 -1
- data/app/pb_kits/playbook/pb_caption/docs/_caption_colors.html.erb +2 -1
- data/app/pb_kits/playbook/pb_caption/docs/_caption_colors.jsx +5 -0
- data/app/pb_kits/playbook/pb_card/_card.tsx +5 -5
- data/app/pb_kits/playbook/pb_checkbox/{_checkbox.jsx → _checkbox.tsx} +33 -29
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +30 -18
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +3 -0
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +12 -1
- data/app/pb_kits/playbook/pb_date_picker/date_picker.test.js +160 -0
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +37 -11
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +1 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_month_and_year.html.erb +2 -2
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_month_and_year.jsx +1 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_month_and_year.md +1 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_time.html.erb +6 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_time.jsx +21 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_time.md +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_week.html.erb +5 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_week.jsx +18 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_week.md +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +4 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_date_picker/plugins/timeSelect.js +137 -0
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_day_styles.scss +27 -2
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_flatpickr_styles.scss +1 -5
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +63 -0
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_week_styles.scss +127 -0
- data/app/pb_kits/playbook/pb_dialog/_dialog.jsx +60 -14
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_stacked_alert.jsx +153 -0
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_stacked_alert.md +1 -0
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_status.jsx +130 -0
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_status.md +1 -0
- data/app/pb_kits/playbook/pb_dialog/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_dialog/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_form_pill/{_form_pill.jsx → _form_pill.tsx} +16 -12
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_example.jsx +1 -1
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_size.jsx +1 -1
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_tag.jsx +1 -1
- data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_user.jsx +1 -1
- data/app/pb_kits/playbook/pb_hashtag/{_hashtag.jsx → _hashtag.tsx} +3 -4
- data/app/pb_kits/playbook/pb_radio/_radio.tsx +86 -0
- data/app/pb_kits/playbook/pb_select/{_select.jsx → _select.tsx} +34 -38
- data/app/pb_kits/playbook/pb_text_input/{_text_input.jsx → _text_input.tsx} +42 -43
- data/app/pb_kits/playbook/tokens/_colors.scss +17 -1
- data/app/pb_kits/playbook/utilities/props.ts +2 -2
- data/lib/playbook/version.rb +1 -1
- metadata +24 -10
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3801f19c66a84d1760c5731a046e20df793ba1a7f5f2d5df91f51422b521c065
|
4
|
+
data.tar.gz: 80abfc9506e8ea1de5d864356f946091a55073419aee8b900de11d2fbec5f7ac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
$
|
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' |
|
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[
|
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
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
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
|
-
|
25
|
-
|
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
|
-
|
31
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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`,
|
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 {
|
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?: '
|
19
|
+
status?: 'neutral' | 'negative' | 'positive',
|
20
20
|
tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div',
|
21
21
|
text?: string,
|
22
|
-
variant
|
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
|
-
|
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
|
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
|
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
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
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
|
-
|
28
|
-
|
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 (
|
22
|
-
|
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 (
|
27
|
-
|
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
|
-
|
28
|
-
text="I am a body kit (
|
27
|
+
color="error"
|
28
|
+
text="I am a body kit (Error)"
|
29
29
|
{...props}
|
30
30
|
/>
|
31
31
|
<Body
|
32
|
-
|
33
|
-
text="I am a body kit (
|
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 "
|
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.
|
42
|
-
href
|
43
|
-
role
|
44
|
-
target
|
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
|
8
|
+
children?: React.ReactChild[],
|
9
9
|
className?: string,
|
10
10
|
color?: "default" | "light" | "lighter" | "success" | "error" | "link",
|
11
11
|
data?: {[key: string]: string},
|
@@ -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: "
|
3
|
+
<%= pb_rails("caption", props: { text: "Test colors", color: "error" }) %>
|
4
|
+
<%= pb_rails("caption", props: { text: "Test colors", color: "link" }) %>
|
@@ -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
|
|