playbook_ui 14.12.0.pre.rc.12 → 14.13.0.pre.alpha.PBNTR457formtimezoneselect6219
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/_playbook.scss +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +11 -4
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/ActionBarAnimationHelper.ts +26 -0
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +74 -10
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +43 -26
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.html.erb +3 -3
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.rb +11 -2
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_custom_cell.jsx +75 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.html.erb +33 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading_rails.md +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_loading.md → _advanced_table_loading_react.md} +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.html.erb +38 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props.jsx +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_rails.md +3 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_react.md +3 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header.html.erb +33 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header.jsx +55 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_rails.md +3 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header_react.md +3 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +5 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +3 -1
- data/app/pb_kits/playbook/pb_advanced_table/index.js +9 -6
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +17 -3
- data/app/pb_kits/playbook/pb_advanced_table/table_header.html.erb +15 -11
- data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +14 -3
- data/app/pb_kits/playbook/pb_advanced_table/table_row.html.erb +10 -7
- data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +9 -1
- data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/table_subrow_header.rb +9 -0
- data/app/pb_kits/playbook/pb_avatar/_avatar.scss +14 -0
- data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +11 -7
- data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +6 -7
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_badge_component_overlay.jsx +9 -3
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_circle_icon_component_overlay.jsx +6 -2
- data/app/pb_kits/playbook/pb_bar_graph/BarGraphStyles.scss +58 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.jsx +64 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_pb_styles.md +1 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_button/button.rb +1 -1
- data/app/pb_kits/playbook/pb_card/card.html.erb +21 -2
- data/app/pb_kits/playbook/pb_card/card.rb +7 -0
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.tsx +17 -8
- data/app/pb_kits/playbook/pb_checkbox/checkbox.test.js +16 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.jsx +69 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_react_hook.md +1 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +2 -1
- data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_copy_button/_copy_button.scss +4 -0
- data/app/pb_kits/playbook/pb_copy_button/_copy_button.tsx +92 -0
- data/app/pb_kits/playbook/pb_copy_button/copy_button.html.erb +15 -0
- data/app/pb_kits/playbook/pb_copy_button/copy_button.rb +28 -0
- data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +64 -0
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_default.html.erb +2 -0
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_default.jsx +21 -0
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.html.erb +5 -0
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.jsx +45 -0
- data/app/pb_kits/playbook/pb_copy_button/docs/_copy_button_from.md +1 -0
- data/app/pb_kits/playbook/pb_copy_button/docs/example.yml +8 -0
- data/app/pb_kits/playbook/pb_copy_button/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_copy_button/index.js +47 -0
- data/app/pb_kits/playbook/pb_date/_date.tsx +14 -4
- data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +2 -1
- data/app/pb_kits/playbook/pb_date/docs/_date_unstyled.jsx +13 -5
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +3 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers_rails.html.erb +99 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers_rails.md +1 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards_rails.html.erb +1 -3
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards_rails.md +7 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table.html.erb +61 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table.md +4 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.jsx +90 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.md +5 -0
- data/app/pb_kits/playbook/pb_draggable/docs/example.yml +4 -5
- data/app/pb_kits/playbook/pb_draggable/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_draggable/draggable_container.html.erb +2 -2
- data/app/pb_kits/playbook/pb_draggable/draggable_container.rb +5 -0
- data/app/pb_kits/playbook/pb_draggable/draggable_item.html.erb +1 -1
- data/app/pb_kits/playbook/pb_draggable/draggable_item.rb +4 -0
- data/app/pb_kits/playbook/pb_draggable/index.js +151 -15
- data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableContainer.tsx +7 -4
- data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +6 -3
- data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -6
- data/app/pb_kits/playbook/pb_filter/filter.html.erb +1 -5
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_auto_close.html.erb +58 -0
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_auto_close_rails.md +3 -0
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/index.js +7 -5
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -0
- data/app/pb_kits/playbook/pb_form_group/form_group.html.erb +1 -6
- data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +1 -1
- data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +11 -7
- data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting.html.erb +11 -0
- data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting.jsx +22 -0
- data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting_rails.md +1 -0
- data/app/pb_kits/playbook/pb_home_address_street/docs/_home_address_street_formatting_react.md +1 -0
- data/app/pb_kits/playbook/pb_home_address_street/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_home_address_street/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +13 -2
- data/app/pb_kits/playbook/pb_icon/icon.html.erb +2 -6
- data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_default.html.erb +1 -2
- data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_sizes.html.erb +27 -0
- data/app/pb_kits/playbook/pb_icon_button/docs/example.yml +1 -3
- data/app/pb_kits/playbook/pb_icon_button/icon_button.html.erb +1 -1
- data/app/pb_kits/playbook/pb_icon_button/icon_button.rb +3 -0
- data/app/pb_kits/playbook/pb_layout/body.html.erb +1 -5
- data/app/pb_kits/playbook/pb_layout/footer.html.erb +1 -5
- data/app/pb_kits/playbook/pb_layout/header.html.erb +1 -5
- data/app/pb_kits/playbook/pb_layout/item.html.erb +1 -5
- data/app/pb_kits/playbook/pb_layout/layout.html.erb +1 -5
- data/app/pb_kits/playbook/pb_layout/sidebar.html.erb +1 -5
- data/app/pb_kits/playbook/pb_legend/legend.html.erb +1 -6
- data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +7 -6
- data/app/pb_kits/playbook/pb_link/_link.tsx +18 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_target.html.erb +15 -0
- data/app/pb_kits/playbook/pb_link/docs/_link_target.jsx +29 -0
- data/app/pb_kits/playbook/pb_link/docs/example.yml +5 -3
- data/app/pb_kits/playbook/pb_link/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_link/link.html.erb +1 -1
- data/app/pb_kits/playbook/pb_link/link.rb +6 -0
- data/app/pb_kits/playbook/pb_link/link.test.jsx +30 -0
- data/app/pb_kits/playbook/pb_message/message.html.erb +1 -6
- data/app/pb_kits/playbook/pb_message/message_mention.html.erb +1 -6
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.html.erb +1 -6
- data/app/pb_kits/playbook/pb_nav/item.html.erb +7 -19
- data/app/pb_kits/playbook/pb_nav/nav.html.erb +3 -8
- data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +1 -6
- data/app/pb_kits/playbook/pb_overlay/_overlay.tsx +4 -0
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.jsx +37 -0
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional_react.md +1 -0
- data/app/pb_kits/playbook/pb_overlay/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_overlay/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_overlay/subcomponents/_overlay_token.tsx +48 -10
- data/app/pb_kits/playbook/pb_popover/popover.html.erb +1 -6
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +6 -1
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.tsx +7 -5
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.html.erb +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.jsx +7 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_default.md +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width.html.erb +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width.jsx +18 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width_rails.md +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/_progress_pills_full_width_react.md +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_progress_pills/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.html.erb +2 -7
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.rb +6 -0
- data/app/pb_kits/playbook/pb_progress_pills/progress_pills.test.js +26 -1
- data/app/pb_kits/playbook/pb_progress_simple/progress_simple.html.erb +1 -5
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tooltip.html.erb +6 -6
- data/app/pb_kits/playbook/pb_progress_step/progress_step.html.erb +1 -5
- data/app/pb_kits/playbook/pb_progress_step/progress_step_item.html.erb +1 -5
- data/app/pb_kits/playbook/pb_radio/radio.html.erb +6 -11
- data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.html.erb +6 -9
- data/app/pb_kits/playbook/pb_table/docs/_table_with_background_kit.jsx +6 -9
- data/app/pb_kits/playbook/pb_table/docs/_table_with_clickable_rows.html.erb +47 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_clickable_rows.jsx +88 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_clickable_rows.md +1 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.jsx +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.html.erb +51 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click_rails.md +2 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content.jsx +12 -8
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.html.erb +52 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_content_rails.md +0 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.html.erb +52 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_rows_rails.md +3 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.html.erb +80 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_nested_table_rails.md +1 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.html.erb +96 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.jsx +101 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_with_selectable_rows.md +1 -0
- data/app/pb_kits/playbook/pb_table/docs/example.yml +8 -0
- data/app/pb_kits/playbook/pb_table/docs/index.js +3 -1
- data/app/pb_kits/playbook/pb_table/index.ts +41 -9
- data/app/pb_kits/playbook/pb_table/styles/_collapsible.scss +4 -0
- data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +26 -0
- data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +0 -1
- data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +25 -0
- data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +25 -0
- data/app/pb_kits/playbook/pb_table/subcomponents/_table_body.tsx +29 -2
- data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +31 -3
- data/app/pb_kits/playbook/pb_table/table_body.html.erb +13 -7
- data/app/pb_kits/playbook/pb_table/table_body.rb +2 -0
- data/app/pb_kits/playbook/pb_table/table_row.html.erb +14 -7
- data/app/pb_kits/playbook/pb_table/table_row.rb +15 -2
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask.html.erb +15 -1
- data/app/pb_kits/playbook/pb_text_input/index.js +60 -82
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +5 -2
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.tsx +3 -1
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default.html.erb +1 -1
- data/app/pb_kits/playbook/pb_tooltip/index.js +45 -27
- data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +5 -1
- data/app/pb_kits/playbook/pb_user/_user.tsx +3 -0
- data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.html.erb +42 -0
- data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.jsx +59 -0
- data/app/pb_kits/playbook/pb_user/docs/_user_light_weight.md +2 -0
- data/app/pb_kits/playbook/pb_user/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_user/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_user/user.html.erb +1 -1
- data/app/pb_kits/playbook/pb_user/user.rb +1 -0
- data/app/pb_kits/playbook/pb_user/user.test.js +14 -0
- data/dist/chunks/_typeahead-PqkcDf1H.js +36 -0
- data/dist/chunks/_weekday_stacked-C7J0S4f7.js +45 -0
- data/dist/chunks/{lib-kMuhBuU7.js → lib-D3us1bGD.js} +2 -2
- data/dist/chunks/{pb_form_validation-DBJ0wZuS.js → pb_form_validation-BpihMSOQ.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +6 -7
- data/dist/playbook-doc.js +1 -1
- 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/forms/builder/time_zone_select_field.rb +19 -0
- data/lib/playbook/forms/builder.rb +1 -0
- data/lib/playbook/pb_forms_global_props_helper.rb +136 -0
- data/lib/playbook/pb_forms_helper.rb +13 -4
- data/lib/playbook/version.rb +2 -2
- metadata +77 -25
- data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.scss +0 -66
- data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.tsx +0 -98
- data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +0 -28
- data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.rb +0 -42
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +0 -19
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +0 -26
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +0 -10
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +0 -17
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +0 -19
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +0 -16
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +0 -35
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +0 -42
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +0 -13
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/example.yml +0 -15
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/index.js +0 -4
- data/app/pb_kits/playbook/pb_avatar_action_button/pb_avatar_action_button.test.js +0 -31
- data/dist/chunks/_typeahead-BWwaAo_0.js +0 -36
- data/dist/chunks/_weekday_stacked-zyBCd1s8.js +0 -45
- /data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/{_fixed_confirmation_toast_auto_close.md → _fixed_confirmation_toast_auto_close_react.md} +0 -0
- /data/app/pb_kits/playbook/pb_table/docs/{_table_with_collapsible_with_custom_click.md → _table_with_collapsible_with_custom_click_react.md} +0 -0
@@ -18,6 +18,7 @@ module Playbook
|
|
18
18
|
prop :state
|
19
19
|
prop :zipcode
|
20
20
|
prop :territory
|
21
|
+
prop :preserve_case, default: false
|
21
22
|
prop :dark, type: Playbook::Props::Boolean, default: false
|
22
23
|
|
23
24
|
def classname
|
@@ -29,7 +30,7 @@ module Playbook
|
|
29
30
|
end
|
30
31
|
|
31
32
|
def city_state
|
32
|
-
[city&.titleize, state].join(", ")
|
33
|
+
[city&.titleize, state&.upcase].join(", ")
|
33
34
|
end
|
34
35
|
|
35
36
|
def zip
|
@@ -37,7 +38,7 @@ module Playbook
|
|
37
38
|
end
|
38
39
|
|
39
40
|
def address_house_style
|
40
|
-
[
|
41
|
+
[format_street_address, house_style].join(separator)
|
41
42
|
end
|
42
43
|
|
43
44
|
def address_house_style2
|
@@ -48,6 +49,16 @@ module Playbook
|
|
48
49
|
house_style ? " \u00b7 " : ""
|
49
50
|
end
|
50
51
|
|
52
|
+
def format_street_address
|
53
|
+
preserve_case ? address : custom_titleize(address)
|
54
|
+
end
|
55
|
+
|
56
|
+
def custom_titleize(str)
|
57
|
+
return "" if str.nil?
|
58
|
+
|
59
|
+
str.split(" ").map(&:capitalize).join(" ")
|
60
|
+
end
|
61
|
+
|
51
62
|
def city_emphasis_props
|
52
63
|
{
|
53
64
|
address_house_style: address_house_style,
|
@@ -5,12 +5,8 @@
|
|
5
5
|
<%= object.icon.html_safe %>
|
6
6
|
</span>
|
7
7
|
<% else %>
|
8
|
-
<%=
|
9
|
-
|
10
|
-
data: object.data,
|
11
|
-
class: object.classname,
|
12
|
-
**combined_html_options
|
13
|
-
) %>
|
8
|
+
<%= pb_content_tag(:i) do %>
|
9
|
+
<% end %>
|
14
10
|
<%= content_tag(:span, nil,
|
15
11
|
aria: { label: "#{object.icon} icon" }.merge(object.aria),
|
16
12
|
hidden: true
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<%= pb_rails("flex", props: { align: "center"}) do %>
|
2
|
+
<%= pb_rails("icon_button", props: {size: "lg"}) %> <span>Large</span>
|
3
|
+
<% end %>
|
4
|
+
|
5
|
+
<%= pb_rails("flex", props: { align: "center" }) do %>
|
6
|
+
<%= pb_rails("icon_button", props: {size: "sm"}) %> <span>Small</span>
|
7
|
+
<% end %>
|
8
|
+
|
9
|
+
<%= pb_rails("flex", props: { align: "center" }) do %>
|
10
|
+
<%= pb_rails("icon_button", props: {size: "xs"}) %> <span>XSmall</span>
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<%= pb_rails("flex", props: { align: "center", margin_top: "md" }) do %>
|
14
|
+
<%= pb_rails("icon_button", props: {size: "1x"}) %> <span>1x</span>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<%= pb_rails("flex", props: { align: "center" }) do %>
|
18
|
+
<%= pb_rails("icon_button", props: {size: "2x"}) %> <span>2x</span>
|
19
|
+
<% end %>
|
20
|
+
|
21
|
+
<%= pb_rails("flex", props: { align: "center" }) do %>
|
22
|
+
<%= pb_rails("icon_button", props: {size: "3x"}) %> <span>3x</span>
|
23
|
+
<% end %>
|
24
|
+
|
25
|
+
<%= pb_rails("flex", props: { align: "center" }) do %>
|
26
|
+
<%= pb_rails("icon_button", props: {size: "4x"}) %> <span>4x</span>
|
27
|
+
<% end %>
|
@@ -14,6 +14,9 @@ module Playbook
|
|
14
14
|
prop :variant, type: Playbook::Props::Enum,
|
15
15
|
values: %w[default link],
|
16
16
|
default: "default"
|
17
|
+
prop :size, type: Playbook::Props::Enum,
|
18
|
+
values: %w[1x 2x 3x 4x 5x 6x 7x 8x 9x 10x xs sm lg],
|
19
|
+
default: "2x"
|
17
20
|
def classname
|
18
21
|
generate_classname("pb_icon_button_kit", variant)
|
19
22
|
end
|
@@ -1,9 +1,4 @@
|
|
1
|
-
<%=
|
2
|
-
aria: object.aria,
|
3
|
-
id: object.id,
|
4
|
-
data: object.data,
|
5
|
-
class: object.classname,
|
6
|
-
**combined_html_options) do %>
|
1
|
+
<%= pb_content_tag do %>
|
7
2
|
<%= pb_rails("body", props: {color: object.body_color}) do %>
|
8
3
|
<span style="<%= object.custom_color %>" class=<%= object.custom_color_class %>></span>
|
9
4
|
<%= pb_rails("title", props: { dark: object.dark, text: object.prefix_text, tag: "span", size: 4 }) %>
|
@@ -2,6 +2,7 @@
|
|
2
2
|
@import "../tokens/screen_sizes";
|
3
3
|
|
4
4
|
$slides-margin: $space-md;
|
5
|
+
$lightbox-z-index-floor: $z_10 !default;
|
5
6
|
|
6
7
|
.carousel {
|
7
8
|
|
@@ -13,7 +14,7 @@ $slides-margin: $space-md;
|
|
13
14
|
top: 0;
|
14
15
|
left: 0;
|
15
16
|
right: 0;
|
16
|
-
z-index:
|
17
|
+
z-index: $lightbox-z-index-floor + 99;
|
17
18
|
align-items: center;
|
18
19
|
transition: all .5s;
|
19
20
|
|
@@ -55,7 +56,7 @@ $slides-margin: $space-md;
|
|
55
56
|
justify-content: space-between;
|
56
57
|
flex-direction: column;
|
57
58
|
background-color: black;
|
58
|
-
z-index: 1;
|
59
|
+
z-index: $lightbox-z-index-floor + 1;
|
59
60
|
overflow: hidden;
|
60
61
|
}
|
61
62
|
|
@@ -63,7 +64,7 @@ $slides-margin: $space-md;
|
|
63
64
|
display: flex;
|
64
65
|
height: calc(100% - 120px);
|
65
66
|
width: 100%;
|
66
|
-
z-index: 1;
|
67
|
+
z-index: $lightbox-z-index-floor + 1;
|
67
68
|
|
68
69
|
[class^="react-transform-wrapper"] {
|
69
70
|
flex-shrink: 0;
|
@@ -87,7 +88,7 @@ $slides-margin: $space-md;
|
|
87
88
|
.carousel-arrow-left {
|
88
89
|
display: block;
|
89
90
|
position: absolute;
|
90
|
-
z-index: 4;
|
91
|
+
z-index: $lightbox-z-index-floor + 4;
|
91
92
|
top: 50%;
|
92
93
|
@media only screen and (max-width: $screen-xs-max) {
|
93
94
|
display: none;
|
@@ -97,7 +98,7 @@ $slides-margin: $space-md;
|
|
97
98
|
.carousel-arrow-right {
|
98
99
|
display: block;
|
99
100
|
position: absolute;
|
100
|
-
z-index: 4;
|
101
|
+
z-index: $lightbox-z-index-floor + 4;
|
101
102
|
top: 50%;
|
102
103
|
right: 0;
|
103
104
|
@media only screen and (max-width: $screen-xs-max) {
|
@@ -140,7 +141,7 @@ $slides-margin: $space-md;
|
|
140
141
|
width: 100vw;
|
141
142
|
padding: 3px;
|
142
143
|
overflow: scroll;
|
143
|
-
z-index: 20;
|
144
|
+
z-index: $lightbox-z-index-floor + 20;
|
144
145
|
&.centered {
|
145
146
|
justify-content: center;
|
146
147
|
}
|
@@ -19,7 +19,9 @@ type LinkProps = {
|
|
19
19
|
icon?: string,
|
20
20
|
iconRight?: string,
|
21
21
|
id?: string,
|
22
|
+
tabIndex?: number,
|
22
23
|
tag?: 'a' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div',
|
24
|
+
target?: string,
|
23
25
|
text?: string,
|
24
26
|
underline?: boolean,
|
25
27
|
} & GlobalProps
|
@@ -37,7 +39,9 @@ const Link = (props: LinkProps): React.ReactElement => {
|
|
37
39
|
icon = '',
|
38
40
|
iconRight = '',
|
39
41
|
id = '',
|
42
|
+
tabIndex,
|
40
43
|
tag = 'a',
|
44
|
+
target = '',
|
41
45
|
text = '',
|
42
46
|
underline = false,
|
43
47
|
} = props
|
@@ -52,6 +56,14 @@ const Link = (props: LinkProps): React.ReactElement => {
|
|
52
56
|
)
|
53
57
|
const Tag = tag as keyof JSX.IntrinsicElements
|
54
58
|
|
59
|
+
const getTargetAttribute = () => {
|
60
|
+
if (target && href) {
|
61
|
+
return target
|
62
|
+
}
|
63
|
+
|
64
|
+
return undefined
|
65
|
+
}
|
66
|
+
|
55
67
|
const renderContent = () => (
|
56
68
|
<>
|
57
69
|
{icon && (
|
@@ -87,6 +99,9 @@ const Link = (props: LinkProps): React.ReactElement => {
|
|
87
99
|
<a
|
88
100
|
{...commonProps}
|
89
101
|
href={href}
|
102
|
+
rel={target !== 'child' ? 'noreferrer' : undefined}
|
103
|
+
tabIndex={tabIndex}
|
104
|
+
target={getTargetAttribute()}
|
90
105
|
>
|
91
106
|
{renderContent()}
|
92
107
|
</a>
|
@@ -96,6 +111,9 @@ const Link = (props: LinkProps): React.ReactElement => {
|
|
96
111
|
<a
|
97
112
|
{...commonProps}
|
98
113
|
href={href}
|
114
|
+
rel={target !== 'child' ? 'noreferrer' : undefined}
|
115
|
+
tabIndex={tabIndex}
|
116
|
+
target={getTargetAttribute()}
|
99
117
|
>
|
100
118
|
<Tag>{renderContent()}</Tag>
|
101
119
|
</a>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<div>
|
2
|
+
<%= pb_rails("link", props: {
|
3
|
+
href: "http://google.com",
|
4
|
+
target: "blank",
|
5
|
+
text: "Open In New Window"
|
6
|
+
}) %>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<div>
|
10
|
+
<%= pb_rails("link", props: {
|
11
|
+
href: "https://playbook.powerapp.cloud/",
|
12
|
+
target: "child",
|
13
|
+
text: "Open In Child Tab",
|
14
|
+
}) %>
|
15
|
+
</div>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Link } from 'playbook-ui'
|
3
|
+
|
4
|
+
const LinkTarget = (props) => (
|
5
|
+
<div>
|
6
|
+
<div>
|
7
|
+
<Link
|
8
|
+
aria={{ label: 'Link to Google in new window' }}
|
9
|
+
href="https://google.com"
|
10
|
+
tabIndex={0}
|
11
|
+
target='blank'
|
12
|
+
text="Open In New Window"
|
13
|
+
{...props}
|
14
|
+
/>
|
15
|
+
</div>
|
16
|
+
<div>
|
17
|
+
<Link
|
18
|
+
aria={{ label: 'Link to Playbook in a child tab' }}
|
19
|
+
href="https://playbook.powerapp.cloud/"
|
20
|
+
tabIndex={0}
|
21
|
+
target='child'
|
22
|
+
text="Open In Child Tab"
|
23
|
+
{...props}
|
24
|
+
/>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
)
|
28
|
+
|
29
|
+
export default LinkTarget
|
@@ -1,16 +1,18 @@
|
|
1
1
|
examples:
|
2
|
-
|
2
|
+
|
3
3
|
rails:
|
4
4
|
- link_color: Color
|
5
5
|
- link_underline: Underline
|
6
6
|
- link_icon: Icon
|
7
7
|
- link_disabled: Disabled
|
8
8
|
- link_tag: Tag
|
9
|
-
|
10
|
-
|
9
|
+
- link_target: Target
|
10
|
+
|
11
|
+
|
11
12
|
react:
|
12
13
|
- link_color: Color
|
13
14
|
- link_underline: Underline
|
14
15
|
- link_icon: Icon
|
15
16
|
- link_disabled: Disabled
|
16
17
|
- link_tag: Tag
|
18
|
+
- link_target: Target
|
@@ -2,4 +2,5 @@ export { default as LinkColor } from './_link_color.jsx'
|
|
2
2
|
export { default as LinkUnderline } from './_link_underline.jsx'
|
3
3
|
export { default as LinkIcon } from './_link_icon.jsx'
|
4
4
|
export { default as LinkDisabled } from './_link_disabled.jsx'
|
5
|
-
export { default as LinkTag } from './_link_tag.jsx'
|
5
|
+
export { default as LinkTag } from './_link_tag.jsx'
|
6
|
+
export { default as LinkTarget } from './_link_target.jsx'
|
@@ -11,9 +11,11 @@ module Playbook
|
|
11
11
|
prop :href
|
12
12
|
prop :icon
|
13
13
|
prop :icon_right
|
14
|
+
prop :tabindex
|
14
15
|
prop :tag, type: Playbook::Props::Enum,
|
15
16
|
values: %w[a h1 h2 h3 h4 h5 h6 p span div],
|
16
17
|
default: "a"
|
18
|
+
prop :target
|
17
19
|
prop :text
|
18
20
|
prop :underline, type: Playbook::Props::Boolean,
|
19
21
|
default: false
|
@@ -26,6 +28,10 @@ module Playbook
|
|
26
28
|
text
|
27
29
|
end
|
28
30
|
|
31
|
+
def target_attribute
|
32
|
+
target if target && href
|
33
|
+
end
|
34
|
+
|
29
35
|
private
|
30
36
|
|
31
37
|
def color_class
|
@@ -90,3 +90,33 @@ test('adds icon right', () => {
|
|
90
90
|
const icon = kit.querySelector('.pb_icon_kit')
|
91
91
|
expect(icon).toBeInTheDocument();
|
92
92
|
})
|
93
|
+
|
94
|
+
test('should render target prop', () => {
|
95
|
+
render(
|
96
|
+
<Link
|
97
|
+
data={{ testid: 'target-test' }}
|
98
|
+
href="https://playbook.powerapp.cloud/"
|
99
|
+
target="blank"
|
100
|
+
/>
|
101
|
+
)
|
102
|
+
|
103
|
+
const kit = screen.getByTestId('target-test')
|
104
|
+
|
105
|
+
expect(kit).toHaveAttribute('target', 'blank')
|
106
|
+
})
|
107
|
+
|
108
|
+
|
109
|
+
test('should render child target prop', () => {
|
110
|
+
render(
|
111
|
+
<Link
|
112
|
+
data={{ testid: 'target-test' }}
|
113
|
+
href="https://playbook.powerapp.cloud/"
|
114
|
+
tabIndex={0}
|
115
|
+
target="child"
|
116
|
+
/>
|
117
|
+
)
|
118
|
+
|
119
|
+
const kit = screen.getByTestId('target-test')
|
120
|
+
|
121
|
+
expect(kit).toHaveAttribute('target', 'child')
|
122
|
+
})
|
@@ -1,15 +1,9 @@
|
|
1
1
|
<% if object.collapsible %>
|
2
2
|
<%= pb_rails("collapsible", props: { name: "collapsible-nav-example", classname: object.collapsible_nav_classname }) do %>
|
3
3
|
<%= pb_rails("collapsible/collapsible_main", props: { name: "default-collapsible-nav", icon: object.collapsible_icons, size: "xs", dark: object.dark, classname:object.margin_classes }) do %>
|
4
|
-
<%=
|
5
|
-
|
6
|
-
|
7
|
-
data: object.data,
|
8
|
-
dark: object.dark,
|
9
|
-
id: object.id,
|
10
|
-
href: object.link && object.link,
|
11
|
-
target: object.link && object.target,
|
12
|
-
**combined_html_options
|
4
|
+
<%= pb_content_tag( object.tag,
|
5
|
+
href: object.link && object.link,
|
6
|
+
target: object.link && object.target
|
13
7
|
) do %>
|
14
8
|
<% if object.image_url %>
|
15
9
|
<%= pb_rails("image", props: { url: object.image_url, classname: "pb_nav_img_wrapper_collapsible" }) %>
|
@@ -20,22 +14,16 @@
|
|
20
14
|
<span class="pb_nav_list_item_text_collapsible">
|
21
15
|
<%= object.text %>
|
22
16
|
</span>
|
23
|
-
<% end %>
|
17
|
+
<% end %>
|
24
18
|
<% end %>
|
25
19
|
<%= pb_rails("collapsible/collapsible_content", props: {collapsed: object.collapsed}) do %>
|
26
20
|
<%= content.presence %>
|
27
21
|
<% end %>
|
28
22
|
<% end %>
|
29
23
|
<% else %>
|
30
|
-
<%=
|
31
|
-
|
32
|
-
|
33
|
-
**combined_html_options,
|
34
|
-
data: object.data,
|
35
|
-
dark: object.dark,
|
36
|
-
id: object.id,
|
37
|
-
href: object.link && object.link,
|
38
|
-
target: object.link && object.target
|
24
|
+
<%= pb_content_tag( object.tag,
|
25
|
+
href: object.link && object.link,
|
26
|
+
target: object.link && object.target
|
39
27
|
) do %>
|
40
28
|
<% if object.image_url %>
|
41
29
|
<%= pb_rails("image", props: { url: object.image_url, classname: "pb_nav_img_wrapper" }) %>
|
@@ -1,12 +1,7 @@
|
|
1
|
-
<%=
|
2
|
-
aria: object.aria,
|
3
|
-
class: object.classname,
|
4
|
-
data: object.data,
|
5
|
-
id: object.id,
|
6
|
-
**combined_html_options) do %>
|
1
|
+
<%= pb_content_tag(:nav) do %>
|
7
2
|
<% if object.title %>
|
8
|
-
<%=
|
9
|
-
<%=
|
3
|
+
<%= pb_content_tag do %>
|
4
|
+
<%= pb_content_tag(:a) do %>
|
10
5
|
<%= pb_rails("caption", props: { text: object.title, dark: dark }) %>
|
11
6
|
<% end %>
|
12
7
|
<% end %>
|
@@ -8,6 +8,7 @@ import OverlayToken from './subcomponents/_overlay_token'
|
|
8
8
|
export type OverlayChildrenProps = {
|
9
9
|
children: React.ReactNode[] | React.ReactNode,
|
10
10
|
color: "card_light" | "bg_light" | "card_dark" | "bg_dark",
|
11
|
+
dynamic?: boolean,
|
11
12
|
position: string,
|
12
13
|
size: string,
|
13
14
|
}
|
@@ -18,6 +19,7 @@ type OverlayProps = {
|
|
18
19
|
children: React.ReactNode[] | React.ReactNode,
|
19
20
|
color: "card_light" | "bg_light" | "card_dark" | "bg_dark",
|
20
21
|
data?: { [key: string]: string },
|
22
|
+
dynamic?: false,
|
21
23
|
htmlOptions?: { [key: string]: string | number | boolean | (() => void) },
|
22
24
|
id?: string,
|
23
25
|
layout: { [key: string]: string },
|
@@ -30,6 +32,7 @@ const Overlay = (props: OverlayProps) => {
|
|
30
32
|
children,
|
31
33
|
color = "card_light",
|
32
34
|
data = {},
|
35
|
+
dynamic = false,
|
33
36
|
htmlOptions = {},
|
34
37
|
id,
|
35
38
|
layout = { "bottom": "full" },
|
@@ -69,6 +72,7 @@ const Overlay = (props: OverlayProps) => {
|
|
69
72
|
}) : OverlayToken({
|
70
73
|
children,
|
71
74
|
color,
|
75
|
+
dynamic: dynamic,
|
72
76
|
position: getPosition(),
|
73
77
|
size: getSize()
|
74
78
|
})
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import React, { forwardRef } from 'react'
|
2
|
+
import {
|
3
|
+
Overlay,
|
4
|
+
Card,
|
5
|
+
Flex,
|
6
|
+
FlexItem,
|
7
|
+
} from 'playbook-ui'
|
8
|
+
|
9
|
+
const InlineCardsExample = forwardRef(function InlineCardsExample(ref) {
|
10
|
+
return (
|
11
|
+
<Flex
|
12
|
+
columnGap="lg"
|
13
|
+
orientation="row"
|
14
|
+
ref={ref}
|
15
|
+
>
|
16
|
+
{Array.from({ length: 15 }, (_, index) => (
|
17
|
+
<FlexItem key={index}>
|
18
|
+
<Card>{"Card Content"}</Card>
|
19
|
+
</FlexItem>
|
20
|
+
))}
|
21
|
+
</Flex>
|
22
|
+
)
|
23
|
+
})
|
24
|
+
|
25
|
+
const OverlayVerticalDynamicMultiDirectional = () => (
|
26
|
+
<>
|
27
|
+
<Overlay
|
28
|
+
color="card_light"
|
29
|
+
dynamic
|
30
|
+
layout={{"x": "xl"}}
|
31
|
+
>
|
32
|
+
<InlineCardsExample />
|
33
|
+
</Overlay>
|
34
|
+
</>
|
35
|
+
)
|
36
|
+
|
37
|
+
export default OverlayVerticalDynamicMultiDirectional
|
data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional_react.md
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
Pass the `dynamic` prop to make the overlay render while the scrollbar isn't at either end on the scrollbar. You must also add a `ref` to the child that's being passed through the Overlay.
|
@@ -1,3 +1,4 @@
|
|
1
1
|
export { default as OverlayDefault } from './_overlay_default.jsx'
|
2
2
|
export { default as OverlayMultiDirectional } from './_overlay_multi_directional.jsx'
|
3
3
|
export { default as OverlayToggle } from './_overlay_toggle.jsx'
|
4
|
+
export { default as OverlayVerticalDynamicMultiDirectional } from './_overlay_vertical_dynamic_multi_directional.jsx'
|