playbook_ui 14.25.0.pre.alpha.testingcss9713 → 14.25.0.pre.alpha.testingcss9751
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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_avatar/avatar.test.js +1 -1
- data/app/pb_kits/playbook/pb_badge/_badge.scss +120 -12
- data/app/pb_kits/playbook/pb_body/_body.scss +108 -35
- data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -1
- data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +16 -29
- data/app/pb_kits/playbook/pb_button/_button.scss +39 -31
- data/app/pb_kits/playbook/pb_button/_button.tsx +12 -12
- data/app/pb_kits/playbook/pb_button/_button_mixins.scss +2 -2
- data/app/pb_kits/playbook/pb_button/button.rb +11 -18
- data/app/pb_kits/playbook/pb_button/button.test.js +3 -3
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +82 -73
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +32 -33
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +1 -1
- data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +2 -2
- data/app/pb_kits/playbook/pb_caption/_caption.scss +100 -17
- data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +1 -8
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +11 -2
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +6 -6
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +1 -1
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +1 -1
- data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +19 -19
- data/app/pb_kits/playbook/pb_currency/_currency.scss +118 -33
- data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +16 -6
- data/app/pb_kits/playbook/pb_date/_date.scss +14 -16
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +10 -10
- data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +25 -19
- data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
- data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
- data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +66 -26
- data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
- data/app/pb_kits/playbook/pb_date_time/_date_time.scss +5 -12
- data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +2 -3
- data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -14
- data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
- data/app/pb_kits/playbook/pb_detail/_detail.scss +86 -21
- data/app/pb_kits/playbook/pb_dialog/_dialog.scss +463 -65
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +16 -2
- data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +10 -7
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +2 -2
- data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
- data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
- data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +20 -9
- data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
- data/app/pb_kits/playbook/pb_filter/_filter.scss +3 -3
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +65 -29
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
- data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +1 -1
- data/app/pb_kits/playbook/pb_form_group/_error_state_mixin.scss +1 -1
- data/app/pb_kits/playbook/pb_form_group/_form_group.scss +48 -48
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +381 -344
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +8 -7
- data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +9 -2
- data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
- data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
- data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +40 -39
- data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
- data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.scss +15 -15
- data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
- data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +16 -15
- data/app/pb_kits/playbook/pb_image/_image.scss +41 -36
- data/app/pb_kits/playbook/pb_label_value/_label_value.scss +3 -2
- data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
- data/app/pb_kits/playbook/pb_legend/_legend.scss +66 -16
- data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
- data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
- data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_link/_link.scss +113 -19
- data/app/pb_kits/playbook/pb_list/_list.scss +9 -9
- data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +13 -11
- data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
- data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
- data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
- data/app/pb_kits/playbook/pb_message/_message.scss +20 -15
- data/app/pb_kits/playbook/pb_message/_message.tsx +1 -0
- data/app/pb_kits/playbook/pb_message/_message_mixins.scss +5 -12
- data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +4 -1
- data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +16 -15
- data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +10 -10
- data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +9 -9
- data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
- data/app/pb_kits/playbook/pb_online_status/_online_status.scss +19 -15
- data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
- data/app/pb_kits/playbook/pb_online_status/online_status.rb +5 -4
- data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
- data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
- data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
- data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +5 -2
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
- data/app/pb_kits/playbook/pb_pill/_pill.scss +23 -21
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +12 -10
- data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +106 -31
- data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +37 -37
- data/app/pb_kits/playbook/pb_radio/_radio.scss +71 -52
- data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
- data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +0 -3
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +80 -69
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +9 -1
- data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +3 -1
- data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +7 -1
- data/app/pb_kits/playbook/pb_select/_select.scss +2 -2
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -2
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +13 -4
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +39 -29
- data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +2 -0
- data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +8 -11
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +24 -25
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
- data/app/pb_kits/playbook/pb_source/_source.scss +5 -5
- data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
- data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_alignment.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_content.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_headers.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_hover.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_outer_padding.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_reset.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_scroll.scss +12 -12
- data/app/pb_kits/playbook/pb_table/styles/_side_highlight.scss +2 -2
- data/app/pb_kits/playbook/pb_table/styles/_single-line.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_striped.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_structure.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_table-card.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_table-dark.scss +2 -2
- data/app/pb_kits/playbook/pb_table/styles/_table_header.scss +4 -4
- data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +1 -1
- data/app/pb_kits/playbook/pb_table/styles/_vertical_border.scss +1 -1
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +4 -4
- data/app/pb_kits/playbook/pb_textarea/_textarea.scss +5 -5
- data/app/pb_kits/playbook/pb_time/_time.scss +43 -16
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +14 -14
- data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +5 -8
- data/app/pb_kits/playbook/pb_timeline/_timeline.scss +41 -41
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +4 -4
- data/app/pb_kits/playbook/pb_title/_title.scss +41 -38
- data/app/pb_kits/playbook/pb_title/_title.tsx +17 -8
- data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
- data/app/pb_kits/playbook/pb_title/title.rb +20 -10
- data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
- data/app/pb_kits/playbook/pb_title_count/_title_count.scss +19 -8
- data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +10 -11
- data/app/pb_kits/playbook/pb_toggle/_toggle.scss +1 -1
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +1 -1
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +10 -10
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
- data/app/pb_kits/playbook/pb_user/_user.scss +13 -13
- data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
- data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +23 -8
- data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
- data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
- data/dist/chunks/{_line_graph-0Y0wuiB9.js → _line_graph-Dv_ODxW3.js} +1 -1
- data/dist/chunks/_typeahead-CD5RAaaP.js +6 -0
- data/dist/chunks/{_weekday_stacked-Dblcf2V8.js → _weekday_stacked-Bv6tOPKC.js} +2 -2
- data/dist/chunks/vendor.js +1 -1
- data/dist/playbook-doc.js +2 -2
- data/dist/playbook-rails-react-bindings.js +1 -1
- data/dist/playbook-rails.js +1 -1
- data/dist/playbook.css +1 -1
- data/lib/playbook/version.rb +1 -1
- metadata +5 -5
- data/dist/chunks/_typeahead-B2gV75O0.js +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 230cb771b16126875e87e626e53cd633a26cbe4b65e0e9100405e72dd53a4f87
|
4
|
+
data.tar.gz: 7f513c46accbd0f95a5092ce5f1c60ca2cdec020e413407bfae0ec11ba0d5574
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24028e6570bc44e5665a2f6dd2c4b034fbc2dc6fc0d28fa664714540893c344e1246b013d9ee78fb281d503e76440879ceeecdb90c794986b658c03e07b3b2d9
|
7
|
+
data.tar.gz: 889ea6030813ab4ad291437fb20841beb46eb742c46fed355f74b730ed14f76c1c36bac0004c489c54b6b839806d9fc1de0122b6129d8720160ee58a76017c52
|
@@ -103,7 +103,7 @@ test('renders with online status', () => {
|
|
103
103
|
);
|
104
104
|
|
105
105
|
const onlineStatusAvatar = screen.getByTestId(testId);
|
106
|
-
const onlineStatus = onlineStatusAvatar.querySelector('.
|
106
|
+
const onlineStatus = onlineStatusAvatar.querySelector('.pb_online_status_kit')
|
107
107
|
expect(onlineStatus).toBeInTheDocument();
|
108
108
|
});
|
109
109
|
|
@@ -4,9 +4,17 @@
|
|
4
4
|
@import "../tokens/spacing";
|
5
5
|
@import "../tokens/typography";
|
6
6
|
|
7
|
-
|
7
|
+
// Base badge class and all variants
|
8
|
+
.pb_badge_kit,
|
9
|
+
.pb_badge_kit_rounded,
|
10
|
+
.pb_badge_kit_notification,
|
11
|
+
.pb_badge_kit_notification_rounded,
|
12
|
+
.pb_badge_kit_notification_error,
|
13
|
+
.pb_badge_kit_notification_error_rounded,
|
14
|
+
.pb_badge_kit_success_sm,
|
15
|
+
.pb_badge_kit_success_sm_rounded {
|
16
|
+
$pb_badge_height_rounded: 16px;
|
8
17
|
|
9
|
-
.pb_badge_kit {
|
10
18
|
display: inline-flex;
|
11
19
|
align-items: center;
|
12
20
|
justify-content: center;
|
@@ -23,39 +31,139 @@ $pb_badge_height_rounded: 16px;
|
|
23
31
|
}
|
24
32
|
}
|
25
33
|
|
34
|
+
// Add base styles to all status color variants too
|
35
|
+
@each $color_name, $color_value in $status_colors {
|
36
|
+
.pb_badge_kit_#{$color_name},
|
37
|
+
.pb_badge_kit_#{$color_name}_rounded {
|
38
|
+
display: inline-flex;
|
39
|
+
align-items: center;
|
40
|
+
justify-content: center;
|
41
|
+
border-radius: $border_rad_light;
|
42
|
+
padding: 0 $space_xs/2;
|
43
|
+
border-width: 1px;
|
44
|
+
border-color: $card_light;
|
45
|
+
white-space: nowrap;
|
46
|
+
|
47
|
+
span {
|
48
|
+
display: inline-block;
|
49
|
+
font-size: $font_smaller - 1;
|
50
|
+
font-weight: $bolder;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
|
55
|
+
// Generate all status color variants (with and without rounded)
|
26
56
|
@each $color_name, $color_value in $status_colors {
|
27
57
|
.pb_badge_kit_#{$color_name} {
|
28
58
|
background: rgba($color_value, $opacity_1);
|
29
59
|
color: map-get($status_color_text, $color_name);
|
30
60
|
}
|
31
|
-
|
32
|
-
.pb_badge_kit_#{$color_name}
|
33
|
-
background: rgba(
|
34
|
-
color: map-get($
|
61
|
+
|
62
|
+
.pb_badge_kit_#{$color_name}_rounded {
|
63
|
+
background: rgba($color_value, $opacity_1);
|
64
|
+
color: map-get($status_color_text, $color_name);
|
65
|
+
height: 16px !important;
|
66
|
+
min-height: 16px !important;
|
67
|
+
min-width: 16px !important;
|
68
|
+
border-radius: 8px !important;
|
35
69
|
}
|
36
70
|
}
|
37
71
|
|
72
|
+
// Special success_sm variant (since component maps "success" to "success_sm")
|
73
|
+
.pb_badge_kit_success_sm {
|
74
|
+
background: rgba(map-get($status_colors, "success"), $opacity_1);
|
75
|
+
color: map-get($status_color_text, "success");
|
76
|
+
}
|
77
|
+
|
78
|
+
.pb_badge_kit_success_sm_rounded {
|
79
|
+
background: rgba(map-get($status_colors, "success"), $opacity_1);
|
80
|
+
color: map-get($status_color_text, "success");
|
81
|
+
height: 16px !important;
|
82
|
+
min-height: 16px !important;
|
83
|
+
min-width: 16px !important;
|
84
|
+
border-radius: 8px !important;
|
85
|
+
}
|
86
|
+
|
87
|
+
// Rounded variant (base)
|
38
88
|
.pb_badge_kit_rounded {
|
39
|
-
height:
|
40
|
-
min-height:
|
41
|
-
min-width:
|
42
|
-
border-radius:
|
89
|
+
height: 16px !important;
|
90
|
+
min-height: 16px !important;
|
91
|
+
min-width: 16px !important;
|
92
|
+
border-radius: 8px !important;
|
43
93
|
}
|
44
94
|
|
95
|
+
// Notification variants
|
45
96
|
.pb_badge_kit_notification {
|
46
97
|
background: $primary;
|
47
98
|
color: $white;
|
48
99
|
}
|
49
100
|
|
101
|
+
.pb_badge_kit_notification_rounded {
|
102
|
+
background: $primary;
|
103
|
+
color: $white;
|
104
|
+
height: 16px !important;
|
105
|
+
min-height: 16px !important;
|
106
|
+
min-width: 16px !important;
|
107
|
+
border-radius: 8px !important;
|
108
|
+
}
|
109
|
+
|
50
110
|
.pb_badge_kit_notification_error {
|
51
111
|
background: $error;
|
112
|
+
color: $white;
|
113
|
+
}
|
114
|
+
|
115
|
+
.pb_badge_kit_notification_error_rounded {
|
116
|
+
background: $error;
|
117
|
+
color: $white;
|
118
|
+
height: 16px !important;
|
119
|
+
min-height: 16px !important;
|
120
|
+
min-width: 16px !important;
|
121
|
+
border-radius: 8px !important;
|
122
|
+
}
|
123
|
+
|
124
|
+
// Dark theme variants
|
125
|
+
@each $color_name, $color_value in $status_colors {
|
126
|
+
.pb_badge_kit_#{$color_name}.dark {
|
127
|
+
border-width: 0;
|
128
|
+
background: rgba(mix($bg_dark, $color_value, 10%), $opacity_2);
|
129
|
+
color: map-get($status_color_text_dark, $color_name);
|
130
|
+
}
|
131
|
+
|
132
|
+
.pb_badge_kit_#{$color_name}_rounded.dark {
|
133
|
+
border-width: 0;
|
134
|
+
background: rgba(mix($bg_dark, $color_value, 10%), $opacity_2);
|
135
|
+
color: map-get($status_color_text_dark, $color_name);
|
136
|
+
}
|
137
|
+
}
|
138
|
+
|
139
|
+
.pb_badge_kit_success_sm.dark {
|
140
|
+
border-width: 0;
|
141
|
+
background: rgba(mix($bg_dark, map-get($status_colors, "success"), 10%), $opacity_2);
|
142
|
+
color: map-get($status_color_text_dark, "success");
|
143
|
+
}
|
144
|
+
|
145
|
+
.pb_badge_kit_success_sm_rounded.dark {
|
146
|
+
border-width: 0;
|
147
|
+
background: rgba(mix($bg_dark, map-get($status_colors, "success"), 10%), $opacity_2);
|
148
|
+
color: map-get($status_color_text_dark, "success");
|
149
|
+
}
|
150
|
+
|
151
|
+
.pb_badge_kit_notification.dark {
|
152
|
+
border-width: 0;
|
153
|
+
}
|
154
|
+
|
155
|
+
.pb_badge_kit_notification_rounded.dark {
|
156
|
+
border-width: 0;
|
52
157
|
}
|
53
158
|
|
54
159
|
.pb_badge_kit_notification_error.dark {
|
160
|
+
border-width: 0;
|
55
161
|
background: $error_dark;
|
56
162
|
color: $white;
|
57
163
|
}
|
58
164
|
|
59
|
-
.
|
165
|
+
.pb_badge_kit_notification_error_rounded.dark {
|
60
166
|
border-width: 0;
|
61
|
-
|
167
|
+
background: $error_dark;
|
168
|
+
color: $white;
|
169
|
+
}
|
@@ -1,23 +1,37 @@
|
|
1
1
|
@import "./body_mixins";
|
2
2
|
@import "../tokens/titles";
|
3
3
|
|
4
|
-
|
4
|
+
// Base body styles for all variants
|
5
|
+
.pb_body_kit,
|
6
|
+
.pb_body_kit_default,
|
7
|
+
.pb_body_kit_light,
|
8
|
+
.pb_body_kit_lighter,
|
9
|
+
.pb_body_kit_link,
|
10
|
+
.pb_body_kit_success,
|
11
|
+
.pb_body_kit_error,
|
12
|
+
.pb_body_kit_neutral,
|
13
|
+
.pb_body_kit_positive,
|
14
|
+
.pb_body_kit_negative,
|
15
|
+
.pb_body_kit_default_neutral,
|
16
|
+
.pb_body_kit_default_positive,
|
17
|
+
.pb_body_kit_default_negative,
|
18
|
+
.pb_body_kit_light_neutral,
|
19
|
+
.pb_body_kit_light_positive,
|
20
|
+
.pb_body_kit_light_negative,
|
21
|
+
.pb_body_kit_lighter_neutral,
|
22
|
+
.pb_body_kit_lighter_positive,
|
23
|
+
.pb_body_kit_lighter_negative,
|
24
|
+
.pb_body_kit_link_neutral,
|
25
|
+
.pb_body_kit_link_positive,
|
26
|
+
.pb_body_kit_link_negative,
|
27
|
+
.pb_body_kit_success_neutral,
|
28
|
+
.pb_body_kit_success_positive,
|
29
|
+
.pb_body_kit_success_negative,
|
30
|
+
.pb_body_kit_error_neutral,
|
31
|
+
.pb_body_kit_error_positive,
|
32
|
+
.pb_body_kit_error_negative {
|
5
33
|
@include pb_body($text_lt_default);
|
6
|
-
|
7
|
-
&[class*=_#{"" + $color_name}] {
|
8
|
-
@include pb_body($color_value);
|
9
|
-
}
|
10
|
-
@each $status_name, $status_value in $pb_body_status {
|
11
|
-
&[class*="_default_#{$status_name}"] {
|
12
|
-
@include pb_body($status_value);
|
13
|
-
}
|
14
|
-
}
|
15
|
-
}
|
16
|
-
@each $dark_color_name, $dark_color_value in $pb_dark_body_colors {
|
17
|
-
&[class*="_#{$dark_color_name}"][class*="dark"] {
|
18
|
-
@include pb_body($dark_color_value);
|
19
|
-
}
|
20
|
-
}
|
34
|
+
|
21
35
|
b,
|
22
36
|
strong {
|
23
37
|
font-weight: $bold;
|
@@ -39,27 +53,86 @@
|
|
39
53
|
font-size: $font_smaller;
|
40
54
|
letter-spacing: $lspace_loose;
|
41
55
|
}
|
56
|
+
}
|
42
57
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
58
|
+
// Color variants
|
59
|
+
@each $color_name, $color_value in $pb_body_colors {
|
60
|
+
.pb_body_kit_#{$color_name},
|
61
|
+
.pb_body_kit_#{$color_name}_neutral,
|
62
|
+
.pb_body_kit_#{$color_name}_positive,
|
63
|
+
.pb_body_kit_#{$color_name}_negative {
|
64
|
+
@include pb_body($color_value);
|
47
65
|
}
|
66
|
+
}
|
48
67
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
68
|
+
// Status variants
|
69
|
+
@each $status_name, $status_value in $pb_body_status {
|
70
|
+
.pb_body_kit_#{$status_name},
|
71
|
+
.pb_body_kit_default_#{$status_name},
|
72
|
+
.pb_body_kit_light_#{$status_name},
|
73
|
+
.pb_body_kit_lighter_#{$status_name},
|
74
|
+
.pb_body_kit_link_#{$status_name},
|
75
|
+
.pb_body_kit_success_#{$status_name},
|
76
|
+
.pb_body_kit_error_#{$status_name} {
|
77
|
+
@include pb_body($status_value);
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
// Dark theme base
|
82
|
+
.pb_body_kit.dark,
|
83
|
+
.pb_body_kit_default.dark,
|
84
|
+
.pb_body_kit_light.dark,
|
85
|
+
.pb_body_kit_lighter.dark,
|
86
|
+
.pb_body_kit_link.dark,
|
87
|
+
.pb_body_kit_success.dark,
|
88
|
+
.pb_body_kit_error.dark,
|
89
|
+
.pb_body_kit_neutral.dark,
|
90
|
+
.pb_body_kit_positive.dark,
|
91
|
+
.pb_body_kit_negative.dark,
|
92
|
+
.pb_body_kit_default_neutral.dark,
|
93
|
+
.pb_body_kit_default_positive.dark,
|
94
|
+
.pb_body_kit_default_negative.dark,
|
95
|
+
.pb_body_kit_light_neutral.dark,
|
96
|
+
.pb_body_kit_light_positive.dark,
|
97
|
+
.pb_body_kit_light_negative.dark,
|
98
|
+
.pb_body_kit_lighter_neutral.dark,
|
99
|
+
.pb_body_kit_lighter_positive.dark,
|
100
|
+
.pb_body_kit_lighter_negative.dark,
|
101
|
+
.pb_body_kit_link_neutral.dark,
|
102
|
+
.pb_body_kit_link_positive.dark,
|
103
|
+
.pb_body_kit_link_negative.dark,
|
104
|
+
.pb_body_kit_success_neutral.dark,
|
105
|
+
.pb_body_kit_success_positive.dark,
|
106
|
+
.pb_body_kit_success_negative.dark,
|
107
|
+
.pb_body_kit_error_neutral.dark,
|
108
|
+
.pb_body_kit_error_positive.dark,
|
109
|
+
.pb_body_kit_error_negative.dark {
|
110
|
+
@include pb_body_dark();
|
111
|
+
|
112
|
+
a {
|
113
|
+
color: $active_dark;
|
64
114
|
}
|
65
115
|
}
|
116
|
+
|
117
|
+
// Dark color variants
|
118
|
+
@each $dark_color_name, $dark_color_value in $pb_dark_body_colors {
|
119
|
+
.pb_body_kit_#{$dark_color_name}.dark,
|
120
|
+
.pb_body_kit_#{$dark_color_name}_neutral.dark,
|
121
|
+
.pb_body_kit_#{$dark_color_name}_positive.dark,
|
122
|
+
.pb_body_kit_#{$dark_color_name}_negative.dark {
|
123
|
+
@include pb_body($dark_color_value);
|
124
|
+
}
|
125
|
+
}
|
126
|
+
|
127
|
+
// Dark status variants
|
128
|
+
@each $status_name, $status_value in $pb_dark_body_status {
|
129
|
+
.pb_body_kit_#{$status_name}.dark,
|
130
|
+
.pb_body_kit_default_#{$status_name}.dark,
|
131
|
+
.pb_body_kit_light_#{$status_name}.dark,
|
132
|
+
.pb_body_kit_lighter_#{$status_name}.dark,
|
133
|
+
.pb_body_kit_link_#{$status_name}.dark,
|
134
|
+
.pb_body_kit_success_#{$status_name}.dark,
|
135
|
+
.pb_body_kit_error_#{$status_name}.dark {
|
136
|
+
@include pb_body($status_value);
|
137
|
+
}
|
138
|
+
}
|
@@ -14,35 +14,22 @@
|
|
14
14
|
svg {
|
15
15
|
margin-right: 8px;
|
16
16
|
}
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
}
|
23
|
-
.pb_bread_crumb_item_kit {
|
24
|
-
display: flex;
|
25
|
-
flex-direction: row;
|
26
|
-
align-items: center;
|
27
|
-
}
|
28
|
-
.pb_bread_crumb_item_kit:not(:last-child):after {
|
29
|
-
content: '/';
|
30
|
-
padding-left: 8px;
|
31
|
-
padding-right: 8px;
|
32
|
-
}
|
33
|
-
|
34
|
-
@each $color_name, $color_value in $status_colors {
|
35
|
-
&[class*=_#{$color_name}] {
|
36
|
-
background: rgba($color_value, $opacity_1);
|
37
|
-
color: map-get($status_color_text, $color_name);
|
38
|
-
}
|
17
|
+
|
18
|
+
.pb_bread_crumb_item {
|
19
|
+
display: flex;
|
20
|
+
flex-direction: row;
|
21
|
+
align-items: center;
|
39
22
|
}
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
23
|
+
|
24
|
+
.pb_bread_crumb_item_kit {
|
25
|
+
display: flex;
|
26
|
+
flex-direction: row;
|
27
|
+
align-items: center;
|
28
|
+
}
|
29
|
+
|
30
|
+
.pb_bread_crumb_item_kit:not(:last-child):after {
|
31
|
+
content: '/';
|
32
|
+
padding-left: 8px;
|
33
|
+
padding-right: 8px;
|
47
34
|
}
|
48
35
|
}
|
@@ -11,11 +11,13 @@ $pb_button_sizes: (
|
|
11
11
|
"lg": ($font_large - 2px),
|
12
12
|
);
|
13
13
|
|
14
|
-
|
14
|
+
// Base button class
|
15
|
+
.pb_button_kit {
|
15
16
|
@include pb_button;
|
16
|
-
|
17
|
+
|
18
|
+
// Size variants
|
17
19
|
@each $name, $size in $pb_button_sizes {
|
18
|
-
|
20
|
+
&.pb_button_size_#{$name} {
|
19
21
|
font-size: $size;
|
20
22
|
padding: $size / 2 $size * 2.42;
|
21
23
|
@if $name == "sm" {
|
@@ -24,17 +26,24 @@ $pb_button_sizes: (
|
|
24
26
|
}
|
25
27
|
}
|
26
28
|
|
27
|
-
//
|
28
|
-
&.
|
29
|
+
// Variant styles
|
30
|
+
&.pb_button_primary {
|
29
31
|
@include pb_button_primary;
|
30
32
|
}
|
31
|
-
|
33
|
+
|
34
|
+
&.pb_button_secondary {
|
32
35
|
@include pb_button_secondary;
|
33
36
|
}
|
34
|
-
|
37
|
+
|
38
|
+
&.pb_button_link {
|
35
39
|
@include pb_button_link;
|
36
40
|
}
|
37
|
-
|
41
|
+
|
42
|
+
&.pb_button_danger {
|
43
|
+
@include pb_button_danger;
|
44
|
+
}
|
45
|
+
|
46
|
+
&.pb_button_reaction {
|
38
47
|
background-color: $card_light;
|
39
48
|
min-width: 40px;
|
40
49
|
border-radius: $border_radius_rounded;
|
@@ -49,52 +58,51 @@ $pb_button_sizes: (
|
|
49
58
|
&:hover {
|
50
59
|
background-color: $bg_light;
|
51
60
|
}
|
52
|
-
&.
|
61
|
+
&.pb_button_active {
|
53
62
|
border-color:transparent;
|
54
63
|
box-shadow: 0px 0px 0 2px $primary_action;
|
55
64
|
&:hover {
|
56
65
|
background-color: rgba($primary, 0.03);
|
57
66
|
}
|
58
67
|
}
|
68
|
+
|
69
|
+
&.pb_button_reaction_default {
|
70
|
+
padding: ($space_xxs + 1) ($space_sm - 4);
|
71
|
+
color: $text_lt_lighter;
|
72
|
+
}
|
59
73
|
}
|
60
74
|
|
61
|
-
|
62
|
-
|
63
|
-
color: $text_lt_lighter;
|
64
|
-
}
|
65
|
-
|
66
|
-
// Block ====================
|
67
|
-
&._block {
|
75
|
+
// Block (full width) style
|
76
|
+
&.pb_button_block {
|
68
77
|
@include pb_button_block;
|
78
|
+
width: 100% !important;
|
69
79
|
}
|
70
80
|
|
71
|
-
// Loading
|
72
|
-
&.
|
81
|
+
// Loading state
|
82
|
+
&.pb_button_loading {
|
73
83
|
@include pb_button_loading(true);
|
74
84
|
}
|
75
85
|
|
76
|
-
//
|
77
|
-
&.
|
78
|
-
@include pb_button_danger;
|
79
|
-
}
|
80
|
-
|
81
|
-
// Disabled =================
|
82
|
-
&._disabled {
|
86
|
+
// Disabled state
|
87
|
+
&.pb_button_disabled {
|
83
88
|
@include pb_button_disabled;
|
84
89
|
}
|
85
90
|
|
86
|
-
// Dark
|
87
|
-
&.dark
|
88
|
-
&.
|
91
|
+
// Dark theme variants
|
92
|
+
&.dark {
|
93
|
+
&.pb_button_primary {
|
89
94
|
@include pb_button_primary_dark;
|
90
95
|
}
|
91
|
-
|
96
|
+
|
97
|
+
&.pb_button_secondary {
|
92
98
|
@include pb_button_secondary_dark;
|
93
99
|
}
|
94
|
-
|
100
|
+
|
101
|
+
&.pb_button_link {
|
95
102
|
@include pb_button_link_dark;
|
96
103
|
}
|
97
|
-
|
104
|
+
|
105
|
+
&.pb_button_disabled {
|
98
106
|
@include pb_button_disabled_dark;
|
99
107
|
}
|
100
108
|
}
|
@@ -53,18 +53,18 @@ const buttonClassName = (props: ButtonPropTypes) => {
|
|
53
53
|
size = null,
|
54
54
|
} = props
|
55
55
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
return
|
56
|
+
const classNames = ['pb_button_kit']
|
57
|
+
|
58
|
+
if (variant) classNames.push(`pb_button_${variant}`)
|
59
|
+
if (type) classNames.push(`pb_button_${type}`)
|
60
|
+
if (fullWidth) classNames.push('pb_button_block')
|
61
|
+
classNames.push(disabled ? 'pb_button_disabled' : 'pb_button_enabled')
|
62
|
+
if (loading) classNames.push('pb_button_loading')
|
63
|
+
if (size) classNames.push(`pb_button_size_${size}`)
|
64
|
+
if (variant === 'reaction' && icon && !isValidEmoji(icon)) classNames.push('pb_button_reaction_default')
|
65
|
+
if (variant === 'reaction' && highlight) classNames.push('pb_button_active')
|
66
|
+
|
67
|
+
return classNames.join(' ')
|
68
68
|
}
|
69
69
|
const spinnerIcon = getAllIcons()["spinner"]
|
70
70
|
|
@@ -52,7 +52,7 @@ $pb_button_border_width: 0px;
|
|
52
52
|
|
53
53
|
@include focus;
|
54
54
|
|
55
|
-
|
55
|
+
&[class*=dark] {
|
56
56
|
@include focus-dark
|
57
57
|
}
|
58
58
|
|
@@ -233,4 +233,4 @@ $pb_button_border_width: 0px;
|
|
233
233
|
$disabled_color: rgba($white, $opacity_5);
|
234
234
|
@include pb_button_variant(rgba($slate, $opacity_5), $disabled_color);
|
235
235
|
pointer-events: none;
|
236
|
-
}
|
236
|
+
}
|
@@ -74,8 +74,17 @@ module Playbook
|
|
74
74
|
end
|
75
75
|
|
76
76
|
def classname
|
77
|
-
|
78
|
-
|
77
|
+
class_names = ["pb_button_kit"]
|
78
|
+
class_names << "pb_button_#{variant}" if variant
|
79
|
+
class_names << "pb_button_#{full_width_class}"
|
80
|
+
class_names << "pb_button_#{disabled_class}"
|
81
|
+
class_names << "pb_button_loading" if loading
|
82
|
+
class_names << "pb_button_size_#{size}" if size
|
83
|
+
class_names << "pb_button_reaction_default" if variant === "reaction" && icon && !valid_emoji(icon)
|
84
|
+
class_names << "pb_button_active" if variant === "reaction" && highlight
|
85
|
+
|
86
|
+
class_names.join(" ")
|
87
|
+
generate_classname(class_names.compact.join(" "), separator: " ")
|
79
88
|
end
|
80
89
|
|
81
90
|
private
|
@@ -88,22 +97,6 @@ module Playbook
|
|
88
97
|
full_width ? "block" : "inline"
|
89
98
|
end
|
90
99
|
|
91
|
-
def loading_class
|
92
|
-
loading ? "loading" : nil
|
93
|
-
end
|
94
|
-
|
95
|
-
def size_class
|
96
|
-
size ? " size_#{size}" : ""
|
97
|
-
end
|
98
|
-
|
99
|
-
def default_reaction_class
|
100
|
-
variant === "reaction" && !object.valid_emoji(object.icon) ? " reaction_default" : ""
|
101
|
-
end
|
102
|
-
|
103
|
-
def highlight_active
|
104
|
-
variant === "reaction" && object.highlight ? " active" : ""
|
105
|
-
end
|
106
|
-
|
107
100
|
def spinner_path
|
108
101
|
"app/pb_kits/playbook/utilities/icons/spinner.svg"
|
109
102
|
end
|
@@ -22,7 +22,7 @@ test('passes type, text, and value props to button', () => {
|
|
22
22
|
const kit = screen.getByTestId('primary-test')
|
23
23
|
const content = screen.getByText(text)
|
24
24
|
|
25
|
-
expect(kit).toHaveClass('
|
25
|
+
expect(kit).toHaveClass('pb_button_kit pb_button_primary pb_button_inline pb_button_enabled')
|
26
26
|
expect(kit).toHaveAttribute('type', htmlType)
|
27
27
|
expect(kit).toHaveAttribute('value', value)
|
28
28
|
expect(content).toHaveTextContent(text)
|
@@ -54,7 +54,7 @@ test('button with secondary variant', () => {
|
|
54
54
|
|
55
55
|
const kit = screen.getByTestId('variant-test')
|
56
56
|
|
57
|
-
expect(kit).toHaveClass('
|
57
|
+
expect(kit).toHaveClass('pb_button_kit pb_button_secondary pb_button_inline pb_button_enabled')
|
58
58
|
expect(kit).toHaveAttribute('type', 'button')
|
59
59
|
})
|
60
60
|
|
@@ -98,7 +98,7 @@ test('size prop', () => {
|
|
98
98
|
|
99
99
|
const kit = screen.getByTestId('size-test')
|
100
100
|
|
101
|
-
expect(kit).toHaveClass('
|
101
|
+
expect(kit).toHaveClass('pb_button_kit pb_button_primary pb_button_inline pb_button_enabled pb_button_size_sm')
|
102
102
|
})
|
103
103
|
|
104
104
|
test('should render target prop', () => {
|