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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -2
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -3
  4. data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -1
  5. data/app/pb_kits/playbook/pb_circle_icon_button/docs/example.yml +0 -1
  6. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +2 -16
  7. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +8 -0
  8. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +41 -0
  9. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +33 -0
  10. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +78 -0
  11. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +3 -0
  12. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +26 -0
  13. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +20 -0
  14. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +59 -0
  15. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +24 -0
  16. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +61 -0
  17. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +24 -0
  18. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +21 -0
  19. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +54 -0
  20. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +1 -0
  21. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +49 -0
  22. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +99 -0
  23. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +20 -0
  24. data/app/pb_kits/playbook/pb_drawer/docs/index.js +7 -0
  25. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +2 -3
  26. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +0 -2
  27. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +0 -1
  28. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb +1 -12
  29. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +1 -26
  30. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.md +9 -0
  31. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  32. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  33. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  34. data/app/pb_kits/playbook/pb_pagination/docs/example.yml +0 -1
  35. data/app/pb_kits/playbook/pb_pagination/docs/index.js +0 -1
  36. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +3 -0
  37. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +1 -3
  38. data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +7 -14
  39. data/dist/playbook-doc.js +2 -2
  40. metadata +21 -15
  41. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.jsx +0 -60
  42. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control.md +0 -3
  43. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.jsx +0 -57
  44. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_padding_control_per_row.md +0 -1
  45. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.html.erb +0 -24
  46. data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_input_options.md +0 -3
  47. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.html.erb +0 -22
  48. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.jsx +0 -43
  49. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_no_icon.md +0 -1
  50. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_rails.md +0 -11
  51. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_react.md +0 -11
  52. data/app/pb_kits/playbook/pb_pagination/docs/_pagination_external_control.jsx +0 -112
  53. 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.alpha.testingcss10064
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-29 00:00:00.000000000 Z
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/_flex_gap_rails.md
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.
@@ -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'.
@@ -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
- })%>
@@ -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
@@ -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.