playbook_ui 14.19.0.pre.rc.2 → 14.20.0.pre.alpha.revert4453PBNTR933reactdraggablebugdragbtwnexamples7854
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 +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +11 -1
- data/app/pb_kits/playbook/pb_advanced_table/Components/TableActionBar.tsx +175 -16
- data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +56 -25
- data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +23 -13
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/VisibilityTree.ts +47 -0
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +6 -10
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +7 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta.md +0 -6
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility.jsx +57 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility.md +4 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_custom.jsx +62 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_custom.md +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_multi.jsx +82 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_multi.md +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_with_state.jsx +66 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_with_state.md +3 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows_rails.md +5 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_no_subrows.jsx → _advanced_table_selectable_rows_no_subrows_react.jsx} +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_rails.md +3 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +7 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +6 -2
- data/app/pb_kits/playbook/pb_advanced_table/flat_advanced_table.js +106 -0
- data/app/pb_kits/playbook/pb_advanced_table/index.js +228 -11
- data/app/pb_kits/playbook/pb_advanced_table/scss_partials/advanced_table_sticky_mixin.scss +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/table_body.rb +9 -1
- data/app/pb_kits/playbook/pb_advanced_table/table_header.rb +0 -3
- data/app/pb_kits/playbook/pb_advanced_table/table_row.rb +1 -2
- data/app/pb_kits/playbook/pb_avatar/_avatar.scss +4 -0
- data/app/pb_kits/playbook/pb_avatar/_avatar.tsx +3 -0
- data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +3 -3
- data/app/pb_kits/playbook/pb_avatar/avatar.rb +2 -0
- data/app/pb_kits/playbook/pb_avatar/avatar.test.js +18 -0
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_grayscale.html.erb +5 -0
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_grayscale.jsx +16 -0
- data/app/pb_kits/playbook/pb_avatar/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_avatar/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_card/card.html.erb +1 -1
- data/app/pb_kits/playbook/pb_card/card.rb +12 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +2 -2
- data/app/pb_kits/playbook/pb_draggable/context/index.tsx +17 -58
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.html.erb +22 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_line.html.erb +55 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_line_rails.md +5 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_rails.md +5 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners.jsx +59 -0
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners_react.md +1 -0
- data/app/pb_kits/playbook/pb_draggable/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_draggable/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_draggable/draggable_container.rb +11 -1
- data/app/pb_kits/playbook/pb_draggable/draggable_item.rb +11 -1
- data/app/pb_kits/playbook/pb_draggable/index.js +4 -2
- data/app/pb_kits/playbook/pb_draggable/subcomponents/DraggableItem.tsx +33 -5
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +6 -1
- data/app/pb_kits/playbook/pb_dropdown/_dropdown.tsx +82 -35
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_rails.html.erb +31 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_rails.md +5 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.html.erb +5 -2
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select.jsx +56 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select.md +3 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display.jsx +58 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display.md +3 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display_rails.html.erb +20 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display_rails.md +1 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_rails.html.erb +19 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_rails.md +3 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.html.erb +20 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.jsx +57 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.md +1 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.html.erb +50 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.jsx +105 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.html.erb +22 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.jsx +67 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.html.erb +28 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.jsx +17 -64
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.html.erb +58 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/{_dropdown_with_autocomplete_and_custom_display.jsx → _dropdown_with_autocomplete_with_subcomponents.jsx} +11 -25
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.md +1 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +11 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.md +1 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.html.erb +33 -2
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.md +3 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_external_control.md +1 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search.jsx +61 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search.md +2 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search_rails.html.erb +52 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search_rails.md +2 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +18 -5
- data/app/pb_kits/playbook/pb_dropdown/docs/index.js +7 -2
- data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/dropdown.rb +20 -2
- data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +45 -1
- data/app/pb_kits/playbook/pb_dropdown/dropdown_container.html.erb +10 -0
- data/app/pb_kits/playbook/pb_dropdown/dropdown_container.rb +3 -0
- data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.html.erb +37 -6
- data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.rb +5 -1
- data/app/pb_kits/playbook/pb_dropdown/hooks/useHandleOnKeydown.tsx +0 -6
- data/app/pb_kits/playbook/pb_dropdown/index.js +380 -17
- data/app/pb_kits/playbook/pb_dropdown/keyboard_accessibility.js +64 -11
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownContainer.tsx +3 -4
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownOption.tsx +16 -12
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +83 -17
- data/app/pb_kits/playbook/pb_dropdown/subcomponents/MultiSelectTriggerDisplay.tsx +58 -0
- data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +8 -1
- data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_alignment.html.erb +27 -0
- data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_default.html.erb +7 -0
- data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_orientation.html.erb +12 -0
- data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_size.html.erb +23 -0
- data/app/pb_kits/playbook/pb_empty_state/docs/example.yml +5 -1
- data/app/pb_kits/playbook/pb_empty_state/empty_state.html.erb +19 -0
- data/app/pb_kits/playbook/pb_empty_state/empty_state.rb +123 -0
- data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +13 -0
- data/app/pb_kits/playbook/pb_file_upload/_file_upload.tsx +11 -1
- data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_error.html.erb +1 -0
- data/app/pb_kits/playbook/pb_file_upload/docs/_file_upload_error.jsx +41 -0
- data/app/pb_kits/playbook/pb_file_upload/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_file_upload/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -0
- data/app/pb_kits/playbook/pb_file_upload/file_upload.rb +7 -1
- data/app/pb_kits/playbook/pb_file_upload/fileupload.test.js +18 -0
- 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/_error_state_mixin.scss +2 -2
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +19 -12
- data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.tsx +13 -7
- data/app/pb_kits/playbook/pb_message/_message.tsx +3 -0
- data/app/pb_kits/playbook/pb_message/docs/_message_grayscale.html.erb +9 -0
- data/app/pb_kits/playbook/pb_message/docs/_message_grayscale.jsx +21 -0
- data/app/pb_kits/playbook/pb_message/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_message/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_message/message.html.erb +2 -1
- data/app/pb_kits/playbook/pb_message/message.rb +1 -0
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +2 -2
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_color.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_default.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_reset.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_return_all_selected.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.html.erb +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids.md +2 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_selected_ids_react.md +3 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.html.erb +22 -22
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single.jsx +22 -22
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.html.erb +22 -22
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_single_children_only.jsx +22 -22
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_children.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_children_with_radios.jsx +11 -11
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_form.html.erb +11 -11
- data/app/pb_kits/playbook/pb_overlay/_overlay.scss +2 -1
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.jsx +1 -1
- data/app/pb_kits/playbook/pb_overlay/subcomponents/_overlay_token.tsx +5 -4
- data/app/pb_kits/playbook/pb_person/_person.tsx +12 -2
- data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +9 -9
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +2 -2
- data/app/pb_kits/playbook/pb_select/_select.scss +10 -0
- data/app/pb_kits/playbook/pb_select/docs/_select_error.html.erb +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.jsx +7 -7
- data/app/pb_kits/playbook/pb_table/subcomponents/_table_row.tsx +5 -5
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +4 -2
- data/app/pb_kits/playbook/pb_text_input/docs/_text_input_error.html.erb +1 -1
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.html.erb +5 -1
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.tsx +73 -3
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.html.erb +8 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input.jsx +23 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_preserve_input.md +1 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_user/_user.tsx +3 -0
- data/app/pb_kits/playbook/pb_user/docs/_user_grayscale.html.erb +6 -0
- data/app/pb_kits/playbook/pb_user/docs/_user_grayscale.jsx +16 -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 +2 -1
- data/app/pb_kits/playbook/pb_user/user.rb +1 -0
- data/dist/chunks/_typeahead-C-CI5Vgw.js +22 -0
- data/dist/chunks/_weekday_stacked-BCiM3zWM.js +45 -0
- data/dist/chunks/lib-D5R1BjUn.js +29 -0
- data/dist/chunks/{pb_form_validation-BWjy4bFn.js → pb_form_validation-BZ2AVAi_.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +6 -14
- 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/kit_base.rb +3 -3
- data/lib/playbook/version.rb +2 -2
- metadata +70 -22
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.html.erb +0 -10
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_and_custom_display.md +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_hook.jsx +0 -79
- data/app/pb_kits/playbook/pb_gantt_chart/_gantt_chart.scss +0 -3
- data/app/pb_kits/playbook/pb_gantt_chart/_gantt_chart.tsx +0 -72
- data/app/pb_kits/playbook/pb_gantt_chart/docs/_gantt_chart_default.jsx +0 -53
- data/app/pb_kits/playbook/pb_gantt_chart/docs/example.yml +0 -7
- data/app/pb_kits/playbook/pb_gantt_chart/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_gantt_chart/gantt_chart.test.jsx +0 -19
- data/dist/chunks/_typeahead-D8CsVBZO.js +0 -22
- data/dist/chunks/_weekday_stacked-D3oLTSkH.js +0 -45
- data/dist/chunks/lib-BmTAc7Nc.js +0 -29
- /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_react.md → _advanced_table_selectable_rows.md} +0 -0
- /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_no_subrows.html.erb → _advanced_table_selectable_rows_no_subrows_rails.html.erb} +0 -0
- /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows.html.erb → _advanced_table_selectable_rows_rails.html.erb} +0 -0
- /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_drop_zones_line.md → _draggable_drop_zones_line_react.md} +0 -0
- /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_event_listeners.md → _draggable_event_listeners_rails.md} +0 -0
| @@ -0,0 +1,56 @@ | |
| 1 | 
            +
            import React from 'react'
         | 
| 2 | 
            +
            import Dropdown from '../../pb_dropdown/_dropdown'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            const DropdownMultiSelect = (props) => {
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              const options = [
         | 
| 7 | 
            +
                {
         | 
| 8 | 
            +
                  label: "United States",
         | 
| 9 | 
            +
                  value: "United States",
         | 
| 10 | 
            +
                },
         | 
| 11 | 
            +
                {
         | 
| 12 | 
            +
                    label: "United Kingdom",
         | 
| 13 | 
            +
                    value: "United Kingdom",
         | 
| 14 | 
            +
                },  
         | 
| 15 | 
            +
                {
         | 
| 16 | 
            +
                  label: "Canada",
         | 
| 17 | 
            +
                  value: "Canada",
         | 
| 18 | 
            +
                },
         | 
| 19 | 
            +
                {
         | 
| 20 | 
            +
                  label: "Pakistan",
         | 
| 21 | 
            +
                  value: "Pakistan",
         | 
| 22 | 
            +
                },
         | 
| 23 | 
            +
                {
         | 
| 24 | 
            +
                  label: "India",
         | 
| 25 | 
            +
                  value: "India",
         | 
| 26 | 
            +
                },
         | 
| 27 | 
            +
                {
         | 
| 28 | 
            +
                  label: "Australia",
         | 
| 29 | 
            +
                  value: "Australia",
         | 
| 30 | 
            +
                },
         | 
| 31 | 
            +
                {
         | 
| 32 | 
            +
                  label: "New Zealand",
         | 
| 33 | 
            +
                  value: "New Zealand",
         | 
| 34 | 
            +
                },
         | 
| 35 | 
            +
                {
         | 
| 36 | 
            +
                  label: "Italy",
         | 
| 37 | 
            +
                  value: "Italy",
         | 
| 38 | 
            +
                },
         | 
| 39 | 
            +
                {
         | 
| 40 | 
            +
                  label: "Spain",
         | 
| 41 | 
            +
                  value: "Spain",
         | 
| 42 | 
            +
                }
         | 
| 43 | 
            +
              ];  
         | 
| 44 | 
            +
             | 
| 45 | 
            +
              return (
         | 
| 46 | 
            +
              <div>
         | 
| 47 | 
            +
                <Dropdown
         | 
| 48 | 
            +
                    multiSelect
         | 
| 49 | 
            +
                    options={options}
         | 
| 50 | 
            +
                    {...props}
         | 
| 51 | 
            +
                />
         | 
| 52 | 
            +
              </div>
         | 
| 53 | 
            +
              )
         | 
| 54 | 
            +
            }
         | 
| 55 | 
            +
             | 
| 56 | 
            +
            export default DropdownMultiSelect
         | 
| @@ -0,0 +1,58 @@ | |
| 1 | 
            +
            import React from 'react'
         | 
| 2 | 
            +
            import Dropdown from '../../pb_dropdown/_dropdown'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            const DropdownMultiSelectDisplay = (props) => {
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              const options = [
         | 
| 7 | 
            +
                {
         | 
| 8 | 
            +
                  label: "United States",
         | 
| 9 | 
            +
                  value: "United States",
         | 
| 10 | 
            +
                },
         | 
| 11 | 
            +
                {
         | 
| 12 | 
            +
                    label: "United Kingdom",
         | 
| 13 | 
            +
                    value: "United Kingdom",
         | 
| 14 | 
            +
                },  
         | 
| 15 | 
            +
                {
         | 
| 16 | 
            +
                  label: "Canada",
         | 
| 17 | 
            +
                  value: "Canada",
         | 
| 18 | 
            +
                },
         | 
| 19 | 
            +
                {
         | 
| 20 | 
            +
                  label: "Pakistan",
         | 
| 21 | 
            +
                  value: "Pakistan",
         | 
| 22 | 
            +
                },
         | 
| 23 | 
            +
                {
         | 
| 24 | 
            +
                  label: "India",
         | 
| 25 | 
            +
                  value: "India",
         | 
| 26 | 
            +
                },
         | 
| 27 | 
            +
                {
         | 
| 28 | 
            +
                  label: "Australia",
         | 
| 29 | 
            +
                  value: "Australia",
         | 
| 30 | 
            +
                },
         | 
| 31 | 
            +
                {
         | 
| 32 | 
            +
                  label: "New Zealand",
         | 
| 33 | 
            +
                  value: "New Zealand",
         | 
| 34 | 
            +
                },
         | 
| 35 | 
            +
                {
         | 
| 36 | 
            +
                  label: "Italy",
         | 
| 37 | 
            +
                  value: "Italy",
         | 
| 38 | 
            +
                },
         | 
| 39 | 
            +
                {
         | 
| 40 | 
            +
                  label: "Spain",
         | 
| 41 | 
            +
                  value: "Spain",
         | 
| 42 | 
            +
                }
         | 
| 43 | 
            +
              ];  
         | 
| 44 | 
            +
             | 
| 45 | 
            +
             | 
| 46 | 
            +
              return (
         | 
| 47 | 
            +
              <div>
         | 
| 48 | 
            +
                <Dropdown
         | 
| 49 | 
            +
                    formPillProps={{size:"small", color:"neutral"}}
         | 
| 50 | 
            +
                    multiSelect
         | 
| 51 | 
            +
                    options={options}
         | 
| 52 | 
            +
                    {...props}
         | 
| 53 | 
            +
                />
         | 
| 54 | 
            +
              </div>
         | 
| 55 | 
            +
              )
         | 
| 56 | 
            +
            }
         | 
| 57 | 
            +
             | 
| 58 | 
            +
            export default DropdownMultiSelectDisplay
         | 
| @@ -0,0 +1,3 @@ | |
| 1 | 
            +
            By default, the `multiSelect` prop will render selected options as the default FormPill. `FormPillProps` however can be used to customize these Pills with any props that exist for the FormPill. 
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            This prop must be an object that contains valid FormPill props. For a full list of FormPill props, see [here](https://playbook.powerapp.cloud/kits/form_pill/react).
         | 
| @@ -0,0 +1,20 @@ | |
| 1 | 
            +
            <%
         | 
| 2 | 
            +
              options = [
         | 
| 3 | 
            +
                { label: 'United States', value: 'United States', id: 'us' },
         | 
| 4 | 
            +
                { label: 'Canada', value: 'Canada', id: 'ca' },
         | 
| 5 | 
            +
                { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
         | 
| 6 | 
            +
                { label: 'India', value: 'India', id: 'in' },
         | 
| 7 | 
            +
                { label: 'United Kingdom', value: 'United Kingdom', id: 'uk' },
         | 
| 8 | 
            +
                { label: 'Australia', value: 'Australia', id: 'au' },
         | 
| 9 | 
            +
                { label: 'New Zealand', value: 'New Zealand', id: 'nz' },
         | 
| 10 | 
            +
                { label: 'Germany', value: 'Germany', id: 'de' },
         | 
| 11 | 
            +
                { label: 'France', value: 'France', id: 'fr' },
         | 
| 12 | 
            +
                { label: 'Italy', value: 'Italy', id: 'it' },
         | 
| 13 | 
            +
              ]
         | 
| 14 | 
            +
            %>
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            <%= pb_rails("dropdown", props: {
         | 
| 17 | 
            +
              options: options,
         | 
| 18 | 
            +
              multi_select: true,
         | 
| 19 | 
            +
              form_pill_props: { size:"small", color:"neutral" },
         | 
| 20 | 
            +
            }) %>
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            By default, the `multi_select` prop will render selected options as the default form_pill. `form_pill_props` however can be used to customize these Pills with props that exist for the form_pill. Currently, only the '[color](https://playbook.powerapp.cloud/kits/form_pill/rails#form-pill-colors)' and '[size](https://playbook.powerapp.cloud/kits/form_pill/rails#form-pill-size)' props are supported as shown here.
         | 
| @@ -0,0 +1,19 @@ | |
| 1 | 
            +
            <%
         | 
| 2 | 
            +
              options = [
         | 
| 3 | 
            +
                { label: 'United States', value: 'United States', id: 'us' },
         | 
| 4 | 
            +
                { label: 'Canada', value: 'Canada', id: 'ca' },
         | 
| 5 | 
            +
                { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
         | 
| 6 | 
            +
                { label: 'India', value: 'India', id: 'in' },
         | 
| 7 | 
            +
                { label: 'United Kingdom', value: 'United Kingdom', id: 'uk' },
         | 
| 8 | 
            +
                { label: 'Australia', value: 'Australia', id: 'au' },
         | 
| 9 | 
            +
                { label: 'New Zealand', value: 'New Zealand', id: 'nz' },
         | 
| 10 | 
            +
                { label: 'Germany', value: 'Germany', id: 'de' },
         | 
| 11 | 
            +
                { label: 'France', value: 'France', id: 'fr' },
         | 
| 12 | 
            +
                { label: 'Italy', value: 'Italy', id: 'it' },
         | 
| 13 | 
            +
              ]
         | 
| 14 | 
            +
            %>
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            <%= pb_rails("dropdown", props: {
         | 
| 17 | 
            +
              options: options,
         | 
| 18 | 
            +
              multi_select: true,
         | 
| 19 | 
            +
            }) %>
         | 
| @@ -0,0 +1,20 @@ | |
| 1 | 
            +
            <%
         | 
| 2 | 
            +
              options = [
         | 
| 3 | 
            +
                { label: 'United States', value: 'United States', id: 'us' },
         | 
| 4 | 
            +
                { label: 'Canada', value: 'Canada', id: 'ca' },
         | 
| 5 | 
            +
                { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
         | 
| 6 | 
            +
                { label: 'India', value: 'India', id: 'in' },
         | 
| 7 | 
            +
                { label: 'United Kingdom', value: 'United Kingdom', id: 'uk' },
         | 
| 8 | 
            +
                { label: 'Australia', value: 'Australia', id: 'au' },
         | 
| 9 | 
            +
                { label: 'New Zealand', value: 'New Zealand', id: 'nz' },
         | 
| 10 | 
            +
                { label: 'Germany', value: 'Germany', id: 'de' },
         | 
| 11 | 
            +
                { label: 'France', value: 'France', id: 'fr' },
         | 
| 12 | 
            +
                { label: 'Italy', value: 'Italy', id: 'it' },
         | 
| 13 | 
            +
              ]
         | 
| 14 | 
            +
            %>
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            <%= pb_rails("dropdown", props: {
         | 
| 17 | 
            +
              autocomplete: true,
         | 
| 18 | 
            +
              options: options,
         | 
| 19 | 
            +
              multi_select: true,
         | 
| 20 | 
            +
            }) %>
         | 
| @@ -0,0 +1,57 @@ | |
| 1 | 
            +
            import React from 'react'
         | 
| 2 | 
            +
            import Dropdown from '../../pb_dropdown/_dropdown'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            const DropdownMultiSelectWithAutocomplete = (props) => {
         | 
| 5 | 
            +
             | 
| 6 | 
            +
              const options = [
         | 
| 7 | 
            +
                {
         | 
| 8 | 
            +
                  label: "United States",
         | 
| 9 | 
            +
                  value: "United States",
         | 
| 10 | 
            +
                },
         | 
| 11 | 
            +
                {
         | 
| 12 | 
            +
                    label: "United Kingdom",
         | 
| 13 | 
            +
                    value: "United Kingdom",
         | 
| 14 | 
            +
                },  
         | 
| 15 | 
            +
                {
         | 
| 16 | 
            +
                  label: "Canada",
         | 
| 17 | 
            +
                  value: "Canada",
         | 
| 18 | 
            +
                },
         | 
| 19 | 
            +
                {
         | 
| 20 | 
            +
                  label: "Pakistan",
         | 
| 21 | 
            +
                  value: "Pakistan",
         | 
| 22 | 
            +
                },
         | 
| 23 | 
            +
                {
         | 
| 24 | 
            +
                  label: "India",
         | 
| 25 | 
            +
                  value: "India",
         | 
| 26 | 
            +
                },
         | 
| 27 | 
            +
                {
         | 
| 28 | 
            +
                  label: "Australia",
         | 
| 29 | 
            +
                  value: "Australia",
         | 
| 30 | 
            +
                },
         | 
| 31 | 
            +
                {
         | 
| 32 | 
            +
                  label: "New Zealand",
         | 
| 33 | 
            +
                  value: "New Zealand",
         | 
| 34 | 
            +
                },
         | 
| 35 | 
            +
                {
         | 
| 36 | 
            +
                  label: "Italy",
         | 
| 37 | 
            +
                  value: "Italy",
         | 
| 38 | 
            +
                },
         | 
| 39 | 
            +
                {
         | 
| 40 | 
            +
                  label: "Spain",
         | 
| 41 | 
            +
                  value: "Spain",
         | 
| 42 | 
            +
                }
         | 
| 43 | 
            +
              ];  
         | 
| 44 | 
            +
             | 
| 45 | 
            +
              return (
         | 
| 46 | 
            +
              <div>
         | 
| 47 | 
            +
                <Dropdown
         | 
| 48 | 
            +
                    autocomplete
         | 
| 49 | 
            +
                    multiSelect
         | 
| 50 | 
            +
                    options={options}
         | 
| 51 | 
            +
                    {...props}
         | 
| 52 | 
            +
                />
         | 
| 53 | 
            +
              </div>
         | 
| 54 | 
            +
              )
         | 
| 55 | 
            +
            }
         | 
| 56 | 
            +
             | 
| 57 | 
            +
            export default DropdownMultiSelectWithAutocomplete
         | 
| @@ -0,0 +1 @@ | |
| 1 | 
            +
            `multiSelect` can also be used with the `autocomplete` functionality.
         | 
    
        data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.html.erb
    ADDED
    
    | @@ -0,0 +1,50 @@ | |
| 1 | 
            +
            <% 
         | 
| 2 | 
            +
              options = [
         | 
| 3 | 
            +
                {
         | 
| 4 | 
            +
                  label: "United States",
         | 
| 5 | 
            +
                  value: "United States",
         | 
| 6 | 
            +
                  areaCode: "+1",
         | 
| 7 | 
            +
                  icon: "🇺🇸",
         | 
| 8 | 
            +
                  id: "us"
         | 
| 9 | 
            +
                },
         | 
| 10 | 
            +
                {
         | 
| 11 | 
            +
                  label: "Canada",
         | 
| 12 | 
            +
                  value: "Canada",
         | 
| 13 | 
            +
                  areaCode: "+1",
         | 
| 14 | 
            +
                  icon: "🇨🇦",
         | 
| 15 | 
            +
                  id: "ca"
         | 
| 16 | 
            +
                },
         | 
| 17 | 
            +
                {
         | 
| 18 | 
            +
                  label: "Pakistan",
         | 
| 19 | 
            +
                  value: "Pakistan",
         | 
| 20 | 
            +
                  areaCode: "+92",
         | 
| 21 | 
            +
                  icon: "🇵🇰",
         | 
| 22 | 
            +
                  id: "pk"
         | 
| 23 | 
            +
                }
         | 
| 24 | 
            +
              ]
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            %>
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            <%= pb_rails("dropdown", props: { options: options, multi_select: true }) do %>
         | 
| 29 | 
            +
                <%= pb_rails("dropdown/dropdown_trigger", props:{ multi_select: true }) %>
         | 
| 30 | 
            +
                <%= pb_rails("dropdown/dropdown_container") do %>
         | 
| 31 | 
            +
                    <% options.each do |option| %>
         | 
| 32 | 
            +
                        <%= pb_rails("dropdown/dropdown_option", props: {option: option}) do %>
         | 
| 33 | 
            +
                          <%= pb_rails("flex", props: {
         | 
| 34 | 
            +
                            align: "center",
         | 
| 35 | 
            +
                            justify: "between",
         | 
| 36 | 
            +
                            }) do %>
         | 
| 37 | 
            +
                              <%= pb_rails("flex/flex_item") do %>
         | 
| 38 | 
            +
                                  <%= pb_rails("flex") do %>
         | 
| 39 | 
            +
                                      <%= pb_rails("icon", props: {icon: option[:icon]}) %>
         | 
| 40 | 
            +
                                      <%= pb_rails("body", props: {text: option[:label], padding_left:"xs"}) %>
         | 
| 41 | 
            +
                                  <% end %>
         | 
| 42 | 
            +
                              <% end %>
         | 
| 43 | 
            +
                              <%= pb_rails("flex/flex_item") do %>
         | 
| 44 | 
            +
                                  <%= pb_rails("body", props: {color:"light", text: option[:areaCode]}) %>
         | 
| 45 | 
            +
                              <% end %>
         | 
| 46 | 
            +
                            <% end %>
         | 
| 47 | 
            +
                        <% end %>
         | 
| 48 | 
            +
                    <% end %>
         | 
| 49 | 
            +
                <% end %>
         | 
| 50 | 
            +
            <% end %>
         | 
| @@ -0,0 +1,105 @@ | |
| 1 | 
            +
            import React from 'react'
         | 
| 2 | 
            +
            import Dropdown from '../../pb_dropdown/_dropdown'
         | 
| 3 | 
            +
            import Body from '../../pb_body/_body'
         | 
| 4 | 
            +
            import Flex from '../../pb_flex/_flex'
         | 
| 5 | 
            +
            import FlexItem from '../../pb_flex/_flex_item'
         | 
| 6 | 
            +
            import Icon from '../../pb_icon/_icon'
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            const DropdownMultiSelectWithCustomOptions = (props) => {
         | 
| 9 | 
            +
             | 
| 10 | 
            +
             const options = [
         | 
| 11 | 
            +
                {
         | 
| 12 | 
            +
                  label: "United States",
         | 
| 13 | 
            +
                  value: "United States",
         | 
| 14 | 
            +
                  areaCode: "+1",
         | 
| 15 | 
            +
                  icon: "🇺🇸",
         | 
| 16 | 
            +
                  id: "United-states"
         | 
| 17 | 
            +
                },
         | 
| 18 | 
            +
                {
         | 
| 19 | 
            +
                  label: "Canada",
         | 
| 20 | 
            +
                  value: "Canada",
         | 
| 21 | 
            +
                  areaCode: "+1",
         | 
| 22 | 
            +
                  icon: "🇨🇦",
         | 
| 23 | 
            +
                  id: "canada"
         | 
| 24 | 
            +
                },
         | 
| 25 | 
            +
                {
         | 
| 26 | 
            +
                  label: "Pakistan",
         | 
| 27 | 
            +
                  value: "Pakistan",
         | 
| 28 | 
            +
                  areaCode: "+92",
         | 
| 29 | 
            +
                  icon: "🇵🇰",
         | 
| 30 | 
            +
                  id: "pakistan"
         | 
| 31 | 
            +
                },
         | 
| 32 | 
            +
                {
         | 
| 33 | 
            +
                  label: "India",
         | 
| 34 | 
            +
                  value: "India",
         | 
| 35 | 
            +
                  areaCode: "+91",
         | 
| 36 | 
            +
                  icon: "🇮🇳",
         | 
| 37 | 
            +
                  id: "india"
         | 
| 38 | 
            +
                },
         | 
| 39 | 
            +
                {
         | 
| 40 | 
            +
                  label: "Australia",
         | 
| 41 | 
            +
                  value: "Australia",
         | 
| 42 | 
            +
                  areaCode: "+61",
         | 
| 43 | 
            +
                  icon: "🇦🇺",
         | 
| 44 | 
            +
                  id: "australia"
         | 
| 45 | 
            +
                },
         | 
| 46 | 
            +
                {
         | 
| 47 | 
            +
                  label: "New Zealand",
         | 
| 48 | 
            +
                  value: "New Zealand",
         | 
| 49 | 
            +
                  areaCode: "+64",
         | 
| 50 | 
            +
                  icon: "🇳🇿",
         | 
| 51 | 
            +
                  id: "new-zealand"
         | 
| 52 | 
            +
                },
         | 
| 53 | 
            +
                {
         | 
| 54 | 
            +
                  label: "Italy",
         | 
| 55 | 
            +
                  value: "Italy",
         | 
| 56 | 
            +
                  areaCode: "+39",
         | 
| 57 | 
            +
                  icon: "🇮🇹",
         | 
| 58 | 
            +
                  id: "italy"
         | 
| 59 | 
            +
                },
         | 
| 60 | 
            +
                {
         | 
| 61 | 
            +
                  label: "Spain",
         | 
| 62 | 
            +
                  value: "Spain",
         | 
| 63 | 
            +
                  areaCode: "+34",
         | 
| 64 | 
            +
                  icon: "🇪🇸",
         | 
| 65 | 
            +
                  id: "spain"
         | 
| 66 | 
            +
                }
         | 
| 67 | 
            +
              ];  
         | 
| 68 | 
            +
             | 
| 69 | 
            +
              return (
         | 
| 70 | 
            +
              <div>
         | 
| 71 | 
            +
                <Dropdown
         | 
| 72 | 
            +
                    multiSelect
         | 
| 73 | 
            +
                    options={options}
         | 
| 74 | 
            +
                    {...props}
         | 
| 75 | 
            +
                >
         | 
| 76 | 
            +
                {options.map((option) => (
         | 
| 77 | 
            +
                      <Dropdown.Option key={option.id} 
         | 
| 78 | 
            +
                          option={option}
         | 
| 79 | 
            +
                      >
         | 
| 80 | 
            +
                        <Flex
         | 
| 81 | 
            +
                            align="center"
         | 
| 82 | 
            +
                            justify="between"
         | 
| 83 | 
            +
                        >
         | 
| 84 | 
            +
                          <FlexItem>
         | 
| 85 | 
            +
                            <Flex>
         | 
| 86 | 
            +
                              <Icon icon={option.icon} 
         | 
| 87 | 
            +
                                  paddingRight="xs"
         | 
| 88 | 
            +
                              />
         | 
| 89 | 
            +
                              <Body text={option.label} />
         | 
| 90 | 
            +
                            </Flex>
         | 
| 91 | 
            +
                          </FlexItem>
         | 
| 92 | 
            +
                          <FlexItem>
         | 
| 93 | 
            +
                            <Body color="light" 
         | 
| 94 | 
            +
                                text={option.areaCode} 
         | 
| 95 | 
            +
                            />
         | 
| 96 | 
            +
                          </FlexItem>
         | 
| 97 | 
            +
                        </Flex>
         | 
| 98 | 
            +
                      </Dropdown.Option>
         | 
| 99 | 
            +
                    ))}
         | 
| 100 | 
            +
                </Dropdown>
         | 
| 101 | 
            +
              </div>
         | 
| 102 | 
            +
              )
         | 
| 103 | 
            +
            }
         | 
| 104 | 
            +
             | 
| 105 | 
            +
            export default DropdownMultiSelectWithCustomOptions
         | 
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            <% 
         | 
| 2 | 
            +
              options = [
         | 
| 3 | 
            +
                { label: 'United States', value: 'United States', id: 'us' },
         | 
| 4 | 
            +
                { label: 'Canada', value: 'Canada', id: 'ca' },
         | 
| 5 | 
            +
                { label: 'Pakistan', value: 'Pakistan', id: 'pk' },
         | 
| 6 | 
            +
                { label: 'India', value: 'India', id: 'in' },
         | 
| 7 | 
            +
                { label: 'United Kingdom', value: 'United Kingdom', id: 'uk' },
         | 
| 8 | 
            +
                { label: 'Australia', value: 'Australia', id: 'au' },
         | 
| 9 | 
            +
                { label: 'New Zealand', value: 'New Zealand', id: 'nz' },
         | 
| 10 | 
            +
                { label: 'Germany', value: 'Germany', id: 'de' },
         | 
| 11 | 
            +
                { label: 'France', value: 'France', id: 'fr' },
         | 
| 12 | 
            +
                { label: 'Italy', value: 'Italy', id: 'it' },
         | 
| 13 | 
            +
              ]
         | 
| 14 | 
            +
            %>
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            <% 
         | 
| 17 | 
            +
            default_value = [
         | 
| 18 | 
            +
              { label: 'United States', value: 'United States', id: 'us' },
         | 
| 19 | 
            +
              { label: 'Canada', value: 'Canada', id: 'ca' },
         | 
| 20 | 
            +
            ]
         | 
| 21 | 
            +
             %>
         | 
| 22 | 
            +
            <%= pb_rails("dropdown", props: {options: options, multi_select: true, default_value: default_value}) %>
         | 
| @@ -0,0 +1,67 @@ | |
| 1 | 
            +
            import React from "react";
         | 
| 2 | 
            +
            import Dropdown from "../../pb_dropdown/_dropdown";
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            const DropdownMultiSelectWithDefault = (props) => {
         | 
| 5 | 
            +
              const options = [
         | 
| 6 | 
            +
                {
         | 
| 7 | 
            +
                  label: "United States",
         | 
| 8 | 
            +
                  value: "United States",
         | 
| 9 | 
            +
                },
         | 
| 10 | 
            +
                {
         | 
| 11 | 
            +
                  label: "United Kingdom",
         | 
| 12 | 
            +
                  value: "United Kingdom",
         | 
| 13 | 
            +
                },
         | 
| 14 | 
            +
                {
         | 
| 15 | 
            +
                  label: "Canada",
         | 
| 16 | 
            +
                  value: "Canada",
         | 
| 17 | 
            +
                },
         | 
| 18 | 
            +
                {
         | 
| 19 | 
            +
                  label: "Pakistan",
         | 
| 20 | 
            +
                  value: "Pakistan",
         | 
| 21 | 
            +
                },
         | 
| 22 | 
            +
                {
         | 
| 23 | 
            +
                  label: "India",
         | 
| 24 | 
            +
                  value: "India",
         | 
| 25 | 
            +
                },
         | 
| 26 | 
            +
                {
         | 
| 27 | 
            +
                  label: "Australia",
         | 
| 28 | 
            +
                  value: "Australia",
         | 
| 29 | 
            +
                },
         | 
| 30 | 
            +
                {
         | 
| 31 | 
            +
                  label: "New Zealand",
         | 
| 32 | 
            +
                  value: "New Zealand",
         | 
| 33 | 
            +
                },
         | 
| 34 | 
            +
                {
         | 
| 35 | 
            +
                  label: "Italy",
         | 
| 36 | 
            +
                  value: "Italy",
         | 
| 37 | 
            +
                },
         | 
| 38 | 
            +
                {
         | 
| 39 | 
            +
                  label: "Spain",
         | 
| 40 | 
            +
                  value: "Spain",
         | 
| 41 | 
            +
                },
         | 
| 42 | 
            +
              ];
         | 
| 43 | 
            +
             | 
| 44 | 
            +
              const defaultSelectedOptions = [
         | 
| 45 | 
            +
                {
         | 
| 46 | 
            +
                  label: "United States",
         | 
| 47 | 
            +
                  value: "United States",
         | 
| 48 | 
            +
                },
         | 
| 49 | 
            +
                {
         | 
| 50 | 
            +
                  label: "Italy",
         | 
| 51 | 
            +
                  value: "Italy",
         | 
| 52 | 
            +
                },
         | 
| 53 | 
            +
              ];
         | 
| 54 | 
            +
             | 
| 55 | 
            +
              return (
         | 
| 56 | 
            +
                <div>
         | 
| 57 | 
            +
                  <Dropdown
         | 
| 58 | 
            +
                      defaultValue={defaultSelectedOptions}
         | 
| 59 | 
            +
                      multiSelect
         | 
| 60 | 
            +
                      options={options}
         | 
| 61 | 
            +
                      {...props}
         | 
| 62 | 
            +
                  />
         | 
| 63 | 
            +
                </div>
         | 
| 64 | 
            +
              );
         | 
| 65 | 
            +
            };
         | 
| 66 | 
            +
             | 
| 67 | 
            +
            export default DropdownMultiSelectWithDefault;
         | 
| @@ -0,0 +1,28 @@ | |
| 1 | 
            +
            <% 
         | 
| 2 | 
            +
              options = [
         | 
| 3 | 
            +
                {
         | 
| 4 | 
            +
                  label: "United States",
         | 
| 5 | 
            +
                  value: "United States",
         | 
| 6 | 
            +
                  areaCode: "+1",
         | 
| 7 | 
            +
                  icon: "🇺🇸",
         | 
| 8 | 
            +
                  id: "us"
         | 
| 9 | 
            +
                },
         | 
| 10 | 
            +
                {
         | 
| 11 | 
            +
                  label: "United Kingdom",
         | 
| 12 | 
            +
                  value: "United Kingdom",
         | 
| 13 | 
            +
                  areaCode: "+44",
         | 
| 14 | 
            +
                  icon: "🇬🇧", 
         | 
| 15 | 
            +
                  id: "gb"
         | 
| 16 | 
            +
                },
         | 
| 17 | 
            +
                {
         | 
| 18 | 
            +
                  label: "Pakistan",
         | 
| 19 | 
            +
                  value: "Pakistan",
         | 
| 20 | 
            +
                  areaCode: "+92",
         | 
| 21 | 
            +
                  icon: "🇵🇰",
         | 
| 22 | 
            +
                  id: "pk"
         | 
| 23 | 
            +
                }
         | 
| 24 | 
            +
              ]
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            %>
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            <%= pb_rails("dropdown", props: {options: options, autocomplete: true}) %>
         | 
| @@ -1,86 +1,39 @@ | |
| 1 1 | 
             
            import React from 'react'
         | 
| 2 2 |  | 
| 3 3 | 
             
            import Dropdown from '../../pb_dropdown/_dropdown'
         | 
| 4 | 
            -
            import Badge from '../../pb_badge/_badge'
         | 
| 5 | 
            -
            import FlexItem from '../../pb_flex/_flex_item'
         | 
| 6 | 
            -
            import User from '../../pb_user/_user'
         | 
| 7 4 |  | 
| 8 5 | 
             
            const DropdownWithAutocomplete = (props) => {
         | 
| 9 6 |  | 
| 10 7 | 
             
              const options = [
         | 
| 11 8 | 
             
                {
         | 
| 12 | 
            -
                  label: " | 
| 13 | 
            -
                  value: " | 
| 14 | 
            -
                   | 
| 15 | 
            -
                   | 
| 16 | 
            -
                  id: " | 
| 17 | 
            -
                  status: "Offline"
         | 
| 9 | 
            +
                  label: "United States",
         | 
| 10 | 
            +
                  value: "United States",
         | 
| 11 | 
            +
                  areaCode: "+1",
         | 
| 12 | 
            +
                  icon: "🇺🇸",
         | 
| 13 | 
            +
                  id: "us"
         | 
| 18 14 | 
             
                },
         | 
| 19 15 | 
             
                {
         | 
| 20 | 
            -
                  label: " | 
| 21 | 
            -
                  value: " | 
| 22 | 
            -
                   | 
| 23 | 
            -
                   | 
| 24 | 
            -
                  id: " | 
| 25 | 
            -
                  status: "Away"
         | 
| 16 | 
            +
                  label: "United Kingdom",
         | 
| 17 | 
            +
                  value: "United Kingdom",
         | 
| 18 | 
            +
                  areaCode: "+44",
         | 
| 19 | 
            +
                  icon: "🇬🇧", 
         | 
| 20 | 
            +
                  id: "gb"
         | 
| 26 21 | 
             
                },
         | 
| 27 22 | 
             
                {
         | 
| 28 | 
            -
                  label: " | 
| 29 | 
            -
                  value: " | 
| 30 | 
            -
                   | 
| 31 | 
            -
                   | 
| 32 | 
            -
                  id: " | 
| 33 | 
            -
                  status: "Online"
         | 
| 34 | 
            -
                },
         | 
| 35 | 
            -
                {
         | 
| 36 | 
            -
                  label: "Courtney Long",
         | 
| 37 | 
            -
                  value: "Courtney Long",
         | 
| 38 | 
            -
                  territory: "PHL",
         | 
| 39 | 
            -
                  title: "Lead UX Designer",
         | 
| 40 | 
            -
                  id: "courtney-long",
         | 
| 41 | 
            -
                  status: "Online"
         | 
| 23 | 
            +
                  label: "Pakistan",
         | 
| 24 | 
            +
                  value: "Pakistan",
         | 
| 25 | 
            +
                  areaCode: "+92",
         | 
| 26 | 
            +
                  icon: "🇵🇰",
         | 
| 27 | 
            +
                  id: "pk"
         | 
| 42 28 | 
             
                }
         | 
| 43 | 
            -
              ] | 
| 44 | 
            -
             | 
| 29 | 
            +
              ]
         | 
| 45 30 |  | 
| 46 31 | 
             
              return (
         | 
| 47 32 | 
             
              <div>
         | 
| 48 33 | 
             
                <Dropdown autocomplete
         | 
| 49 34 | 
             
                    options={options}
         | 
| 50 35 | 
             
                    {...props}
         | 
| 51 | 
            -
                 | 
| 52 | 
            -
                    {options.map((option) => (
         | 
| 53 | 
            -
                      <Dropdown.Option key={option.id} 
         | 
| 54 | 
            -
                          option={option}
         | 
| 55 | 
            -
                      >
         | 
| 56 | 
            -
                        <>
         | 
| 57 | 
            -
                          <FlexItem>
         | 
| 58 | 
            -
                            <User
         | 
| 59 | 
            -
                                align="left"
         | 
| 60 | 
            -
                                avatar
         | 
| 61 | 
            -
                                name={option.label}
         | 
| 62 | 
            -
                                orientation="horizontal"
         | 
| 63 | 
            -
                                territory={option.territory}
         | 
| 64 | 
            -
                                title={option.title}
         | 
| 65 | 
            -
                            />
         | 
| 66 | 
            -
                          </FlexItem>
         | 
| 67 | 
            -
                          <FlexItem>
         | 
| 68 | 
            -
                            <Badge
         | 
| 69 | 
            -
                                rounded
         | 
| 70 | 
            -
                                text={option.status}
         | 
| 71 | 
            -
                                variant={`${
         | 
| 72 | 
            -
                                    option.status === "Offline"
         | 
| 73 | 
            -
                                    ? "neutral"
         | 
| 74 | 
            -
                                    : option.status === "Online"
         | 
| 75 | 
            -
                                    ? "success"
         | 
| 76 | 
            -
                                    : "warning"
         | 
| 77 | 
            -
                                }`}
         | 
| 78 | 
            -
                            />
         | 
| 79 | 
            -
                          </FlexItem>
         | 
| 80 | 
            -
                        </>
         | 
| 81 | 
            -
                      </Dropdown.Option>
         | 
| 82 | 
            -
                    ))}
         | 
| 83 | 
            -
                </Dropdown>
         | 
| 36 | 
            +
                /> 
         | 
| 84 37 | 
             
              </div>
         | 
| 85 38 | 
             
              )
         | 
| 86 39 | 
             
            }
         |