playbook_ui 4.17.0 → 5.0.1.pre.beta

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.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/app/helpers/playbook/pb_sample_helper.rb +1 -1
  4. data/app/pb_kits/playbook/_playbook.scss +2 -1
  5. data/app/pb_kits/playbook/data/menu.yml +5 -2
  6. data/app/pb_kits/playbook/index.js +1 -0
  7. data/app/pb_kits/playbook/packs/examples.js +4 -0
  8. data/app/pb_kits/playbook/packs/samples.js +4 -0
  9. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.html.erb +1 -0
  10. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.jsx +3 -0
  11. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +5 -0
  12. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +3 -0
  13. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.html.erb +15 -0
  14. data/app/pb_kits/playbook/pb_bar_graph/docs/_bar_graph_legend_non_clickable.jsx +24 -0
  15. data/app/pb_kits/playbook/pb_bar_graph/docs/example.yml +6 -4
  16. data/app/pb_kits/playbook/pb_bar_graph/docs/index.js +1 -0
  17. data/app/pb_kits/playbook/pb_caption/_caption.jsx +21 -4
  18. data/app/pb_kits/playbook/pb_card/_card.scss +1 -72
  19. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +72 -0
  20. data/app/pb_kits/playbook/pb_filter/Filter/FiltersPopover.jsx +0 -1
  21. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.jsx +1 -1
  22. data/app/pb_kits/playbook/pb_filter/templates/_default.html.erb +1 -1
  23. data/app/pb_kits/playbook/pb_installer/_installer.html.erb +16 -0
  24. data/app/pb_kits/playbook/pb_installer/_installer.jsx +54 -0
  25. data/app/pb_kits/playbook/pb_installer/_installer.scss +7 -0
  26. data/app/pb_kits/playbook/pb_installer/docs/_installer_default.html.erb +8 -0
  27. data/app/pb_kits/playbook/pb_installer/docs/_installer_default.jsx +16 -0
  28. data/app/pb_kits/playbook/pb_installer/docs/example.yml +9 -0
  29. data/app/pb_kits/playbook/pb_installer/docs/index.js +1 -0
  30. data/app/pb_kits/playbook/pb_installer/installer.rb +18 -0
  31. data/app/pb_kits/playbook/pb_label_value/_label_value.html.erb +1 -0
  32. data/app/pb_kits/playbook/pb_label_value/_label_value.jsx +22 -3
  33. data/app/pb_kits/playbook/pb_layout/_body.html.erb +1 -1
  34. data/app/pb_kits/playbook/pb_layout/_column.html.erb +7 -0
  35. data/app/pb_kits/playbook/pb_layout/_layout.jsx +35 -15
  36. data/app/pb_kits/playbook/pb_layout/_layout.scss +54 -0
  37. data/app/pb_kits/playbook/pb_layout/body.rb +4 -0
  38. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban.html.erb +140 -0
  39. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban.jsx +1234 -0
  40. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban_responsive.html.erb +57 -0
  41. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban_responsive.jsx +46 -0
  42. data/app/pb_kits/playbook/pb_layout/docs/example.yml +3 -0
  43. data/app/pb_kits/playbook/pb_layout/docs/index.js +2 -0
  44. data/app/pb_kits/playbook/pb_layout/layout.rb +12 -4
  45. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +5 -0
  46. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.html.erb +16 -0
  47. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend_nonclickable.jsx +23 -0
  48. data/app/pb_kits/playbook/pb_line_graph/docs/example.yml +5 -3
  49. data/app/pb_kits/playbook/pb_line_graph/docs/index.js +1 -0
  50. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +3 -0
  51. data/app/pb_kits/playbook/pb_list/_item.html.erb +3 -2
  52. data/app/pb_kits/playbook/pb_list/_list.html.erb +3 -3
  53. data/app/pb_kits/playbook/pb_list/_list.jsx +55 -10
  54. data/app/pb_kits/playbook/pb_list/_list_item.jsx +41 -18
  55. data/app/pb_kits/playbook/pb_list/docs/_list_borderless.jsx +21 -0
  56. data/app/pb_kits/playbook/pb_list/docs/_list_dark.jsx +0 -5
  57. data/app/pb_kits/playbook/pb_list/docs/_list_dark_borderless.jsx +22 -0
  58. data/app/pb_kits/playbook/pb_list/docs/_list_dark_lg.jsx +22 -0
  59. data/app/pb_kits/playbook/pb_list/docs/_list_dark_ordered.jsx +22 -0
  60. data/app/pb_kits/playbook/pb_list/docs/_list_dark_xpadding.jsx +22 -0
  61. data/app/pb_kits/playbook/pb_list/docs/_list_layout_left.jsx +75 -0
  62. data/app/pb_kits/playbook/pb_list/docs/_list_layout_right.jsx +75 -0
  63. data/app/pb_kits/playbook/pb_list/docs/_list_lg.jsx +21 -0
  64. data/app/pb_kits/playbook/pb_list/docs/_list_ordered.jsx +21 -0
  65. data/app/pb_kits/playbook/pb_list/docs/_list_xpadding.jsx +21 -0
  66. data/app/pb_kits/playbook/pb_list/docs/example.yml +12 -1
  67. data/app/pb_kits/playbook/pb_list/docs/index.js +11 -0
  68. data/app/pb_kits/playbook/pb_logistic/_logistic.html.erb +1 -0
  69. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +26 -4
  70. data/app/pb_kits/playbook/pb_message/_message.html.erb +1 -0
  71. data/app/pb_kits/playbook/pb_message/_message.jsx +25 -7
  72. data/app/pb_kits/playbook/pb_message/docs/_message_default.jsx +1 -2
  73. data/app/pb_kits/playbook/pb_message/message.rb +1 -1
  74. data/app/pb_kits/playbook/pb_person/_person.html.erb +9 -2
  75. data/app/pb_kits/playbook/pb_person/_person.jsx +34 -10
  76. data/app/pb_kits/playbook/pb_person/docs/_person_default.html.erb +5 -1
  77. data/app/pb_kits/playbook/pb_person_contact/_person_contact.html.erb +1 -0
  78. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +57 -5
  79. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_wrong_numbers.jsx +32 -0
  80. data/app/pb_kits/playbook/pb_person_contact/docs/example.yml +2 -0
  81. data/app/pb_kits/playbook/pb_person_contact/docs/index.js +1 -0
  82. data/app/pb_kits/playbook/pb_popover/_popover.html.erb +4 -4
  83. data/app/pb_kits/playbook/pb_popover/_popover.jsx +41 -8
  84. data/app/pb_kits/playbook/pb_popover/_popover.scss +44 -7
  85. data/app/pb_kits/playbook/pb_popover/docs/_popover_close.html.erb +42 -0
  86. data/app/pb_kits/playbook/pb_popover/docs/_popover_close.jsx +99 -0
  87. data/app/pb_kits/playbook/pb_popover/docs/_popover_default.html.erb +19 -7
  88. data/app/pb_kits/playbook/pb_popover/docs/_popover_default.jsx +22 -6
  89. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.html.erb +11 -10
  90. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +22 -18
  91. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.md +1 -0
  92. data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height.html.erb +24 -0
  93. data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height.jsx +56 -0
  94. data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index.html.erb +14 -0
  95. data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index.jsx +50 -0
  96. data/app/pb_kits/playbook/pb_popover/docs/example.yml +12 -8
  97. data/app/pb_kits/playbook/pb_popover/docs/index.js +3 -3
  98. data/app/pb_kits/playbook/pb_popover/index.js +18 -9
  99. data/app/pb_kits/playbook/pb_popover/popover.rb +26 -2
  100. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.html.erb +1 -0
  101. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +29 -5
  102. data/app/pb_kits/playbook/pb_section_separator/_section_separator.html.erb +1 -0
  103. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +22 -13
  104. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx +3 -1
  105. data/app/pb_kits/playbook/pb_timeline/_item.html.erb +28 -0
  106. data/app/pb_kits/playbook/pb_timeline/_item.jsx +54 -0
  107. data/app/pb_kits/playbook/pb_timeline/_timeline.html.erb +6 -0
  108. data/app/pb_kits/playbook/pb_timeline/_timeline.jsx +43 -0
  109. data/app/pb_kits/playbook/pb_timeline/_timeline.scss +271 -0
  110. data/app/pb_kits/playbook/pb_timeline/docs/_description.md +3 -0
  111. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_default.html.erb +43 -0
  112. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_default.jsx +73 -0
  113. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.html.erb +43 -0
  114. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_vertical.jsx +73 -0
  115. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.html.erb +44 -0
  116. data/app/pb_kits/playbook/pb_timeline/docs/_timeline_with_date.jsx +85 -0
  117. data/app/pb_kits/playbook/pb_timeline/docs/example.yml +13 -0
  118. data/app/pb_kits/playbook/pb_timeline/docs/index.js +3 -0
  119. data/app/pb_kits/playbook/pb_timeline/item.rb +25 -0
  120. data/app/pb_kits/playbook/pb_timeline/timeline.rb +27 -0
  121. data/app/pb_kits/playbook/pb_title/_title.html.erb +1 -0
  122. data/app/pb_kits/playbook/pb_title/_title.jsx +24 -17
  123. data/app/pb_kits/playbook/plugins/pb_chart.js +8 -2
  124. data/app/pb_kits/playbook/props.rb +7 -0
  125. data/app/views/layouts/playbook/application.html.slim +2 -3
  126. data/app/views/layouts/playbook/fullscreen.html.slim +2 -2
  127. data/app/views/layouts/playbook/grid.html.slim +2 -2
  128. data/app/views/layouts/playbook/samples.html.erb +2 -4
  129. data/app/views/playbook/samples/filter_table/index.html.erb +348 -0
  130. data/app/views/playbook/samples/filter_table/index.jsx +433 -0
  131. data/app/views/playbook/samples/registration/index.html.erb +316 -0
  132. data/app/views/playbook/samples/registration/index.jsx +476 -0
  133. data/lib/playbook/version.rb +1 -1
  134. metadata +62 -79
  135. data/app/pb_kits/playbook/packs/kits/pb_avatar.js +0 -1
  136. data/app/pb_kits/playbook/packs/kits/pb_badge.js +0 -1
  137. data/app/pb_kits/playbook/packs/kits/pb_bar_graph.js +0 -1
  138. data/app/pb_kits/playbook/packs/kits/pb_body.js +0 -1
  139. data/app/pb_kits/playbook/packs/kits/pb_button.js +0 -1
  140. data/app/pb_kits/playbook/packs/kits/pb_caption.js +0 -1
  141. data/app/pb_kits/playbook/packs/kits/pb_card.js +0 -1
  142. data/app/pb_kits/playbook/packs/kits/pb_checkbox.js +0 -1
  143. data/app/pb_kits/playbook/packs/kits/pb_circle_icon_button.js +0 -1
  144. data/app/pb_kits/playbook/packs/kits/pb_contact.js +0 -1
  145. data/app/pb_kits/playbook/packs/kits/pb_currency.js +0 -1
  146. data/app/pb_kits/playbook/packs/kits/pb_dashboard_value.js +0 -1
  147. data/app/pb_kits/playbook/packs/kits/pb_date.js +0 -2
  148. data/app/pb_kits/playbook/packs/kits/pb_date_range_inline.js +0 -1
  149. data/app/pb_kits/playbook/packs/kits/pb_date_range_stacked.js +0 -1
  150. data/app/pb_kits/playbook/packs/kits/pb_date_stacked.js +0 -1
  151. data/app/pb_kits/playbook/packs/kits/pb_date_year_stacked.js +0 -2
  152. data/app/pb_kits/playbook/packs/kits/pb_distribution_bar.js +0 -2
  153. data/app/pb_kits/playbook/packs/kits/pb_fixed_confirmation_toast.js +0 -2
  154. data/app/pb_kits/playbook/packs/kits/pb_flex.js +0 -1
  155. data/app/pb_kits/playbook/packs/kits/pb_form_pill.js +0 -1
  156. data/app/pb_kits/playbook/packs/kits/pb_hashtag.js +0 -2
  157. data/app/pb_kits/playbook/packs/kits/pb_highlight.js +0 -2
  158. data/app/pb_kits/playbook/packs/kits/pb_home_address_street.js +0 -2
  159. data/app/pb_kits/playbook/packs/kits/pb_icon.js +0 -2
  160. data/app/pb_kits/playbook/packs/kits/pb_icon_circle.js +0 -2
  161. data/app/pb_kits/playbook/packs/kits/pb_icon_value.js +0 -2
  162. data/app/pb_kits/playbook/packs/kits/pb_image.js +0 -1
  163. data/app/pb_kits/playbook/packs/kits/pb_label_pill.js +0 -2
  164. data/app/pb_kits/playbook/packs/kits/pb_label_value.js +0 -2
  165. data/app/pb_kits/playbook/packs/kits/pb_layout.js +0 -2
  166. data/app/pb_kits/playbook/packs/kits/pb_legend.js +0 -2
  167. data/app/pb_kits/playbook/packs/kits/pb_line_graph.js +0 -1
  168. data/app/pb_kits/playbook/packs/kits/pb_list.js +0 -2
  169. data/app/pb_kits/playbook/packs/kits/pb_loading_inline.js +0 -2
  170. data/app/pb_kits/playbook/packs/kits/pb_message.js +0 -2
  171. data/app/pb_kits/playbook/packs/kits/pb_multiple_users.js +0 -2
  172. data/app/pb_kits/playbook/packs/kits/pb_multiple_users_stacked.js +0 -2
  173. data/app/pb_kits/playbook/packs/kits/pb_nav.js +0 -1
  174. data/app/pb_kits/playbook/packs/kits/pb_online_status.js +0 -2
  175. data/app/pb_kits/playbook/packs/kits/pb_person.js +0 -2
  176. data/app/pb_kits/playbook/packs/kits/pb_person_contact.js +0 -2
  177. data/app/pb_kits/playbook/packs/kits/pb_pill.js +0 -2
  178. data/app/pb_kits/playbook/packs/kits/pb_popover.js +0 -1
  179. data/app/pb_kits/playbook/packs/kits/pb_progress_pills.js +0 -2
  180. data/app/pb_kits/playbook/packs/kits/pb_progress_simple.js +0 -2
  181. data/app/pb_kits/playbook/packs/kits/pb_progress_step.js +0 -2
  182. data/app/pb_kits/playbook/packs/kits/pb_radio.js +0 -2
  183. data/app/pb_kits/playbook/packs/kits/pb_section_separator.js +0 -2
  184. data/app/pb_kits/playbook/packs/kits/pb_select.js +0 -2
  185. data/app/pb_kits/playbook/packs/kits/pb_selectable_card.js +0 -2
  186. data/app/pb_kits/playbook/packs/kits/pb_source.js +0 -2
  187. data/app/pb_kits/playbook/packs/kits/pb_star_rating.js +0 -2
  188. data/app/pb_kits/playbook/packs/kits/pb_stat_change.js +0 -2
  189. data/app/pb_kits/playbook/packs/kits/pb_stat_value.js +0 -2
  190. data/app/pb_kits/playbook/packs/kits/pb_table.js +0 -1
  191. data/app/pb_kits/playbook/packs/kits/pb_text_input.js +0 -1
  192. data/app/pb_kits/playbook/packs/kits/pb_textarea.js +0 -2
  193. data/app/pb_kits/playbook/packs/kits/pb_time.js +0 -2
  194. data/app/pb_kits/playbook/packs/kits/pb_timestamp.js +0 -2
  195. data/app/pb_kits/playbook/packs/kits/pb_title.js +0 -1
  196. data/app/pb_kits/playbook/packs/kits/pb_title_count.js +0 -2
  197. data/app/pb_kits/playbook/packs/kits/pb_title_detail.js +0 -2
  198. data/app/pb_kits/playbook/packs/kits/pb_toggle.js +0 -2
  199. data/app/pb_kits/playbook/packs/kits/pb_user.js +0 -2
  200. data/app/pb_kits/playbook/packs/kits/pb_user_badge.js +0 -2
  201. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_any.html.erb +0 -19
  202. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_any.jsx +0 -40
  203. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_inside.html.erb +0 -14
  204. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_inside.jsx +0 -40
  205. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_outside.html.erb +0 -14
  206. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_outside.jsx +0 -40
  207. data/app/pb_kits/playbook/pb_popover/docs/_popover_with_button.jsx +0 -34
  208. 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
- <span id='regular-popover-1'>Click Me.</span>
2
- <%= pb_rails("popover", props: {trigger_element_id: "regular-popover-1", tooltip_id: "tooltip-1", position: 'right', offset: false }) do %>
3
- Whoa. I'm a popover.
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
+ &nbsp;
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
- <span onClick={handleTogglePopover}>{'Click me.'}</span>
16
+ <CircleIconButton
17
+ icon="info"
18
+ onClick={handleTogglePopover}
19
+ variant="secondary"
20
+ />
14
21
  )
15
22
 
16
23
  return (
17
- <PbReactPopover
18
- reference={popoverReference}
19
- show={showPopover}
24
+ <Flex
25
+ orientation="row"
26
+ vertical="center"
20
27
  >
21
- {'Whoa. I\'m a popover.'}
22
- </PbReactPopover>
28
+ <Body text="Click info for more details" />
29
+ &nbsp;
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
- <div style="height: 400px; text-align: center;">
2
- <%= pb_rails("button", props: { text: "Button Secondary", variant: "secondary", id: 'list' }) %>
3
- <%= pb_rails("popover", props: {trigger_element_id: "list", tooltip_id: "list-tooltip", position: 'bottom', offset: true }) do %>
4
- <%= pb_rails("list", props: {ordered: false, dark: false, borderless: false}) do %>
5
- <%= pb_rails("list/item") do %><a>Popularity</a><% end %>
6
- <%= pb_rails("list/item") do %><a>Title</a><% end %>
7
- <%= pb_rails("list/item") do %><a>Duration</a><% end %>
8
- <%= pb_rails("list/item") do %><a>Date Started</a><% end %>
9
- <%= pb_rails("list/item") do %><a>Date Ended </a><% end %>
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
- <div style={{ height: '400px', textAlign: 'center' }}>
26
- <PbReactPopover
27
- offset
28
- placement="bottom"
29
- reference={popoverReference}
30
- show={showPopover}
31
- >
32
- <List>
33
- <ListItem>{'Popularity'}</ListItem>
34
- <ListItem>{'Title'}</ListItem>
35
- <ListItem>{'Duration'}</ListItem>
36
- <ListItem>{'Date Started'}</ListItem>
37
- <ListItem>{'Date Ended'}</ListItem>
38
- </List>
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