playbook_ui_docs 16.0.0.pre.alpha.fixiconsvgdataattrspropagation13513 → 16.0.0.pre.alpha.play250713764
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_background/docs/_background_responsive.jsx +30 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_responsive.md +1 -0
- data/app/pb_kits/playbook/pb_background/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_background/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +2 -2
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +16 -9
- data/app/pb_kits/playbook/pb_form/docs/_form_with_required_indicator.html.erb +3 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.html.erb +74 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.jsx +87 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.md +3 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +35 -33
- data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.html.erb +30 -0
- data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.jsx +1 -1
- data/app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.md +1 -1
- data/app/pb_kits/playbook/pb_multiple_users/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.jsx +35 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.md +3 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb +10 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx +21 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.md +3 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +3 -0
- data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +2 -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/_textarea_required_indicator.html.erb +5 -0
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.jsx +25 -0
- data/app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.md +3 -0
- data/app/pb_kits/playbook/pb_textarea/docs/example.yml +4 -1
- data/app/pb_kits/playbook/pb_textarea/docs/index.js +1 -0
- metadata +21 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b6eb8e86de3f3876c895a825761aac3eed668cefb1b8cf3fefa6ac498fcc96aa
|
|
4
|
+
data.tar.gz: 89c9b2e649d6a97db2511250f3cc1d5144d7c56df8b2d4b43e18c29673f9fb1c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 450146d70d45e89a880e3e830520f286b1a6a74d90ef532c8a3aa4beee707ae82bdc4c25f51847bd557d3cd456390a5043ca7592b76214a93deb616627d16605
|
|
7
|
+
data.tar.gz: ce07f15130cd52863b2d956a4e3e834c357f347d6f061ea33e9431bc712eab9357f753a6e35bfecec9c861e8f5f21416ae1dd7a6b3e387b788d344923ec0a927
|
|
@@ -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,30 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import Background from '../../pb_background/_background'
|
|
3
|
+
|
|
4
|
+
const BackgroundResponsive = (props) => (
|
|
5
|
+
<>
|
|
6
|
+
<Background
|
|
7
|
+
alt="colorful background"
|
|
8
|
+
backgroundColor={{ xs: "primary", sm: "warning", md: "success", lg: "error", xl: "category_1" }}
|
|
9
|
+
className="background lazyload"
|
|
10
|
+
padding="xl"
|
|
11
|
+
{...props}
|
|
12
|
+
/>
|
|
13
|
+
<br/>
|
|
14
|
+
<Background
|
|
15
|
+
alt="colorful background"
|
|
16
|
+
className="background lazyload"
|
|
17
|
+
imageUrl={{
|
|
18
|
+
xs: "https://unsplash.it/500/400/?image=633",
|
|
19
|
+
sm: "https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1000&q=80",
|
|
20
|
+
md: "https://unsplash.it/500/400/?image=633",
|
|
21
|
+
lg: "https://images.unsplash.com/photo-1528459801416-a9e53bbf4e17?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1000&q=80",
|
|
22
|
+
xl: "https://unsplash.it/500/400/?image=633"
|
|
23
|
+
}}
|
|
24
|
+
padding="xl"
|
|
25
|
+
{...props}
|
|
26
|
+
/>
|
|
27
|
+
</>
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
export default BackgroundResponsive
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
The `backgroundColor`, `backgroundSize`, `backgroundPosition`, `backgroundRepeat`, and `imageUrl` props support responsive sizes. To use them, pass an object to the prop containing your values relative to responsive break points. To test this here, resize your browser window to responsively change these Backgrounds' `backgroundColor` and `imageUrl`.
|
|
@@ -7,3 +7,4 @@ export { default as BackgroundStatusSubtle } from './_background_status_subtle.j
|
|
|
7
7
|
export { default as BackgroundCategory } from './_background_category.jsx'
|
|
8
8
|
export { default as BackgroundSize } from './_background_size.jsx'
|
|
9
9
|
export { default as BackgroundOverlay } from './_background_overlay.jsx'
|
|
10
|
+
export { default as BackgroundResponsive } from './_background_responsive.jsx'
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<%=
|
|
2
2
|
pb_rails("filter", props: {
|
|
3
3
|
min_width: "360px",
|
|
4
|
-
id: "1",
|
|
4
|
+
id: "filter-demo-1",
|
|
5
5
|
margin_bottom: "xl",
|
|
6
6
|
filters: [
|
|
7
7
|
{ name: "name", value: "John Wick" },
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
<%=
|
|
45
45
|
pb_rails("filter", props: {
|
|
46
46
|
min_width: "360px",
|
|
47
|
-
id: "
|
|
47
|
+
id: "filter-demo-2",
|
|
48
48
|
sort_menu: [
|
|
49
49
|
{ item: "Popularity", link: "?q[sorts]=managers_popularity+asc", active: true, direction: "desc" },
|
|
50
50
|
{ item: "Mananger's Title", link: "?q[sorts]=managers_title+asc", active: false },
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react'
|
|
1
|
+
import React, { useState } from 'react'
|
|
2
2
|
|
|
3
3
|
import Button from '../../pb_button/_button'
|
|
4
4
|
import Filter from '../../pb_filter/_filter'
|
|
@@ -6,11 +6,18 @@ import Flex from '../../pb_flex/_flex'
|
|
|
6
6
|
import Select from '../../pb_select/_select'
|
|
7
7
|
import TextInput from '../../pb_text_input/_text_input'
|
|
8
8
|
|
|
9
|
-
const SortingChangeCallback = (sortOptions) => {
|
|
10
|
-
alert(JSON.stringify(sortOptions[0]))
|
|
11
|
-
}
|
|
12
|
-
|
|
13
9
|
const FilterDefault = (props) => {
|
|
10
|
+
const [sortValue, setSortValue] = useState([{ name: 'popularity', dir: 'desc' }])
|
|
11
|
+
const [sortValue2, setSortValue2] = useState([{ name: 'popularity', dir: 'desc' }])
|
|
12
|
+
|
|
13
|
+
const handleSortChange = (sortOptions) => {
|
|
14
|
+
setSortValue(sortOptions)
|
|
15
|
+
alert(JSON.stringify(sortOptions[0]))
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const handleSortChange2 = (sortOptions) => {
|
|
19
|
+
setSortValue2(sortOptions)
|
|
20
|
+
}
|
|
14
21
|
const options = [
|
|
15
22
|
{ value: 'USA' },
|
|
16
23
|
{ value: 'Canada' },
|
|
@@ -29,7 +36,7 @@ const FilterDefault = (props) => {
|
|
|
29
36
|
}}
|
|
30
37
|
marginBottom="xl"
|
|
31
38
|
minWidth="375px"
|
|
32
|
-
onSortChange={
|
|
39
|
+
onSortChange={handleSortChange}
|
|
33
40
|
results={1}
|
|
34
41
|
sortOptions={{
|
|
35
42
|
popularity: 'Popularity',
|
|
@@ -38,7 +45,7 @@ const FilterDefault = (props) => {
|
|
|
38
45
|
// eslint-disable-next-line
|
|
39
46
|
manager_name: 'Manager\'s Name',
|
|
40
47
|
}}
|
|
41
|
-
sortValue={
|
|
48
|
+
sortValue={sortValue}
|
|
42
49
|
{...props}
|
|
43
50
|
>
|
|
44
51
|
{({ closePopover }) => (
|
|
@@ -82,7 +89,7 @@ const FilterDefault = (props) => {
|
|
|
82
89
|
<Filter
|
|
83
90
|
double
|
|
84
91
|
minWidth="375px"
|
|
85
|
-
onSortChange={
|
|
92
|
+
onSortChange={handleSortChange2}
|
|
86
93
|
results={0}
|
|
87
94
|
sortOptions={{
|
|
88
95
|
popularity: 'Popularity',
|
|
@@ -91,7 +98,7 @@ const FilterDefault = (props) => {
|
|
|
91
98
|
// eslint-disable-next-line
|
|
92
99
|
manager_name: 'Manager\'s Name',
|
|
93
100
|
}}
|
|
94
|
-
sortValue={
|
|
101
|
+
sortValue={sortValue2}
|
|
95
102
|
{...props}
|
|
96
103
|
>
|
|
97
104
|
{({ closePopover }) => (
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<%= pb_form_with(scope: :example, url: "", method: :get, validate: true) do |form| %>
|
|
2
2
|
<%= form.text_field :example_text_field, props: { label: true, required: true, required_indicator: true } %>
|
|
3
3
|
<%= form.text_field :example_text_field_2, props: { label: "Text Field Custom Label", required: true, required_indicator: true } %>
|
|
4
|
+
<%= form.text_area :example_text_area, props: { label: true, required: true, required_indicator: true } %>
|
|
5
|
+
<%= form.text_area :example_text_area_2, props: { label: "Textarea Custom Label", required: true, required_indicator: true } %>
|
|
4
6
|
<%= form.email_field :example_email_field, props: { label: true, required: true, required_indicator: true } %>
|
|
5
7
|
<%= form.number_field :example_number_field, props: { label: true, required: true, required_indicator: true } %>
|
|
6
8
|
<%= form.search_field :example_search_field, props: { label: true, required: true, required_indicator: true } %>
|
|
@@ -11,4 +13,4 @@
|
|
|
11
13
|
<%= action.submit %>
|
|
12
14
|
<%= action.button props: { type: "reset", text: "Cancel", variant: "secondary" } %>
|
|
13
15
|
<% end %>
|
|
14
|
-
<% end %>
|
|
16
|
+
<% end %>
|
data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.html.erb
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<% treeData = [{
|
|
2
|
+
label: "Power Home Remodeling",
|
|
3
|
+
value: "powerHomeRemodeling",
|
|
4
|
+
id: "100",
|
|
5
|
+
expanded: true,
|
|
6
|
+
children: [
|
|
7
|
+
{
|
|
8
|
+
label: "People",
|
|
9
|
+
value: "people",
|
|
10
|
+
id: "101",
|
|
11
|
+
expanded: true,
|
|
12
|
+
children: [
|
|
13
|
+
{
|
|
14
|
+
label: "Talent Acquisition",
|
|
15
|
+
value: "talentAcquisition",
|
|
16
|
+
id: "102",
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
label: "Business Affairs",
|
|
20
|
+
value: "businessAffairs",
|
|
21
|
+
id: "103",
|
|
22
|
+
children: [
|
|
23
|
+
{
|
|
24
|
+
label: "Initiatives",
|
|
25
|
+
value: "initiatives",
|
|
26
|
+
id: "104",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
label: "Learning & Development",
|
|
30
|
+
value: "learningAndDevelopment",
|
|
31
|
+
id: "105",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: "People Experience",
|
|
37
|
+
value: "peopleExperience",
|
|
38
|
+
id: "106",
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
label: "Contact Center",
|
|
44
|
+
value: "contactCenter",
|
|
45
|
+
id: "107",
|
|
46
|
+
children: [
|
|
47
|
+
{
|
|
48
|
+
label: "Appointment Management",
|
|
49
|
+
value: "appointmentManagement",
|
|
50
|
+
id: "108",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
label: "Customer Service",
|
|
54
|
+
value: "customerService",
|
|
55
|
+
id: "109",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
label: "Energy",
|
|
59
|
+
value: "energy",
|
|
60
|
+
id: "110",
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
}] %>
|
|
66
|
+
|
|
67
|
+
<%= pb_rails("multi_level_select", props: {
|
|
68
|
+
id: "multi-level-select-input-display-none",
|
|
69
|
+
name: :foo,
|
|
70
|
+
tree_data: treeData,
|
|
71
|
+
input_display: "none",
|
|
72
|
+
return_all_selected: true,
|
|
73
|
+
})
|
|
74
|
+
%>
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import MultiLevelSelect from "../_multi_level_select";
|
|
3
|
+
|
|
4
|
+
const treeData = [
|
|
5
|
+
{
|
|
6
|
+
label: "Power Home Remodeling",
|
|
7
|
+
value: "powerHomeRemodeling",
|
|
8
|
+
id: "powerhome1",
|
|
9
|
+
expanded: true,
|
|
10
|
+
children: [
|
|
11
|
+
{
|
|
12
|
+
label: "People",
|
|
13
|
+
value: "people",
|
|
14
|
+
id: "people1",
|
|
15
|
+
expanded: true,
|
|
16
|
+
children: [
|
|
17
|
+
{
|
|
18
|
+
label: "Talent Acquisition",
|
|
19
|
+
value: "talentAcquisition",
|
|
20
|
+
id: "talent1",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
label: "Business Affairs",
|
|
24
|
+
value: "businessAffairs",
|
|
25
|
+
id: "business1",
|
|
26
|
+
children: [
|
|
27
|
+
{
|
|
28
|
+
label: "Initiatives",
|
|
29
|
+
value: "initiatives",
|
|
30
|
+
id: "initiative1",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
label: "Learning & Development",
|
|
34
|
+
value: "learningAndDevelopment",
|
|
35
|
+
id: "development1",
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
label: "People Experience",
|
|
41
|
+
value: "peopleExperience",
|
|
42
|
+
id: "experience1",
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
label: "Contact Center",
|
|
48
|
+
value: "contactCenter",
|
|
49
|
+
id: "contact1",
|
|
50
|
+
children: [
|
|
51
|
+
{
|
|
52
|
+
label: "Appointment Management",
|
|
53
|
+
value: "appointmentManagement",
|
|
54
|
+
id: "appointment1",
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
label: "Customer Service",
|
|
58
|
+
value: "customerService",
|
|
59
|
+
id: "customer1",
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
label: "Energy",
|
|
63
|
+
value: "energy",
|
|
64
|
+
id: "energy1",
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
|
|
72
|
+
const MultiLevelSelectInputDisplay = (props) => {
|
|
73
|
+
return (
|
|
74
|
+
<MultiLevelSelect
|
|
75
|
+
id="multi-level-select-input-display-none"
|
|
76
|
+
inputDisplay="none"
|
|
77
|
+
onSelect={(selectedNodes) =>
|
|
78
|
+
console.log("Selected Items", selectedNodes)
|
|
79
|
+
}
|
|
80
|
+
returnAllSelected
|
|
81
|
+
treeData={treeData}
|
|
82
|
+
{...props}
|
|
83
|
+
/>
|
|
84
|
+
);
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export default MultiLevelSelectInputDisplay;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
Use the `inputDisplay`/`input_display` prop to optionally display only the count in the display as opposed to multiple pills. This prop is set to 'pills' by default.
|
|
2
|
+
|
|
3
|
+
**NOTE**: `inputDisplay`/`input_display` is particularly useful for larger trees that may return many pill selections, helping to keep the input field clean and compact. This prop should not be used with the Single Select variant.
|
|
@@ -1,37 +1,39 @@
|
|
|
1
1
|
examples:
|
|
2
2
|
rails:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
3
|
+
- multi_level_select_default: Default
|
|
4
|
+
- multi_level_select_single: Single Select
|
|
5
|
+
- multi_level_select_single_children_only: Single Select w/ Hidden Radios
|
|
6
|
+
- multi_level_select_return_all_selected: Return All Selected
|
|
7
|
+
- multi_level_select_input_display: With Input Display None
|
|
8
|
+
- multi_level_select_selected_ids: Selected Ids
|
|
9
|
+
- multi_level_select_with_form: With Form
|
|
10
|
+
- multi_level_select_color: With Pills (Custom Color)
|
|
11
|
+
- multi_level_select_reset: Reset Selection
|
|
12
|
+
- multi_level_select_label: With Label
|
|
13
|
+
- multi_level_select_error: Error
|
|
14
|
+
- multi_level_select_disabled: Disabled Input
|
|
15
|
+
- multi_level_select_disabled_options_default: Disabled Options (Default)
|
|
16
|
+
- multi_level_select_disabled_options: Disabled Options (Return All Selected)
|
|
17
|
+
- multi_level_select_disabled_options_parent_default: Disabled Parent Option (Default)
|
|
18
|
+
- multi_level_select_disabled_options_parent: Disabled Parent Option (Return All Selected)
|
|
19
|
+
- multi_level_select_single_disabled: Disabled Options (Single Select)
|
|
19
20
|
|
|
20
21
|
react:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
22
|
+
- multi_level_select_default: Default
|
|
23
|
+
- multi_level_select_react_hook: React Hook
|
|
24
|
+
- multi_level_select_single: Single Select
|
|
25
|
+
- multi_level_select_single_children_only: Single Select w/ Hidden Radios
|
|
26
|
+
- multi_level_select_return_all_selected: Return All Selected
|
|
27
|
+
- multi_level_select_input_display: With Input Display None
|
|
28
|
+
- multi_level_select_selected_ids_react: Selected Ids
|
|
29
|
+
- multi_level_select_color: With Pills (Custom Color)
|
|
30
|
+
- multi_level_select_with_children: Checkboxes With Children
|
|
31
|
+
- multi_level_select_with_children_with_radios: Single Select With Children
|
|
32
|
+
- multi_level_select_label: With Label
|
|
33
|
+
- multi_level_select_error: Error
|
|
34
|
+
- multi_level_select_disabled: Disabled Input
|
|
35
|
+
- multi_level_select_disabled_options_default: Disabled Options (Default)
|
|
36
|
+
- multi_level_select_disabled_options: Disabled Options (Return All Selected)
|
|
37
|
+
- multi_level_select_disabled_options_parent_default: Disabled Parent Option (Default)
|
|
38
|
+
- multi_level_select_disabled_options_parent: Disabled Parent Option (Return All Selected)
|
|
39
|
+
- multi_level_select_single_disabled: Disabled Options (Single Select)
|
|
@@ -4,6 +4,7 @@ export { default as MultiLevelSelectSingleChildrenOnly } from './_multi_level_se
|
|
|
4
4
|
export { default as MultiLevelSelectReturnAllSelected } from './_multi_level_select_return_all_selected.jsx'
|
|
5
5
|
export { default as MultiLevelSelectSelectedIdsReact } from "./_multi_level_select_selected_ids_react.jsx"
|
|
6
6
|
export { default as MultiLevelSelectColor } from './_multi_level_select_color.jsx'
|
|
7
|
+
export { default as MultiLevelSelectInputDisplay } from './_multi_level_select_input_display.jsx'
|
|
7
8
|
export { default as MultiLevelSelectWithChildren } from './_multi_level_select_with_children.jsx'
|
|
8
9
|
export { default as MultiLevelSelectWithChildrenWithRadios } from './_multi_level_select_with_children_with_radios.jsx'
|
|
9
10
|
export { default as MultiLevelSelectDisabled } from './_multi_level_select_disabled.jsx'
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<%= pb_rails("multiple_users", props: {
|
|
2
|
+
with_tooltip: true,
|
|
3
|
+
users: [
|
|
4
|
+
{
|
|
5
|
+
name: "Patrick Welch",
|
|
6
|
+
image_url: "https://randomuser.me/api/portraits/men/9.jpg",
|
|
7
|
+
tooltip: "Patrick Welch - Online"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
name: "Lucille Sanchez",
|
|
11
|
+
image_url: "https://randomuser.me/api/portraits/women/6.jpg",
|
|
12
|
+
tooltip: "Lucille Sanchez - Offline"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: "Beverly Reyes",
|
|
16
|
+
image_url: "https://randomuser.me/api/portraits/women/74.jpg",
|
|
17
|
+
tooltip: "Beverly Reyes - Online"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: "Keith Craig",
|
|
21
|
+
image_url: "https://randomuser.me/api/portraits/men/40.jpg",
|
|
22
|
+
tooltip: "Keith Craig - Away"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: "Alicia Cooper",
|
|
26
|
+
image_url: "https://randomuser.me/api/portraits/women/46.jpg",
|
|
27
|
+
tooltip: "Alicia Cooper - Busy"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
}) %>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Use the `withTooltip` boolean prop to enable setting user-specific tooltip content via the `tooltip` property in the users array.
|
|
1
|
+
Use the `withTooltip` / `with_tooltip` boolean prop to enable setting user-specific tooltip content via the `tooltip` property in the users array.
|
data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.jsx
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
|
|
3
|
+
import { useEditor, EditorContent } from "@tiptap/react"
|
|
4
|
+
import StarterKit from "@tiptap/starter-kit"
|
|
5
|
+
import Link from '@tiptap/extension-link'
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
const RichTextEditorAdvancedRequiredIndicator = (props) => {
|
|
9
|
+
|
|
10
|
+
const editor = useEditor({
|
|
11
|
+
extensions: [
|
|
12
|
+
StarterKit,
|
|
13
|
+
Link
|
|
14
|
+
],
|
|
15
|
+
content:"Add your text here. You can format your text, add links, quotes, and bullets."
|
|
16
|
+
})
|
|
17
|
+
if (!editor) {
|
|
18
|
+
return null
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<div>
|
|
23
|
+
<RichTextEditor
|
|
24
|
+
advancedEditor={editor}
|
|
25
|
+
label="Label"
|
|
26
|
+
requiredIndicator
|
|
27
|
+
{...props}
|
|
28
|
+
>
|
|
29
|
+
<EditorContent editor={editor}/>
|
|
30
|
+
</RichTextEditor>
|
|
31
|
+
</div>
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export default RichTextEditorAdvancedRequiredIndicator
|
data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.md
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
The `requiredIndicator`/`required_indicator` prop displays a red asterisk (*) next to the label, visually indicating that the field is required. This is purely visual and does not enforce validation.
|
|
2
|
+
|
|
3
|
+
You can use `requiredIndicator`/`required_indicator` with any validation approach: HTML5 validation via the `required` prop, client-side validation, or backend validation. For this reason, it works independently and doesn't need to be paired with the `required` prop.
|
data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
<%= pb_rails("rich_text_editor", props: {
|
|
2
|
+
id: "required-indicator",
|
|
3
|
+
input_options: {
|
|
4
|
+
id: 'hidden_input_id',
|
|
5
|
+
name: "hidden_input_name"
|
|
6
|
+
},
|
|
7
|
+
label: "Label",
|
|
8
|
+
required_indicator: true,
|
|
9
|
+
value: "Add your text here. You can format your text, add links, quotes, and bullets."
|
|
10
|
+
}) %>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React, { useState } from 'react'
|
|
2
|
+
import RichTextEditor from '../../pb_rich_text_editor/_rich_text_editor'
|
|
3
|
+
|
|
4
|
+
const RichTextEditorRequiredIndicator = (props) => {
|
|
5
|
+
const [value, setValue] = useState('Add your text here. You can format your text, add links, quotes, and bullets.'),
|
|
6
|
+
handleOnChange = (html) => setValue(html)
|
|
7
|
+
|
|
8
|
+
return (
|
|
9
|
+
<div>
|
|
10
|
+
<RichTextEditor
|
|
11
|
+
label="Label"
|
|
12
|
+
onChange={handleOnChange}
|
|
13
|
+
requiredIndicator
|
|
14
|
+
value={value}
|
|
15
|
+
{...props}
|
|
16
|
+
/>
|
|
17
|
+
</div>
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default RichTextEditorRequiredIndicator
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
The `requiredIndicator`/`required_indicator` prop displays a red asterisk (*) next to the label, visually indicating that the field is required. This is purely visual and does not enforce validation.
|
|
2
|
+
|
|
3
|
+
You can use `requiredIndicator`/`required_indicator` with any validation approach: HTML5 validation via the `required` prop, client-side validation, or backend validation. For this reason, it works independently and doesn't need to be paired with the `required` prop.
|
|
@@ -9,6 +9,7 @@ examples:
|
|
|
9
9
|
- rich_text_editor_templates: Templates
|
|
10
10
|
# - rich_text_editor_toolbar_bottom: Toolbar Bottom
|
|
11
11
|
- rich_text_editor_inline: Inline
|
|
12
|
+
- rich_text_editor_required_indicator: Required Indicator
|
|
12
13
|
- rich_text_editor_preview: Preview
|
|
13
14
|
|
|
14
15
|
react:
|
|
@@ -31,5 +32,7 @@ examples:
|
|
|
31
32
|
- rich_text_editor_advanced_inline: Advanced (Inline)
|
|
32
33
|
- rich_text_editor_advanced_height: Advanced Height
|
|
33
34
|
- rich_text_editor_advanced_min_height: Advanced Min Height
|
|
35
|
+
- rich_text_editor_required_indicator: Required Indicator
|
|
36
|
+
- rich_text_editor_advanced_required_indicator: Advanced Required Indicator
|
|
34
37
|
- rich_text_editor_preview: Preview
|
|
35
38
|
- rich_text_editor_advanced_preview: Advanced Preview
|
|
@@ -19,3 +19,5 @@ export { default as RichTextEditorAdvancedSticky } from './_rich_text_editor_adv
|
|
|
19
19
|
export { default as RichTextEditorAdvancedInline } from './_rich_text_editor_advanced_inline.jsx'
|
|
20
20
|
export { default as RichTextEditorAdvancedHeight } from './_rich_text_editor_advanced_height.jsx'
|
|
21
21
|
export { default as RichTextEditorAdvancedMinHeight } from './_rich_text_editor_advanced_min_height.jsx'
|
|
22
|
+
export { default as RichTextEditorRequiredIndicator } from './_rich_text_editor_required_indicator.jsx'
|
|
23
|
+
export { default as RichTextEditorAdvancedRequiredIndicator } from './_rich_text_editor_advanced_required_indicator.jsx'
|
|
@@ -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`.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, {useState} from 'react'
|
|
2
|
+
|
|
3
|
+
import Textarea from '../_textarea'
|
|
4
|
+
|
|
5
|
+
const TextareaRequiredIndicator = (props) => {
|
|
6
|
+
const [value, setValue] = useState('Default value text')
|
|
7
|
+
const handleChange = (event) => {
|
|
8
|
+
setValue(event.target.value)
|
|
9
|
+
}
|
|
10
|
+
return (
|
|
11
|
+
<div>
|
|
12
|
+
<Textarea
|
|
13
|
+
label="Label"
|
|
14
|
+
name="comment"
|
|
15
|
+
onChange={(e) => handleChange(e)}
|
|
16
|
+
placeholder="Placeholder text"
|
|
17
|
+
requiredIndicator
|
|
18
|
+
value={value}
|
|
19
|
+
{...props}
|
|
20
|
+
/>
|
|
21
|
+
</div>
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default TextareaRequiredIndicator
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
The `requiredIndicator`/`required_indicator` prop displays a red asterisk (*) next to the label, visually indicating that the field is required. This is purely visual and does not enforce validation.
|
|
2
|
+
|
|
3
|
+
You can use `requiredIndicator`/`required_indicator` with any validation approach: HTML5 validation via the `required` prop, client-side validation, or backend validation. For this reason, it works independently and doesn't need to be paired with the `required` prop.
|
|
@@ -8,6 +8,8 @@ examples:
|
|
|
8
8
|
- textarea_character_counter: Character Counter
|
|
9
9
|
- textarea_inline: Inline
|
|
10
10
|
- textarea_emoji_mask: Emoji Mask
|
|
11
|
+
- textarea_required_indicator: Required Indicator
|
|
12
|
+
- textarea_input_options: Input Options
|
|
11
13
|
|
|
12
14
|
react:
|
|
13
15
|
- textarea_default: Default
|
|
@@ -17,8 +19,9 @@ examples:
|
|
|
17
19
|
- textarea_character_counter: Character Counter
|
|
18
20
|
- textarea_inline: Inline
|
|
19
21
|
- textarea_emoji_mask: Emoji Mask
|
|
22
|
+
- textarea_required_indicator: Required Indicator
|
|
20
23
|
|
|
21
24
|
swift:
|
|
22
25
|
- textarea_default_swift: Default
|
|
23
26
|
- textarea_error_swift: Textarea w/ Error
|
|
24
|
-
- textarea_props_swift: ""
|
|
27
|
+
- textarea_props_swift: ""
|
|
@@ -5,3 +5,4 @@ export { default as TextareaError } from './_textarea_error.jsx'
|
|
|
5
5
|
export { default as TextareaCharacterCounter } from './_textarea_character_counter.jsx'
|
|
6
6
|
export { default as TextareaInline } from './_textarea_inline.jsx'
|
|
7
7
|
export { default as TextareaEmojiMask } from './_textarea_emoji_mask.jsx'
|
|
8
|
+
export { default as TextareaRequiredIndicator } from './_textarea_required_indicator.jsx'
|
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.0.0.pre.alpha.
|
|
4
|
+
version: 16.0.0.pre.alpha.play250713764
|
|
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-23 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
|
|
@@ -229,6 +231,8 @@ files:
|
|
|
229
231
|
- app/pb_kits/playbook/pb_background/docs/_background_light.md
|
|
230
232
|
- app/pb_kits/playbook/pb_background/docs/_background_overlay.jsx
|
|
231
233
|
- app/pb_kits/playbook/pb_background/docs/_background_overlay.md
|
|
234
|
+
- app/pb_kits/playbook/pb_background/docs/_background_responsive.jsx
|
|
235
|
+
- app/pb_kits/playbook/pb_background/docs/_background_responsive.md
|
|
232
236
|
- app/pb_kits/playbook/pb_background/docs/_background_size.html.erb
|
|
233
237
|
- app/pb_kits/playbook/pb_background/docs/_background_size.jsx
|
|
234
238
|
- app/pb_kits/playbook/pb_background/docs/_background_size.md
|
|
@@ -1407,6 +1411,9 @@ files:
|
|
|
1407
1411
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_disabled_options_parent_default.md
|
|
1408
1412
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.html.erb
|
|
1409
1413
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_error.jsx
|
|
1414
|
+
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.html.erb
|
|
1415
|
+
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.jsx
|
|
1416
|
+
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_input_display.md
|
|
1410
1417
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.html.erb
|
|
1411
1418
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_label.jsx
|
|
1412
1419
|
- app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_react_hook.jsx
|
|
@@ -1451,6 +1458,7 @@ files:
|
|
|
1451
1458
|
- app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size.jsx
|
|
1452
1459
|
- app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size.md
|
|
1453
1460
|
- app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_size_swift.md
|
|
1461
|
+
- app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.html.erb
|
|
1454
1462
|
- app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.jsx
|
|
1455
1463
|
- app/pb_kits/playbook/pb_multiple_users/docs/_multiple_users_with_tooltip.md
|
|
1456
1464
|
- app/pb_kits/playbook/pb_multiple_users/docs/example.yml
|
|
@@ -1906,6 +1914,8 @@ files:
|
|
|
1906
1914
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.jsx
|
|
1907
1915
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_min_height.md
|
|
1908
1916
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_preview.jsx
|
|
1917
|
+
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.jsx
|
|
1918
|
+
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_required_indicator.md
|
|
1909
1919
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_simple.jsx
|
|
1910
1920
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_sticky.jsx
|
|
1911
1921
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_advanced_sticky.md
|
|
@@ -1923,6 +1933,9 @@ files:
|
|
|
1923
1933
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_more_extensions.md
|
|
1924
1934
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb
|
|
1925
1935
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.jsx
|
|
1936
|
+
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.html.erb
|
|
1937
|
+
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.jsx
|
|
1938
|
+
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_required_indicator.md
|
|
1926
1939
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.html.erb
|
|
1927
1940
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_simple.jsx
|
|
1928
1941
|
- app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_sticky.html.erb
|
|
@@ -2123,6 +2136,7 @@ files:
|
|
|
2123
2136
|
- app/pb_kits/playbook/pb_stat_value/docs/example.yml
|
|
2124
2137
|
- app/pb_kits/playbook/pb_stat_value/docs/index.js
|
|
2125
2138
|
- app/pb_kits/playbook/pb_table/docs/_description.md
|
|
2139
|
+
- app/pb_kits/playbook/pb_table/docs/_sections.yml
|
|
2126
2140
|
- app/pb_kits/playbook/pb_table/docs/_table_action_middle.html.erb
|
|
2127
2141
|
- app/pb_kits/playbook/pb_table/docs/_table_action_middle.jsx
|
|
2128
2142
|
- app/pb_kits/playbook/pb_table/docs/_table_action_middle.md
|
|
@@ -2321,7 +2335,12 @@ files:
|
|
|
2321
2335
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_error_swift.md
|
|
2322
2336
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_inline.html.erb
|
|
2323
2337
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_inline.jsx
|
|
2338
|
+
- app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.html.erb
|
|
2339
|
+
- app/pb_kits/playbook/pb_textarea/docs/_textarea_input_options.md
|
|
2324
2340
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_props_swift.md
|
|
2341
|
+
- app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.html.erb
|
|
2342
|
+
- app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.jsx
|
|
2343
|
+
- app/pb_kits/playbook/pb_textarea/docs/_textarea_required_indicator.md
|
|
2325
2344
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_resize.html.erb
|
|
2326
2345
|
- app/pb_kits/playbook/pb_textarea/docs/_textarea_resize.jsx
|
|
2327
2346
|
- app/pb_kits/playbook/pb_textarea/docs/example.yml
|