playbook_ui_docs 16.1.0.pre.rc.1 → 16.1.0.pre.rc.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_inline_row_loading.md +2 -2
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading_rails.html.erb +64 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading_rails.md +18 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_table/docs/_sections.yml +68 -0
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.html.erb +39 -0
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.md +3 -0
- data/app/pb_kits/playbook/pb_textarea/docs/example.yml +1 -0
- metadata +7 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6f6578b2cbd0e94e90f8efda54cfd3347914067e53691d26c9b4da7765eef24c
|
|
4
|
+
data.tar.gz: d7d4bdc62bf4ef56b5a7f9eb4dda617631f81e9552257dfb7d8d6d7b97b32df3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1b1fef0d9354421a9dfa86953b5995ee5ec721691fc6c1f34f3dfda54f4bc3db18af7e9f87aab9af8718584cfe87f1b09cdaf8c05631522d2c6f8b7a60a5347b
|
|
7
|
+
data.tar.gz: 0d4d55993908fc59ccbef1a9f02581149449c44228c3efebd273e93bc7db2f88468a5023ba17a5a1831ad3b87f094323cbe109bafe258a4e6165d3e32a2af8b3
|
|
@@ -6,9 +6,9 @@ In the first Advanced Table in this code example, 2021 has an empty children arr
|
|
|
6
6
|
This prop is set to `false` by default.
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
###
|
|
9
|
+
### persistToggleExpansionButton
|
|
10
10
|
The `persistToggleExpansionButton` is a boolean prop that renders the toggle-all icon in the top left header cell for complex datasets with empty `children` arrays and advanced querying logic explained in the preceeding doc example. Your logic may require an additional query helper file to update data specifically from requerying via toggle all buttons.
|
|
11
11
|
|
|
12
12
|
In the second and third Advanced Tables in this code example, all 3 rows have empty children arrays. The second Advanced Table demonstrates that the toggle all button does not render (prior to an initial row expansion) without `persistToggleExpansionButton` in place. The third Advanced Table shows the toggle all button due to `persistToggleExpansionButton`.
|
|
13
13
|
|
|
14
|
-
This prop is set to false by default and should only be used in conjunction with `inlineRowLoading`.
|
|
14
|
+
This prop is set to `false` by default and should only be used in conjunction with `inlineRowLoading`.
|
data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading_rails.html.erb
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
},
|
|
11
|
+
{
|
|
12
|
+
accessor: "scheduledMeetings",
|
|
13
|
+
label: "Scheduled Meetings",
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
accessor: "attendanceRate",
|
|
17
|
+
label: "Attendance Rate",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
accessor: "completedClasses",
|
|
21
|
+
label: "Completed Classes",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
accessor: "classCompletionRate",
|
|
25
|
+
label: "Class Completion Rate",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
accessor: "graduatedStudents",
|
|
29
|
+
label: "Graduated Students",
|
|
30
|
+
}
|
|
31
|
+
] %>
|
|
32
|
+
|
|
33
|
+
<%= pb_rails("caption", props: { text: "Inline Row Loading - Demonstrated in Row 1 (Rows 2 and 3 have data)" }) %>
|
|
34
|
+
|
|
35
|
+
<%= pb_rails("advanced_table", props: {
|
|
36
|
+
id: "inline-loading-table-1",
|
|
37
|
+
table_data: @table_data_inline_loading,
|
|
38
|
+
column_definitions: column_definitions,
|
|
39
|
+
enable_toggle_expansion: "all",
|
|
40
|
+
inline_row_loading: true,
|
|
41
|
+
margin_bottom: "md"
|
|
42
|
+
}) %>
|
|
43
|
+
|
|
44
|
+
<%= pb_rails("caption", props: { text: "Inline Row Loading with No Subrow Data - All Rows Display Inline Row Loading and the Toggle All Button is not rendered" }) %>
|
|
45
|
+
|
|
46
|
+
<%= pb_rails("advanced_table", props: {
|
|
47
|
+
id: "inline-loading-table-2",
|
|
48
|
+
table_data: @table_data_inline_loading_empty_children,
|
|
49
|
+
column_definitions: column_definitions,
|
|
50
|
+
enable_toggle_expansion: "all",
|
|
51
|
+
inline_row_loading: true,
|
|
52
|
+
margin_bottom: "md"
|
|
53
|
+
}) %>
|
|
54
|
+
|
|
55
|
+
<%= pb_rails("caption", props: { text: "Inline Row Loading and Persist Toggle Expansion Button with No Subrow Data - All Rows Display Inline Row Loading and the Toggle All Button is rendered" }) %>
|
|
56
|
+
|
|
57
|
+
<%= pb_rails("advanced_table", props: {
|
|
58
|
+
id: "inline-loading-table-3",
|
|
59
|
+
table_data: @table_data_inline_loading_empty_children,
|
|
60
|
+
column_definitions: column_definitions,
|
|
61
|
+
enable_toggle_expansion: "all",
|
|
62
|
+
inline_row_loading: true,
|
|
63
|
+
persist_toggle_expansion_button: true
|
|
64
|
+
}) %>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
### inline_row_loading
|
|
2
|
+
By default, the kit assumes that the initial dataset is complete, rendering expansion controls only when children are present. If, however, you want to implement lazy-loading patterns where children are fetched only when a parent is expanded, use the `inline_row_loading` prop.
|
|
3
|
+
|
|
4
|
+
When `inline_row_loading` is set to `true`:
|
|
5
|
+
- Expansion controls are rendered for rows with empty `children` arrays (you must pass `children: []` to any row that will have children loaded later)
|
|
6
|
+
- When such a row is expanded, an inline loading indicator appears until the child data is loaded
|
|
7
|
+
- This enables lazy-loading patterns without one-off hacks
|
|
8
|
+
|
|
9
|
+
In the first table above, row "2021" has an empty `children` array. Click to expand it and see the inline loading state. Rows 2 and 3 have actual child data.
|
|
10
|
+
|
|
11
|
+
This prop is set to `false` by default.
|
|
12
|
+
|
|
13
|
+
### persist_toggle_expansion_button
|
|
14
|
+
The `persist_toggle_expansion_button` is a boolean prop that renders the toggle-all icon in the top left header cell for complex datasets with empty `children` arrays and advanced querying logic explained in the preceding doc example. Your logic may require an additional query helper file to update data specifically from requerying via toggle all buttons.
|
|
15
|
+
|
|
16
|
+
In the second and third Advanced Tables in this code example, all 3 rows have empty children arrays. The second Advanced Table demonstrates that the toggle all button does not render (prior to an initial row expansion) without `persist_toggle_expansion_button` in place. The third Advanced Table shows the toggle all button due to `persist_toggle_expansion_button`.
|
|
17
|
+
|
|
18
|
+
This prop is set to `false` by default and should only be used in conjunction with `inline_row_loading`.
|
|
@@ -29,6 +29,7 @@ examples:
|
|
|
29
29
|
- advanced_table_background_control_rails: Column Styling Background Color
|
|
30
30
|
- advanced_table_background_colors_rails: Column Styling Individual Cell Background Color
|
|
31
31
|
- advanced_table_column_border_color_rails: Column Group Border Color
|
|
32
|
+
- advanced_table_inline_row_loading_rails: Inline Row Loading
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
react:
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
sections:
|
|
2
|
+
- title: "Size & Density"
|
|
3
|
+
examples:
|
|
4
|
+
- table_sm
|
|
5
|
+
- table_md
|
|
6
|
+
- table_lg
|
|
7
|
+
- table_multiline
|
|
8
|
+
- table_single_line
|
|
9
|
+
- table_outer_padding
|
|
10
|
+
|
|
11
|
+
- title: "Layout & Structure"
|
|
12
|
+
examples:
|
|
13
|
+
- table_responsive_table
|
|
14
|
+
- table_with_subcomponents
|
|
15
|
+
- table_with_subcomponents_as_divs
|
|
16
|
+
- table_with_background_kit
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
- title: "Sticky & Positional Behaviors"
|
|
20
|
+
examples:
|
|
21
|
+
- table_sticky
|
|
22
|
+
- table_sticky_left_columns
|
|
23
|
+
- table_sticky_right_columns
|
|
24
|
+
- table_sticky_columns
|
|
25
|
+
- table_alignment_row
|
|
26
|
+
- table_alignment_column
|
|
27
|
+
- table_alignment_shift_row
|
|
28
|
+
- table_alignment_shift_data
|
|
29
|
+
- table_side_highlight
|
|
30
|
+
- table_container
|
|
31
|
+
|
|
32
|
+
- title: "Collapsible & Nested Behaviors"
|
|
33
|
+
examples:
|
|
34
|
+
- table_with_collapsible
|
|
35
|
+
- table_with_dynamic_collapsible
|
|
36
|
+
- table_with_collapsible_with_custom_click
|
|
37
|
+
- table_with_collapsible_with_custom_content
|
|
38
|
+
- table_with_collapsible_with_nested_rows
|
|
39
|
+
- table_with_collapsible_with_nested_table
|
|
40
|
+
|
|
41
|
+
- title: "Data Presentation"
|
|
42
|
+
examples:
|
|
43
|
+
- table_data_table
|
|
44
|
+
- table_vertical_border
|
|
45
|
+
- table_striped
|
|
46
|
+
|
|
47
|
+
- title: "Header Variants"
|
|
48
|
+
examples:
|
|
49
|
+
- table_header
|
|
50
|
+
- table_with_header_style_borderless
|
|
51
|
+
- table_with_header_style_floating
|
|
52
|
+
|
|
53
|
+
- title: "Interactive Tables"
|
|
54
|
+
examples:
|
|
55
|
+
- table_with_clickable_rows
|
|
56
|
+
- table_with_selectable_rows
|
|
57
|
+
- table_with_filter_variant
|
|
58
|
+
- table_with_filter_variant_with_pagination
|
|
59
|
+
- table_disable_hover
|
|
60
|
+
|
|
61
|
+
- title: "Table Actions"
|
|
62
|
+
examples:
|
|
63
|
+
- table_one_action
|
|
64
|
+
- table_two_actions
|
|
65
|
+
- table_two_plus_actions
|
|
66
|
+
- table_action_middle
|
|
67
|
+
- table_icon_buttons
|
|
68
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<%= pb_rails("textarea", props: {
|
|
2
|
+
label: "ID on Container",
|
|
3
|
+
id: "container-id",
|
|
4
|
+
name: "comment",
|
|
5
|
+
rows: 4
|
|
6
|
+
}) %>
|
|
7
|
+
|
|
8
|
+
<br/>
|
|
9
|
+
|
|
10
|
+
<%= pb_rails("textarea", props: {
|
|
11
|
+
label: "ID on Textarea via input_options",
|
|
12
|
+
input_options: { id: "textarea-id" },
|
|
13
|
+
name: "comment",
|
|
14
|
+
rows: 4
|
|
15
|
+
}) %>
|
|
16
|
+
|
|
17
|
+
<br/>
|
|
18
|
+
|
|
19
|
+
<%= pb_rails("textarea", props: {
|
|
20
|
+
label: "Both Container and Textarea IDs",
|
|
21
|
+
id: "container-id-2",
|
|
22
|
+
input_options: { id: "textarea-id-2" },
|
|
23
|
+
name: "comment",
|
|
24
|
+
rows: 4
|
|
25
|
+
}) %>
|
|
26
|
+
|
|
27
|
+
<br/>
|
|
28
|
+
|
|
29
|
+
<%= pb_rails("textarea", props: {
|
|
30
|
+
label: "Data and ARIA Attributes",
|
|
31
|
+
name: "description",
|
|
32
|
+
rows: 4,
|
|
33
|
+
input_options: {
|
|
34
|
+
'aria-label': "Enter description",
|
|
35
|
+
'aria-describedby': "help-text",
|
|
36
|
+
data: { controller: "textarea", action: "focus->handleFocus" },
|
|
37
|
+
id: "description-textarea"
|
|
38
|
+
}
|
|
39
|
+
}) %>
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
Use the `input_options` / `inputOptions` prop to pass additional attributes directly to the underlying `<textarea>` element instead of the outer wrapper. This is useful for applying data attributes, custom IDs, ARIA attributes, or other HTML attributes that need to be on the textarea element itself.
|
|
2
|
+
|
|
3
|
+
Additional HTML attributes (e.g. data or ARIA attributes) can also be passed directly to the `<textarea>` via `input_options`.
|
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: 16.1.0.pre.rc.
|
|
4
|
+
version: 16.1.0.pre.rc.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: 2026-01-
|
|
12
|
+
date: 2026-01-20 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: playbook_ui
|
|
@@ -100,6 +100,8 @@ files:
|
|
|
100
100
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_editing.md
|
|
101
101
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.jsx
|
|
102
102
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading.md
|
|
103
|
+
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading_rails.html.erb
|
|
104
|
+
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_inline_row_loading_rails.md
|
|
103
105
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.html.erb
|
|
104
106
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading.jsx
|
|
105
107
|
- app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_loading_rails.md
|
|
@@ -2124,6 +2126,7 @@ files:
|
|
|
2124
2126
|
- app/pb_kits/playbook/pb_stat_value/docs/example.yml
|
|
2125
2127
|
- app/pb_kits/playbook/pb_stat_value/docs/index.js
|
|
2126
2128
|
- app/pb_kits/playbook/pb_table/docs/_description.md
|
|
2129
|
+
- app/pb_kits/playbook/pb_table/docs/_sections.yml
|
|
2127
2130
|
- app/pb_kits/playbook/pb_table/docs/_table_action_middle.html.erb
|
|
2128
2131
|
- app/pb_kits/playbook/pb_table/docs/_table_action_middle.jsx
|
|
2129
2132
|
- app/pb_kits/playbook/pb_table/docs/_table_action_middle.md
|
|
@@ -2322,6 +2325,8 @@ files:
|
|
|
2322
2325
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_error_swift.md
|
|
2323
2326
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_inline.html.erb
|
|
2324
2327
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_inline.jsx
|
|
2328
|
+
- app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.html.erb
|
|
2329
|
+
- app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.md
|
|
2325
2330
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_props_swift.md
|
|
2326
2331
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_resize.html.erb
|
|
2327
2332
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_resize.jsx
|