playbook_ui 4.18.1.pre.alpha1 → 5.1.0.pre.alpha2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) 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 +1 -1
  5. data/app/pb_kits/playbook/index.js +4 -0
  6. data/app/pb_kits/playbook/pb_caption/_caption.jsx +21 -4
  7. data/app/pb_kits/playbook/pb_card/_card.scss +1 -72
  8. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +72 -0
  9. data/app/pb_kits/playbook/pb_filter/Filter/FiltersPopover.jsx +0 -1
  10. data/app/pb_kits/playbook/pb_filter/Filter/SortMenu.jsx +1 -1
  11. data/app/pb_kits/playbook/pb_filter/templates/_default.html.erb +2 -2
  12. data/app/pb_kits/playbook/pb_installer/_installer.html.erb +16 -0
  13. data/app/pb_kits/playbook/pb_installer/_installer.jsx +54 -0
  14. data/app/pb_kits/playbook/pb_installer/_installer.scss +7 -0
  15. data/app/pb_kits/playbook/pb_installer/docs/_installer_default.html.erb +8 -0
  16. data/app/pb_kits/playbook/pb_installer/docs/_installer_default.jsx +16 -0
  17. data/app/pb_kits/playbook/pb_installer/docs/example.yml +9 -0
  18. data/app/pb_kits/playbook/pb_installer/docs/index.js +1 -0
  19. data/app/pb_kits/playbook/pb_installer/installer.rb +18 -0
  20. data/app/pb_kits/playbook/pb_layout/_body.html.erb +1 -1
  21. data/app/pb_kits/playbook/pb_layout/_column.html.erb +7 -0
  22. data/app/pb_kits/playbook/pb_layout/_layout.jsx +31 -13
  23. data/app/pb_kits/playbook/pb_layout/_layout.scss +54 -0
  24. data/app/pb_kits/playbook/pb_layout/body.rb +4 -0
  25. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban.html.erb +140 -0
  26. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban.jsx +1234 -0
  27. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban_responsive.html.erb +57 -0
  28. data/app/pb_kits/playbook/pb_layout/docs/_layout_kanban_responsive.jsx +46 -0
  29. data/app/pb_kits/playbook/pb_layout/docs/example.yml +3 -0
  30. data/app/pb_kits/playbook/pb_layout/docs/index.js +2 -0
  31. data/app/pb_kits/playbook/pb_layout/layout.rb +12 -4
  32. data/app/pb_kits/playbook/pb_list/_item.html.erb +3 -2
  33. data/app/pb_kits/playbook/pb_list/_list.html.erb +3 -3
  34. data/app/pb_kits/playbook/pb_list/_list.jsx +55 -10
  35. data/app/pb_kits/playbook/pb_list/_list_item.jsx +41 -18
  36. data/app/pb_kits/playbook/pb_list/docs/_list_borderless.jsx +21 -0
  37. data/app/pb_kits/playbook/pb_list/docs/_list_dark.jsx +0 -5
  38. data/app/pb_kits/playbook/pb_list/docs/_list_dark_borderless.jsx +22 -0
  39. data/app/pb_kits/playbook/pb_list/docs/_list_dark_lg.jsx +22 -0
  40. data/app/pb_kits/playbook/pb_list/docs/_list_dark_ordered.jsx +22 -0
  41. data/app/pb_kits/playbook/pb_list/docs/_list_dark_xpadding.jsx +22 -0
  42. data/app/pb_kits/playbook/pb_list/docs/_list_layout_left.jsx +75 -0
  43. data/app/pb_kits/playbook/pb_list/docs/_list_layout_right.jsx +75 -0
  44. data/app/pb_kits/playbook/pb_list/docs/_list_lg.jsx +21 -0
  45. data/app/pb_kits/playbook/pb_list/docs/_list_ordered.jsx +21 -0
  46. data/app/pb_kits/playbook/pb_list/docs/_list_xpadding.jsx +21 -0
  47. data/app/pb_kits/playbook/pb_list/docs/example.yml +12 -1
  48. data/app/pb_kits/playbook/pb_list/docs/index.js +11 -0
  49. data/app/pb_kits/playbook/pb_popover/_popover.html.erb +4 -4
  50. data/app/pb_kits/playbook/pb_popover/_popover.jsx +41 -8
  51. data/app/pb_kits/playbook/pb_popover/_popover.scss +41 -2
  52. data/app/pb_kits/playbook/pb_popover/docs/_popover_close.html.erb +42 -0
  53. data/app/pb_kits/playbook/pb_popover/docs/_popover_close.jsx +99 -0
  54. data/app/pb_kits/playbook/pb_popover/docs/_popover_default.html.erb +19 -7
  55. data/app/pb_kits/playbook/pb_popover/docs/_popover_default.jsx +22 -6
  56. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.html.erb +11 -10
  57. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.jsx +22 -18
  58. data/app/pb_kits/playbook/pb_popover/docs/_popover_list.md +1 -0
  59. data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height.html.erb +24 -0
  60. data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height.jsx +56 -0
  61. data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index.html.erb +14 -0
  62. data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index.jsx +50 -0
  63. data/app/pb_kits/playbook/pb_popover/docs/example.yml +12 -8
  64. data/app/pb_kits/playbook/pb_popover/docs/index.js +3 -3
  65. data/app/pb_kits/playbook/pb_popover/index.js +13 -9
  66. data/app/pb_kits/playbook/pb_popover/popover.rb +26 -2
  67. data/app/pb_kits/playbook/pb_title/_title.html.erb +1 -0
  68. data/app/pb_kits/playbook/pb_title/_title.jsx +24 -17
  69. data/app/pb_kits/playbook/props.rb +7 -0
  70. data/app/pb_kits/playbook/tokens/index.scss +12 -0
  71. data/lib/playbook/version.rb +1 -1
  72. data/lib/tasks/pb_release.rake +3 -0
  73. metadata +34 -76
  74. data/app/assets/images/clark.jpg +0 -0
  75. data/app/assets/images/giant.jpg +0 -0
  76. data/app/assets/images/pb-caret.svg +0 -1
  77. data/app/assets/images/pb-check.svg +0 -11
  78. data/app/assets/images/pb.logo.svg +0 -28
  79. data/app/controllers/playbook/application_controller.rb +0 -13
  80. data/app/controllers/playbook/guides_controller.rb +0 -11
  81. data/app/controllers/playbook/pages_controller.rb +0 -79
  82. data/app/controllers/playbook/samples_controller.rb +0 -40
  83. data/app/pb_kits/playbook/config/_kit_example.html.erb +0 -9
  84. data/app/pb_kits/playbook/config/_kit_samples_list.html.erb +0 -3
  85. data/app/pb_kits/playbook/config/_kit_ui.html.erb +0 -40
  86. data/app/pb_kits/playbook/config/_pb_kit_api.html.erb +0 -18
  87. data/app/pb_kits/playbook/data/menu.yml +0 -91
  88. data/app/pb_kits/playbook/packs/application.js +0 -55
  89. data/app/pb_kits/playbook/packs/examples.js +0 -172
  90. data/app/pb_kits/playbook/packs/main.scss +0 -12
  91. data/app/pb_kits/playbook/packs/samples.js +0 -17
  92. data/app/pb_kits/playbook/packs/site_styles/_samples.scss +0 -72
  93. data/app/pb_kits/playbook/packs/site_styles/_scaffold.scss +0 -43
  94. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +0 -135
  95. data/app/pb_kits/playbook/packs/site_styles/docs/_all.scss +0 -9
  96. data/app/pb_kits/playbook/packs/site_styles/docs/_code_snippet.scss +0 -531
  97. data/app/pb_kits/playbook/packs/site_styles/docs/_color_utilities.scss +0 -92
  98. data/app/pb_kits/playbook/packs/site_styles/docs/_flex_examples.scss +0 -15
  99. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +0 -190
  100. data/app/pb_kits/playbook/packs/site_styles/docs/_kits_examples.scss +0 -18
  101. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +0 -82
  102. data/app/pb_kits/playbook/packs/site_styles/docs/_spacing_tokens.scss +0 -72
  103. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_any.html.erb +0 -19
  104. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_any.jsx +0 -40
  105. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_inside.html.erb +0 -14
  106. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_inside.jsx +0 -40
  107. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_outside.html.erb +0 -14
  108. data/app/pb_kits/playbook/pb_popover/docs/_popover_click_outside.jsx +0 -40
  109. data/app/pb_kits/playbook/pb_popover/docs/_popover_with_button.jsx +0 -34
  110. data/app/pb_kits/playbook/pb_popover/docs/_popover_with_circle.html.erb +0 -5
  111. data/app/views/layouts/playbook/_mobile_hamburger.html.erb +0 -2
  112. data/app/views/layouts/playbook/_nav.html.erb +0 -13
  113. data/app/views/layouts/playbook/_sidebar.html.erb +0 -52
  114. data/app/views/layouts/playbook/application.html.slim +0 -22
  115. data/app/views/layouts/playbook/fullscreen.html.slim +0 -10
  116. data/app/views/layouts/playbook/grid.html.slim +0 -10
  117. data/app/views/layouts/playbook/samples.html.erb +0 -18
  118. data/app/views/playbook/guides/create_kit.html.slim +0 -16
  119. data/app/views/playbook/guides/create_kit/_file_naming.html.md +0 -2
  120. data/app/views/playbook/guides/create_kit/_generator.html.md +0 -6
  121. data/app/views/playbook/guides/create_kit/_kit_examples.html.md +0 -2
  122. data/app/views/playbook/guides/create_kit/_kit_rails.html.md +0 -2
  123. data/app/views/playbook/guides/create_kit/_kit_react.html.md +0 -2
  124. data/app/views/playbook/guides/create_kit/_layout.html.md +0 -2
  125. data/app/views/playbook/guides/create_kit/_view_objects.html.md +0 -2
  126. data/app/views/playbook/guides/create_kit/_writing_sass.md +0 -10
  127. data/app/views/playbook/guides/use_nitro.html.slim +0 -6
  128. data/app/views/playbook/guides/use_nitro/_local.html.md +0 -2
  129. data/app/views/playbook/guides/use_nitro/_nitro_components.html.md +0 -2
  130. data/app/views/playbook/guides/use_nitro/_versions.html.md +0 -2
  131. data/app/views/playbook/pages/fullscreen.html.slim +0 -10
  132. data/app/views/playbook/pages/grid.html.slim +0 -2
  133. data/app/views/playbook/pages/home.html.slim +0 -4
  134. data/app/views/playbook/pages/kit_category_show.html.erb +0 -14
  135. data/app/views/playbook/pages/kit_show.html.erb +0 -33
  136. data/app/views/playbook/pages/kits.html.erb +0 -12
  137. data/app/views/playbook/pages/principals/_getting_started.html.md +0 -30
  138. data/app/views/playbook/pages/principles.html.slim +0 -3
  139. data/app/views/playbook/pages/tokens.html.slim +0 -15
  140. data/app/views/playbook/pages/tokens/_pb_doc_spacing.html.slim +0 -17
  141. data/app/views/playbook/pages/utilities.html.slim +0 -116
  142. data/app/views/playbook/pages/utilities/_pb_doc_color.html.slim +0 -15
  143. data/app/views/playbook/samples/dashboards/index.html.erb +0 -81
  144. data/app/views/playbook/samples/dashboards/index.jsx +0 -130
  145. data/app/views/playbook/samples/registration/index.html.erb +0 -316
  146. data/app/views/playbook/samples/registration/index.jsx +0 -476
  147. data/app/views/playbook/samples/sample_show.html.erb +0 -36
@@ -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