playbook_ui_docs 14.25.0.pre.alpha.testingcss10064 → 14.25.0.pre.rc.0
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/example.yml +0 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -3
- data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -1
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +2 -16
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +8 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +41 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +33 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +78 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +3 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +26 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +20 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +59 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +24 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +61 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +24 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +21 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +54 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +1 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +49 -0
- data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +99 -0
- data/app/pb_kits/playbook/pb_drawer/docs/example.yml +20 -0
- data/app/pb_kits/playbook/pb_drawer/docs/index.js +7 -0
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +2 -3
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb +1 -12
- data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +1 -26
- data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.md +9 -0
- data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
- data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
- data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
- data/app/pb_kits/playbook/pb_pagination/docs/example.yml +0 -1
- data/app/pb_kits/playbook/pb_pagination/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +3 -0
- data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +1 -3
- data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +7 -14
- data/dist/playbook-doc.js +2 -2
- metadata +21 -15
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.jsx +0 -60
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.md +0 -3
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.jsx +0 -57
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.md +0 -1
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.html.erb +0 -24
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.md +0 -3
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.html.erb +0 -22
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.jsx +0 -43
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.md +0 -1
- data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_rails.md +0 -11
- data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_react.md +0 -11
- data/app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control.jsx +0 -112
- data/app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control_react.md +0 -3
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.25.0.pre.
|
4
|
+
version: 14.25.0.pre.rc.0
|
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-08-
|
12
|
+
date: 2025-08-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: playbook_ui
|
@@ -98,10 +98,6 @@ files:
|
|
98
98
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading_react.md
|
99
99
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_no_subrows.html.erb
|
100
100
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_no_subrows.jsx
|
101
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.jsx
|
102
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.md
|
103
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.jsx
|
104
|
-
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.md
|
105
101
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.jsx
|
106
102
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.md
|
107
103
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx
|
@@ -462,8 +458,6 @@ files:
|
|
462
458
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_click.jsx
|
463
459
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_default.html.erb
|
464
460
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_default.jsx
|
465
|
-
- app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.html.erb
|
466
|
-
- app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.md
|
467
461
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.html.erb
|
468
462
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.jsx
|
469
463
|
- app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.md
|
@@ -837,6 +831,24 @@ files:
|
|
837
831
|
- app/pb_kits/playbook/pb_draggable/docs/_draggable_with_table_react.md
|
838
832
|
- app/pb_kits/playbook/pb_draggable/docs/example.yml
|
839
833
|
- app/pb_kits/playbook/pb_draggable/docs/index.js
|
834
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb
|
835
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx
|
836
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb
|
837
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx
|
838
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb
|
839
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx
|
840
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb
|
841
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx
|
842
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb
|
843
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx
|
844
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md
|
845
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb
|
846
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx
|
847
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md
|
848
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb
|
849
|
+
- app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx
|
850
|
+
- app/pb_kits/playbook/pb_drawer/docs/example.yml
|
851
|
+
- app/pb_kits/playbook/pb_drawer/docs/index.js
|
840
852
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.html.erb
|
841
853
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_blank_selection.jsx
|
842
854
|
- app/pb_kits/playbook/pb_dropdown/docs/_dropdown_clear_selection.jsx
|
@@ -997,9 +1009,6 @@ files:
|
|
997
1009
|
- app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.jsx
|
998
1010
|
- app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.md
|
999
1011
|
- app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_swift.md
|
1000
|
-
- app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.html.erb
|
1001
|
-
- app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.jsx
|
1002
|
-
- app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.md
|
1003
1012
|
- app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_positions.html.erb
|
1004
1013
|
- app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_positions.jsx
|
1005
1014
|
- app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_positions_swift.md
|
@@ -1015,8 +1024,7 @@ files:
|
|
1015
1024
|
- app/pb_kits/playbook/pb_flex/docs/_flex_default.md
|
1016
1025
|
- app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb
|
1017
1026
|
- app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx
|
1018
|
-
- app/pb_kits/playbook/pb_flex/docs/
|
1019
|
-
- app/pb_kits/playbook/pb_flex/docs/_flex_gap_react.md
|
1027
|
+
- app/pb_kits/playbook/pb_flex/docs/_flex_gap.md
|
1020
1028
|
- app/pb_kits/playbook/pb_flex/docs/_flex_inline.html.erb
|
1021
1029
|
- app/pb_kits/playbook/pb_flex/docs/_flex_inline.jsx
|
1022
1030
|
- app/pb_kits/playbook/pb_flex/docs/_flex_inline.md
|
@@ -1598,8 +1606,6 @@ files:
|
|
1598
1606
|
- app/pb_kits/playbook/pb_pagination/docs/_pagination_default.jsx
|
1599
1607
|
- app/pb_kits/playbook/pb_pagination/docs/_pagination_default_rails.md
|
1600
1608
|
- app/pb_kits/playbook/pb_pagination/docs/_pagination_default_react.md
|
1601
|
-
- app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control.jsx
|
1602
|
-
- app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control_react.md
|
1603
1609
|
- app/pb_kits/playbook/pb_pagination/docs/_pagination_page_change.jsx
|
1604
1610
|
- app/pb_kits/playbook/pb_pagination/docs/_pagination_page_change_react.md
|
1605
1611
|
- app/pb_kits/playbook/pb_pagination/docs/data.js
|
@@ -1,60 +0,0 @@
|
|
1
|
-
import React from "react"
|
2
|
-
import AdvancedTable from '../_advanced_table'
|
3
|
-
import Background from '../../pb_background/_background'
|
4
|
-
import MOCK_DATA from "./advanced_table_mock_data_with_id.json"
|
5
|
-
|
6
|
-
const AdvancedTablePaddingControl = (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
|
-
columnStyling:{cellPadding: "none"},
|
17
|
-
customRenderer: (row, value) => (
|
18
|
-
<Background
|
19
|
-
backgroundColor={row.original.newEnrollments > 20 ? "success_secondary" : "warning_secondary"}
|
20
|
-
padding="xs"
|
21
|
-
>
|
22
|
-
{value}
|
23
|
-
</Background>
|
24
|
-
),
|
25
|
-
|
26
|
-
},
|
27
|
-
{
|
28
|
-
accessor: "scheduledMeetings",
|
29
|
-
label: "Scheduled Meetings",
|
30
|
-
},
|
31
|
-
{
|
32
|
-
accessor: "attendanceRate",
|
33
|
-
label: "Attendance Rate",
|
34
|
-
},
|
35
|
-
{
|
36
|
-
accessor: "completedClasses",
|
37
|
-
label: "Completed Classes",
|
38
|
-
},
|
39
|
-
{
|
40
|
-
accessor: "classCompletionRate",
|
41
|
-
label: "Class Completion Rate",
|
42
|
-
},
|
43
|
-
{
|
44
|
-
accessor: "graduatedStudents",
|
45
|
-
label: "Graduated Students",
|
46
|
-
},
|
47
|
-
]
|
48
|
-
|
49
|
-
return (
|
50
|
-
<div>
|
51
|
-
<AdvancedTable
|
52
|
-
columnDefinitions={columnDefinitions}
|
53
|
-
tableData={MOCK_DATA}
|
54
|
-
{...props}
|
55
|
-
/>
|
56
|
-
</div>
|
57
|
-
)
|
58
|
-
}
|
59
|
-
|
60
|
-
export default AdvancedTablePaddingControl
|
@@ -1,3 +0,0 @@
|
|
1
|
-
`columnStyling` can also be used to control padding on all cells in a given column via the use of the `cellPadding` key/value pair. `cellPadding` lets you use 'xxs', 'xs', 'sm', 'md', 'lg', 'xl' and 'none'.
|
2
|
-
|
3
|
-
This control can be used in conjunction with the `customRenderer` item within each columnDefinition to achieve custom background colors for individual cells as seen here.
|
data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.jsx
DELETED
@@ -1,57 +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
|
-
|
5
|
-
const AdvancedTablePaddingControlPerRow = (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
|
-
},
|
16
|
-
{
|
17
|
-
accessor: "scheduledMeetings",
|
18
|
-
label: "Scheduled Meetings",
|
19
|
-
},
|
20
|
-
{
|
21
|
-
accessor: "attendanceRate",
|
22
|
-
label: "Attendance Rate",
|
23
|
-
},
|
24
|
-
{
|
25
|
-
accessor: "completedClasses",
|
26
|
-
label: "Completed Classes",
|
27
|
-
},
|
28
|
-
{
|
29
|
-
accessor: "classCompletionRate",
|
30
|
-
label: "Class Completion Rate",
|
31
|
-
},
|
32
|
-
{
|
33
|
-
accessor: "graduatedStudents",
|
34
|
-
label: "Graduated Students",
|
35
|
-
},
|
36
|
-
]
|
37
|
-
|
38
|
-
const rowStyling = [
|
39
|
-
{
|
40
|
-
rowId: "1",
|
41
|
-
cellPadding:"md"
|
42
|
-
},
|
43
|
-
];
|
44
|
-
|
45
|
-
return (
|
46
|
-
<div>
|
47
|
-
<AdvancedTable
|
48
|
-
columnDefinitions={columnDefinitions}
|
49
|
-
rowStyling={rowStyling}
|
50
|
-
tableData={MOCK_DATA}
|
51
|
-
{...props}
|
52
|
-
/>
|
53
|
-
</div>
|
54
|
-
)
|
55
|
-
}
|
56
|
-
|
57
|
-
export default AdvancedTablePaddingControlPerRow
|
@@ -1 +0,0 @@
|
|
1
|
-
`rowStyling` can also be used to control padding on all cells in a given row via the use of the `cellPadding` key/value pair as shown here. `cellPadding` lets you use 'xxs', 'xs', 'sm', 'md', 'lg', 'xl' and 'none'.
|
data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.html.erb
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
<%= pb_rails("circle_icon_button", props: {
|
2
|
-
icon: "plus",
|
3
|
-
input_options: {
|
4
|
-
data: { "test-id": "add-button", remote: true },
|
5
|
-
}
|
6
|
-
}) %>
|
7
|
-
<br/>
|
8
|
-
<%= pb_rails("circle_icon_button", props: {
|
9
|
-
icon: "pen",
|
10
|
-
variant: "secondary",
|
11
|
-
input_options: {
|
12
|
-
data: { "test-id": "edit-button" },
|
13
|
-
classname: "custom-secondary-button-class"
|
14
|
-
}
|
15
|
-
}) %>
|
16
|
-
<br/>
|
17
|
-
<%= pb_rails("circle_icon_button", props: {
|
18
|
-
icon: "user",
|
19
|
-
variant: "link",
|
20
|
-
input_options: {
|
21
|
-
data: { "test-id": "user-button" },
|
22
|
-
id: "user-button-id"
|
23
|
-
}
|
24
|
-
}) %>
|
@@ -1,3 +0,0 @@
|
|
1
|
-
Use the `input_options` prop to pass additional attributes directly to the internal Playbook Button component. While the wrapper div has access to the standard `data` prop from KitBase, `input_options` allows you to attach attributes specifically to the internal button element.
|
2
|
-
|
3
|
-
This is particularly useful when you need data attributes or other HTML attributes to apply to the button itself.
|
@@ -1,22 +0,0 @@
|
|
1
|
-
<%= pb_rails("fixed_confirmation_toast", props: {
|
2
|
-
text: "Error Message",
|
3
|
-
status: "error",
|
4
|
-
icon: "none",
|
5
|
-
closeable: true
|
6
|
-
})%>
|
7
|
-
|
8
|
-
<br><br>
|
9
|
-
|
10
|
-
<%= pb_rails("fixed_confirmation_toast", props: {
|
11
|
-
text: "Items Successfully Moved",
|
12
|
-
status: "success",
|
13
|
-
icon: "none"
|
14
|
-
})%>
|
15
|
-
|
16
|
-
<br><br>
|
17
|
-
|
18
|
-
<%= pb_rails("fixed_confirmation_toast", props: {
|
19
|
-
text: "Scan to Assign Selected Items",
|
20
|
-
status: "neutral",
|
21
|
-
icon: "none"
|
22
|
-
})%>
|
data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.jsx
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
import React from 'react'
|
2
|
-
|
3
|
-
import FixedConfirmationToast from '../_fixed_confirmation_toast'
|
4
|
-
|
5
|
-
const FixedConfirmationToastNoIcon = (props) => {
|
6
|
-
return (
|
7
|
-
<div>
|
8
|
-
<div>
|
9
|
-
<FixedConfirmationToast
|
10
|
-
closeable
|
11
|
-
icon="none"
|
12
|
-
status="error"
|
13
|
-
text="Error Message"
|
14
|
-
{...props}
|
15
|
-
/>
|
16
|
-
</div>
|
17
|
-
|
18
|
-
<br />
|
19
|
-
|
20
|
-
<div>
|
21
|
-
<FixedConfirmationToast
|
22
|
-
icon="none"
|
23
|
-
status="success"
|
24
|
-
text="Items Successfully Moved"
|
25
|
-
{...props}
|
26
|
-
/>
|
27
|
-
</div>
|
28
|
-
|
29
|
-
<br />
|
30
|
-
|
31
|
-
<div>
|
32
|
-
<FixedConfirmationToast
|
33
|
-
icon="none"
|
34
|
-
status="neutral"
|
35
|
-
text="Scan to Assign Selected Items"
|
36
|
-
{...props}
|
37
|
-
/>
|
38
|
-
</div>
|
39
|
-
</div>
|
40
|
-
)
|
41
|
-
}
|
42
|
-
|
43
|
-
export default FixedConfirmationToastNoIcon
|
data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.md
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
Setting `icon` prop to "none" will render the fixed confirmation toast without the left side icon.
|
@@ -1,11 +0,0 @@
|
|
1
|
-
##### Prop
|
2
|
-
|
3
|
-
`gap` | `row_gap` | `column_gap` | **Type**: String | Hash | **Values**: xxs | xs | sm | md | lg | xl | none
|
4
|
-
|
5
|
-
Setting the gap prop sets the `row_gap` and the `column_gap` props to the same size and creates equal space within a flex container.
|
6
|
-
|
7
|
-
Setting the `row_gap` prop creates space between rows in a flex container.
|
8
|
-
|
9
|
-
Setting the `column_gap` prop creates space between columns in a flex container.
|
10
|
-
|
11
|
-
You can also set responsive values by passing a hash with device sizes and values.
|
@@ -1,11 +0,0 @@
|
|
1
|
-
##### Prop
|
2
|
-
|
3
|
-
`gap` | `rowGap` | `columnGap` | **Type**: String | Object | **Values**: xxs | xs | sm | md | lg | xl | none
|
4
|
-
|
5
|
-
Setting the gap prop sets the `rowGap` and the `columnGap` props to the same size and creates equal space within a flex container.
|
6
|
-
|
7
|
-
Setting the `rowGap` prop creates space between rows in a flex container.
|
8
|
-
|
9
|
-
Setting the `columnGap` prop creates space between columns in a flex container.
|
10
|
-
|
11
|
-
You can also set responsive values by passing an object with device sizes and values.
|
@@ -1,112 +0,0 @@
|
|
1
|
-
import React, { useState } from "react";
|
2
|
-
import Flex from '../../pb_flex/_flex'
|
3
|
-
import Pagination from '../../pb_pagination/_pagination'
|
4
|
-
import Select from '../../pb_select/_select'
|
5
|
-
import Table from '../../pb_table/_table'
|
6
|
-
|
7
|
-
import { data } from "./data";
|
8
|
-
|
9
|
-
const PaginationExternalControl = (props) => {
|
10
|
-
const [totalItems, setTotalItems] = useState(20);
|
11
|
-
const [itemsPerPage, setItemsPerPage] = useState(5);
|
12
|
-
const [currentPage, setCurrentPage] = useState(1);
|
13
|
-
|
14
|
-
const totalPages = Math.ceil(totalItems / itemsPerPage);
|
15
|
-
|
16
|
-
const handlePageChange = (page) => {
|
17
|
-
setCurrentPage(page);
|
18
|
-
};
|
19
|
-
|
20
|
-
const limitedData = data.slice(0, totalItems);
|
21
|
-
const startIndex = (currentPage - 1) * itemsPerPage;
|
22
|
-
const paginatedItems = limitedData.slice(startIndex, startIndex + itemsPerPage);
|
23
|
-
|
24
|
-
const handleTotalItemsChange = (event) => {
|
25
|
-
const value = Number(event.target.value);
|
26
|
-
setTotalItems(value);
|
27
|
-
setCurrentPage(1);
|
28
|
-
};
|
29
|
-
|
30
|
-
const handleItemsPerPageChange = (event) => {
|
31
|
-
const value = Number(event.target.value);
|
32
|
-
setItemsPerPage(value);
|
33
|
-
setCurrentPage(1);
|
34
|
-
};
|
35
|
-
|
36
|
-
return (
|
37
|
-
<>
|
38
|
-
<Flex gap="sm">
|
39
|
-
<Select
|
40
|
-
label="Total Items"
|
41
|
-
onChange={handleTotalItemsChange}
|
42
|
-
options={[
|
43
|
-
{ value: "5", text: "5" },
|
44
|
-
{ value: "10", text: "10" },
|
45
|
-
{ value: "20", text: "20" }
|
46
|
-
]}
|
47
|
-
size="sm"
|
48
|
-
value={String(totalItems)}
|
49
|
-
{...props}
|
50
|
-
/>
|
51
|
-
|
52
|
-
<Select
|
53
|
-
label="Items per Page"
|
54
|
-
onChange={handleItemsPerPageChange}
|
55
|
-
options={[
|
56
|
-
{ value: "3", text: "3" },
|
57
|
-
{ value: "5", text: "5" },
|
58
|
-
{ value: "10", text: "10" }
|
59
|
-
]}
|
60
|
-
size="sm"
|
61
|
-
value={String(itemsPerPage)}
|
62
|
-
{...props}
|
63
|
-
/>
|
64
|
-
</Flex>
|
65
|
-
|
66
|
-
<Pagination
|
67
|
-
current={currentPage}
|
68
|
-
key={`pagination-top-${currentPage}`}
|
69
|
-
marginBottom="xs"
|
70
|
-
onChange={handlePageChange}
|
71
|
-
range={5}
|
72
|
-
total={totalPages}
|
73
|
-
{...props}
|
74
|
-
/>
|
75
|
-
<Table
|
76
|
-
marginBottom="xs"
|
77
|
-
responsive="none"
|
78
|
-
size="sm"
|
79
|
-
{...props}
|
80
|
-
>
|
81
|
-
<Table.Head>
|
82
|
-
<Table.Row>
|
83
|
-
<Table.Header>{"Column 1"}</Table.Header>
|
84
|
-
<Table.Header>{"Column 2"}</Table.Header>
|
85
|
-
<Table.Header>{"Column 3"}</Table.Header>
|
86
|
-
<Table.Header>{"Column 4"}</Table.Header>
|
87
|
-
<Table.Header>{"Column 5"}</Table.Header>
|
88
|
-
</Table.Row>
|
89
|
-
</Table.Head>
|
90
|
-
<Table.Body>
|
91
|
-
{paginatedItems.map((row, index) => (
|
92
|
-
<Table.Row key={index}>
|
93
|
-
{row.map((cell, cellIndex) => (
|
94
|
-
<Table.Cell key={cellIndex}>{cell}</Table.Cell>
|
95
|
-
))}
|
96
|
-
</Table.Row>
|
97
|
-
))}
|
98
|
-
</Table.Body>
|
99
|
-
</Table>
|
100
|
-
<Pagination
|
101
|
-
current={currentPage}
|
102
|
-
key={`pagination-bottom-${currentPage}`}
|
103
|
-
onChange={handlePageChange}
|
104
|
-
range={5}
|
105
|
-
total={totalPages}
|
106
|
-
{...props}
|
107
|
-
/>
|
108
|
-
</>
|
109
|
-
)
|
110
|
-
}
|
111
|
-
|
112
|
-
export default PaginationExternalControl
|
@@ -1,3 +0,0 @@
|
|
1
|
-
The Pagination component supports external control of the current page. This allows for programmatically reseting or changing the current page when filters or other criteria change, without needing to unmount and remount the component.
|
2
|
-
|
3
|
-
In this example, changing the "Total Items" or "Items per Page" dropdowns will automatically reset the pagination to page 1, demonstrating how external control works. The pagination component will update its internal state to reflect the new `current` prop value.
|