playbook_ui 14.21.2.pre.alpha.PLAY2046advancedtableinfinitescroll8311 β 14.21.2.pre.alpha.PLAY2233removetreemapchart8408
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/CustomCell.tsx +4 -1
- data/app/pb_kits/playbook/pb_advanced_table/Components/RegularTableView.tsx +8 -0
- data/app/pb_kits/playbook/pb_advanced_table/Hooks/useTableState.ts +30 -5
- data/app/pb_kits/playbook/pb_advanced_table/Utilities/CellRendererUtils.tsx +4 -1
- data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +4 -0
- data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +25 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows.jsx +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pinned_rows_react.md +5 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.jsx +64 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.md +7 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_dashboard/pbChartsDarkTheme.ts +1 -39
- data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.ts +1 -39
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.jsx +7 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_clear_selection.jsx +6 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.jsx +6 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_rails.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_value.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default_value.jsx +7 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.jsx +7 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select.jsx +19 -10
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display.jsx +19 -10
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display_rails.html.erb +10 -10
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_rails.html.erb +10 -10
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.html.erb +10 -10
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_autocomplete.jsx +20 -11
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_custom_options.jsx +8 -8
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.html.erb +10 -10
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_with_default.jsx +23 -14
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_separators_hidden.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_separators_hidden.jsx +6 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.jsx +6 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure_rails.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subtle_variant.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subtle_variant.jsx +6 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.jsx +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.html.erb +4 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.jsx +4 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.jsx +4 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.html.erb +4 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options.html.erb +52 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options.jsx +99 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options_rails.md +1 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options_react.md +1 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.jsx +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options_rails.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.jsx +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.html.erb +28 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.jsx +47 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_rails.md +1 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_react.md +1 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger.jsx +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger_rails.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_external_control.jsx +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_label.jsx +6 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search.jsx +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search_rails.html.erb +3 -3
- data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +4 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/index.js +3 -1
- data/app/pb_kits/playbook/pb_filter/Filter/FilterSection.tsx +49 -0
- data/app/pb_kits/playbook/pb_filter/Filter/FilterSidebar.tsx +69 -0
- data/app/pb_kits/playbook/pb_filter/Filter/index.tsx +13 -0
- data/app/pb_kits/playbook/pb_filter/_filter.scss +4 -0
- data/app/pb_kits/playbook/pb_filter/docs/_filter_sidebar.jsx +224 -0
- data/app/pb_kits/playbook/pb_filter/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_filter/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns.html.erb +8 -8
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns_rails.md +1 -1
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns.html.erb +12 -12
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_rails.md +2 -2
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns.html.erb +12 -12
- data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns_rails.md +2 -2
- data/app/pb_kits/playbook/pb_table/index.ts +4 -4
- data/app/pb_kits/playbook/pb_table/styles/_vertical_border.scss +4 -0
- data/dist/chunks/_typeahead-DOgzItP7.js +22 -0
- data/dist/chunks/_weekday_stacked-SYZ-Kt4V.js +45 -0
- data/dist/chunks/lib-Carqm8Ip.js +29 -0
- data/dist/chunks/{pb_form_validation-DSkdRDMf.js β pb_form_validation-DqRmTS8m.js} +1 -1
- data/dist/chunks/vendor.js +1 -1
- data/dist/menu.yml +0 -9
- data/dist/playbook-doc.js +3 -3
- 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/version.rb +1 -1
- metadata +19 -29
- data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.scss +0 -14
- data/app/pb_kits/playbook/pb_treemap_chart/_treemap_chart.tsx +0 -119
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_description.md +0 -5
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.html.erb +0 -37
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.jsx +0 -48
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_colors.md +0 -2
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.html.erb +0 -37
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.jsx +0 -47
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_default.md +0 -3
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.html.erb +0 -79
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.jsx +0 -90
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_drillable.md +0 -1
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.html.erb +0 -54
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.jsx +0 -65
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_grouped_data.md +0 -3
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.html.erb +0 -37
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.jsx +0 -48
- data/app/pb_kits/playbook/pb_treemap_chart/docs/_treemap_chart_tooltip.md +0 -3
- data/app/pb_kits/playbook/pb_treemap_chart/docs/example.yml +0 -15
- data/app/pb_kits/playbook/pb_treemap_chart/docs/index.js +0 -5
- data/app/pb_kits/playbook/pb_treemap_chart/treemapChart.test.js +0 -63
- data/app/pb_kits/playbook/pb_treemap_chart/treemap_chart.html.erb +0 -1
- data/app/pb_kits/playbook/pb_treemap_chart/treemap_chart.rb +0 -48
- data/dist/chunks/_typeahead-CVIBi3oA.js +0 -22
- data/dist/chunks/_weekday_stacked-BQMmOtHu.js +0 -45
- data/dist/chunks/lib-D7Va7yqa.js +0 -29
data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.html.erb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
options = [
|
3
3
|
{
|
4
4
|
label: "Jasper Furniss",
|
5
|
-
value: "
|
5
|
+
value: "jasperFurniss",
|
6
6
|
territory: "PHL",
|
7
7
|
title: "Lead UX Engineer",
|
8
8
|
id: "jasper-furniss",
|
@@ -10,7 +10,7 @@
|
|
10
10
|
},
|
11
11
|
{
|
12
12
|
label: "Ramon Ruiz",
|
13
|
-
value: "
|
13
|
+
value: "ramonRuiz",
|
14
14
|
territory: "PHL",
|
15
15
|
title: "Senior UX Designer",
|
16
16
|
id: "ramon-ruiz",
|
@@ -18,7 +18,7 @@
|
|
18
18
|
},
|
19
19
|
{
|
20
20
|
label: "Carlos Lima",
|
21
|
-
value: "
|
21
|
+
value: "carlosLima",
|
22
22
|
territory: "PHL",
|
23
23
|
title: "Nitro Developer",
|
24
24
|
id: "carlos-lima",
|
@@ -26,7 +26,7 @@
|
|
26
26
|
},
|
27
27
|
{
|
28
28
|
label: "Courtney Long",
|
29
|
-
value: "
|
29
|
+
value: "courtneyLong",
|
30
30
|
territory: "PHL",
|
31
31
|
title: "Lead UX Designer",
|
32
32
|
id: "courtney-long",
|
data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.jsx
CHANGED
@@ -11,7 +11,7 @@ const DropdownWithAutocompleteWithSubcomponents = (props) => {
|
|
11
11
|
const options = [
|
12
12
|
{
|
13
13
|
label: "Jasper Furniss",
|
14
|
-
value: "
|
14
|
+
value: "jasperFurniss",
|
15
15
|
territory: "PHL",
|
16
16
|
title: "Lead UX Engineer",
|
17
17
|
id: "jasper-furniss",
|
@@ -19,7 +19,7 @@ const DropdownWithAutocompleteWithSubcomponents = (props) => {
|
|
19
19
|
},
|
20
20
|
{
|
21
21
|
label: "Ramon Ruiz",
|
22
|
-
value: "
|
22
|
+
value: "ramonRuiz",
|
23
23
|
territory: "PHL",
|
24
24
|
title: "Senior UX Designer",
|
25
25
|
id: "ramon-ruiz",
|
@@ -27,7 +27,7 @@ const DropdownWithAutocompleteWithSubcomponents = (props) => {
|
|
27
27
|
},
|
28
28
|
{
|
29
29
|
label: "Carlos Lima",
|
30
|
-
value: "
|
30
|
+
value: "carlosLima",
|
31
31
|
territory: "PHL",
|
32
32
|
title: "Nitro Developer",
|
33
33
|
id: "carlos-lima",
|
@@ -35,7 +35,7 @@ const DropdownWithAutocompleteWithSubcomponents = (props) => {
|
|
35
35
|
},
|
36
36
|
{
|
37
37
|
label: "Courtney Long",
|
38
|
-
value: "
|
38
|
+
value: "courtneyLong",
|
39
39
|
territory: "PHL",
|
40
40
|
title: "Lead UX Designer",
|
41
41
|
id: "courtney-long",
|
@@ -14,7 +14,7 @@ const DropdownWithCustomDisplay = (props) => {
|
|
14
14
|
const options = [
|
15
15
|
{
|
16
16
|
label: "Jasper Furniss",
|
17
|
-
value: "
|
17
|
+
value: "jasperFurniss",
|
18
18
|
territory: "PHL",
|
19
19
|
title: "Lead UX Engineer",
|
20
20
|
id: "jasper-furniss",
|
@@ -22,7 +22,7 @@ const DropdownWithCustomDisplay = (props) => {
|
|
22
22
|
},
|
23
23
|
{
|
24
24
|
label: "Ramon Ruiz",
|
25
|
-
value: "
|
25
|
+
value: "ramonRuiz",
|
26
26
|
territory: "PHL",
|
27
27
|
title: "Senior UX Designer",
|
28
28
|
id: "ramon-ruiz",
|
@@ -30,7 +30,7 @@ const DropdownWithCustomDisplay = (props) => {
|
|
30
30
|
},
|
31
31
|
{
|
32
32
|
label: "Carlos Lima",
|
33
|
-
value: "
|
33
|
+
value: "carlosLima",
|
34
34
|
territory: "PHL",
|
35
35
|
title: "Nitro Developer",
|
36
36
|
id: "carlos-lima",
|
@@ -38,7 +38,7 @@ const DropdownWithCustomDisplay = (props) => {
|
|
38
38
|
},
|
39
39
|
{
|
40
40
|
label: "Courtney Long",
|
41
|
-
value: "
|
41
|
+
value: "courtneyLong",
|
42
42
|
territory: "PHL",
|
43
43
|
title: "Lead UX Designer",
|
44
44
|
id: "courtney-long",
|
@@ -2,7 +2,7 @@
|
|
2
2
|
options = [
|
3
3
|
{
|
4
4
|
label: "Jasper Furniss",
|
5
|
-
value: "
|
5
|
+
value: "jasperFurniss",
|
6
6
|
territory: "PHL",
|
7
7
|
title: "Lead UX Engineer",
|
8
8
|
id: "jasper-furniss",
|
@@ -10,7 +10,7 @@
|
|
10
10
|
},
|
11
11
|
{
|
12
12
|
label: "Ramon Ruiz",
|
13
|
-
value: "
|
13
|
+
value: "ramonRuiz",
|
14
14
|
territory: "PHL",
|
15
15
|
title: "Senior UX Designer",
|
16
16
|
id: "ramon-ruiz",
|
@@ -18,7 +18,7 @@
|
|
18
18
|
},
|
19
19
|
{
|
20
20
|
label: "Carlos Lima",
|
21
|
-
value: "
|
21
|
+
value: "carlosLima",
|
22
22
|
territory: "PHL",
|
23
23
|
title: "Nitro Developer",
|
24
24
|
id: "carlos-lima",
|
@@ -26,7 +26,7 @@
|
|
26
26
|
},
|
27
27
|
{
|
28
28
|
label: "Courtney Long",
|
29
|
-
value: "
|
29
|
+
value: "courtneyLong",
|
30
30
|
territory: "PHL",
|
31
31
|
title: "Lead UX Designer",
|
32
32
|
id: "courtney-long",
|
@@ -0,0 +1,52 @@
|
|
1
|
+
<%
|
2
|
+
options = [
|
3
|
+
{ label: "Item 1", value: "item-1", id: "1" },
|
4
|
+
{ label: "Item 2", value: "item-2", id: "2" },
|
5
|
+
{ label: "Item 3", value: "item-3", id: "3" }
|
6
|
+
]
|
7
|
+
%>
|
8
|
+
|
9
|
+
<%= pb_rails("dropdown", props: { label: "Multiple Icons", options: options }) do %>
|
10
|
+
<%= pb_rails("dropdown/dropdown_trigger") %>
|
11
|
+
<%= pb_rails("dropdown/dropdown_container") do %>
|
12
|
+
<% options.each do |option| %>
|
13
|
+
<%= pb_rails("dropdown/dropdown_option", props: { option: option }) do %>
|
14
|
+
<%= pb_rails("flex", props: { align: "center", justify: "between" }) do %>
|
15
|
+
<%= pb_rails("flex") do %>
|
16
|
+
<%= pb_rails("icon", props: { icon: "calendar", padding_right: "xs" }) %>
|
17
|
+
<%= pb_rails("body", props: { color: "default", text: option[:label] }) %>
|
18
|
+
<% end %>
|
19
|
+
<%= pb_rails("icon", props: { icon: "check" }) %>
|
20
|
+
<% end %>
|
21
|
+
<% end %>
|
22
|
+
<% end %>
|
23
|
+
<% end %>
|
24
|
+
<% end %>
|
25
|
+
|
26
|
+
<%= pb_rails("dropdown", props: { label: "Icon on Left", options: options, padding_y: "md" }) do %>
|
27
|
+
<%= pb_rails("dropdown/dropdown_trigger") %>
|
28
|
+
<%= pb_rails("dropdown/dropdown_container") do %>
|
29
|
+
<% options.each do |option| %>
|
30
|
+
<%= pb_rails("dropdown/dropdown_option", props: { option: option }) do %>
|
31
|
+
<%= pb_rails("flex", props: { align: "center" }) do %>
|
32
|
+
<%= pb_rails("icon", props: { icon: "calendar", padding_right: "xs" }) %>
|
33
|
+
<%= pb_rails("body", props: { color: "default", text: option[:label] }) %>
|
34
|
+
<% end %>
|
35
|
+
<% end %>
|
36
|
+
<% end %>
|
37
|
+
<% end %>
|
38
|
+
<% end %>
|
39
|
+
|
40
|
+
<%= pb_rails("dropdown", props: { label: "Icon on Right", options: options }) do %>
|
41
|
+
<%= pb_rails("dropdown/dropdown_trigger") %>
|
42
|
+
<%= pb_rails("dropdown/dropdown_container") do %>
|
43
|
+
<% options.each do |option| %>
|
44
|
+
<%= pb_rails("dropdown/dropdown_option", props: { option: option }) do %>
|
45
|
+
<%= pb_rails("flex", props: { align: "center", justify: "between" }) do %>
|
46
|
+
<%= pb_rails("body", props: { color: "default", text: option[:label] }) %>
|
47
|
+
<%= pb_rails("icon", props: { icon: "check" }) %>
|
48
|
+
<% end %>
|
49
|
+
<% end %>
|
50
|
+
<% end %>
|
51
|
+
<% end %>
|
52
|
+
<% end %>
|
@@ -0,0 +1,99 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import Dropdown from '../_dropdown'
|
3
|
+
|
4
|
+
import Body from '../../pb_body/_body'
|
5
|
+
import Flex from '../../pb_flex/_flex'
|
6
|
+
import Icon from '../../pb_icon/_icon'
|
7
|
+
|
8
|
+
const DropdownCustomIconOptions = (props) => {
|
9
|
+
|
10
|
+
const options = [
|
11
|
+
{ label: "Item 1", value: "item-1", id: "1" },
|
12
|
+
{ label: "Item 2", value: "item-2", id: "2" },
|
13
|
+
{ label: "Item 3", value: "item-3", id: "3" },
|
14
|
+
]
|
15
|
+
|
16
|
+
|
17
|
+
return (
|
18
|
+
<div>
|
19
|
+
<Dropdown label="Multiple Icons"
|
20
|
+
options={options}
|
21
|
+
{...props}
|
22
|
+
>
|
23
|
+
{options.map((option) => (
|
24
|
+
<Dropdown.Option key={option.id}
|
25
|
+
option={option}
|
26
|
+
>
|
27
|
+
<Flex align="center"
|
28
|
+
justify="between"
|
29
|
+
>
|
30
|
+
<Flex align="center">
|
31
|
+
<Icon icon="calendar"
|
32
|
+
paddingRight="xs"
|
33
|
+
{...props}
|
34
|
+
/>
|
35
|
+
<Body color="default"
|
36
|
+
text={option.label}
|
37
|
+
{...props}
|
38
|
+
/>
|
39
|
+
</Flex>
|
40
|
+
<Icon icon="check"
|
41
|
+
{...props}
|
42
|
+
/>
|
43
|
+
</Flex>
|
44
|
+
</Dropdown.Option>
|
45
|
+
))}
|
46
|
+
</Dropdown>
|
47
|
+
|
48
|
+
<Dropdown label="Icon on Left"
|
49
|
+
options={options}
|
50
|
+
paddingY="md"
|
51
|
+
{...props}
|
52
|
+
>
|
53
|
+
{options.map((option) => (
|
54
|
+
<Dropdown.Option key={option.id}
|
55
|
+
option={option}
|
56
|
+
>
|
57
|
+
<Flex align="center">
|
58
|
+
<Icon icon="calendar"
|
59
|
+
paddingRight="xs"
|
60
|
+
{...props}
|
61
|
+
/>
|
62
|
+
<Body color="default"
|
63
|
+
text={option.label}
|
64
|
+
{...props}
|
65
|
+
/>
|
66
|
+
</Flex>
|
67
|
+
</Dropdown.Option>
|
68
|
+
))}
|
69
|
+
</Dropdown>
|
70
|
+
|
71
|
+
<Dropdown label="Icon on Right"
|
72
|
+
options={options}
|
73
|
+
{...props}
|
74
|
+
>
|
75
|
+
{options.map((option) => (
|
76
|
+
<Dropdown.Option key={option.id}
|
77
|
+
option={option}
|
78
|
+
>
|
79
|
+
<Flex align="center"
|
80
|
+
justify="between"
|
81
|
+
>
|
82
|
+
<Flex align="center">
|
83
|
+
<Body color="default"
|
84
|
+
text={option.label}
|
85
|
+
{...props}
|
86
|
+
/>
|
87
|
+
</Flex>
|
88
|
+
<Icon icon="check"
|
89
|
+
{...props}
|
90
|
+
/>
|
91
|
+
</Flex>
|
92
|
+
</Dropdown.Option>
|
93
|
+
))}
|
94
|
+
</Dropdown>
|
95
|
+
</div>
|
96
|
+
)
|
97
|
+
}
|
98
|
+
|
99
|
+
export default DropdownCustomIconOptions
|
@@ -0,0 +1 @@
|
|
1
|
+
Use the `dropdown/dropdown_option` subcomponent structure to include custom layouts inside dropdown menus. Icons can be placed alongside the Body label text.
|
@@ -0,0 +1 @@
|
|
1
|
+
Use the `Dropdown.Option` subcomponent structure to include custom layouts inside dropdown menus. Icons can be placed alongside the Body label text.
|
@@ -12,21 +12,21 @@ const DropdownWithCustomOptions = (props) => {
|
|
12
12
|
const options = [
|
13
13
|
{
|
14
14
|
label: "United States",
|
15
|
-
value: "
|
15
|
+
value: "unitedStates",
|
16
16
|
areaCode: "+1",
|
17
17
|
icon: "πΊπΈ",
|
18
18
|
id: "United-states"
|
19
19
|
},
|
20
20
|
{
|
21
21
|
label: "Canada",
|
22
|
-
value: "
|
22
|
+
value: "canada",
|
23
23
|
areaCode: "+1",
|
24
24
|
icon: "π¨π¦",
|
25
25
|
id: "canada"
|
26
26
|
},
|
27
27
|
{
|
28
28
|
label: "Pakistan",
|
29
|
-
value: "
|
29
|
+
value: "pakistan",
|
30
30
|
areaCode: "+92",
|
31
31
|
icon: "π΅π°",
|
32
32
|
id: "pakistan"
|
@@ -2,21 +2,21 @@
|
|
2
2
|
options = [
|
3
3
|
{
|
4
4
|
label: "United States",
|
5
|
-
value: "
|
5
|
+
value: "unitedStates",
|
6
6
|
areaCode: "+1",
|
7
7
|
icon: "πΊπΈ",
|
8
8
|
id: "us"
|
9
9
|
},
|
10
10
|
{
|
11
11
|
label: "Canada",
|
12
|
-
value: "
|
12
|
+
value: "canada",
|
13
13
|
areaCode: "+1",
|
14
14
|
icon: "π¨π¦",
|
15
15
|
id: "ca"
|
16
16
|
},
|
17
17
|
{
|
18
18
|
label: "Pakistan",
|
19
|
-
value: "
|
19
|
+
value: "pakistan",
|
20
20
|
areaCode: "+92",
|
21
21
|
icon: "π΅π°",
|
22
22
|
id: "pk"
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<%
|
2
2
|
options = [
|
3
|
-
{ label: 'United States', value: '
|
4
|
-
{ label: 'Canada', value: '
|
5
|
-
{ label: 'Pakistan', value: '
|
3
|
+
{ label: 'United States', value: 'unitedStates', id: 'us' },
|
4
|
+
{ label: 'Canada', value: 'canada', id: 'ca' },
|
5
|
+
{ label: 'Pakistan', value: 'pakistan', id: 'pk' },
|
6
6
|
]
|
7
7
|
|
8
8
|
%>
|
@@ -6,21 +6,21 @@ const DropdownWithCustomPadding = (props) => {
|
|
6
6
|
const options = [
|
7
7
|
{
|
8
8
|
label: "United States",
|
9
|
-
value: "
|
9
|
+
value: "unitedStates",
|
10
10
|
areaCode: "+1",
|
11
11
|
icon: "πΊπΈ",
|
12
12
|
id: "United-states"
|
13
13
|
},
|
14
14
|
{
|
15
15
|
label: "Canada",
|
16
|
-
value: "
|
16
|
+
value: "canada",
|
17
17
|
areaCode: "+1",
|
18
18
|
icon: "π¨π¦",
|
19
19
|
id: "canada"
|
20
20
|
},
|
21
21
|
{
|
22
22
|
label: "Pakistan",
|
23
|
-
value: "
|
23
|
+
value: "pakistan",
|
24
24
|
areaCode: "+92",
|
25
25
|
icon: "π΅π°",
|
26
26
|
id: "pakistan"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<%
|
2
|
+
options = [
|
3
|
+
{ label: "Item 1", value: "item-1", id: "1" },
|
4
|
+
{ label: "Item 2", value: "item-2", id: "2" },
|
5
|
+
{ label: "Item 3", value: "item-3", id: "3" }
|
6
|
+
]
|
7
|
+
|
8
|
+
selected_value = params[:selected_value]
|
9
|
+
%>
|
10
|
+
|
11
|
+
<%= pb_rails("dropdown", props: { label: "Choose Item", options: options }) do %>
|
12
|
+
<%= pb_rails("dropdown/dropdown_trigger") %>
|
13
|
+
<%= pb_rails("dropdown/dropdown_container") do %>
|
14
|
+
<% options.each do |option| %>
|
15
|
+
<% checked = (option[:value] == selected_value) %>
|
16
|
+
<%= pb_rails("dropdown/dropdown_option", props: { option: option }) do %>
|
17
|
+
<%= pb_rails("flex", props: { align: "center" }) do %>
|
18
|
+
<%= pb_rails("radio", props: {
|
19
|
+
text: option[:label],
|
20
|
+
name: "dropdown_radio",
|
21
|
+
value: option[:value],
|
22
|
+
checked: checked,
|
23
|
+
}) %>
|
24
|
+
<% end %>
|
25
|
+
<% end %>
|
26
|
+
<% end %>
|
27
|
+
<% end %>
|
28
|
+
<% end %>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import React, { useState } from 'react'
|
2
|
+
import Dropdown from '../_dropdown'
|
3
|
+
|
4
|
+
import Body from '../../pb_body/_body'
|
5
|
+
import Flex from '../../pb_flex/_flex'
|
6
|
+
import Radio from '../../pb_radio/_radio'
|
7
|
+
|
8
|
+
const DropdownCustomRadioOptions = (props) => {
|
9
|
+
const [selectedValue, setSelectedValue] = useState(null)
|
10
|
+
|
11
|
+
const options = [
|
12
|
+
{ label: "Item 1", value: "item-1", id: "1" },
|
13
|
+
{ label: "Item 2", value: "item-2", id: "2" },
|
14
|
+
{ label: "Item 3", value: "item-3", id: "3" },
|
15
|
+
]
|
16
|
+
|
17
|
+
|
18
|
+
return (
|
19
|
+
<div>
|
20
|
+
<Dropdown
|
21
|
+
label="Select Item"
|
22
|
+
onSelect={(selectedItem) => setSelectedValue(selectedItem?.value)}
|
23
|
+
options={options}
|
24
|
+
{...props}
|
25
|
+
>
|
26
|
+
{options.map((option) => {
|
27
|
+
return (
|
28
|
+
<Dropdown.Option key={option.id}
|
29
|
+
option={option}
|
30
|
+
>
|
31
|
+
<Flex align="center">
|
32
|
+
<Radio
|
33
|
+
checked={selectedValue === option.value}
|
34
|
+
name="dropdown_radio"
|
35
|
+
value={option.value}
|
36
|
+
/>
|
37
|
+
<Body text={option.label} />
|
38
|
+
</Flex>
|
39
|
+
</Dropdown.Option>
|
40
|
+
)
|
41
|
+
})}
|
42
|
+
</Dropdown>
|
43
|
+
</div>
|
44
|
+
)
|
45
|
+
}
|
46
|
+
|
47
|
+
export default DropdownCustomRadioOptions
|
@@ -0,0 +1 @@
|
|
1
|
+
Radio inputs can be used inside `dropdown/dropdown_option` for a custom layout that mimics form-like selection within a dropdown.
|
@@ -0,0 +1 @@
|
|
1
|
+
Radio inputs can be used inside `Dropdown.Option` for a custom layout that mimics form-like selection within a dropdown.
|
@@ -14,21 +14,21 @@ const [selectedOption, setSelectedOption] = useState();
|
|
14
14
|
const options = [
|
15
15
|
{
|
16
16
|
label: "United States",
|
17
|
-
value: "
|
17
|
+
value: "unitedStates",
|
18
18
|
areaCode: "+1",
|
19
19
|
icon: "πΊπΈ",
|
20
20
|
id: "United-states"
|
21
21
|
},
|
22
22
|
{
|
23
23
|
label: "Canada",
|
24
|
-
value: "
|
24
|
+
value: "canada",
|
25
25
|
areaCode: "+1",
|
26
26
|
icon: "π¨π¦",
|
27
27
|
id: "canada"
|
28
28
|
},
|
29
29
|
{
|
30
30
|
label: "Pakistan",
|
31
|
-
value: "
|
31
|
+
value: "pakistan",
|
32
32
|
areaCode: "+92",
|
33
33
|
icon: "π΅π°",
|
34
34
|
id: "pakistan"
|
@@ -2,21 +2,21 @@
|
|
2
2
|
options = [
|
3
3
|
{
|
4
4
|
label: "United States",
|
5
|
-
value: "
|
5
|
+
value: "unitedStates",
|
6
6
|
areaCode: "+1",
|
7
7
|
icon: "πΊπΈ",
|
8
8
|
id: "us"
|
9
9
|
},
|
10
10
|
{
|
11
11
|
label: "Canada",
|
12
|
-
value: "
|
12
|
+
value: "canada",
|
13
13
|
areaCode: "+1",
|
14
14
|
icon: "π¨π¦",
|
15
15
|
id: "ca"
|
16
16
|
},
|
17
17
|
{
|
18
18
|
label: "Pakistan",
|
19
|
-
value: "
|
19
|
+
value: "pakistan",
|
20
20
|
areaCode: "+92",
|
21
21
|
icon: "π΅π°",
|
22
22
|
id: "pk"
|
@@ -11,21 +11,21 @@ const [isDropDownClosed, setIsDropdownClosed] = useDropdown(true);
|
|
11
11
|
const options = [
|
12
12
|
{
|
13
13
|
label: "United States",
|
14
|
-
value: "
|
14
|
+
value: "unitedStates",
|
15
15
|
areaCode: "+1",
|
16
16
|
icon: "πΊπΈ",
|
17
17
|
id: "United-states"
|
18
18
|
},
|
19
19
|
{
|
20
20
|
label: "Canada",
|
21
|
-
value: "
|
21
|
+
value: "canada",
|
22
22
|
areaCode: "+1",
|
23
23
|
icon: "π¨π¦",
|
24
24
|
id: "canada"
|
25
25
|
},
|
26
26
|
{
|
27
27
|
label: "Pakistan",
|
28
|
-
value: "
|
28
|
+
value: "pakistan",
|
29
29
|
areaCode: "+92",
|
30
30
|
icon: "π΅π°",
|
31
31
|
id: "pakistan"
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<%
|
2
2
|
options = [
|
3
|
-
{ label: 'United States', value: '
|
4
|
-
{ label: 'Canada', value: '
|
5
|
-
{ label: 'Pakistan', value: '
|
3
|
+
{ label: 'United States', value: 'unitedStates', id: 'us' },
|
4
|
+
{ label: 'Canada', value: 'canada', id: 'ca' },
|
5
|
+
{ label: 'Pakistan', value: 'pakistan', id: 'pk' },
|
6
6
|
]
|
7
7
|
|
8
8
|
%>
|
@@ -6,15 +6,18 @@ const DropdownDefault = (props) => {
|
|
6
6
|
const options = [
|
7
7
|
{
|
8
8
|
label: "United States",
|
9
|
-
value: "
|
9
|
+
value: "unitedStates",
|
10
|
+
id: "us"
|
10
11
|
},
|
11
12
|
{
|
12
13
|
label: "Canada",
|
13
|
-
value: "
|
14
|
+
value: "canada",
|
15
|
+
id: "ca"
|
14
16
|
},
|
15
17
|
{
|
16
18
|
label: "Pakistan",
|
17
|
-
value: "
|
19
|
+
value: "pakistan",
|
20
|
+
id: "pk"
|
18
21
|
}
|
19
22
|
];
|
20
23
|
|
@@ -8,20 +8,20 @@ const [selectedOption, setSelectedOption] = useState();
|
|
8
8
|
const options = [
|
9
9
|
{
|
10
10
|
label: "United States",
|
11
|
-
value: "
|
11
|
+
value: "unitedStates",
|
12
12
|
icon: "πΊπΈ",
|
13
13
|
id: "United-states"
|
14
14
|
|
15
15
|
},
|
16
16
|
{
|
17
17
|
label: "United Kingdom",
|
18
|
-
value: "
|
18
|
+
value: "unitedKingdom",
|
19
19
|
icon: "π¬π§",
|
20
20
|
id: "united-kingdom"
|
21
21
|
},
|
22
22
|
{
|
23
23
|
label: "Pakistan",
|
24
|
-
value: "
|
24
|
+
value: "pakistan",
|
25
25
|
icon: "π΅π°",
|
26
26
|
id: "pakistan"
|
27
27
|
}
|
@@ -2,21 +2,21 @@
|
|
2
2
|
options = [
|
3
3
|
{
|
4
4
|
label: "United States",
|
5
|
-
value: "
|
5
|
+
value: "unitedStates",
|
6
6
|
areaCode: "+1",
|
7
7
|
icon: "πΊπΈ",
|
8
8
|
id: "us"
|
9
9
|
},
|
10
10
|
{
|
11
11
|
label: "United Kingdom",
|
12
|
-
value: "
|
12
|
+
value: "unitedKingdom",
|
13
13
|
areaCode: "+44",
|
14
14
|
icon: "π¬π§",
|
15
15
|
id: "gb"
|
16
16
|
},
|
17
17
|
{
|
18
18
|
label: "Pakistan",
|
19
|
-
value: "
|
19
|
+
value: "pakistan",
|
20
20
|
areaCode: "+92",
|
21
21
|
icon: "π΅π°",
|
22
22
|
id: "pk"
|
@@ -15,6 +15,8 @@ examples:
|
|
15
15
|
- dropdown_with_custom_trigger_rails: Custom Trigger
|
16
16
|
- dropdown_with_search_rails: Custom Trigger Dropdown with Search
|
17
17
|
- dropdown_with_custom_padding: Custom Option Padding
|
18
|
+
- dropdown_with_custom_icon_options: Custom Icon Options
|
19
|
+
# - dropdown_with_custom_radio_options: Custom Radio Options # TODO: Update and publish doc ex in [PLAY-2146](https://runway.powerhrg.com/backlog_items/PLAY-2146) (remove this comment afterwards)
|
18
20
|
- dropdown_error: Dropdown with Error
|
19
21
|
- dropdown_default_value: Default Value
|
20
22
|
- dropdown_multi_select_with_default: Multi Select Default Value
|
@@ -37,6 +39,8 @@ examples:
|
|
37
39
|
- dropdown_with_custom_trigger: Custom Trigger
|
38
40
|
- dropdown_with_search: Custom Trigger Dropdown with Search
|
39
41
|
- dropdown_with_custom_padding: Custom Option Padding
|
42
|
+
- dropdown_with_custom_icon_options: Custom Icon Options
|
43
|
+
# - dropdown_with_custom_radio_options: Custom Radio Options # TODO: Update and publish doc ex in [PLAY-2146](https://runway.powerhrg.com/backlog_items/PLAY-2146) (remove this comment afterwards)
|
40
44
|
- dropdown_error: Dropdown with Error
|
41
45
|
- dropdown_default_value: Default Value
|
42
46
|
- dropdown_multi_select_with_default: Multi Select Default Value
|
@@ -19,4 +19,6 @@ export { default as DropdownMultiSelect } from './_dropdown_multi_select.jsx'
|
|
19
19
|
export { default as DropdownMultiSelectDisplay } from './_dropdown_multi_select_display.jsx'
|
20
20
|
export { default as DropdownMultiSelectWithAutocomplete } from './_dropdown_multi_select_with_autocomplete.jsx'
|
21
21
|
export { default as DropdownMultiSelectWithDefault } from './_dropdown_multi_select_with_default.jsx'
|
22
|
-
export { default as DropdownMultiSelectWithCustomOptions } from './_dropdown_multi_select_with_custom_options.jsx'
|
22
|
+
export { default as DropdownMultiSelectWithCustomOptions } from './_dropdown_multi_select_with_custom_options.jsx'
|
23
|
+
export {default as DropdownWithCustomIconOptions} from './_dropdown_with_custom_icon_options.jsx'
|
24
|
+
export {default as DropdownWithCustomRadioOptions} from './_dropdown_with_custom_radio_options.jsx'
|