playbook_ui 13.21.0 → 13.22.0.pre.alpha.pbntr254barchartnegativenumber2640
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_advanced_table/Components/CustomCell.tsx +23 -17
- data/app/pb_kits/playbook/pb_advanced_table/Components/SortIconButton.tsx +6 -3
- data/app/pb_kits/playbook/pb_advanced_table/Components/SubRowHeaderRow.tsx +12 -8
- data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +14 -9
- data/app/pb_kits/playbook/pb_advanced_table/Components/ToggleIconButton.tsx +9 -5
- data/app/pb_kits/playbook/pb_advanced_table/README.md +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableBody.tsx +15 -11
- data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableHeader.tsx +12 -8
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/ExpansionControlHelpers.tsx +23 -37
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/types.ts +0 -2
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +7 -9
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +84 -80
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +14 -0
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +19 -0
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +67 -61
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_collapsible_trail.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_default.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.jsx +12 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_expanded_control.md +2 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.md +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_control.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_subrow_headers.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_options.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +7 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_mock_data_inline_loading.js +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data.json +278 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_advanced_table/scss_partials/_chrome_styles.scss +13 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_body.html.erb +9 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +30 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +20 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +21 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +37 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +32 -0
- data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +2 -1
- data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +2 -1
- data/app/pb_kits/playbook/pb_background/background.html.erb +2 -1
- data/app/pb_kits/playbook/pb_badge/badge.html.erb +2 -1
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.tsx +9 -0
- data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +2 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.html.erb +23 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_negative_numbers.jsx +35 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.html.erb +22 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_stacked.jsx +34 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +4 -1
- data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_body/body.html.erb +2 -1
- data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +0 -7
- data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumb_item.html.erb +2 -1
- data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumbs.html.erb +2 -1
- data/app/pb_kits/playbook/pb_button/button.html.erb +2 -1
- data/app/pb_kits/playbook/pb_button/button.rb +2 -3
- data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.html.erb +2 -1
- data/app/pb_kits/playbook/pb_caption/caption.html.erb +2 -1
- data/app/pb_kits/playbook/pb_card/card.html.erb +2 -1
- data/app/pb_kits/playbook/pb_card/card_body.html.erb +2 -1
- data/app/pb_kits/playbook/pb_card/card_header.html.erb +2 -1
- data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +3 -1
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.html.erb +2 -1
- data/app/pb_kits/playbook/pb_collapsible/collapsible.html.erb +2 -1
- data/app/pb_kits/playbook/pb_collapsible/collapsible_content.html.erb +2 -1
- data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +2 -1
- data/app/pb_kits/playbook/pb_contact/contact.html.erb +2 -1
- data/app/pb_kits/playbook/pb_currency/currency.html.erb +2 -1
- data/app/pb_kits/playbook/pb_dashboard_value/dashboard_value.html.erb +2 -1
- data/app/pb_kits/playbook/pb_date/date.html.erb +2 -1
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +1 -2
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +3 -0
- data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +4 -2
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +2 -1
- data/app/pb_kits/playbook/pb_date_picker/date_picker.test.js +1 -1
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.ts +9 -7
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +0 -7
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +0 -7
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_margin_bottom.html.erb +7 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_margin_bottom.jsx +41 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +7 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +7 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +4 -2
- data/app/pb_kits/playbook/pb_date_picker/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +1 -2
- data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.html.erb +2 -1
- data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.html.erb +2 -1
- data/app/pb_kits/playbook/pb_date_stacked/date_stacked.html.erb +2 -1
- data/app/pb_kits/playbook/pb_date_time/date_time.html.erb +2 -1
- data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +3 -2
- data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.html.erb +2 -1
- data/app/pb_kits/playbook/pb_detail/detail.html.erb +2 -1
- data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +2 -1
- data/app/pb_kits/playbook/pb_dialog/dialog_body.html.erb +3 -2
- data/app/pb_kits/playbook/pb_dialog/dialog_footer.html.erb +3 -2
- data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +5 -4
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.html.erb +2 -0
- data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +2 -1
- data/app/pb_kits/playbook/pb_filter/filter.html.erb +2 -1
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +8 -3
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -0
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.html.erb +51 -1
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.jsx +62 -11
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_positions.html.erb +7 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +4 -3
- data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.html.erb +0 -4
- data/app/pb_kits/playbook/pb_flex/flex.html.erb +2 -1
- data/app/pb_kits/playbook/pb_flex/flex_item.html.erb +2 -1
- data/app/pb_kits/playbook/pb_form_group/_form_group.scss +34 -0
- data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.html.erb +17 -1
- data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +18 -2
- data/app/pb_kits/playbook/pb_form_group/form_group.html.erb +2 -1
- data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +2 -2
- data/app/pb_kits/playbook/pb_hashtag/hashtag.html.erb +2 -1
- data/app/pb_kits/playbook/pb_highlight/highlight.html.erb +2 -1
- data/app/pb_kits/playbook/pb_home_address_street/home_address_street.html.erb +2 -1
- data/app/pb_kits/playbook/pb_icon/_icon.tsx +1 -0
- data/app/pb_kits/playbook/pb_icon/icon.html.erb +2 -1
- data/app/pb_kits/playbook/pb_icon/icon.rb +3 -3
- data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +14 -0
- data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.tsx +1 -1
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes.html.erb +5 -0
- data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes.jsx +6 -0
- data/app/pb_kits/playbook/pb_icon_circle/icon_circle.html.erb +2 -1
- data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
- data/app/pb_kits/playbook/pb_icon_circle/icon_circle.test.js +1 -0
- data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.html.erb +2 -1
- data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.rb +0 -2
- data/app/pb_kits/playbook/pb_icon_value/icon_value.html.erb +2 -1
- data/app/pb_kits/playbook/pb_image/image.html.erb +2 -1
- data/app/pb_kits/playbook/pb_label_pill/label_pill.html.erb +2 -1
- data/app/pb_kits/playbook/pb_label_value/label_value.html.erb +3 -2
- data/app/pb_kits/playbook/pb_layout/body.html.erb +2 -1
- data/app/pb_kits/playbook/pb_layout/footer.html.erb +2 -1
- data/app/pb_kits/playbook/pb_layout/header.html.erb +2 -1
- data/app/pb_kits/playbook/pb_layout/item.html.erb +2 -1
- data/app/pb_kits/playbook/pb_layout/layout.html.erb +2 -1
- data/app/pb_kits/playbook/pb_layout/sidebar.html.erb +2 -1
- data/app/pb_kits/playbook/pb_legend/legend.html.erb +2 -1
- data/app/pb_kits/playbook/pb_list/item.html.erb +2 -1
- data/app/pb_kits/playbook/pb_list/list.html.erb +2 -1
- data/app/pb_kits/playbook/pb_list/list.rb +0 -2
- data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +2 -1
- data/app/pb_kits/playbook/pb_message/message.html.erb +2 -1
- data/app/pb_kits/playbook/pb_message/message_mention.html.erb +3 -2
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.md +2 -2
- data/app/pb_kits/playbook/pb_multi_level_select/docs/{_multi_level_select_selected_ids.jsx → _multi_level_select_selected_ids_react.jsx} +2 -2
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.md +5 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +1 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -1
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.html.erb +2 -1
- data/app/pb_kits/playbook/pb_multiple_users/multiple_users.html.erb +2 -1
- data/app/pb_kits/playbook/pb_multiple_users_stacked/multiple_users_stacked.html.erb +2 -1
- data/app/pb_kits/playbook/pb_nav/item.html.erb +4 -2
- data/app/pb_kits/playbook/pb_nav/nav.html.erb +2 -1
- data/app/pb_kits/playbook/pb_online_status/_online_status.scss +1 -10
- data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
- data/app/pb_kits/playbook/pb_online_status/_online_status_mixins.scss +7 -13
- data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.html.erb +6 -9
- data/app/pb_kits/playbook/pb_online_status/docs/_online_status_default.jsx +18 -7
- data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +2 -1
- data/app/pb_kits/playbook/pb_online_status/online_status.rb +1 -1
- data/app/pb_kits/playbook/pb_pagination/docs/_pagination_default.html.erb +2 -1
- data/app/pb_kits/playbook/pb_pagination/pagination.html.erb +2 -1
- data/app/pb_kits/playbook/pb_passphrase/passphrase.html.erb +1 -1
- data/app/pb_kits/playbook/pb_person/person.html.erb +2 -1
- data/app/pb_kits/playbook/pb_person_contact/person_contact.html.erb +2 -1
- data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_validation.html.erb +2 -2
- data/app/pb_kits/playbook/pb_pill/pill.html.erb +2 -1
- data/app/pb_kits/playbook/pb_popover/popover.html.erb +2 -1
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +2 -1
- data/app/pb_kits/playbook/pb_progress_simple/progress_simple.html.erb +2 -1
- data/app/pb_kits/playbook/pb_progress_step/progress_step.html.erb +2 -1
- data/app/pb_kits/playbook/pb_progress_step/progress_step_item.html.erb +2 -1
- data/app/pb_kits/playbook/pb_radio/radio.html.erb +2 -1
- data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +2 -1
- data/app/pb_kits/playbook/pb_select/select.html.erb +2 -1
- data/app/pb_kits/playbook/pb_selectable_card/selectable_card.html.erb +2 -1
- data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.html.erb +2 -1
- data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.html.erb +2 -1
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list.html.erb +2 -1
- data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -1
- data/app/pb_kits/playbook/pb_source/source.html.erb +2 -1
- data/app/pb_kits/playbook/pb_star_rating/star_rating.html.erb +2 -1
- data/app/pb_kits/playbook/pb_stat_change/stat_change.html.erb +2 -1
- data/app/pb_kits/playbook/pb_stat_value/stat_value.html.erb +2 -1
- data/app/pb_kits/playbook/pb_table/table.html.erb +4 -2
- data/app/pb_kits/playbook/pb_table/table_body.html.erb +5 -3
- data/app/pb_kits/playbook/pb_table/table_cell.html.erb +5 -3
- data/app/pb_kits/playbook/pb_table/table_head.html.erb +5 -3
- data/app/pb_kits/playbook/pb_table/table_header.html.erb +5 -3
- data/app/pb_kits/playbook/pb_table/table_row.html.erb +5 -3
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +0 -1
- data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +5 -1
- data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +2 -1
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -1
- data/app/pb_kits/playbook/pb_text_input/text_input.test.js +1 -1
- data/app/pb_kits/playbook/pb_textarea/textarea.html.erb +2 -1
- data/app/pb_kits/playbook/pb_time/time.html.erb +2 -1
- data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.html.erb +3 -2
- data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +2 -1
- data/app/pb_kits/playbook/pb_timeline/item.html.erb +2 -1
- data/app/pb_kits/playbook/pb_timeline/timeline.html.erb +2 -1
- data/app/pb_kits/playbook/pb_timestamp/timestamp.html.erb +2 -1
- data/app/pb_kits/playbook/pb_title/title.html.erb +3 -2
- data/app/pb_kits/playbook/pb_title_count/title_count.html.erb +2 -1
- data/app/pb_kits/playbook/pb_title_detail/title_detail.html.erb +2 -1
- data/app/pb_kits/playbook/pb_toggle/_toggle.scss +39 -6
- data/app/pb_kits/playbook/pb_toggle/_toggle.tsx +17 -12
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.html.erb +11 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_disabled.jsx +21 -0
- data/app/pb_kits/playbook/pb_toggle/docs/example.yml +3 -1
- data/app/pb_kits/playbook/pb_toggle/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_toggle/toggle.html.erb +2 -1
- data/app/pb_kits/playbook/pb_toggle/toggle.rb +2 -1
- data/app/pb_kits/playbook/pb_toggle/toggle.test.js +7 -0
- data/app/pb_kits/playbook/pb_tooltip/tooltip.html.erb +2 -1
- data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +2 -1
- data/app/pb_kits/playbook/pb_user/user.html.erb +2 -1
- data/app/pb_kits/playbook/pb_user_badge/user_badge.html.erb +2 -1
- data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.html.erb +2 -1
- data/app/pb_kits/playbook/utilities/_positioning.scss +23 -10
- data/app/pb_kits/playbook/utilities/globalProps.ts +26 -8
- data/dist/menu.yml +4 -0
- data/dist/playbook-rails.js +7 -7
- data/lib/playbook/bottom.rb +6 -3
- data/lib/playbook/kit_base.rb +18 -0
- data/lib/playbook/left.rb +6 -3
- data/lib/playbook/pb_doc_helper.rb +1 -1
- data/lib/playbook/position_props_css.rb +17 -0
- data/lib/playbook/props/percentage.rb +2 -2
- data/lib/playbook/right.rb +6 -3
- data/lib/playbook/top.rb +6 -3
- data/lib/playbook/version.rb +2 -2
- metadata +33 -42
- data/app/pb_kits/playbook/pb_advanced_table/docs/_mock_data.js +0 -278
@@ -1,7 +1,8 @@
|
|
1
1
|
<%= content_tag(:div,
|
2
2
|
id: object.id,
|
3
3
|
data: object.data,
|
4
|
-
class: object.classname
|
4
|
+
class: object.classname,
|
5
|
+
**combined_html_options) do %>
|
5
6
|
<%= pb_rails("title", props: { text: object.title, size: 4 }) %>
|
6
7
|
<%= pb_rails("body", props: { text: object.detail, color: "light" }) %>
|
7
8
|
<% end %>
|
@@ -2,16 +2,16 @@
|
|
2
2
|
|
3
3
|
$color_checkbox_success: $data_1;
|
4
4
|
$color_checkbox_default: $border_light;
|
5
|
+
$color_disabled: darken($border_light, 20%);
|
5
6
|
$transition: .2s ease-in-out;
|
6
7
|
|
7
8
|
[class^=pb_toggle_kit] {
|
8
9
|
position: relative;
|
9
10
|
$width: 44px;
|
10
|
-
$height: $width/2;
|
11
|
+
$height: $width / 2;
|
11
12
|
$border_success: 3px solid $color_checkbox_success;
|
12
13
|
$border_default: 3px solid $color_checkbox_default;
|
13
14
|
|
14
|
-
|
15
15
|
.pb_toggle_wrapper {
|
16
16
|
.pb_toggle_control {
|
17
17
|
cursor: pointer;
|
@@ -23,10 +23,11 @@ $transition: .2s ease-in-out;
|
|
23
23
|
border: $border_default;
|
24
24
|
position: relative;
|
25
25
|
box-sizing: content-box;
|
26
|
+
|
26
27
|
&:after {
|
27
28
|
transition: $transition;
|
28
29
|
content: "";
|
29
|
-
width: $width/2 - 4px;
|
30
|
+
width: $width / 2 - 4px;
|
30
31
|
height: $height - 4px;
|
31
32
|
background-color: $color_checkbox_default;
|
32
33
|
border-radius: 50%;
|
@@ -34,23 +35,55 @@ $transition: .2s ease-in-out;
|
|
34
35
|
top: 2px;
|
35
36
|
left: 2px;
|
36
37
|
}
|
38
|
+
|
37
39
|
&:hover {
|
38
40
|
border: $border_success;
|
39
|
-
|
41
|
+
|
42
|
+
&:after {
|
40
43
|
background-color: $color_checkbox_success;
|
41
44
|
}
|
42
45
|
}
|
43
46
|
}
|
47
|
+
|
44
48
|
input {
|
45
49
|
display: none;
|
50
|
+
|
51
|
+
&:disabled + .pb_toggle_control {
|
52
|
+
cursor: not-allowed;
|
53
|
+
opacity: 0.5;
|
54
|
+
border: 3px solid $border_light;
|
55
|
+
background-color: $border_light;
|
56
|
+
|
57
|
+
&:after {
|
58
|
+
background-color: darken($neutral, 15%);
|
59
|
+
}
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
63
|
+
input:checked {
|
64
|
+
display: none;
|
65
|
+
|
46
66
|
&:checked + .pb_toggle_control {
|
47
67
|
border: $border_success;
|
48
68
|
background-color: $color_checkbox_success;
|
49
|
-
|
50
|
-
|
69
|
+
|
70
|
+
&:after {
|
71
|
+
left: $width / 2 + 2px;
|
51
72
|
background-color: $white;
|
52
73
|
}
|
53
74
|
}
|
75
|
+
|
76
|
+
&:disabled + .pb_toggle_control {
|
77
|
+
cursor: not-allowed;
|
78
|
+
opacity: 0.5;
|
79
|
+
border: 3px solid $text_lt_light;
|
80
|
+
background-color: $text_lt_light;
|
81
|
+
|
82
|
+
&:after {
|
83
|
+
background-color: $neutral;
|
84
|
+
}
|
85
|
+
}
|
54
86
|
}
|
55
87
|
}
|
56
88
|
}
|
89
|
+
|
@@ -17,6 +17,7 @@ type Props = {
|
|
17
17
|
children?: React.ReactNode | React.ReactNode[],
|
18
18
|
className?: string,
|
19
19
|
data?: { [key: string]: string },
|
20
|
+
disabled?: boolean,
|
20
21
|
htmlOptions?: {[key: string]: string | number | boolean | (() => void)},
|
21
22
|
id?: string,
|
22
23
|
name?: string,
|
@@ -31,10 +32,13 @@ const Toggle = ({
|
|
31
32
|
children,
|
32
33
|
className,
|
33
34
|
data = {},
|
35
|
+
disabled = false,
|
34
36
|
id,
|
35
37
|
htmlOptions = {},
|
36
38
|
name,
|
37
|
-
onChange = () => {
|
39
|
+
onChange = (): void => {
|
40
|
+
// Function body here
|
41
|
+
},
|
38
42
|
size = 'sm',
|
39
43
|
value,
|
40
44
|
...props
|
@@ -53,23 +57,24 @@ const Toggle = ({
|
|
53
57
|
|
54
58
|
return (
|
55
59
|
<div
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
60
|
+
{...ariaProps}
|
61
|
+
{...dataProps}
|
62
|
+
{...htmlProps}
|
63
|
+
className={classnames(css, globalProps(props), className)}
|
64
|
+
id={id}
|
61
65
|
>
|
62
66
|
<label className="pb_toggle_wrapper">
|
63
67
|
{children && children}
|
64
68
|
|
65
69
|
{!children &&
|
66
70
|
<input
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
71
|
+
{...props}
|
72
|
+
defaultChecked={checked}
|
73
|
+
disabled={disabled}
|
74
|
+
name={name}
|
75
|
+
onChange={onChange}
|
76
|
+
type="checkbox"
|
77
|
+
value={value}
|
73
78
|
/>
|
74
79
|
}
|
75
80
|
<div className="pb_toggle_control" />
|
@@ -0,0 +1,21 @@
|
|
1
|
+
// @flow
|
2
|
+
|
3
|
+
import React from 'react'
|
4
|
+
import { Toggle } from '../..'
|
5
|
+
|
6
|
+
const ToggleDisabled= () => {
|
7
|
+
return (
|
8
|
+
<>
|
9
|
+
<Toggle
|
10
|
+
checked
|
11
|
+
disabled
|
12
|
+
/>
|
13
|
+
|
14
|
+
<br />
|
15
|
+
|
16
|
+
<Toggle disabled />
|
17
|
+
</>
|
18
|
+
)
|
19
|
+
}
|
20
|
+
|
21
|
+
export default ToggleDisabled
|
@@ -2,6 +2,7 @@ examples:
|
|
2
2
|
|
3
3
|
rails:
|
4
4
|
- toggle_default: Default State
|
5
|
+
- toggle_disabled: Disabled
|
5
6
|
- toggle_name: Name and Value
|
6
7
|
- toggle_custom: Custom checkbox input
|
7
8
|
- toggle_custom_radio: Custom radio inputs
|
@@ -9,6 +10,7 @@ examples:
|
|
9
10
|
|
10
11
|
react:
|
11
12
|
- toggle_default: Default State
|
13
|
+
- toggle_disabled: Disabled
|
12
14
|
- toggle_name: Name and Value
|
13
15
|
- toggle_custom: Custom checkbox input
|
14
16
|
- toggle_custom_radio: Custom radio inputs
|
@@ -16,4 +18,4 @@ examples:
|
|
16
18
|
swift:
|
17
19
|
- toggle_default_swift: Default State
|
18
20
|
- toggle_name_swift: Name and Value
|
19
|
-
- toggle_props_swift: ""
|
21
|
+
- toggle_props_swift: ""
|
@@ -1,4 +1,5 @@
|
|
1
1
|
export { default as ToggleDefault } from './_toggle_default'
|
2
|
+
export { default as ToggleDisabled } from './_toggle_disabled'
|
2
3
|
export { default as ToggleCustom } from './_toggle_custom'
|
3
4
|
export { default as ToggleName } from './_toggle_name'
|
4
5
|
export { default as ToggleCustomRadio } from './_toggle_custom_radio'
|
@@ -2,7 +2,8 @@
|
|
2
2
|
id: object.id,
|
3
3
|
data: object.data,
|
4
4
|
aria: object.aria,
|
5
|
-
class: object.classname
|
5
|
+
class: object.classname,
|
6
|
+
**combined_html_options) do %>
|
6
7
|
<label class="pb_toggle_wrapper">
|
7
8
|
<%= content.presence || object.input %>
|
8
9
|
<div class="pb_toggle_control"></div>
|
@@ -15,13 +15,14 @@ module Playbook
|
|
15
15
|
values: %w[sm md],
|
16
16
|
default: "sm"
|
17
17
|
prop :value
|
18
|
+
prop :disabled, type: Playbook::Props::Boolean, default: false
|
18
19
|
|
19
20
|
def classname
|
20
21
|
generate_classname("pb_toggle_kit", size, checked_class)
|
21
22
|
end
|
22
23
|
|
23
24
|
def input
|
24
|
-
check_box_tag(name, value, checked, input_options)
|
25
|
+
check_box_tag(name, value, checked, input_options.merge(disabled: disabled))
|
25
26
|
end
|
26
27
|
|
27
28
|
private
|
@@ -60,6 +60,13 @@ test('should have sm size by default', () => {
|
|
60
60
|
expect(kit).toHaveClass('pb_toggle_kit_sm_off')
|
61
61
|
})
|
62
62
|
|
63
|
+
test('should pass disabled prop', () => {
|
64
|
+
render(<ToggleDefault disabled />)
|
65
|
+
const kit = screen.getByTestId(testId)
|
66
|
+
const input = kit.querySelector('input')
|
67
|
+
expect(input).toHaveAttribute('disabled')
|
68
|
+
})
|
69
|
+
|
63
70
|
test('should pass size prop', () => {
|
64
71
|
render(<ToggleDefault size='md' />)
|
65
72
|
const kit = screen.getByTestId(testId)
|
@@ -1,7 +1,8 @@
|
|
1
1
|
<%= content_tag(:div,
|
2
2
|
id: object.id,
|
3
3
|
data: object.data,
|
4
|
-
class: object.classname
|
4
|
+
class: object.classname,
|
5
|
+
**combined_html_options) do %>
|
5
6
|
<div class="tooltip_tooltip" id="<%= object.tooltip_id %>" role="tooltip">
|
6
7
|
<%= content.presence %>
|
7
8
|
<div class="arrow" id="<%= object.tooltip_id %>-arrow"></div>
|
@@ -4,7 +4,8 @@
|
|
4
4
|
<%= content_tag(:div,
|
5
5
|
id: object.id,
|
6
6
|
data: object.data,
|
7
|
-
class: object.classname + object.inline_class
|
7
|
+
class: object.classname + object.inline_class,
|
8
|
+
**combined_html_options) do %>
|
8
9
|
<div class="pb_typeahead_wrapper">
|
9
10
|
<div class="pb_typeahead_loading_indicator" data-pb-typeahead-kit-loading-indicator>
|
10
11
|
<%= pb_rails("icon", props: {
|
@@ -2,7 +2,8 @@
|
|
2
2
|
aria: object.aria,
|
3
3
|
class: object.classname,
|
4
4
|
data: object.data,
|
5
|
-
id: object.id
|
5
|
+
id: object.id,
|
6
|
+
**combined_html_options) do %>
|
6
7
|
<%= pb_rails("caption", props: {dark: object.dark, text: object.day_of_week}) %>
|
7
8
|
<%= pb_rails("title", props: {dark: object.dark, size: 4, tag: "span", text: object.formatted_month_and_day}) %>
|
8
9
|
<% end %>
|
@@ -88,18 +88,31 @@ $space_classes: (
|
|
88
88
|
|
89
89
|
$positions: "top", "right", "bottom", "left";
|
90
90
|
|
91
|
+
|
92
|
+
@mixin position-property($position, $space_name, $space, $is_inset: false) {
|
93
|
+
@if $space_name == "0" {
|
94
|
+
#{$position}: 0 !important;
|
95
|
+
}
|
96
|
+
@else if $space_name == "auto" or $space_name == "initial" or $space_name == "inherit" {
|
97
|
+
#{$position}: #{$space} !important;
|
98
|
+
}
|
99
|
+
@else {
|
100
|
+
@if $is_inset {
|
101
|
+
#{$position}: #{$space} !important;
|
102
|
+
} @else {
|
103
|
+
#{$position}: #{-$space} !important;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}
|
107
|
+
|
91
108
|
@each $position in $positions {
|
92
109
|
@each $space_name, $space in $space_classes {
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
}
|
100
|
-
@else {
|
101
|
-
#{$position}: #{-$space} !important;
|
102
|
-
}
|
110
|
+
$space_name_str: "#{ $space_name }";
|
111
|
+
.#{$position}_#{$space_name_str} {
|
112
|
+
@include position-property($position, $space_name_str, $space)
|
113
|
+
}
|
114
|
+
.#{$position}_#{$space_name_str}_inset {
|
115
|
+
@include position-property($position, $space_name_str, $space, true)
|
103
116
|
}
|
104
117
|
}
|
105
118
|
}
|
@@ -119,19 +119,19 @@ type Position = {
|
|
119
119
|
}
|
120
120
|
|
121
121
|
type Top = {
|
122
|
-
top?: Sizes,
|
122
|
+
top?: Sizes | {value: string, inset: boolean},
|
123
123
|
}
|
124
124
|
|
125
125
|
type Right = {
|
126
|
-
right?: Sizes,
|
126
|
+
right?: Sizes | {value: string, inset: boolean},
|
127
127
|
}
|
128
128
|
|
129
129
|
type Bottom = {
|
130
|
-
bottom?: Sizes,
|
130
|
+
bottom?: Sizes | {value: string, inset: boolean},
|
131
131
|
}
|
132
132
|
|
133
133
|
type Left = {
|
134
|
-
left?: Sizes,
|
134
|
+
left?: Sizes | {value: string, inset: boolean},
|
135
135
|
}
|
136
136
|
|
137
137
|
type Shadow = {
|
@@ -177,6 +177,19 @@ const getResponsivePropClasses = (prop: {[key: string]: string}, classPrefix: st
|
|
177
177
|
}).join(" ")
|
178
178
|
}
|
179
179
|
|
180
|
+
//reusable function for top, bottom, right and left props
|
181
|
+
const getPositioningPropsClasses = (position: string, value: Sizes | {value: string, inset: boolean} ) => {
|
182
|
+
let css = "";
|
183
|
+
if (typeof value === 'string') {
|
184
|
+
css += `${position}_${value}`;
|
185
|
+
} else if (typeof value === 'object' && value.inset) {
|
186
|
+
css += `${position}_${value.value}_inset`;
|
187
|
+
} else if (typeof value === 'object') {
|
188
|
+
css += `${position}_${value.value}`;
|
189
|
+
}
|
190
|
+
return css;
|
191
|
+
};
|
192
|
+
|
180
193
|
// Prop categories
|
181
194
|
const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} = {
|
182
195
|
|
@@ -441,11 +454,16 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
|
|
441
454
|
return css
|
442
455
|
},
|
443
456
|
|
444
|
-
topProps: ({ top }: Top) => top ? `top_${top}` : '',
|
445
|
-
rightProps: ({ right }: Right) => right ? `right_${right}` : '',
|
446
|
-
bottomProps: ({ bottom }: Bottom) => bottom ? `bottom_${bottom}` : '',
|
447
|
-
leftProps: ({ left }: Left) => left ? `left_${left}` : '',
|
448
457
|
|
458
|
+
topProps: ({top}) => getPositioningPropsClasses('top', top),
|
459
|
+
|
460
|
+
rightProps: ({right}) => getPositioningPropsClasses('right', right),
|
461
|
+
|
462
|
+
bottomProps:({bottom}) => getPositioningPropsClasses('bottom', bottom),
|
463
|
+
|
464
|
+
leftProps: ({left}) => getPositioningPropsClasses('left', left),
|
465
|
+
|
466
|
+
|
449
467
|
textAlignProps: ({ textAlign }: TextAlign) => {
|
450
468
|
if (typeof textAlign === 'object') {
|
451
469
|
return getResponsivePropClasses(textAlign, 'text_align')
|
data/dist/menu.yml
CHANGED
@@ -407,6 +407,10 @@ kits:
|
|
407
407
|
platforms: *web
|
408
408
|
description: Badges can be used for notification, tags, and status. They are used for count and numbers.
|
409
409
|
status: "stable"
|
410
|
+
- name: "online_status"
|
411
|
+
platforms: *web
|
412
|
+
description: Online Status is a small indicator that lets the user know the status of a person or item.
|
413
|
+
status: "stable"
|
410
414
|
- name: "pill"
|
411
415
|
platforms: *all
|
412
416
|
description: A pill uses both a keyword and a specific color to categorize an item.
|