playbook_ui_docs 13.30.0.pre.alpha.PLAY1328fixtimelinekitglobalpropsreact3096 → 13.30.0.pre.alpha.play1367contenttagnoninputkits3159
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta_sort.html.erb +59 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta_sort.md +6 -0
- data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +3 -2
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default_swift.md +33 -0
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_props_swift.md +18 -0
- data/app/pb_kits/playbook/pb_date_time_stacked/docs/example.yml +6 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default.jsx +2 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_default.md +1 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_multiple_containers.jsx +5 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards.jsx +11 -4
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_cards.md +4 -2
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list.jsx +2 -2
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list.md +7 -1
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list.jsx +6 -4
- data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list.md +7 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.html.erb +9 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.jsx +34 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_dropdown/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_custom_icon.html.erb +32 -0
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_custom_icon.jsx +48 -0
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_icon/docs/_icon_default.html.erb +1 -1
- data/app/pb_kits/playbook/pb_icon/docs/_icon_default.jsx +2 -3
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.html.erb +1 -1
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.jsx +1 -0
- data/app/pb_kits/playbook/pb_nav/docs/_collapsible_nav.md +3 -1
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_default.html.erb +24 -0
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_default.md +4 -4
- data/app/pb_kits/playbook/pb_overlay/docs/_overlay_multi_directional.html.erb +11 -0
- data/app/pb_kits/playbook/pb_overlay/docs/example.yml +4 -0
- data/dist/menu.yml +2 -2
- data/dist/playbook-doc.js +9 -9
- metadata +13 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e5b4bbd6b84f93a1ad58d9a4d7f6a7e7731af60fdaf0f5195469ca43c4c8335
|
4
|
+
data.tar.gz: 7b8784e03ceea5d1aafc16d3ec09a00e79f21816f60ac9cd1aae1039ed761c1f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 186e294ec92cfd83d388e2edb2b73197cccac711f6a8b220bc1de8d11f5a82162b4c0586c1435f9a14a8270aeccd96e548fb288b087c3a946de9ff98e9c88840
|
7
|
+
data.tar.gz: 4eda2d541dd003126d66f1a20e00679aab0582364529e16095de617f260add46aeeb922d024f0821a311065ed17b90e1ce0984c900ae425c6db1956c7bb670cf
|
@@ -0,0 +1,59 @@
|
|
1
|
+
<%# Example sort method for demonstration purposes %>
|
2
|
+
<% if params["sort"] %>
|
3
|
+
<% sort_param = params["sort"].gsub(/_(asc|desc)\z/, "") %>
|
4
|
+
<% sort_direction = params["sort"].end_with?("_asc") ? 1 : -1 %>
|
5
|
+
<% @table_data.sort! do |a, b|
|
6
|
+
value_a = a[sort_param]
|
7
|
+
value_b = b[sort_param]
|
8
|
+
|
9
|
+
value_a = value_a.to_i if value_a.is_a?(String) && value_a.match?(/^\d+$/)
|
10
|
+
value_b = value_b.to_i if value_b.is_a?(String) && value_b.match?(/^\d+$/)
|
11
|
+
|
12
|
+
sort_direction * (value_a <=> value_b)
|
13
|
+
end %>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<%
|
17
|
+
column_definitions = [
|
18
|
+
{
|
19
|
+
accessor: "year",
|
20
|
+
label: "Year",
|
21
|
+
cellAccessors: ["quarter", "month", "day"],
|
22
|
+
sort_menu: [
|
23
|
+
{ item: "Year", link: "?sort=year_asc#table-sort", active: params["sort"] == "year_asc", direction: "asc" },
|
24
|
+
{ item: "Year", link: "?sort=year_desc#table-sort", active: params["sort"] == "year_desc", direction: "desc" }
|
25
|
+
],
|
26
|
+
},
|
27
|
+
{
|
28
|
+
accessor: "newEnrollments",
|
29
|
+
label: "New Enrollments",
|
30
|
+
},
|
31
|
+
{
|
32
|
+
accessor: "scheduledMeetings",
|
33
|
+
label: "Scheduled Meetings",
|
34
|
+
},
|
35
|
+
{
|
36
|
+
accessor: "attendanceRate",
|
37
|
+
label: "Attendance Rate",
|
38
|
+
},
|
39
|
+
{
|
40
|
+
accessor: "completedClasses",
|
41
|
+
label: "Completed Classes",
|
42
|
+
},
|
43
|
+
{
|
44
|
+
accessor: "classCompletionRate",
|
45
|
+
label: "Class Completion Rate",
|
46
|
+
},
|
47
|
+
{
|
48
|
+
accessor: "graduatedStudents",
|
49
|
+
label: "Graduated Students",
|
50
|
+
}
|
51
|
+
]
|
52
|
+
|
53
|
+
subrow_headers = ["Quarter", "Month", "Day"]
|
54
|
+
%>
|
55
|
+
|
56
|
+
<%= pb_rails("advanced_table", props: { table_data: @table_data, column_definitions: column_definitions }) do %>
|
57
|
+
<%= pb_rails("advanced_table/table_header", props: { column_definitions: column_definitions }) %>
|
58
|
+
<%= pb_rails("advanced_table/table_body", props: { id: "subrow_headers", table_data: @table_data, column_definitions: column_definitions, subrow_headers: subrow_headers, enable_toggle_expansion: "all" }) %>
|
59
|
+
<% end %>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
Optionally enable sorting by passing `sort_menu` to any `column_definition`(s). Sort options are determined by an array of `item` objects passed to the `sort_menu` prop.
|
2
|
+
|
3
|
+
</br>
|
4
|
+
<div class="pb_pill_kit_warning"><div class="pb_title_kit_size_4 pb_pill_text">Disclaimer</div></div>
|
5
|
+
|
6
|
+
This example uses a custom sort method that may need to be modified or replaced within your project.
|
@@ -2,14 +2,15 @@ examples:
|
|
2
2
|
rails:
|
3
3
|
- advanced_table_beta: Default (Required Props)
|
4
4
|
- advanced_table_beta_subrow_headers: SubRow Headers
|
5
|
+
- advanced_table_beta_sort: Enable Sorting
|
5
6
|
react:
|
6
7
|
- advanced_table_default: Default (Required Props)
|
7
8
|
- advanced_table_loading: Loading State
|
8
|
-
- advanced_table_sort:
|
9
|
+
- advanced_table_sort: Enable Sorting
|
9
10
|
- advanced_table_sort_control: Sort Control
|
10
11
|
- advanced_table_expanded_control: Expanded Control
|
11
12
|
- advanced_table_subrow_headers: SubRow Headers
|
12
13
|
- advanced_table_collapsible_trail: Collapsible Trail
|
13
14
|
- advanced_table_table_options: Table Options
|
14
15
|
- advanced_table_table_props: Table Props
|
15
|
-
- advanced_table_inline_row_loading:
|
16
|
+
- advanced_table_inline_row_loading: Inline Row Loading
|
@@ -0,0 +1,33 @@
|
|
1
|
+

|
2
|
+
|
3
|
+
```swift
|
4
|
+
VStack(alignment: .leading, spacing: Spacing.small) {
|
5
|
+
PBDateTimeStacked(
|
6
|
+
timeZoneIdentifier: "EDT",
|
7
|
+
isLowercase: true,
|
8
|
+
isMonthStacked: true,
|
9
|
+
isMonthBold: true
|
10
|
+
)
|
11
|
+
PBDateTimeStacked(
|
12
|
+
timeZoneIdentifier: "EDT",
|
13
|
+
isYearDisplayed: true,
|
14
|
+
isLowercase: true,
|
15
|
+
isMonthStacked: true,
|
16
|
+
isMonthBold: true,
|
17
|
+
isYearBold: true,
|
18
|
+
dateVariant: .standard
|
19
|
+
)
|
20
|
+
PBDateTimeStacked(
|
21
|
+
timeZoneIdentifier: "GMT+9",
|
22
|
+
isLowercase: true,
|
23
|
+
isMonthStacked: true,
|
24
|
+
isMonthBold: true
|
25
|
+
)
|
26
|
+
PBDateTimeStacked(
|
27
|
+
timeZoneIdentifier: "MDT",
|
28
|
+
isLowercase: true,
|
29
|
+
isMonthStacked: true,
|
30
|
+
isMonthBold: true
|
31
|
+
)
|
32
|
+
}
|
33
|
+
```
|
@@ -0,0 +1,18 @@
|
|
1
|
+
### Props
|
2
|
+
| Name | Type | Description | Default | Values |
|
3
|
+
| --- | ----------- | --------- | --------- | --------- |
|
4
|
+
| **dateTime** | `Date` | Takes a date type to calculate the current date | `Date()` | |
|
5
|
+
| **timeDate** | `Date` | Takes a date type to calculate the current time | `Date()` | |
|
6
|
+
| **timeZoneIdentifier** | `String` | A string value that is used in a function to get the correct time in the corrresponding time zone. This value is also used to display the time zone next to the time | | |
|
7
|
+
| **isYearDisplayed** | `Bool` | Determines whether or not the year is displayed with the month and day | `false` | `true` `false` |
|
8
|
+
| **isLowercase** | `Bool` | Determines whether or not am/pm is capitalized | `false` | `true` `false` |
|
9
|
+
| **isMonthStacked** | `Bool` | Determines whether or not the value for month is stacked over the date | `false` | `true` `false` |
|
10
|
+
| **isMonthBold** | `Bool` | Determines whether or not the month is in bold | `false` | `true` `false` |
|
11
|
+
| **isYearBold** | `Bool` | Determines whether or not the year is in bold | `false` | `true` `false` |
|
12
|
+
| **dateAlignment** | `HorizontalAlignment` | Sets alignment of date | `.trailing` | `leading` `center` `trailing` |
|
13
|
+
| **timeAlignment** | `HorizontalAlignment` | Sets alignment of the time zone | `.leading` | `leading` `center` `trailing` |
|
14
|
+
| **dateVariant** | `Variant` | Allows user to choose the style in which the date is displayed | `.short(showIcon: false)` | `.short(showIcon: false)` `.dayDate(showYear: false)` `.standard` ` .withIcon(isStandard: true)` `.withIcon(isStandard: false)` |
|
15
|
+
| **timeVariant** | `Variant` | Allows user to choose the style in which the time is displayed | `.time` | `.time` `.iconTimeZone` `.withTimeZoneHeader` |
|
16
|
+
| **dateSize** | `String` | Allows user to choose the size of the date that is being displayed | `.title4` | `title4` `body` `caption` `large` `subcaption` |
|
17
|
+
| **timeStyle** | `PBFont` | Allows user to choose the size of the time that is being displayed | `.caption` | `body` `caption` `large` `subcaption`|
|
18
|
+
| **timeZoneStyle** | `PBFont` | Allows user to choose the size of the time zone that is being displayed | `.caption` | `body` `caption` `large` `subcaption`|
|
@@ -32,13 +32,14 @@ const DraggableDefault = (props) => {
|
|
32
32
|
<Draggable.Container {...props}>
|
33
33
|
<SelectableList variant="checkbox">
|
34
34
|
{initialState.map(({ id, text }) => (
|
35
|
-
<Draggable.Item
|
35
|
+
<Draggable.Item dragId={id}
|
36
36
|
key={id}
|
37
37
|
>
|
38
38
|
<SelectableList.Item
|
39
39
|
label={text}
|
40
40
|
name={id}
|
41
41
|
value={id}
|
42
|
+
{...props}
|
42
43
|
/>
|
43
44
|
</Draggable.Item>
|
44
45
|
))}
|
@@ -1,4 +1,4 @@
|
|
1
1
|
To use the Draggable kit, you must use the DraggableProvider and pass in `initialItems`. The `onReorder` is a function that returns the data as it changes as items are reordered. Use this to manage state as shown.
|
2
2
|
|
3
3
|
The `Draggable.Container` specifies the container within which items can be dropped.
|
4
|
-
The `Draggable.Item` specifies the items that can be dragged and dropped. `
|
4
|
+
The `Draggable.Item` specifies the items that can be dragged and dropped. `dragId` is a REQUIRED prop for Draggable.Item.
|
@@ -113,12 +113,13 @@ const DraggableMultipleContainer = (props) => {
|
|
113
113
|
}) => (
|
114
114
|
<Draggable.Item
|
115
115
|
container={container}
|
116
|
-
|
116
|
+
dragId={id}
|
117
117
|
key={id}
|
118
118
|
>
|
119
119
|
<Card
|
120
120
|
marginBottom="sm"
|
121
121
|
padding="sm"
|
122
|
+
{...props}
|
122
123
|
>
|
123
124
|
<Flex justify="between">
|
124
125
|
<FlexItem>
|
@@ -131,6 +132,7 @@ const DraggableMultipleContainer = (props) => {
|
|
131
132
|
<Title paddingLeft="xs"
|
132
133
|
size={4}
|
133
134
|
text={title}
|
135
|
+
{...props}
|
134
136
|
/>
|
135
137
|
</Flex>
|
136
138
|
</FlexItem>
|
@@ -139,10 +141,12 @@ const DraggableMultipleContainer = (props) => {
|
|
139
141
|
rounded
|
140
142
|
text={badgeProperties(container).text}
|
141
143
|
variant={badgeProperties(container).color}
|
144
|
+
{...props}
|
142
145
|
/>
|
143
146
|
</Flex>
|
144
147
|
<Body paddingTop="xs"
|
145
148
|
text={description}
|
149
|
+
{...props}
|
146
150
|
/>
|
147
151
|
</Card>
|
148
152
|
</Draggable.Item>
|
@@ -36,29 +36,32 @@ const DraggableWithCards = (props) => {
|
|
36
36
|
>
|
37
37
|
<Draggable.Container {...props}>
|
38
38
|
{initialState.map(({ id, text }) => (
|
39
|
-
<Card
|
39
|
+
<Card dragId={id}
|
40
40
|
draggableItem
|
41
41
|
highlight={{ color: "primary", position: "side" }}
|
42
|
-
id={id}
|
43
42
|
key={id}
|
44
43
|
marginBottom="xs"
|
45
44
|
padding="xs"
|
45
|
+
{...props}
|
46
46
|
>
|
47
47
|
<Flex alignItems="stretch"
|
48
48
|
flexDirection="column"
|
49
49
|
>
|
50
50
|
<Flex gap="xs">
|
51
51
|
<Title size={4}
|
52
|
-
text={text}
|
52
|
+
text={text}
|
53
|
+
{...props}
|
53
54
|
/>
|
54
55
|
<Badge
|
55
56
|
text="35-12345"
|
56
57
|
variant="primary"
|
58
|
+
{...props}
|
57
59
|
/>
|
58
60
|
</Flex>
|
59
61
|
<Caption
|
60
62
|
size="xs"
|
61
63
|
text="8:00A • Township Name • 90210"
|
64
|
+
{...props}
|
62
65
|
/>
|
63
66
|
<Flex gap="xxs"
|
64
67
|
spacing="between"
|
@@ -66,6 +69,7 @@ const DraggableWithCards = (props) => {
|
|
66
69
|
<Flex gap="xxs">
|
67
70
|
<Caption color="error"
|
68
71
|
size="xs"
|
72
|
+
{...props}
|
69
73
|
>
|
70
74
|
<Icon icon="house-circle-exclamation" />
|
71
75
|
</Caption>
|
@@ -78,14 +82,17 @@ const DraggableWithCards = (props) => {
|
|
78
82
|
<Badge rounded
|
79
83
|
text="Schedule QA"
|
80
84
|
variant="warning"
|
85
|
+
{...props}
|
81
86
|
/>
|
82
87
|
<Badge rounded
|
83
88
|
text="Flex"
|
84
|
-
variant="primary"
|
89
|
+
variant="primary"
|
90
|
+
{...props}
|
85
91
|
/>
|
86
92
|
<Badge rounded
|
87
93
|
text="R99"
|
88
94
|
variant="primary"
|
95
|
+
{...props}
|
89
96
|
/>
|
90
97
|
</Flex>
|
91
98
|
</Flex>
|
@@ -1,3 +1,5 @@
|
|
1
|
-
For a simplified version of the Draggable API for the Card kit, You can use the the Card kit as the Draggable Item by using the `draggableItem` prop
|
1
|
+
For a simplified version of the Draggable API for the Card kit, You can use the the Card kit as the Draggable Item by using the `draggableItem` prop. The dragHandle is added by default but this can be opted out of by setting `dragHandle` to false on the Card kit.
|
2
2
|
|
3
|
-
|
3
|
+
In addition to the above `dragId` is a REQUIRED prop to be passedd to the Card kit when implementing dragging.
|
4
|
+
|
5
|
+
The dev must manage state as shown.
|
@@ -30,11 +30,11 @@ const DraggableWithList = (props) => {
|
|
30
30
|
<DraggableProvider initialItems={data}
|
31
31
|
onReorder={(items) => setInitialState(items)}
|
32
32
|
>
|
33
|
-
<List
|
33
|
+
<List enableDrag
|
34
34
|
{...props}
|
35
35
|
>
|
36
36
|
{initialState.map(({ id, text }) => (
|
37
|
-
<ListItem
|
37
|
+
<ListItem dragId={id}
|
38
38
|
key={id}
|
39
39
|
>
|
40
40
|
{text}
|
@@ -1 +1,7 @@
|
|
1
|
-
For a simplified version of the Draggable API for the List kit, use the DraggableProvider to wrap the List kit and use the `
|
1
|
+
For a simplified version of the Draggable API for the List kit, use the DraggableProvider to wrap the List kit and use the `enableDrag` prop.
|
2
|
+
|
3
|
+
In addition to the above `dragId` is a REQUIRED prop to be passed to the List kit when implementing dragging.
|
4
|
+
|
5
|
+
The dev must manage state as shown.
|
6
|
+
|
7
|
+
The dragHandle is added by default but this can be opted out of by setting `dragHandle` to false on the List kit.
|
@@ -29,16 +29,18 @@ const DraggableWithSelectableList = (props) => {
|
|
29
29
|
<DraggableProvider initialItems={data}
|
30
30
|
onReorder={(items) => setInitialState(items)}
|
31
31
|
>
|
32
|
-
<SelectableList
|
33
|
-
variant="
|
32
|
+
<SelectableList enableDrag
|
33
|
+
variant="radio"
|
34
34
|
{...props}
|
35
35
|
>
|
36
36
|
{initialState.map(({ id, text }) => (
|
37
|
-
<SelectableList.Item
|
37
|
+
<SelectableList.Item
|
38
|
+
dragId={id}
|
38
39
|
key={id}
|
39
40
|
label={text}
|
40
|
-
name=
|
41
|
+
name="radio-test"
|
41
42
|
value={id}
|
43
|
+
{...props}
|
42
44
|
/>
|
43
45
|
))}
|
44
46
|
</SelectableList>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
For a simplified version of the Draggable API for the SelectableList kit, use the DraggableProvider to wrap the SelectableList kit and use the `enableDrag` prop.
|
2
|
+
|
3
|
+
In addition to the above `dragId` is a REQUIRED prop to be passed to the SelectableList kit when implementing dragging.
|
4
|
+
|
5
|
+
The dev must manage state as shown.
|
6
|
+
|
7
|
+
The dragHandle is added by default but this can be opted out of by setting `dragHandle` to false on the SelectableList kit.
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<%
|
2
|
+
options = [
|
3
|
+
{ label: 'United States', value: 'United States', id: 'us' },
|
4
|
+
{ label: 'Canada', value: 'Canada', id: 'ca' },
|
5
|
+
{ label: 'Pakistan', value: 'Pakistan', id: 'pk' },
|
6
|
+
]
|
7
|
+
%>
|
8
|
+
|
9
|
+
<%= pb_rails("dropdown", props: { error: "Please make a valid selection", options: options }) %>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import React, { useState } from 'react'
|
2
|
+
import { Dropdown } from '../../'
|
3
|
+
|
4
|
+
const DropdownError = (props) => {
|
5
|
+
const [selectedOption, setSelectedOption] = useState()
|
6
|
+
const error = selectedOption?.value ? null : "Please make a valid selection"
|
7
|
+
const options = [
|
8
|
+
{
|
9
|
+
label: "United States",
|
10
|
+
value: "United States",
|
11
|
+
},
|
12
|
+
{
|
13
|
+
label: "Canada",
|
14
|
+
value: "Canada",
|
15
|
+
},
|
16
|
+
{
|
17
|
+
label: "Pakistan",
|
18
|
+
value: "Pakistan",
|
19
|
+
}
|
20
|
+
]
|
21
|
+
|
22
|
+
return (
|
23
|
+
<>
|
24
|
+
<Dropdown
|
25
|
+
error={error}
|
26
|
+
onSelect={(selectedItem) => setSelectedOption(selectedItem)}
|
27
|
+
options={options}
|
28
|
+
{...props}
|
29
|
+
/>
|
30
|
+
</>
|
31
|
+
)
|
32
|
+
}
|
33
|
+
|
34
|
+
export default DropdownError
|
@@ -7,6 +7,7 @@ examples:
|
|
7
7
|
- dropdown_with_custom_display_rails: Custom Display
|
8
8
|
- dropdown_with_custom_trigger_rails: Custom Trigger
|
9
9
|
- dropdown_with_custom_padding: Custom Option Padding
|
10
|
+
- dropdown_error: Dropdown with Error
|
10
11
|
|
11
12
|
react:
|
12
13
|
- dropdown_default: Default
|
@@ -16,6 +17,7 @@ examples:
|
|
16
17
|
- dropdown_with_custom_display: Custom Display
|
17
18
|
- dropdown_with_custom_trigger: Custom Trigger
|
18
19
|
- dropdown_with_custom_padding: Custom Option Padding
|
20
|
+
- dropdown_error: Dropdown with Error
|
19
21
|
# - dropdown_with_autocomplete: Autocomplete
|
20
22
|
# - dropdown_with_autocomplete_and_custom_display: Autocomplete with Custom Display
|
21
23
|
# - dropdown_with_external_control: useDropdown Hook
|
@@ -8,4 +8,5 @@ export { default as DropdownWithCustomPadding } from './_dropdown_with_custom_pa
|
|
8
8
|
export { default as DropdownWithLabel } from './_dropdown_with_label.jsx'
|
9
9
|
export { default as DropdownWithExternalControl } from './_dropdown_with_external_control.jsx'
|
10
10
|
export { default as DropdownWithHook } from './_dropdown_with_hook.jsx'
|
11
|
-
export { default as DropdownSubcomponentStructure } from './_dropdown_subcomponent_structure.jsx'
|
11
|
+
export { default as DropdownSubcomponentStructure } from './_dropdown_subcomponent_structure.jsx'
|
12
|
+
export { default as DropdownError } from './_dropdown_error.jsx'
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<div>
|
2
|
+
<%= pb_rails("fixed_confirmation_toast", props: {
|
3
|
+
icon: "wrench",
|
4
|
+
text: "Fix before proceeding",
|
5
|
+
status: "error",
|
6
|
+
closeable: true,
|
7
|
+
margin_bottom: "md"
|
8
|
+
})%>
|
9
|
+
</div>
|
10
|
+
<div>
|
11
|
+
<%= pb_rails("fixed_confirmation_toast", props: {
|
12
|
+
icon: "star",
|
13
|
+
text: "Thank you for completing the form!",
|
14
|
+
status: "success",
|
15
|
+
margin_bottom: "md"
|
16
|
+
})%>
|
17
|
+
</div>
|
18
|
+
<div>
|
19
|
+
<%= pb_rails("fixed_confirmation_toast", props: {
|
20
|
+
icon: "file-pdf",
|
21
|
+
text: "Saved as PDF",
|
22
|
+
status: "neutral",
|
23
|
+
margin_bottom: "md"
|
24
|
+
})%>
|
25
|
+
</div>
|
26
|
+
<div>
|
27
|
+
<%= pb_rails("fixed_confirmation_toast", props: {
|
28
|
+
icon: "arrow-down",
|
29
|
+
text: "New Messages",
|
30
|
+
status: "tip"
|
31
|
+
})%>
|
32
|
+
</div>
|
data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_custom_icon.jsx
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
|
3
|
+
import FixedConfirmationToast from '../_fixed_confirmation_toast'
|
4
|
+
|
5
|
+
const FixedConfirmationToastCustomIcon = (props) => {
|
6
|
+
return (
|
7
|
+
<div>
|
8
|
+
<div>
|
9
|
+
<FixedConfirmationToast
|
10
|
+
closeable
|
11
|
+
icon="wrench"
|
12
|
+
marginBottom="md"
|
13
|
+
status="error"
|
14
|
+
text="Fix before proceeding"
|
15
|
+
{...props}
|
16
|
+
/>
|
17
|
+
</div>
|
18
|
+
<div>
|
19
|
+
<FixedConfirmationToast
|
20
|
+
icon="star"
|
21
|
+
marginBottom="md"
|
22
|
+
status="success"
|
23
|
+
text="Thank you for completing the form!"
|
24
|
+
{...props}
|
25
|
+
/>
|
26
|
+
</div>
|
27
|
+
<div>
|
28
|
+
<FixedConfirmationToast
|
29
|
+
icon="file-pdf"
|
30
|
+
marginBottom="md"
|
31
|
+
status="neutral"
|
32
|
+
text="Saved as PDF"
|
33
|
+
{...props}
|
34
|
+
/>
|
35
|
+
</div>
|
36
|
+
<div>
|
37
|
+
<FixedConfirmationToast
|
38
|
+
icon="arrow-down"
|
39
|
+
status="tip"
|
40
|
+
text="New Messages"
|
41
|
+
{...props}
|
42
|
+
/>
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
)
|
46
|
+
}
|
47
|
+
|
48
|
+
export default FixedConfirmationToastCustomIcon
|
@@ -6,6 +6,7 @@ examples:
|
|
6
6
|
- fixed_confirmation_toast_close: Click to Close
|
7
7
|
- fixed_confirmation_toast_positions: Click to Show Positions
|
8
8
|
- fixed_confirmation_toast_children: Children
|
9
|
+
- fixed_confirmation_toast_custom_icon: Custom Icon
|
9
10
|
|
10
11
|
react:
|
11
12
|
- fixed_confirmation_toast_default: Default
|
@@ -14,6 +15,7 @@ examples:
|
|
14
15
|
- fixed_confirmation_toast_positions: Click to Show Positions
|
15
16
|
- fixed_confirmation_toast_auto_close: Click to Show Auto Close
|
16
17
|
- fixed_confirmation_toast_children: Children
|
18
|
+
- fixed_confirmation_toast_custom_icon: Custom Icon
|
17
19
|
|
18
20
|
swift:
|
19
21
|
- fixed_confirmation_toast_default_swift: Default
|
@@ -4,3 +4,4 @@ export { default as FixedConfirmationToastClose } from './_fixed_confirmation_to
|
|
4
4
|
export { default as FixedConfirmationToastPositions } from './_fixed_confirmation_toast_positions.jsx'
|
5
5
|
export { default as FixedConfirmationToastAutoClose } from './_fixed_confirmation_toast_auto_close.jsx'
|
6
6
|
export { default as FixedConfirmationToastChildren } from './_fixed_confirmation_toast_children.jsx'
|
7
|
+
export { default as FixedConfirmationToastCustomIcon } from './_fixed_confirmation_toast_custom_icon.jsx'
|
@@ -1 +1 @@
|
|
1
|
-
<%= pb_rails("icon", props: { icon: "user", fixed_width: true }) %>
|
1
|
+
<%= pb_rails("icon", props: { icon: "user", fixed_width: true }) %>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<%= pb_rails("nav", props: { variant: "bold" }) do %>
|
2
|
-
<%= pb_rails("nav/item", props: { text: "Overview", link: "#", collapsible: true, icon_left:"city" }) do %>
|
2
|
+
<%= pb_rails("nav/item", props: { text: "Overview", link: "#", collapsible: true, icon_left:"city", collapsed: false }) do %>
|
3
3
|
<%= pb_rails("nav", props: { variant: "bold" }) do %>
|
4
4
|
<%= pb_rails("nav/item", props: { text: "City", link: "#" }) %>
|
5
5
|
<%= pb_rails("nav/item", props: { text: "People", link: "#" }) %>
|
@@ -1 +1,3 @@
|
|
1
|
-
The `collapsible` prop allows users to create a nested, collapsible nav. Pass `collapsible` to any NavItem and pass that navItem any number of NavItems as children to create a collapsible nav.
|
1
|
+
The `collapsible` prop allows users to create a nested, collapsible nav. Pass `collapsible` to any NavItem and pass that navItem any number of NavItems as children to create a collapsible nav.
|
2
|
+
|
3
|
+
The optional `collapsed` prop can also be used to set the default state for the collapsed nav on first render of the page. `collapsed` takes a boolean value that is set to true (meaning nav is collapsed) by default. Set it to false as shown here to have the nav open on first render.
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<%= pb_rails("overlay") do %>
|
2
|
+
<%= pb_rails("table", props: { size: "sm" }) do %>
|
3
|
+
<thead>
|
4
|
+
<tr>
|
5
|
+
<th>Column 1</th>
|
6
|
+
<th>Column 2</th>
|
7
|
+
<th>Column 3</th>
|
8
|
+
<th>Column 4</th>
|
9
|
+
<th>Column 5</th>
|
10
|
+
</tr>
|
11
|
+
</thead>
|
12
|
+
<tbody>
|
13
|
+
<% 7.times do %>
|
14
|
+
<tr>
|
15
|
+
<td>Value 1</td>
|
16
|
+
<td>Value 2</td>
|
17
|
+
<td>Value 3</td>
|
18
|
+
<td>Value 4</td>
|
19
|
+
<td>Value 5</td>
|
20
|
+
</tr>
|
21
|
+
<% end %>
|
22
|
+
</tbody>
|
23
|
+
<% end %>
|
24
|
+
<% end %>
|
@@ -1,7 +1,7 @@
|
|
1
|
-
Overlays
|
1
|
+
Overlays optionally accept a `color`, which sets the "start" (opaque) color of a gradient mask. Because this overlay is intended to reveal underlying content, the "end" color is fixed to transparent.
|
2
2
|
|
3
|
-
The optional `layout` prop accepts
|
3
|
+
The optional `layout` prop accepts the `position` and `size` of the overlay as a key:value pair.
|
4
4
|
|
5
|
-
The `position` key accepts `
|
5
|
+
The `position` key accepts `bottom` (default), `top`, `y` (for both top and bottom) `right`, `left`, or `x` (for both left and right), which sets the side(s) where the `color` overlay starts. The direction of the overlay is always toward the opposite side of the position. For example, the default position of `bottom` starts the overlay on the bottom edge of your container and extends it toward the opposite side: the top.
|
6
6
|
|
7
|
-
The `size` value accepts our [spacing tokens](https://playbook.powerapp.cloud/visual_guidelines/spacing) or a percentage value as a string, and literally translates to how much of the container is covered by the overlay
|
7
|
+
The `size` value is `full` (100%) by default, but accepts our [spacing tokens](https://playbook.powerapp.cloud/visual_guidelines/spacing) or a percentage value as a string, and literally translates to how much of the container is covered by the overlay(s).
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%= pb_rails("overlay", props: { layout: { "x": "xl" }, color: "card_light" }) do %>
|
2
|
+
<%= pb_rails("flex", props: { column_gap: "lg", orientation: "row", overflow_x: "auto" }) do %>
|
3
|
+
<% 15.times do %>
|
4
|
+
<%= pb_rails("flex/flex_item") do %>
|
5
|
+
<%= pb_rails("card") do %>
|
6
|
+
Card content
|
7
|
+
<% end %>
|
8
|
+
<% end %>
|
9
|
+
<% end %>
|
10
|
+
<% end %>
|
11
|
+
<% end %>
|