playbook_ui_docs 14.21.2.pre.alpha.PLAY22558410 → 14.21.2
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/pb_advanced_table/docs/_advanced_table_beta_sort.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta_subrow_headers.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_border_color_rails.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.html.erb +1 -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 +3 -5
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions.jsx +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions_rails.html.erb +2 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_table_props_sticky_header.html.erb +1 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -6
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +0 -4
- 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 +4 -7
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_clear_selection.jsx +3 -6
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_default.jsx +3 -6
- 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 +4 -7
- 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 +4 -7
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select.jsx +10 -19
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_multi_select_display.jsx +10 -19
- 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 +11 -20
- 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 +14 -23
- 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 +3 -6
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subcomponent_structure.jsx +3 -6
- 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 +3 -6
- 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_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_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 +3 -6
- 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 +0 -4
- data/app/pb_kits/playbook/pb_dropdown/docs/index.js +1 -3
- data/app/pb_kits/playbook/pb_filter/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_filter/docs/index.js +0 -1
- 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/dist/playbook-doc.js +3 -3
- metadata +2 -22
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.jsx +0 -51
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.md +0 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.jsx +0 -77
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.md +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers_rails.html.erb +0 -63
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers_rails.md +0 -1
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.html.erb +0 -38
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.md +0 -7
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_infinite_scroll.md +0 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.jsx +0 -64
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.md +0 -7
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options.html.erb +0 -52
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options.jsx +0 -99
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options_rails.md +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options_react.md +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.html.erb +0 -28
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.jsx +0 -47
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_rails.md +0 -1
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_react.md +0 -1
- data/app/pb_kits/playbook/pb_filter/docs/_filter_sidebar.jsx +0 -224
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playbook_ui_docs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 14.21.2
|
4
|
+
version: 14.21.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Power UX
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2025-06-
|
12
|
+
date: 2025-06-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: playbook_ui
|
@@ -54,14 +54,6 @@ files:
|
|
54
54
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_multiple.html.erb
|
55
55
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_multiple.jsx
|
56
56
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_headers_multiple.md
|
57
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.jsx
|
58
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling.md
|
59
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.jsx
|
60
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.md
|
61
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers_rails.html.erb
|
62
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers_rails.md
|
63
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.html.erb
|
64
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.md
|
65
57
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility.jsx
|
66
58
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility.md
|
67
59
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_visibility_custom.jsx
|
@@ -83,7 +75,6 @@ files:
|
|
83
75
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_fullscreen.jsx
|
84
76
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_fullscreen.md
|
85
77
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_infinite_scroll.jsx
|
86
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_infinite_scroll.md
|
87
78
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_editing.jsx
|
88
79
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_editing.md
|
89
80
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx
|
@@ -103,8 +94,6 @@ files:
|
|
103
94
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.html.erb
|
104
95
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.jsx
|
105
96
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_responsive.md
|
106
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.jsx
|
107
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_row_styling.md
|
108
97
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_scrollbar_none.html.erb
|
109
98
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_scrollbar_none.jsx
|
110
99
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.jsx
|
@@ -878,10 +867,6 @@ files:
|
|
878
867
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display.md
|
879
868
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.html.erb
|
880
869
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_display_rails.md
|
881
|
-
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options.html.erb
|
882
|
-
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options.jsx
|
883
|
-
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options_rails.md
|
884
|
-
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_icon_options_react.md
|
885
870
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.jsx
|
886
871
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options.md
|
887
872
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_options_rails.html.erb
|
@@ -889,10 +874,6 @@ files:
|
|
889
874
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.html.erb
|
890
875
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.jsx
|
891
876
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_padding.md
|
892
|
-
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.html.erb
|
893
|
-
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options.jsx
|
894
|
-
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_rails.md
|
895
|
-
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_radio_options_react.md
|
896
877
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger.jsx
|
897
878
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger.md
|
898
879
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_custom_trigger_rails.html.erb
|
@@ -959,7 +940,6 @@ files:
|
|
959
940
|
- app/pb_kits/playbook/pb_filter/docs/_filter_popover_props.jsx
|
960
941
|
- app/pb_kits/playbook/pb_filter/docs/_filter_popover_props_rails.md
|
961
942
|
- app/pb_kits/playbook/pb_filter/docs/_filter_popover_props_react.md
|
962
|
-
- app/pb_kits/playbook/pb_filter/docs/_filter_sidebar.jsx
|
963
943
|
- app/pb_kits/playbook/pb_filter/docs/_filter_single.html.erb
|
964
944
|
- app/pb_kits/playbook/pb_filter/docs/_filter_single.jsx
|
965
945
|
- app/pb_kits/playbook/pb_filter/docs/_filter_within_turbo_frames.html.erb
|
@@ -1,51 +0,0 @@
|
|
1
|
-
import React from "react"
|
2
|
-
import AdvancedTable from '../../pb_advanced_table/_advanced_table'
|
3
|
-
import MOCK_DATA from "./advanced_table_mock_data.json"
|
4
|
-
|
5
|
-
const AdvancedTableColumnStyling = (props) => {
|
6
|
-
const columnDefinitions = [
|
7
|
-
{
|
8
|
-
accessor: "year",
|
9
|
-
label: "Year",
|
10
|
-
cellAccessors: ["quarter", "month", "day"],
|
11
|
-
},
|
12
|
-
{
|
13
|
-
accessor: "newEnrollments",
|
14
|
-
label: "New Enrollments",
|
15
|
-
columnStyling:{headerAlignment: "left", cellAlignment: "left"},
|
16
|
-
},
|
17
|
-
{
|
18
|
-
accessor: "scheduledMeetings",
|
19
|
-
label: "Scheduled Meetings",
|
20
|
-
columnStyling:{headerAlignment: "center", cellAlignment: "center"},
|
21
|
-
},
|
22
|
-
{
|
23
|
-
accessor: "attendanceRate",
|
24
|
-
label: "Attendance Rate",
|
25
|
-
},
|
26
|
-
{
|
27
|
-
accessor: "completedClasses",
|
28
|
-
label: "Completed Classes",
|
29
|
-
},
|
30
|
-
{
|
31
|
-
accessor: "classCompletionRate",
|
32
|
-
label: "Class Completion Rate",
|
33
|
-
},
|
34
|
-
{
|
35
|
-
accessor: "graduatedStudents",
|
36
|
-
label: "Graduated Students",
|
37
|
-
},
|
38
|
-
]
|
39
|
-
|
40
|
-
return (
|
41
|
-
<div>
|
42
|
-
<AdvancedTable
|
43
|
-
columnDefinitions={columnDefinitions}
|
44
|
-
tableData={MOCK_DATA}
|
45
|
-
{...props}
|
46
|
-
/>
|
47
|
-
</div>
|
48
|
-
)
|
49
|
-
}
|
50
|
-
|
51
|
-
export default AdvancedTableColumnStyling
|
@@ -1,7 +0,0 @@
|
|
1
|
-
The `columnStyling` prop is an optional item that can be used within `columnDefinitions` as shown in the code snippet below. It is an object that has 2 optional key/value pairs:
|
2
|
-
|
3
|
-
1) `headerAlignment`: This will allow you to control alignment of header content which is set to right aligned by default. you can set this to `left`, `right` or `center`.
|
4
|
-
|
5
|
-
2) `cellAlignment`: This will allow you to control alignment of content within all cells in the given column. This is set to right aligned by default. you can set this to `left`, `right` or `center`.
|
6
|
-
|
7
|
-
`columnStyling` can be used within the columnDefinition of all the columns or some of them, as shown. Each column has its own individual control in this way.
|
data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.jsx
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
import React from "react";
|
2
|
-
import AdvancedTable from '../../pb_advanced_table/_advanced_table';
|
3
|
-
import MOCK_DATA from "./advanced_table_mock_data.json";
|
4
|
-
|
5
|
-
const AdvancedTableColumnStylingColumnHeaders = (props) => {
|
6
|
-
const columnDefinitions = [
|
7
|
-
{
|
8
|
-
accessor: "year",
|
9
|
-
label: "Year",
|
10
|
-
cellAccessors: ["quarter", "month", "day"],
|
11
|
-
},
|
12
|
-
{
|
13
|
-
label: "Enrollment Data",
|
14
|
-
columns: [
|
15
|
-
{
|
16
|
-
label: "Enrollment Stats",
|
17
|
-
columns: [
|
18
|
-
{
|
19
|
-
accessor: "newEnrollments",
|
20
|
-
label: "New Enrollments",
|
21
|
-
columnStyling:{headerAlignment: "left", cellAlignment: "left"},
|
22
|
-
|
23
|
-
},
|
24
|
-
{
|
25
|
-
accessor: "scheduledMeetings",
|
26
|
-
label: "Scheduled Meetings",
|
27
|
-
},
|
28
|
-
],
|
29
|
-
},
|
30
|
-
],
|
31
|
-
},
|
32
|
-
{
|
33
|
-
label: "Performance Data",
|
34
|
-
columns: [
|
35
|
-
{
|
36
|
-
label: "Completion Metrics",
|
37
|
-
columns: [
|
38
|
-
{
|
39
|
-
accessor: "completedClasses",
|
40
|
-
label: "Completed Classes",
|
41
|
-
columnStyling:{headerAlignment: "center", cellAlignment: "center"},
|
42
|
-
},
|
43
|
-
{
|
44
|
-
accessor: "classCompletionRate",
|
45
|
-
label: "Class Completion Rate",
|
46
|
-
},
|
47
|
-
],
|
48
|
-
},
|
49
|
-
{
|
50
|
-
label: "Attendance",
|
51
|
-
columns: [
|
52
|
-
{
|
53
|
-
accessor: "attendanceRate",
|
54
|
-
label: "Attendance Rate",
|
55
|
-
},
|
56
|
-
{
|
57
|
-
accessor: "scheduledMeetings",
|
58
|
-
label: "Scheduled Meetings",
|
59
|
-
},
|
60
|
-
],
|
61
|
-
},
|
62
|
-
],
|
63
|
-
},
|
64
|
-
];
|
65
|
-
|
66
|
-
return (
|
67
|
-
<>
|
68
|
-
<AdvancedTable
|
69
|
-
columnDefinitions={columnDefinitions}
|
70
|
-
tableData={MOCK_DATA}
|
71
|
-
{...props}
|
72
|
-
/>
|
73
|
-
</>
|
74
|
-
);
|
75
|
-
};
|
76
|
-
|
77
|
-
export default AdvancedTableColumnStylingColumnHeaders
|
data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_column_headers.md
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
`columnStyling` can also be used with the multi column logic. When used in this way, `columnStyling` must be used within the leaf column's columnDefinition as shown.
|
@@ -1,63 +0,0 @@
|
|
1
|
-
<% column_definitions = [
|
2
|
-
{
|
3
|
-
accessor: "year",
|
4
|
-
label: "Year",
|
5
|
-
cellAccessors: ["quarter", "month", "day"],
|
6
|
-
},
|
7
|
-
{
|
8
|
-
label: "Enrollment Data",
|
9
|
-
columns: [
|
10
|
-
{
|
11
|
-
label: "Enrollment Stats",
|
12
|
-
columns: [
|
13
|
-
{
|
14
|
-
accessor: "newEnrollments",
|
15
|
-
label: "New Enrollments",
|
16
|
-
column_styling:{header_alignment:"left", cell_alignment:"left"}
|
17
|
-
},
|
18
|
-
{
|
19
|
-
accessor: "scheduledMeetings",
|
20
|
-
label: "Scheduled Meetings",
|
21
|
-
},
|
22
|
-
],
|
23
|
-
},
|
24
|
-
],
|
25
|
-
},
|
26
|
-
{
|
27
|
-
label: "Performance Data",
|
28
|
-
columns: [
|
29
|
-
{
|
30
|
-
label: "Completion Metrics",
|
31
|
-
columns: [
|
32
|
-
{
|
33
|
-
accessor: "completedClasses",
|
34
|
-
label: "Completed Classes",
|
35
|
-
column_styling:{header_alignment:"center", cell_alignment:"center"}
|
36
|
-
},
|
37
|
-
{
|
38
|
-
accessor: "classCompletionRate",
|
39
|
-
label: "Class Completion Rate",
|
40
|
-
},
|
41
|
-
],
|
42
|
-
},
|
43
|
-
{
|
44
|
-
label: "Attendance",
|
45
|
-
columns: [
|
46
|
-
{
|
47
|
-
accessor: "attendanceRate",
|
48
|
-
label: "Attendance Rate",
|
49
|
-
},
|
50
|
-
{
|
51
|
-
accessor: "scheduledMeetings",
|
52
|
-
label: "Scheduled Meetings",
|
53
|
-
},
|
54
|
-
],
|
55
|
-
},
|
56
|
-
],
|
57
|
-
},
|
58
|
-
] %>
|
59
|
-
|
60
|
-
<%= pb_rails("advanced_table", props: { id: "column-styling-multi", table_data: @table_data, column_definitions: column_definitions }) do %>
|
61
|
-
<%= pb_rails("advanced_table/table_header", props: { column_definitions: column_definitions }) %>
|
62
|
-
<%= pb_rails("advanced_table/table_body", props: { table_data: @table_data, column_definitions: column_definitions }) %>
|
63
|
-
<% end %>
|
@@ -1 +0,0 @@
|
|
1
|
-
`column_styling` can also be used with the multi column logic. When used in this way, `column_styling` must be used within the leaf column's column_definition as shown.
|
data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_column_styling_rails.html.erb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
<% column_definitions = [
|
2
|
-
{
|
3
|
-
accessor: "year",
|
4
|
-
label: "Year",
|
5
|
-
cellAccessors: ["quarter", "month", "day"],
|
6
|
-
},
|
7
|
-
{
|
8
|
-
accessor: "newEnrollments",
|
9
|
-
label: "New Enrollments",
|
10
|
-
column_styling:{header_alignment:"left", cell_alignment:"left"}
|
11
|
-
},
|
12
|
-
{
|
13
|
-
accessor: "scheduledMeetings",
|
14
|
-
label: "Scheduled Meetings",
|
15
|
-
column_styling:{header_alignment:"center", cell_alignment:"center"}
|
16
|
-
},
|
17
|
-
{
|
18
|
-
accessor: "attendanceRate",
|
19
|
-
label: "Attendance Rate",
|
20
|
-
},
|
21
|
-
{
|
22
|
-
accessor: "completedClasses",
|
23
|
-
label: "Completed Classes",
|
24
|
-
},
|
25
|
-
{
|
26
|
-
accessor: "classCompletionRate",
|
27
|
-
label: "Class Completion Rate",
|
28
|
-
},
|
29
|
-
{
|
30
|
-
accessor: "graduatedStudents",
|
31
|
-
label: "Graduated Students",
|
32
|
-
}
|
33
|
-
] %>
|
34
|
-
|
35
|
-
<%= pb_rails("advanced_table", props: { id: "column-styling", table_data: @table_data, column_definitions: column_definitions }) do %>
|
36
|
-
<%= pb_rails("advanced_table/table_header", props: { column_definitions: column_definitions }) %>
|
37
|
-
<%= pb_rails("advanced_table/table_body", props: { table_data: @table_data, column_definitions: column_definitions }) %>
|
38
|
-
<% end %>
|
@@ -1,7 +0,0 @@
|
|
1
|
-
The `column_styling` prop is an optional item that can be used within `column_definitions` as shown in the code snippet below. It is an object that has 2 optional key/value pairs:
|
2
|
-
|
3
|
-
1) `header_alignment`: This will allow you to control alignment of header content which is set to right aligned by default. you can set this to `left`, `right` or `center`.
|
4
|
-
|
5
|
-
2) `cell_alignment`: This will allow you to control alignment of content within all cells in the given column. This is set to right aligned by default. you can set this to `left`, `right` or `center`.
|
6
|
-
|
7
|
-
`column_styling` can be used within the column_definition of all the columns or some of them, as shown. Each column has its own individual control in this way.
|
@@ -1,3 +0,0 @@
|
|
1
|
-
The `virtualizedRows` boolean prop enables the rendering of a virtualized table using [Tanstack's Virtualizer Library](https://tanstack.com/virtual/v3/docs/api/virtualizer) with infinite scroll capabilities for large data sets.
|
2
|
-
|
3
|
-
**Note:** Not all Advanced Table props work perfectly with the Virtualized Table - for complex table configurations with many added features or controls consider using the [Pagination](https://playbook.powerapp.cloud/kits/advanced_table/react#pagination) version instead. Additionally, it is a known issue that due to the use of absolute positioning for the virtualized header, it does not render in Safari.
|
@@ -1,64 +0,0 @@
|
|
1
|
-
import React from "react"
|
2
|
-
import AdvancedTable from '../_advanced_table'
|
3
|
-
import MOCK_DATA from "./advanced_table_mock_data_with_id.json"
|
4
|
-
import { colors } from "playbook-ui"
|
5
|
-
|
6
|
-
const AdvancedTableRowStyling = (props) => {
|
7
|
-
const columnDefinitions = [
|
8
|
-
{
|
9
|
-
accessor: "year",
|
10
|
-
label: "Year",
|
11
|
-
cellAccessors: ["quarter", "month", "day"],
|
12
|
-
},
|
13
|
-
{
|
14
|
-
accessor: "newEnrollments",
|
15
|
-
label: "New Enrollments",
|
16
|
-
},
|
17
|
-
{
|
18
|
-
accessor: "scheduledMeetings",
|
19
|
-
label: "Scheduled Meetings",
|
20
|
-
},
|
21
|
-
{
|
22
|
-
accessor: "attendanceRate",
|
23
|
-
label: "Attendance Rate",
|
24
|
-
},
|
25
|
-
{
|
26
|
-
accessor: "completedClasses",
|
27
|
-
label: "Completed Classes",
|
28
|
-
},
|
29
|
-
{
|
30
|
-
accessor: "classCompletionRate",
|
31
|
-
label: "Class Completion Rate",
|
32
|
-
},
|
33
|
-
{
|
34
|
-
accessor: "graduatedStudents",
|
35
|
-
label: "Graduated Students",
|
36
|
-
},
|
37
|
-
]
|
38
|
-
|
39
|
-
const rowStyling = [
|
40
|
-
{
|
41
|
-
rowId: "1",
|
42
|
-
backgroundColor: colors.warning,
|
43
|
-
},
|
44
|
-
{
|
45
|
-
rowId: "8",
|
46
|
-
backgroundColor: colors.category_1,
|
47
|
-
fontColor: colors.white,
|
48
|
-
expandButtonColor: colors.white,
|
49
|
-
},
|
50
|
-
];
|
51
|
-
|
52
|
-
return (
|
53
|
-
<div>
|
54
|
-
<AdvancedTable
|
55
|
-
columnDefinitions={columnDefinitions}
|
56
|
-
rowStyling={rowStyling}
|
57
|
-
tableData={MOCK_DATA}
|
58
|
-
{...props}
|
59
|
-
/>
|
60
|
-
</div>
|
61
|
-
)
|
62
|
-
}
|
63
|
-
|
64
|
-
export default AdvancedTableRowStyling
|
@@ -1,7 +0,0 @@
|
|
1
|
-
The `rowStyling` prop can be used in conjunction with row ids to control certain styling options on individual rows. Currently, `rowStyling` gives you 3 optional controls:
|
2
|
-
|
3
|
-
- `backgroundColor` : use this to control the background color of the row
|
4
|
-
- `fontColor`: use this to control font color for each row if needed, for example if using a darker background color.
|
5
|
-
- `expandButtonColor`: use this to control the color of the expand icon if needed, for example if using a darker background color.
|
6
|
-
|
7
|
-
**NOTE:** Each object within the `tableData` Array must contain a unique id in order to attach an id to all Rows for this to function.
|
@@ -1,52 +0,0 @@
|
|
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 %>
|
@@ -1,99 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
1
|
-
Use the `dropdown/dropdown_option` subcomponent structure to include custom layouts inside dropdown menus. Icons can be placed alongside the Body label text.
|
@@ -1 +0,0 @@
|
|
1
|
-
Use the `Dropdown.Option` subcomponent structure to include custom layouts inside dropdown menus. Icons can be placed alongside the Body label text.
|
@@ -1,28 +0,0 @@
|
|
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 %>
|
@@ -1,47 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
1
|
-
Radio inputs can be used inside `dropdown/dropdown_option` for a custom layout that mimics form-like selection within a dropdown.
|
@@ -1 +0,0 @@
|
|
1
|
-
Radio inputs can be used inside `Dropdown.Option` for a custom layout that mimics form-like selection within a dropdown.
|