playbook_ui 4.17.0 → 5.0.1.pre.beta
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -2
- data/app/helpers/playbook/pb_sample_helper.rb +1 -1
- data/app/pb_kits/playbook/_playbook.scss +2 -1
- data/app/pb_kits/playbook/data/menu.yml +5 -2
- data/app/pb_kits/playbook/index.js +1 -0
- data/app/pb_kits/playbook/packs/examples.js +4 -0
- data/app/pb_kits/playbook/packs/samples.js +4 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.html.erb +1 -0
- data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.jsx +3 -0
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +5 -0
- data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +3 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.html.erb +15 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +24 -0
- data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +6 -4
- data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_caption/_caption.jsx +21 -4
- data/app/pb_kits/playbook/pb_card/_card.scss +1 -72
- data/app/pb_kits/playbook/pb_card/_card_mixin.scss +72 -0
- data/app/pb_kits/playbook/pb_filter/Filter/FiltersPopover.jsx +0 -1
- data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.jsx +1 -1
- data/app/pb_kits/playbook/pb_filter/templates/_default.html.erb +1 -1
- data/app/pb_kits/playbook/pb_installer/_installer.html.erb +16 -0
- data/app/pb_kits/playbook/pb_installer/_installer.jsx +54 -0
- data/app/pb_kits/playbook/pb_installer/_installer.scss +7 -0
- data/app/pb_kits/playbook/pb_installer/docs/_installer_default.html.erb +8 -0
- data/app/pb_kits/playbook/pb_installer/docs/_installer_default.jsx +16 -0
- data/app/pb_kits/playbook/pb_installer/docs/example.yml +9 -0
- data/app/pb_kits/playbook/pb_installer/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_installer/installer.rb +18 -0
- data/app/pb_kits/playbook/pb_label_value/_label_value.html.erb +1 -0
- data/app/pb_kits/playbook/pb_label_value/_label_value.jsx +22 -3
- data/app/pb_kits/playbook/pb_layout/_body.html.erb +1 -1
- data/app/pb_kits/playbook/pb_layout/_column.html.erb +7 -0
- data/app/pb_kits/playbook/pb_layout/_layout.jsx +35 -15
- data/app/pb_kits/playbook/pb_layout/_layout.scss +54 -0
- data/app/pb_kits/playbook/pb_layout/body.rb +4 -0
- data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban.html.erb +140 -0
- data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban.jsx +1234 -0
- data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban_responsive.html.erb +57 -0
- data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban_responsive.jsx +46 -0
- data/app/pb_kits/playbook/pb_layout/docs/example.yml +3 -0
- data/app/pb_kits/playbook/pb_layout/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_layout/layout.rb +12 -4
- data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +5 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.html.erb +16 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +23 -0
- data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +5 -3
- data/app/pb_kits/playbook/pb_line_graph/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +3 -0
- data/app/pb_kits/playbook/pb_list/_item.html.erb +3 -2
- data/app/pb_kits/playbook/pb_list/_list.html.erb +3 -3
- data/app/pb_kits/playbook/pb_list/_list.jsx +55 -10
- data/app/pb_kits/playbook/pb_list/_list_item.jsx +41 -18
- data/app/pb_kits/playbook/pb_list/docs/_list_borderless.jsx +21 -0
- data/app/pb_kits/playbook/pb_list/docs/_list_dark.jsx +0 -5
- data/app/pb_kits/playbook/pb_list/docs/_list_dark_borderless.jsx +22 -0
- data/app/pb_kits/playbook/pb_list/docs/_list_dark_lg.jsx +22 -0
- data/app/pb_kits/playbook/pb_list/docs/_list_dark_ordered.jsx +22 -0
- data/app/pb_kits/playbook/pb_list/docs/_list_dark_xpadding.jsx +22 -0
- data/app/pb_kits/playbook/pb_list/docs/_list_layout_left.jsx +75 -0
- data/app/pb_kits/playbook/pb_list/docs/_list_layout_right.jsx +75 -0
- data/app/pb_kits/playbook/pb_list/docs/_list_lg.jsx +21 -0
- data/app/pb_kits/playbook/pb_list/docs/_list_ordered.jsx +21 -0
- data/app/pb_kits/playbook/pb_list/docs/_list_xpadding.jsx +21 -0
- data/app/pb_kits/playbook/pb_list/docs/example.yml +12 -1
- data/app/pb_kits/playbook/pb_list/docs/index.js +11 -0
- data/app/pb_kits/playbook/pb_logistic/_logistic.html.erb +1 -0
- data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +26 -4
- data/app/pb_kits/playbook/pb_message/_message.html.erb +1 -0
- data/app/pb_kits/playbook/pb_message/_message.jsx +25 -7
- data/app/pb_kits/playbook/pb_message/docs/_message_default.jsx +1 -2
- data/app/pb_kits/playbook/pb_message/message.rb +1 -1
- data/app/pb_kits/playbook/pb_person/_person.html.erb +9 -2
- data/app/pb_kits/playbook/pb_person/_person.jsx +34 -10
- data/app/pb_kits/playbook/pb_person/docs/_person_default.html.erb +5 -1
- data/app/pb_kits/playbook/pb_person_contact/_person_contact.html.erb +1 -0
- data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +57 -5
- data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_wrong_numbers.jsx +32 -0
- data/app/pb_kits/playbook/pb_person_contact/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_person_contact/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_popover/_popover.html.erb +4 -4
- data/app/pb_kits/playbook/pb_popover/_popover.jsx +41 -8
- data/app/pb_kits/playbook/pb_popover/_popover.scss +44 -7
- data/app/pb_kits/playbook/pb_popover/docs/_popover_close.html.erb +42 -0
- data/app/pb_kits/playbook/pb_popover/docs/_popover_close.jsx +99 -0
- data/app/pb_kits/playbook/pb_popover/docs/_popover_default.html.erb +19 -7
- data/app/pb_kits/playbook/pb_popover/docs/_popover_default.jsx +22 -6
- data/app/pb_kits/playbook/pb_popover/docs/_popover_list.html.erb +11 -10
- data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +22 -18
- data/app/pb_kits/playbook/pb_popover/docs/_popover_list.md +1 -0
- data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height.html.erb +24 -0
- data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height.jsx +56 -0
- data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index.html.erb +14 -0
- data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index.jsx +50 -0
- data/app/pb_kits/playbook/pb_popover/docs/example.yml +12 -8
- data/app/pb_kits/playbook/pb_popover/docs/index.js +3 -3
- data/app/pb_kits/playbook/pb_popover/index.js +18 -9
- data/app/pb_kits/playbook/pb_popover/popover.rb +26 -2
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.html.erb +1 -0
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +29 -5
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.html.erb +1 -0
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +22 -13
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx +3 -1
- data/app/pb_kits/playbook/pb_timeline/_item.html.erb +28 -0
- data/app/pb_kits/playbook/pb_timeline/_item.jsx +54 -0
- data/app/pb_kits/playbook/pb_timeline/_timeline.html.erb +6 -0
- data/app/pb_kits/playbook/pb_timeline/_timeline.jsx +43 -0
- data/app/pb_kits/playbook/pb_timeline/_timeline.scss +271 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_description.md +3 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_default.html.erb +43 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_default.jsx +73 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.html.erb +43 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.jsx +73 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.html.erb +44 -0
- data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.jsx +85 -0
- data/app/pb_kits/playbook/pb_timeline/docs/example.yml +13 -0
- data/app/pb_kits/playbook/pb_timeline/docs/index.js +3 -0
- data/app/pb_kits/playbook/pb_timeline/item.rb +25 -0
- data/app/pb_kits/playbook/pb_timeline/timeline.rb +27 -0
- data/app/pb_kits/playbook/pb_title/_title.html.erb +1 -0
- data/app/pb_kits/playbook/pb_title/_title.jsx +24 -17
- data/app/pb_kits/playbook/plugins/pb_chart.js +8 -2
- data/app/pb_kits/playbook/props.rb +7 -0
- data/app/views/layouts/playbook/application.html.slim +2 -3
- data/app/views/layouts/playbook/fullscreen.html.slim +2 -2
- data/app/views/layouts/playbook/grid.html.slim +2 -2
- data/app/views/layouts/playbook/samples.html.erb +2 -4
- data/app/views/playbook/samples/filter_table/index.html.erb +348 -0
- data/app/views/playbook/samples/filter_table/index.jsx +433 -0
- data/app/views/playbook/samples/registration/index.html.erb +316 -0
- data/app/views/playbook/samples/registration/index.jsx +476 -0
- data/lib/playbook/version.rb +1 -1
- metadata +62 -79
- data/app/pb_kits/playbook/packs/kits/pb_avatar.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_badge.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_bar_graph.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_body.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_button.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_caption.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_card.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_checkbox.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_circle_icon_button.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_contact.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_currency.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_dashboard_value.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_date.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_date_range_inline.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_date_range_stacked.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_date_stacked.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_date_year_stacked.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_distribution_bar.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_fixed_confirmation_toast.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_flex.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_form_pill.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_hashtag.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_highlight.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_home_address_street.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_icon.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_icon_circle.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_icon_value.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_image.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_label_pill.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_label_value.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_layout.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_legend.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_line_graph.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_list.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_loading_inline.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_message.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_multiple_users.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_multiple_users_stacked.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_nav.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_online_status.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_person.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_person_contact.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_pill.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_popover.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_progress_pills.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_progress_simple.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_progress_step.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_radio.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_section_separator.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_select.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_selectable_card.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_source.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_star_rating.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_stat_change.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_stat_value.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_table.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_text_input.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_textarea.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_time.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_timestamp.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_title.js +0 -1
- data/app/pb_kits/playbook/packs/kits/pb_title_count.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_title_detail.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_toggle.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_user.js +0 -2
- data/app/pb_kits/playbook/packs/kits/pb_user_badge.js +0 -2
- data/app/pb_kits/playbook/pb_popover/docs/_popover_click_any.html.erb +0 -19
- data/app/pb_kits/playbook/pb_popover/docs/_popover_click_any.jsx +0 -40
- data/app/pb_kits/playbook/pb_popover/docs/_popover_click_inside.html.erb +0 -14
- data/app/pb_kits/playbook/pb_popover/docs/_popover_click_inside.jsx +0 -40
- data/app/pb_kits/playbook/pb_popover/docs/_popover_click_outside.html.erb +0 -14
- data/app/pb_kits/playbook/pb_popover/docs/_popover_click_outside.jsx +0 -40
- data/app/pb_kits/playbook/pb_popover/docs/_popover_with_button.jsx +0 -34
- data/app/pb_kits/playbook/pb_popover/docs/_popover_with_circle.html.erb +0 -5
@@ -0,0 +1,42 @@
|
|
1
|
+
<%= pb_rails("flex", props: {classname: "flex-container", spacing: "between"}) do %>
|
2
|
+
<span>
|
3
|
+
<%= pb_rails("button", props: { text: "Click Inside", variant: "secondary", id: 'inside-popover-1' }) %>
|
4
|
+
<%= pb_rails("popover", props: {
|
5
|
+
close_on_click: "inside",
|
6
|
+
trigger_element_id: "inside-popover-1",
|
7
|
+
tooltip_id: "inside-tooltip-1",
|
8
|
+
position: 'bottom',
|
9
|
+
offset: true
|
10
|
+
}) do %>
|
11
|
+
Click on me!
|
12
|
+
<% end %>
|
13
|
+
</span>
|
14
|
+
<span>
|
15
|
+
<%= pb_rails("button", props: { text: "Click Outside", variant: "secondary", id: 'outside-popover-1' }) %>
|
16
|
+
<%= pb_rails("popover", props: {
|
17
|
+
close_on_click: "outside",
|
18
|
+
trigger_element_id: "outside-popover-1",
|
19
|
+
tooltip_id: "outside-tooltip-1",
|
20
|
+
position: 'left',
|
21
|
+
offset: true
|
22
|
+
}) do %>
|
23
|
+
Click anywhere but me!
|
24
|
+
<% end %>
|
25
|
+
</span>
|
26
|
+
<span>
|
27
|
+
<%= pb_rails("button", props: {
|
28
|
+
text: "Click Anywhere",
|
29
|
+
variant: "secondary",
|
30
|
+
id: 'any-popover-1'
|
31
|
+
}) %>
|
32
|
+
<%= pb_rails("popover", props: {
|
33
|
+
close_on_click: "any",
|
34
|
+
trigger_element_id: "any-popover-1",
|
35
|
+
tooltip_id: "any-tooltip-1",
|
36
|
+
position: 'top',
|
37
|
+
offset: true
|
38
|
+
}) do %>
|
39
|
+
Click anything!
|
40
|
+
<% end %>
|
41
|
+
</span>
|
42
|
+
<% end %>
|
@@ -0,0 +1,99 @@
|
|
1
|
+
import React, { useState } from 'react'
|
2
|
+
import {
|
3
|
+
Button,
|
4
|
+
Flex,
|
5
|
+
PbReactPopover,
|
6
|
+
} from '../..'
|
7
|
+
|
8
|
+
const PopoverClose = () => {
|
9
|
+
const [showInsidePopover, setInsideShowPopover] = useState(false)
|
10
|
+
const [showOutsidePopover, setOutsideShowPopover] = useState(false)
|
11
|
+
const [showAnyPopover, setAnyShowPopover] = useState(false)
|
12
|
+
|
13
|
+
const handleInsideShouldClosePopover = (shouldClosePopover) => {
|
14
|
+
setInsideShowPopover(!shouldClosePopover)
|
15
|
+
}
|
16
|
+
|
17
|
+
const handleInsideTogglePopover = () => {
|
18
|
+
setInsideShowPopover(!showInsidePopover)
|
19
|
+
}
|
20
|
+
|
21
|
+
const handleOutsideShouldClosePopover = (shouldClosePopover) => {
|
22
|
+
setOutsideShowPopover(!shouldClosePopover)
|
23
|
+
}
|
24
|
+
|
25
|
+
const handleOutsideTogglePopover = () => {
|
26
|
+
setOutsideShowPopover(!showOutsidePopover)
|
27
|
+
}
|
28
|
+
|
29
|
+
const handleAnyShouldClosePopover = (shouldClosePopover) => {
|
30
|
+
setAnyShowPopover(!shouldClosePopover)
|
31
|
+
}
|
32
|
+
|
33
|
+
const handleAnyTogglePopover = () => {
|
34
|
+
setAnyShowPopover(!showOutsidePopover)
|
35
|
+
}
|
36
|
+
|
37
|
+
const insidePopoverTrigger = (
|
38
|
+
<Button
|
39
|
+
onClick={handleInsideTogglePopover}
|
40
|
+
text="Click Inside"
|
41
|
+
variant="secondary"
|
42
|
+
/>
|
43
|
+
)
|
44
|
+
|
45
|
+
const outsidePopoverTrigger = (
|
46
|
+
<Button
|
47
|
+
onClick={handleOutsideTogglePopover}
|
48
|
+
text="Click Outside"
|
49
|
+
variant="secondary"
|
50
|
+
/>
|
51
|
+
)
|
52
|
+
|
53
|
+
const anyPopoverTrigger = (
|
54
|
+
<Button
|
55
|
+
onClick={handleAnyTogglePopover}
|
56
|
+
text="Click Anywhere"
|
57
|
+
variant="secondary"
|
58
|
+
/>
|
59
|
+
)
|
60
|
+
|
61
|
+
return (
|
62
|
+
<Flex spacing="between">
|
63
|
+
<PbReactPopover
|
64
|
+
closeOnClick="inside"
|
65
|
+
offset
|
66
|
+
placement="bottom"
|
67
|
+
reference={insidePopoverTrigger}
|
68
|
+
shouldClosePopover={handleInsideShouldClosePopover}
|
69
|
+
show={showInsidePopover}
|
70
|
+
>
|
71
|
+
{'Click on me!'}
|
72
|
+
</PbReactPopover>
|
73
|
+
|
74
|
+
<PbReactPopover
|
75
|
+
closeOnClick="outside"
|
76
|
+
offset
|
77
|
+
placement="top"
|
78
|
+
reference={outsidePopoverTrigger}
|
79
|
+
shouldClosePopover={handleOutsideShouldClosePopover}
|
80
|
+
show={showOutsidePopover}
|
81
|
+
>
|
82
|
+
{'Click anywhere but me!'}
|
83
|
+
</PbReactPopover>
|
84
|
+
|
85
|
+
<PbReactPopover
|
86
|
+
closeOnClick="any"
|
87
|
+
offset
|
88
|
+
placement="right"
|
89
|
+
reference={anyPopoverTrigger}
|
90
|
+
shouldClosePopover={handleAnyShouldClosePopover}
|
91
|
+
show={showAnyPopover}
|
92
|
+
>
|
93
|
+
{'Click anything!'}
|
94
|
+
</PbReactPopover>
|
95
|
+
</Flex>
|
96
|
+
)
|
97
|
+
}
|
98
|
+
|
99
|
+
export default PopoverClose
|
@@ -1,8 +1,20 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
<%= pb_rails("flex", props: {
|
2
|
+
orientation: "row",
|
3
|
+
vertical: "center"
|
4
|
+
}) do %>
|
5
|
+
<%= pb_rails("body", props: { text: "Click info for more details" }) %>
|
6
|
+
|
7
|
+
<%= pb_rails("circle_icon_button", props: {
|
8
|
+
variant: "secondary",
|
9
|
+
icon: "info",
|
10
|
+
id: "regular-popover-1"
|
11
|
+
}) %>
|
12
|
+
<%= pb_rails("popover", props: {
|
13
|
+
trigger_element_id: "regular-popover-1",
|
14
|
+
tooltip_id: "tooltip-1",
|
15
|
+
offset: true,
|
16
|
+
position: "top"
|
17
|
+
}) do %>
|
18
|
+
I'm a popover. I can show content of any size.
|
19
|
+
<% end %>
|
4
20
|
<% end %>
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import React, { useState } from 'react'
|
2
2
|
import {
|
3
|
+
Body,
|
4
|
+
CircleIconButton,
|
5
|
+
Flex,
|
3
6
|
PbReactPopover,
|
4
7
|
} from '../..'
|
5
8
|
|
@@ -10,16 +13,29 @@ const PopoverDefault = () => {
|
|
10
13
|
setShowPopover(!showPopover)
|
11
14
|
}
|
12
15
|
const popoverReference = (
|
13
|
-
<
|
16
|
+
<CircleIconButton
|
17
|
+
icon="info"
|
18
|
+
onClick={handleTogglePopover}
|
19
|
+
variant="secondary"
|
20
|
+
/>
|
14
21
|
)
|
15
22
|
|
16
23
|
return (
|
17
|
-
<
|
18
|
-
|
19
|
-
|
24
|
+
<Flex
|
25
|
+
orientation="row"
|
26
|
+
vertical="center"
|
20
27
|
>
|
21
|
-
|
22
|
-
|
28
|
+
<Body text="Click info for more details" />
|
29
|
+
|
30
|
+
<PbReactPopover
|
31
|
+
offset
|
32
|
+
placement="top"
|
33
|
+
reference={popoverReference}
|
34
|
+
show={showPopover}
|
35
|
+
>
|
36
|
+
{'I\'m a popover. I can show content of any size.'}
|
37
|
+
</PbReactPopover>
|
38
|
+
</Flex>
|
23
39
|
)
|
24
40
|
}
|
25
41
|
|
@@ -1,12 +1,13 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
<%= pb_rails("
|
4
|
-
|
5
|
-
|
6
|
-
<%= pb_rails("list
|
7
|
-
|
8
|
-
|
9
|
-
|
1
|
+
<%= pb_rails("button", props: { variant: "secondary", id: 'list' }) do %>
|
2
|
+
Filter By
|
3
|
+
<%= pb_rails("icon", props: { icon: "angle-down"}) %>
|
4
|
+
<% end %>
|
5
|
+
<%= pb_rails("popover", props: {trigger_element_id: "list", tooltip_id: "list-tooltip", position: 'bottom', padding: "none"}) do %>
|
6
|
+
<%= pb_rails("list", props: {ordered: false, dark: false, borderless: false, xpadding: true}) do %>
|
7
|
+
<%= pb_rails("list/item") do %><a>Popularity</a><% end %>
|
8
|
+
<%= pb_rails("list/item") do %><a>Title</a><% end %>
|
9
|
+
<%= pb_rails("list/item") do %><a>Duration</a><% end %>
|
10
|
+
<%= pb_rails("list/item") do %><a>Date Started</a><% end %>
|
11
|
+
<%= pb_rails("list/item") do %><a>Date Ended </a><% end %>
|
10
12
|
<% end %>
|
11
13
|
<% end %>
|
12
|
-
</div>
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React, { useState } from 'react'
|
2
2
|
import {
|
3
3
|
Button,
|
4
|
+
Icon,
|
4
5
|
List,
|
5
6
|
ListItem,
|
6
7
|
PbReactPopover,
|
@@ -16,28 +17,31 @@ const PopoverWithButton = () => {
|
|
16
17
|
const popoverReference = (
|
17
18
|
<Button
|
18
19
|
onClick={handleTogglePopover}
|
19
|
-
text="Button Secondary"
|
20
20
|
variant="secondary"
|
21
|
-
|
21
|
+
>
|
22
|
+
{'Filter By'}
|
23
|
+
<Icon
|
24
|
+
fixedWidth
|
25
|
+
icon="angle-down"
|
26
|
+
/>
|
27
|
+
</Button>
|
22
28
|
)
|
23
29
|
|
24
30
|
return (
|
25
|
-
<
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
>
|
32
|
-
<
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
</PbReactPopover>
|
40
|
-
</div>
|
31
|
+
<PbReactPopover
|
32
|
+
padding="none"
|
33
|
+
placement="bottom"
|
34
|
+
reference={popoverReference}
|
35
|
+
show={showPopover}
|
36
|
+
>
|
37
|
+
<List xpadding>
|
38
|
+
<ListItem>{'Popularity'}</ListItem>
|
39
|
+
<ListItem>{'Title'}</ListItem>
|
40
|
+
<ListItem>{'Duration'}</ListItem>
|
41
|
+
<ListItem>{'Date Started'}</ListItem>
|
42
|
+
<ListItem>{'Date Ended'}</ListItem>
|
43
|
+
</List>
|
44
|
+
</PbReactPopover>
|
41
45
|
)
|
42
46
|
}
|
43
47
|
|
@@ -0,0 +1 @@
|
|
1
|
+
Notice `offset` is not set so the popover is flush with the content.
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<%= pb_rails("button", props: { variant: "secondary", id: 'scroll-height', text: "Click Me" }) %>
|
2
|
+
<%= pb_rails("popover", props: {
|
3
|
+
trigger_element_id: "scroll-height",
|
4
|
+
tooltip_id: "scroll-height-1",
|
5
|
+
position: 'top',
|
6
|
+
close_on_click: "any",
|
7
|
+
max_height: "150px",
|
8
|
+
max_width: "240px",
|
9
|
+
offset: true
|
10
|
+
}) do %>
|
11
|
+
<%= pb_rails("body", props: {
|
12
|
+
margin_bottom: "sm",
|
13
|
+
text: "So many people live within unhappy circumstances and yet will
|
14
|
+
not take the initiative to change their situation because they are
|
15
|
+
conditioned to a life of security, conformity, and conservation, all of
|
16
|
+
which may appear to give one peace of mind, but in reality, nothing is
|
17
|
+
more damaging to the adventurous spirit."
|
18
|
+
}) %>
|
19
|
+
<%= pb_rails("title", props: {
|
20
|
+
size: 4,
|
21
|
+
text: "- Christopher McCandless"
|
22
|
+
}) %>
|
23
|
+
<% end %>
|
24
|
+
|
@@ -0,0 +1,56 @@
|
|
1
|
+
import React, { useState } from 'react'
|
2
|
+
import {
|
3
|
+
Body,
|
4
|
+
Button,
|
5
|
+
PbReactPopover,
|
6
|
+
Title,
|
7
|
+
} from '../..'
|
8
|
+
|
9
|
+
const PopoverScrollHeight = () => {
|
10
|
+
const [showPopover, setShowPopover] = useState(false)
|
11
|
+
|
12
|
+
const handleTogglePopover = () => {
|
13
|
+
setShowPopover(!showPopover)
|
14
|
+
}
|
15
|
+
|
16
|
+
const handleShouldClosePopover = (shouldClosePopover) => {
|
17
|
+
setShowPopover(!shouldClosePopover)
|
18
|
+
}
|
19
|
+
|
20
|
+
const popoverTrigger = (
|
21
|
+
<Button
|
22
|
+
onClick={handleTogglePopover}
|
23
|
+
text="Click Me"
|
24
|
+
variant="secondary"
|
25
|
+
/>
|
26
|
+
)
|
27
|
+
|
28
|
+
return (
|
29
|
+
<PbReactPopover
|
30
|
+
closeOnClick="any"
|
31
|
+
maxHeight="150px"
|
32
|
+
maxWidth="240px"
|
33
|
+
offset
|
34
|
+
placement="top"
|
35
|
+
reference={popoverTrigger}
|
36
|
+
shouldClosePopover={handleShouldClosePopover}
|
37
|
+
show={showPopover}
|
38
|
+
>
|
39
|
+
<Body
|
40
|
+
marginBottom="sm"
|
41
|
+
text="So many people live within unhappy circumstances and yet will
|
42
|
+
not take the initiative to change their situation because they are
|
43
|
+
conditioned to a life of security, conformity, and conservation, all of
|
44
|
+
which may appear to give one peace of mind, but in reality, nothing is
|
45
|
+
more damaging to the adventurous spirit."
|
46
|
+
/>
|
47
|
+
<Title
|
48
|
+
size={4}
|
49
|
+
text="- Christopher McCandless"
|
50
|
+
/>
|
51
|
+
|
52
|
+
</PbReactPopover>
|
53
|
+
)
|
54
|
+
}
|
55
|
+
|
56
|
+
export default PopoverScrollHeight
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div style="position: relative; z-index: 2">
|
2
|
+
<%= pb_rails("body", props: {text: "I've got a z-index of 2", margin_bottom: "md"}) %>
|
3
|
+
</div>
|
4
|
+
<%= pb_rails("button", props: { variant: "secondary", id: 'tooltip-z-index-1', text: "Click Me", }) %>
|
5
|
+
<%= pb_rails("popover", props: {
|
6
|
+
trigger_element_id: "tooltip-z-index-1",
|
7
|
+
tooltip_id: "tooltip-z-index",
|
8
|
+
position: 'top',
|
9
|
+
z_index: "3",
|
10
|
+
offset: true
|
11
|
+
}) do %>
|
12
|
+
I've got a z-index of 3
|
13
|
+
<% end %>
|
14
|
+
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import React, { useState } from 'react'
|
2
|
+
import {
|
3
|
+
Body,
|
4
|
+
Button,
|
5
|
+
PbReactPopover,
|
6
|
+
} from '../..'
|
7
|
+
|
8
|
+
const PopoverZIndex = () => {
|
9
|
+
const [showPopover, setShowPopover] = useState(false)
|
10
|
+
|
11
|
+
const handleTogglePopover = () => {
|
12
|
+
setShowPopover(!showPopover)
|
13
|
+
}
|
14
|
+
|
15
|
+
const handleShouldClosePopover = (shouldClosePopover) => {
|
16
|
+
setShowPopover(!shouldClosePopover)
|
17
|
+
}
|
18
|
+
|
19
|
+
const popoverTrigger = (
|
20
|
+
<Button
|
21
|
+
onClick={handleTogglePopover}
|
22
|
+
text="Click Me"
|
23
|
+
variant="secondary"
|
24
|
+
/>
|
25
|
+
)
|
26
|
+
|
27
|
+
return (
|
28
|
+
<>
|
29
|
+
<div style={{ position: 'relative', zIndex: 2 }}>
|
30
|
+
<Body
|
31
|
+
marginBottom="md"
|
32
|
+
text="I've got a z-index of 2"
|
33
|
+
/>
|
34
|
+
</div>
|
35
|
+
<PbReactPopover
|
36
|
+
closeOnClick="outside"
|
37
|
+
offset
|
38
|
+
placement="top"
|
39
|
+
reference={popoverTrigger}
|
40
|
+
shouldClosePopover={handleShouldClosePopover}
|
41
|
+
show={showPopover}
|
42
|
+
zIndex={3}
|
43
|
+
>
|
44
|
+
{'I have a custom z-index of 3'}
|
45
|
+
</PbReactPopover>
|
46
|
+
</>
|
47
|
+
)
|
48
|
+
}
|
49
|
+
|
50
|
+
export default PopoverZIndex
|