playbook_ui 14.25.0.pre.alpha.dialogfix10277 → 14.25.0.pre.alpha.play1986inlineloadingsolidvariant9963
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/_playbook.scss +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +6 -6
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_avatar/_avatar.scss +65 -60
- data/app/pb_kits/playbook/pb_avatar/avatar.test.js +1 -1
- data/app/pb_kits/playbook/pb_background/_background.scss +3 -3
- data/app/pb_kits/playbook/pb_badge/_badge.scss +29 -135
- data/app/pb_kits/playbook/pb_body/_body.scss +35 -108
- data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -1
- data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +30 -17
- data/app/pb_kits/playbook/pb_button/_button.scss +31 -39
- data/app/pb_kits/playbook/pb_button/_button.tsx +12 -12
- data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -1
- data/app/pb_kits/playbook/pb_button/button.rb +18 -11
- data/app/pb_kits/playbook/pb_button/button.test.js +3 -3
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +73 -82
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +33 -32
- 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 +17 -100
- data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +8 -1
- data/app/pb_kits/playbook/pb_card/_card.scss +79 -116
- data/app/pb_kits/playbook/pb_card/_card.tsx +11 -26
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -1
- data/app/pb_kits/playbook/pb_card/card.rb +7 -8
- data/app/pb_kits/playbook/pb_card/card_header.rb +2 -6
- data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -1
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +2 -11
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +7 -7
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +1 -1
- data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +1 -1
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +4 -4
- data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_currency/_currency.scss +39 -124
- data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +6 -16
- data/app/pb_kits/playbook/pb_date/_date.scss +18 -16
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +1 -1
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +12 -12
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +2 -2
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +5 -6
- data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +23 -29
- 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.scss +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 +26 -66
- data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +1 -1
- 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 +15 -8
- data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +7 -6
- data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +14 -17
- 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 +21 -86
- data/app/pb_kits/playbook/pb_dialog/_dialog.scss +123 -330
- data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +7 -5
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +2 -16
- data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +7 -10
- data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +25 -0
- data/app/pb_kits/playbook/pb_drawer/_drawer.scss +381 -0
- data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +231 -0
- data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +3 -0
- data/app/pb_kits/playbook/pb_drawer/context.ts +11 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +8 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +41 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +33 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +78 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +3 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +26 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +20 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +59 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +24 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +61 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +24 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +21 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +54 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +1 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +49 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +99 -0
- data/app/pb_kits/playbook/pb_drawer/docs/example.yml +20 -0
- data/app/pb_kits/playbook/pb_drawer/docs/index.js +7 -0
- data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +20 -0
- data/app/pb_kits/playbook/pb_drawer/drawer.rb +56 -0
- data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +81 -0
- data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +60 -0
- data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +21 -0
- data/app/pb_kits/playbook/pb_drawer/index.js +257 -0
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
- data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
- data/app/pb_kits/playbook/pb_dropdown/index.js +3 -3
- data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
- data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +9 -20
- data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
- data/app/pb_kits/playbook/pb_filter/_filter.scss +8 -8
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +29 -65
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +2 -1
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
- data/app/pb_kits/playbook/pb_flex/_flex.scss +100 -106
- data/app/pb_kits/playbook/pb_flex/_flex.tsx +25 -32
- data/app/pb_kits/playbook/pb_flex/_flex_item.scss +51 -146
- data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +8 -19
- data/app/pb_kits/playbook/pb_flex/flex.rb +16 -16
- data/app/pb_kits/playbook/pb_flex/flex_item.rb +6 -6
- data/app/pb_kits/playbook/pb_form_group/_form_group.scss +1 -1
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +344 -381
- 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 +7 -8
- data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +2 -9
- data/app/pb_kits/playbook/pb_gauge/_gauge.scss +5 -5
- data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -1
- data/app/pb_kits/playbook/pb_highlight/_highlight.scss +1 -1
- 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 +39 -40
- 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.test.js +1 -1
- data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +15 -16
- data/app/pb_kits/playbook/pb_image/_image.scss +36 -41
- data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +1 -1
- data/app/pb_kits/playbook/pb_label_value/_label_value.scss +2 -3
- data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
- data/app/pb_kits/playbook/pb_layout/_layout.scss +305 -336
- data/app/pb_kits/playbook/pb_layout/_layout.tsx +11 -14
- data/app/pb_kits/playbook/pb_layout/item.rb +7 -1
- data/app/pb_kits/playbook/pb_layout/layout.rb +25 -16
- data/app/pb_kits/playbook/pb_layout/layout.test.js +3 -3
- data/app/pb_kits/playbook/pb_legend/_legend.scss +16 -66
- 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 +19 -113
- data/app/pb_kits/playbook/pb_list/_list.scss +1 -1
- data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +11 -13
- data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +3 -1
- data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.html.erb +5 -0
- data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.jsx +24 -0
- data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +1 -1
- data/app/pb_kits/playbook/pb_loading_inline/loading_inline.rb +11 -0
- 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 +16 -21
- data/app/pb_kits/playbook/pb_message/_message.tsx +0 -1
- data/app/pb_kits/playbook/pb_message/_message_mixins.scss +12 -5
- 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 +3 -6
- data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +15 -16
- data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +1 -1
- data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -1
- data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
- data/app/pb_kits/playbook/pb_online_status/_online_status.scss +15 -19
- data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
- data/app/pb_kits/playbook/pb_online_status/online_status.rb +4 -5
- 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 +2 -5
- data/app/pb_kits/playbook/pb_person/_person.scss +1 -1
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
- data/app/pb_kits/playbook/pb_pill/_pill.scss +21 -23
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +13 -15
- data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +33 -108
- data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +1 -1
- data/app/pb_kits/playbook/pb_radio/_radio.scss +52 -71
- data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
- data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +3 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +4 -4
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +70 -81
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +1 -9
- 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 +1 -3
- data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +1 -7
- data/app/pb_kits/playbook/pb_select/_select.scss +4 -4
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +2 -6
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +8 -17
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +29 -39
- data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +0 -2
- data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +11 -8
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +3 -2
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
- data/app/pb_kits/playbook/pb_source/_source.scss +8 -8
- data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
- 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 +2 -2
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +5 -5
- data/app/pb_kits/playbook/pb_textarea/_textarea.scss +6 -6
- data/app/pb_kits/playbook/pb_time/_time.scss +17 -44
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +23 -44
- data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +1 -1
- data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +8 -5
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +10 -16
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +4 -1
- data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
- data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +2 -2
- data/app/pb_kits/playbook/pb_title/_title.scss +39 -44
- data/app/pb_kits/playbook/pb_title/_title.tsx +8 -17
- data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
- data/app/pb_kits/playbook/pb_title/title.rb +10 -20
- data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
- data/app/pb_kits/playbook/pb_title_count/_title_count.scss +8 -19
- data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +11 -10
- data/app/pb_kits/playbook/pb_toggle/_toggle.scss +1 -4
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +4 -3
- data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.html.erb +22 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +1 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_without_pills.html.erb +2 -2
- data/app/pb_kits/playbook/pb_user/_user.scss +33 -83
- data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
- data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +8 -23
- 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-CApw7aQD.js → _line_graph-CiVc-Cod.js} +1 -1
- data/dist/chunks/{_typeahead-J1_avqdO.js → _typeahead-BQnvz-Ks.js} +1 -1
- data/dist/chunks/_weekday_stacked-BkvHv3ZO.js +37 -0
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +6 -0
- 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 +36 -5
- data/dist/chunks/_weekday_stacked-Bugv1mOh.js +0 -37
@@ -11,13 +11,11 @@ $pb_button_sizes: (
|
|
11
11
|
"lg": ($font_large - 2px),
|
12
12
|
);
|
13
13
|
|
14
|
-
|
15
|
-
.pb_button_kit {
|
14
|
+
[class*=pb_button_kit]{
|
16
15
|
@include pb_button;
|
17
|
-
|
18
|
-
// Size variants
|
16
|
+
// Size =================
|
19
17
|
@each $name, $size in $pb_button_sizes {
|
20
|
-
|
18
|
+
&[class*=size_#{$name}] {
|
21
19
|
font-size: $size;
|
22
20
|
padding: $size / 2 $size * 2.42;
|
23
21
|
@if $name == "sm" {
|
@@ -26,24 +24,17 @@ $pb_button_sizes: (
|
|
26
24
|
}
|
27
25
|
}
|
28
26
|
|
29
|
-
//
|
30
|
-
|
27
|
+
// Variants =================
|
28
|
+
&[class*=_primary] {
|
31
29
|
@include pb_button_primary;
|
32
30
|
}
|
33
|
-
|
34
|
-
&.pb_button_secondary {
|
31
|
+
&[class*=_secondary] {
|
35
32
|
@include pb_button_secondary;
|
36
33
|
}
|
37
|
-
|
38
|
-
&.pb_button_link {
|
34
|
+
&[class*=_link] {
|
39
35
|
@include pb_button_link;
|
40
36
|
}
|
41
|
-
|
42
|
-
&.pb_button_danger {
|
43
|
-
@include pb_button_danger;
|
44
|
-
}
|
45
|
-
|
46
|
-
&.pb_button_reaction {
|
37
|
+
&[class*=_reaction] {
|
47
38
|
background-color: $card_light;
|
48
39
|
min-width: 40px;
|
49
40
|
border-radius: $border_radius_rounded;
|
@@ -58,51 +49,52 @@ $pb_button_sizes: (
|
|
58
49
|
&:hover {
|
59
50
|
background-color: $bg_light;
|
60
51
|
}
|
61
|
-
&.
|
52
|
+
&.active {
|
62
53
|
border-color:transparent;
|
63
54
|
box-shadow: 0px 0px 0 2px $primary_action;
|
64
55
|
&:hover {
|
65
56
|
background-color: rgba($primary, 0.03);
|
66
57
|
}
|
67
58
|
}
|
68
|
-
|
69
|
-
&.pb_button_reaction_default {
|
70
|
-
padding: ($space_xxs + 1) ($space_sm - 4);
|
71
|
-
color: $text_lt_lighter;
|
72
|
-
}
|
73
59
|
}
|
74
60
|
|
75
|
-
|
76
|
-
|
61
|
+
&.reaction_default {
|
62
|
+
padding: ($space_xxs + 1) ($space_sm - 4);
|
63
|
+
color: $text_lt_lighter;
|
64
|
+
}
|
65
|
+
|
66
|
+
// Block ====================
|
67
|
+
&[class*=_block] {
|
77
68
|
@include pb_button_block;
|
78
|
-
width: 100% !important;
|
79
69
|
}
|
80
70
|
|
81
|
-
// Loading
|
82
|
-
|
71
|
+
// Loading ==================
|
72
|
+
&[class*=_loading] {
|
83
73
|
@include pb_button_loading(true);
|
84
74
|
}
|
85
75
|
|
86
|
-
//
|
87
|
-
|
76
|
+
// Danger ===================
|
77
|
+
&[class*=_danger] {
|
78
|
+
@include pb_button_danger;
|
79
|
+
}
|
80
|
+
|
81
|
+
// Disabled =================
|
82
|
+
&[class*=_disabled] {
|
88
83
|
@include pb_button_disabled;
|
89
84
|
}
|
90
85
|
|
91
|
-
// Dark
|
92
|
-
&.dark
|
93
|
-
|
86
|
+
// Dark Variants =============
|
87
|
+
&.dark {
|
88
|
+
&[class*=_primary] {
|
94
89
|
@include pb_button_primary_dark;
|
95
90
|
}
|
96
|
-
|
97
|
-
&.pb_button_secondary {
|
91
|
+
&[class*=_secondary] {
|
98
92
|
@include pb_button_secondary_dark;
|
99
93
|
}
|
100
|
-
|
101
|
-
&.pb_button_link {
|
94
|
+
&[class*=_link] {
|
102
95
|
@include pb_button_link_dark;
|
103
96
|
}
|
104
|
-
|
105
|
-
&.pb_button_disabled {
|
97
|
+
&[class*=_disabled] {
|
106
98
|
@include pb_button_disabled_dark;
|
107
99
|
}
|
108
100
|
}
|
@@ -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
|
+
let className = 'pb_button_kit'
|
57
|
+
|
58
|
+
className += `${variant !== null ? `_${variant}` : ''}`
|
59
|
+
className += `${type !== null ? `_${type}` : ''}`
|
60
|
+
className += `${fullWidth ? '_block' : ''}`
|
61
|
+
className += disabled ? '_disabled' : '_enabled'
|
62
|
+
className += loading ? '_loading' : ''
|
63
|
+
className += `${size !== null ? ` size_${size}` : ''}`
|
64
|
+
className += `${variant === 'reaction' && !isValidEmoji(icon) ? ` reaction_default` : ''}`
|
65
|
+
className += `${variant === 'reaction' && highlight ? ` active` : ''}`
|
66
|
+
|
67
|
+
return className
|
68
68
|
}
|
69
69
|
const spinnerIcon = getAllIcons()["spinner"]
|
70
70
|
|
@@ -74,17 +74,8 @@ module Playbook
|
|
74
74
|
end
|
75
75
|
|
76
76
|
def classname
|
77
|
-
|
78
|
-
|
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: " ")
|
77
|
+
button_class = generate_classname("pb_button_kit", variant, full_width_class, disabled_class, loading_class)
|
78
|
+
button_class + size_class + default_reaction_class + highlight_active
|
88
79
|
end
|
89
80
|
|
90
81
|
private
|
@@ -97,6 +88,22 @@ module Playbook
|
|
97
88
|
full_width ? "block" : "inline"
|
98
89
|
end
|
99
90
|
|
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
|
+
|
100
107
|
def spinner_path
|
101
108
|
"app/pb_kits/playbook/utilities/icons/spinner.svg"
|
102
109
|
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_primary_inline_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_secondary_inline_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_primary_inline_enabled size_sm')
|
102
102
|
})
|
103
103
|
|
104
104
|
test('should render target prop', () => {
|
@@ -5,101 +5,92 @@
|
|
5
5
|
@import "../tokens/colors";
|
6
6
|
@import "../tokens/opacity";
|
7
7
|
|
8
|
-
|
9
|
-
.pb_button_toolbar_kit_horizontal_primary,
|
10
|
-
.pb_button_toolbar_kit_horizontal_secondary {
|
11
|
-
display: inline-flex;
|
12
|
-
flex-direction: row;
|
13
|
-
align-items: center;
|
14
|
-
justify-content: flex-start;
|
15
|
-
|
16
|
-
& > .pb_button_kit {
|
17
|
-
&:not(:last-child){
|
18
|
-
border-bottom-right-radius: 0;
|
19
|
-
border-top-right-radius: 0;
|
20
|
-
border-right-width: 0;
|
21
|
-
}
|
22
|
-
&:not(:first-child){
|
23
|
-
border-bottom-left-radius: 0;
|
24
|
-
border-top-left-radius: 0;
|
25
|
-
border-left-width: 0;
|
26
|
-
}
|
27
|
-
}
|
28
|
-
|
29
|
-
& > .pb_button_kit:not(:first-child):hover::before,
|
30
|
-
.pb_button_kit:hover + .pb_button_kit::before {
|
31
|
-
opacity: 0
|
32
|
-
}
|
33
|
-
}
|
8
|
+
[class^=pb_button_toolbar]{
|
34
9
|
|
35
|
-
|
36
|
-
& > .pb_button_kit:not(:first-child)::before {
|
37
|
-
@include toolbar_border(false, $primary_border)
|
38
|
-
}
|
39
|
-
}
|
10
|
+
// Horizontal =============
|
40
11
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
flex-grow: 1;
|
58
|
-
flex-shrink: 1;
|
59
|
-
flex-basis: auto;
|
60
|
-
width: 100%;
|
61
|
-
&:not(:last-child){
|
62
|
-
border-bottom-right-radius: 0;
|
63
|
-
border-bottom-left-radius: 0;
|
64
|
-
border-bottom-width: 0;
|
12
|
+
&[class*=_horizontal] {
|
13
|
+
display: inline-flex;
|
14
|
+
flex-direction: row;
|
15
|
+
align-items: center;
|
16
|
+
justify-content: flex-start;
|
17
|
+
& > [class^=pb_button] {
|
18
|
+
&:not(:last-child){
|
19
|
+
border-bottom-right-radius: 0;
|
20
|
+
border-top-right-radius: 0;
|
21
|
+
border-right-width: 0;
|
22
|
+
}
|
23
|
+
&:not(:first-child){
|
24
|
+
border-bottom-left-radius: 0;
|
25
|
+
border-top-left-radius: 0;
|
26
|
+
border-left-width: 0;
|
27
|
+
}
|
65
28
|
}
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
29
|
+
&[class*=_primary] {
|
30
|
+
& > [class^=pb_button]:not(:first-child)::before {
|
31
|
+
@include toolbar_border(false, $primary_border)
|
32
|
+
}
|
70
33
|
}
|
34
|
+
&[class*=_secondary] {
|
35
|
+
& > [class^=pb_button]:not(:first-child)::before {
|
36
|
+
@include toolbar_border(false, $secondary_border)
|
37
|
+
}
|
38
|
+
}
|
39
|
+
& > [class^=pb_button]:not(:first-child):hover::before,
|
40
|
+
[class^=pb_button]:hover + [class^=pb_button]::before {
|
41
|
+
opacity: 0
|
42
|
+
}
|
71
43
|
}
|
72
|
-
|
73
|
-
& > .pb_button_kit:not(:first-child):hover::before,
|
74
|
-
.pb_button_kit:hover + .pb_button_kit::before {
|
75
|
-
opacity: 0
|
76
|
-
}
|
77
|
-
}
|
78
44
|
|
79
|
-
|
80
|
-
& > .pb_button_kit:not(:first-child)::before {
|
81
|
-
@include toolbar_border(true, $primary_border)
|
82
|
-
}
|
83
|
-
}
|
45
|
+
// Vertical =============
|
84
46
|
|
85
|
-
|
86
|
-
|
87
|
-
|
47
|
+
&[class*=_vertical] {
|
48
|
+
display: inline-flex;
|
49
|
+
flex-direction: column;
|
50
|
+
align-items: flex-start;
|
51
|
+
justify-content: center;
|
52
|
+
& > [class^=pb_button] {
|
53
|
+
display: block;
|
54
|
+
flex-grow: 1;
|
55
|
+
flex-shrink: 1;
|
56
|
+
flex-basis: auto;
|
57
|
+
width: 100%;
|
58
|
+
&:not(:last-child){
|
59
|
+
border-bottom-right-radius: 0;
|
60
|
+
border-bottom-left-radius: 0;
|
61
|
+
border-bottom-width: 0;
|
62
|
+
}
|
63
|
+
&:not(:first-child){
|
64
|
+
border-top-right-radius: 0;
|
65
|
+
border-top-left-radius: 0;
|
66
|
+
border-top-width: 0;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
&[class*=_primary] {
|
70
|
+
& > [class^=pb_button]:not(:first-child)::before {
|
71
|
+
@include toolbar_border(true, $primary_border)
|
72
|
+
}
|
73
|
+
}
|
74
|
+
&[class*=_secondary] {
|
75
|
+
& > [class^=pb_button]:not(:first-child)::before {
|
76
|
+
@include toolbar_border(true, $secondary_border)
|
77
|
+
}
|
78
|
+
}
|
79
|
+
& > [class^=pb_button]:not(:first-child):hover::before,
|
80
|
+
[class^=pb_button]:hover + [class^=pb_button]::before {
|
81
|
+
opacity: 0
|
82
|
+
}
|
88
83
|
}
|
89
|
-
}
|
90
84
|
|
91
|
-
//
|
92
|
-
|
93
|
-
|
94
|
-
.pb_button_toolbar_kit_vertical_primary,
|
95
|
-
.pb_button_toolbar_kit_vertical_secondary {
|
96
|
-
& > .pb_button_kit {
|
85
|
+
// Hover =============
|
86
|
+
|
87
|
+
& > [class^=pb_button] {
|
97
88
|
@media (hover:hover) {
|
98
89
|
&:hover {
|
99
90
|
background-color:darken($royal, 20%);
|
100
91
|
}
|
101
92
|
}
|
102
|
-
|
93
|
+
&[class*=secondary] {
|
103
94
|
@media (hover:hover) {
|
104
95
|
&:hover {
|
105
96
|
background-color:rgba($primary_action, $opacity_3)
|
@@ -107,4 +98,4 @@
|
|
107
98
|
}
|
108
99
|
}
|
109
100
|
}
|
110
|
-
}
|
101
|
+
}
|
@@ -2,50 +2,51 @@
|
|
2
2
|
@import "../tokens/colors";
|
3
3
|
@import "../tokens/opacity";
|
4
4
|
|
5
|
-
|
6
|
-
.pb_button_toolbar_kit_vertical_primary.dark {
|
7
|
-
& > .pb_button_kit:not(:first-child)::before {
|
8
|
-
@include toolbar_border(true, $primary_dark)
|
9
|
-
}
|
10
|
-
}
|
5
|
+
[class^=pb_button_toolbar]{
|
11
6
|
|
12
|
-
|
13
|
-
& > .pb_button_kit:not(:first-child)::before {
|
14
|
-
@include toolbar_border(true, $secondary_dark)
|
15
|
-
}
|
16
|
-
}
|
7
|
+
// Vertical =============
|
17
8
|
|
18
|
-
|
19
|
-
.
|
20
|
-
|
21
|
-
|
9
|
+
&[class*=_vertical] {
|
10
|
+
&[class*=_primary].dark {
|
11
|
+
& > [class^=pb_button]:not(:first-child)::before {
|
12
|
+
@include toolbar_border(true, $primary_dark)
|
13
|
+
}
|
14
|
+
}
|
15
|
+
&[class*=_secondary].dark {
|
16
|
+
& > [class^=pb_button]:not(:first-child)::before {
|
17
|
+
@include toolbar_border(true, $secondary_dark)
|
18
|
+
}
|
19
|
+
}
|
22
20
|
}
|
23
|
-
}
|
24
21
|
|
25
|
-
|
26
|
-
& > .pb_button_kit:not(:first-child)::before {
|
27
|
-
@include toolbar_border(false, $secondary_dark)
|
28
|
-
}
|
29
|
-
}
|
22
|
+
// Horizontal =============
|
30
23
|
|
31
|
-
|
32
|
-
.
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
24
|
+
&[class*=_horizontal] {
|
25
|
+
&[class*=_primary].dark {
|
26
|
+
& > [class^=pb_button]:not(:first-child)::before {
|
27
|
+
@include toolbar_border(false, $primary_dark)
|
28
|
+
}
|
29
|
+
}
|
30
|
+
&[class*=_secondary].dark {
|
31
|
+
& > [class^=pb_button]:not(:first-child)::before {
|
32
|
+
@include toolbar_border(false, $secondary_dark)
|
33
|
+
}
|
34
|
+
}
|
35
|
+
}
|
36
|
+
& > [class^=pb_button]:not(:first-child):hover::before,
|
37
|
+
[class^=pb_button]:hover + [class^=pb_button]::before {
|
38
38
|
opacity: 0
|
39
39
|
}
|
40
40
|
|
41
|
-
//
|
42
|
-
|
41
|
+
// Hover =============
|
42
|
+
|
43
|
+
[class^=pb_button].dark {
|
43
44
|
@media (hover:hover) {
|
44
45
|
&:hover {
|
45
46
|
background-color:darken($royal, 20%);
|
46
47
|
}
|
47
48
|
}
|
48
|
-
|
49
|
+
&[class*=secondary] {
|
49
50
|
@media (hover:hover) {
|
50
51
|
&:hover {
|
51
52
|
background-color:rgba($primary_action, $opacity_3)
|
@@ -53,4 +54,4 @@
|
|
53
54
|
}
|
54
55
|
}
|
55
56
|
}
|
56
|
-
}
|
57
|
+
}
|
@@ -20,7 +20,7 @@ test('default test', () => {
|
|
20
20
|
|
21
21
|
expect(kit).toHaveClass('pb_button_toolbar_kit_horizontal_primary')
|
22
22
|
expect(kit).toContainElement(child)
|
23
|
-
expect(child).toHaveClass('
|
23
|
+
expect(child).toHaveClass('pb_button_kit_primary_inline_enabled')
|
24
24
|
})
|
25
25
|
|
26
26
|
test('variant and orientation props', () => {
|
@@ -42,5 +42,5 @@ test('variant and orientation props', () => {
|
|
42
42
|
const child = screen.getByTestId('child-button')
|
43
43
|
|
44
44
|
expect(kit).toHaveClass('pb_button_toolbar_kit_vertical_secondary')
|
45
|
-
expect(child).toHaveClass('
|
45
|
+
expect(child).toHaveClass('pb_button_kit_secondary_inline_enabled')
|
46
46
|
})
|
@@ -1,115 +1,32 @@
|
|
1
1
|
@import "../tokens/colors";
|
2
2
|
@import "caption_mixin";
|
3
3
|
|
4
|
-
|
5
|
-
.pb_caption_kit,
|
6
|
-
.pb_caption_kit_xs,
|
7
|
-
.pb_caption_kit_sm,
|
8
|
-
.pb_caption_kit_md,
|
9
|
-
.pb_caption_kit_base,
|
10
|
-
.pb_caption_kit_lg,
|
11
|
-
.pb_caption_kit_xl {
|
4
|
+
[class^="pb_caption_kit"] {
|
12
5
|
@include caption;
|
13
|
-
|
14
|
-
|
15
|
-
// Apply caption mixin to all size+color combinations too
|
16
|
-
@each $color_name, $color_value in $pb_caption_colors {
|
17
|
-
.pb_caption_kit_xs_#{$color_name},
|
18
|
-
.pb_caption_kit_sm_#{$color_name},
|
19
|
-
.pb_caption_kit_md_#{$color_name},
|
20
|
-
.pb_caption_kit_base_#{$color_name},
|
21
|
-
.pb_caption_kit_lg_#{$color_name},
|
22
|
-
.pb_caption_kit_xl_#{$color_name} {
|
23
|
-
@include caption;
|
6
|
+
&[class*="_link"] {
|
7
|
+
color: $primary;
|
24
8
|
}
|
25
|
-
}
|
26
9
|
|
27
|
-
|
28
|
-
.pb_caption_kit_xs_link,
|
29
|
-
.pb_caption_kit_sm_link,
|
30
|
-
.pb_caption_kit_md_link,
|
31
|
-
.pb_caption_kit_base_link,
|
32
|
-
.pb_caption_kit_lg_link,
|
33
|
-
.pb_caption_kit_xl_link {
|
34
|
-
@include caption;
|
35
|
-
}
|
36
|
-
|
37
|
-
// Size-specific styles
|
38
|
-
.pb_caption_kit_lg,
|
39
|
-
.pb_caption_kit_lg_default,
|
40
|
-
.pb_caption_kit_lg_light,
|
41
|
-
.pb_caption_kit_lg_lighter,
|
42
|
-
.pb_caption_kit_lg_success,
|
43
|
-
.pb_caption_kit_lg_error,
|
44
|
-
.pb_caption_kit_lg_link {
|
45
|
-
@include caption_lg;
|
46
|
-
}
|
47
|
-
|
48
|
-
// Apply lg mixin to all lg color combinations
|
49
|
-
@each $color_name, $color_value in $pb_caption_colors {
|
50
|
-
.pb_caption_kit_lg_#{$color_name} {
|
10
|
+
&[class^="pb_caption_kit_lg"] {
|
51
11
|
@include caption_lg;
|
52
12
|
}
|
53
|
-
}
|
54
13
|
|
55
|
-
|
56
|
-
.pb_caption_kit_xs_default,
|
57
|
-
.pb_caption_kit_xs_light,
|
58
|
-
.pb_caption_kit_xs_lighter,
|
59
|
-
.pb_caption_kit_xs_success,
|
60
|
-
.pb_caption_kit_xs_error,
|
61
|
-
.pb_caption_kit_xs_link {
|
62
|
-
@include caption_xs;
|
63
|
-
}
|
64
|
-
|
65
|
-
// Apply xs mixin to all xs color combinations
|
66
|
-
@each $color_name, $color_value in $pb_caption_colors {
|
67
|
-
.pb_caption_kit_xs_#{$color_name} {
|
14
|
+
&[class^="pb_caption_kit_xs"] {
|
68
15
|
@include caption_xs;
|
69
16
|
}
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
@each $color_name, $color_value in $pb_caption_colors {
|
74
|
-
.pb_caption_kit_xs_#{$color_name},
|
75
|
-
.pb_caption_kit_sm_#{$color_name},
|
76
|
-
.pb_caption_kit_md_#{$color_name},
|
77
|
-
.pb_caption_kit_base_#{$color_name},
|
78
|
-
.pb_caption_kit_lg_#{$color_name},
|
79
|
-
.pb_caption_kit_xl_#{$color_name} {
|
80
|
-
color: $color_value;
|
17
|
+
|
18
|
+
&[class*="link"] {
|
19
|
+
color: $primary;
|
81
20
|
}
|
82
|
-
}
|
83
21
|
|
84
|
-
|
85
|
-
.pb_caption_kit_xs_link,
|
86
|
-
.pb_caption_kit_sm_link,
|
87
|
-
.pb_caption_kit_md_link,
|
88
|
-
.pb_caption_kit_base_link,
|
89
|
-
.pb_caption_kit_lg_link,
|
90
|
-
.pb_caption_kit_xl_link {
|
91
|
-
color: $primary;
|
92
|
-
}
|
93
|
-
|
94
|
-
// Dark theme variants
|
95
|
-
.pb_caption_kit.dark,
|
96
|
-
.pb_caption_kit_xs.dark,
|
97
|
-
.pb_caption_kit_sm.dark,
|
98
|
-
.pb_caption_kit_md.dark,
|
99
|
-
.pb_caption_kit_base.dark,
|
100
|
-
.pb_caption_kit_lg.dark,
|
101
|
-
.pb_caption_kit_xl.dark {
|
102
|
-
@include caption_dark;
|
103
|
-
}
|
22
|
+
@include pb_caption_kit_colors;
|
104
23
|
|
105
|
-
|
106
|
-
@
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
.pb_caption_kit_xl_#{$color_name}.dark {
|
113
|
-
color: $color_value;
|
24
|
+
&.dark {
|
25
|
+
@include caption_dark;
|
26
|
+
@each $name, $color in $pb_dark_caption_colors {
|
27
|
+
&[class*="_#{$name}"] {
|
28
|
+
color: $color;
|
29
|
+
}
|
30
|
+
}
|
114
31
|
}
|
115
|
-
}
|
32
|
+
}
|