playbook_ui_docs 14.19.0.pre.rc.2 → 14.19.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 (64) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_beta.md +0 -6
  3. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows_rails.md +5 -1
  4. data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_no_subrows.jsx → _advanced_table_selectable_rows_no_subrows_react.jsx} +2 -2
  5. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_rails.md +3 -2
  6. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +3 -3
  7. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -1
  8. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_grayscale.html.erb +5 -0
  9. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_grayscale.jsx +16 -0
  10. data/app/pb_kits/playbook/pb_avatar/docs/example.yml +2 -0
  11. data/app/pb_kits/playbook/pb_avatar/docs/index.js +1 -0
  12. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +2 -2
  13. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones.html.erb +22 -1
  14. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_line.html.erb +55 -0
  15. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_line_rails.md +5 -0
  16. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_drop_zones_rails.md +5 -0
  17. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners.jsx +59 -0
  18. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_event_listeners_react.md +1 -0
  19. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +2 -0
  20. data/app/pb_kits/playbook/pb_draggable/docs/index.js +2 -1
  21. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_error.html.erb +5 -2
  22. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.html.erb +28 -0
  23. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete.jsx +17 -64
  24. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.html.erb +58 -0
  25. data/app/pb_kits/playbook/pb_dropdown/docs/{_dropdown_with_autocomplete_and_custom_display.jsx → _dropdown_with_autocomplete_with_subcomponents.jsx} +11 -25
  26. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_with_subcomponents.md +1 -0
  27. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_external_control.md +1 -0
  28. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search.jsx +61 -0
  29. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search.md +2 -0
  30. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search_rails.html.erb +52 -0
  31. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_search_rails.md +2 -0
  32. data/app/pb_kits/playbook/pb_dropdown/docs/example.yml +7 -4
  33. data/app/pb_kits/playbook/pb_dropdown/docs/index.js +2 -2
  34. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_alignment.html.erb +27 -0
  35. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_default.html.erb +7 -0
  36. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_orientation.html.erb +12 -0
  37. data/app/pb_kits/playbook/pb_empty_state/docs/_empty_state_size.html.erb +23 -0
  38. data/app/pb_kits/playbook/pb_empty_state/docs/example.yml +5 -1
  39. data/app/pb_kits/playbook/pb_message/docs/_message_grayscale.html.erb +9 -0
  40. data/app/pb_kits/playbook/pb_message/docs/_message_grayscale.jsx +21 -0
  41. data/app/pb_kits/playbook/pb_message/docs/example.yml +2 -0
  42. data/app/pb_kits/playbook/pb_message/docs/index.js +1 -0
  43. data/app/pb_kits/playbook/pb_overlay/docs/_overlay_vertical_dynamic_multi_directional.jsx +1 -1
  44. data/app/pb_kits/playbook/pb_select/docs/_select_error.html.erb +1 -1
  45. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_with_custom_click.jsx +7 -7
  46. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_error.html.erb +1 -1
  47. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_error.html.erb +5 -1
  48. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_error_state.html.erb +8 -1
  49. data/app/pb_kits/playbook/pb_user/docs/_user_grayscale.html.erb +6 -0
  50. data/app/pb_kits/playbook/pb_user/docs/_user_grayscale.jsx +16 -0
  51. data/app/pb_kits/playbook/pb_user/docs/example.yml +2 -0
  52. data/app/pb_kits/playbook/pb_user/docs/index.js +1 -0
  53. data/dist/playbook-doc.js +2 -2
  54. metadata +32 -14
  55. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_autocomplete_and_custom_display.md +0 -1
  56. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_with_hook.jsx +0 -79
  57. data/app/pb_kits/playbook/pb_gantt_chart/docs/_gantt_chart_default.jsx +0 -53
  58. data/app/pb_kits/playbook/pb_gantt_chart/docs/example.yml +0 -7
  59. data/app/pb_kits/playbook/pb_gantt_chart/docs/index.js +0 -1
  60. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_react.md → _advanced_table_selectable_rows.md} +0 -0
  61. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows_no_subrows.html.erb → _advanced_table_selectable_rows_no_subrows_rails.html.erb} +0 -0
  62. /data/app/pb_kits/playbook/pb_advanced_table/docs/{_advanced_table_selectable_rows.html.erb → _advanced_table_selectable_rows_rails.html.erb} +0 -0
  63. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_drop_zones_line.md → _draggable_drop_zones_line_react.md} +0 -0
  64. /data/app/pb_kits/playbook/pb_draggable/docs/{_draggable_event_listeners.md → _draggable_event_listeners_rails.md} +0 -0
@@ -0,0 +1,61 @@
1
+ import React, { useState } from 'react'
2
+ import Dropdown from '../../pb_dropdown/_dropdown'
3
+ import IconCircle from '../../pb_icon_circle/_icon_circle';
4
+
5
+ const DropdownWithSearch = (props) => {
6
+ const [selectedOption, setSelectedOption] = useState();
7
+
8
+ const options = [
9
+ {
10
+ label: "United States",
11
+ value: "United States",
12
+ icon: "🇺🇸",
13
+ id: "United-states"
14
+
15
+ },
16
+ {
17
+ label: "United Kingdom",
18
+ value: "United Kingdom",
19
+ icon: "🇬🇧",
20
+ id: "united-kingdom"
21
+ },
22
+ {
23
+ label: "Pakistan",
24
+ value: "Pakistan",
25
+ icon: "🇵🇰",
26
+ id: "pakistan"
27
+ }
28
+ ];
29
+
30
+
31
+ return (
32
+ <div>
33
+ <Dropdown
34
+ onSelect={(selectedItem) => setSelectedOption(selectedItem)}
35
+ options={options}
36
+ {...props}
37
+ >
38
+ <Dropdown.Trigger>
39
+ <div key={selectedOption ? selectedOption.icon : "flag"}>
40
+ <IconCircle
41
+ cursor="pointer"
42
+ icon={selectedOption ? selectedOption.icon : "flag"}
43
+ variant="royal"
44
+ />
45
+ </div>
46
+ </Dropdown.Trigger>
47
+ <Dropdown.Container maxWidth="xs"
48
+ searchbar
49
+ >
50
+ {options.map((option) => (
51
+ <Dropdown.Option key={option.id}
52
+ option={option}
53
+ />
54
+ ))}
55
+ </Dropdown.Container>
56
+ </Dropdown>
57
+ </div>
58
+ )
59
+ }
60
+
61
+ export default DropdownWithSearch
@@ -0,0 +1,2 @@
1
+ The optional `searchbar` boolean prop can also be used on the `Dropdown.Container` to render a searchbar with typeahead functionality within the dropdown itself. This is especially useful when a custom trigger is being used.
2
+ `searchbar` is set to false by default.
@@ -0,0 +1,52 @@
1
+ <%
2
+ options = [
3
+ {
4
+ label: "United States",
5
+ value: "United States",
6
+ areaCode: "+1",
7
+ icon: "🇺🇸",
8
+ id: "us"
9
+ },
10
+ {
11
+ label: "United Kingdom",
12
+ value: "United Kingdom",
13
+ areaCode: "+44",
14
+ icon: "🇬🇧",
15
+ id: "gb"
16
+ },
17
+ {
18
+ label: "Pakistan",
19
+ value: "Pakistan",
20
+ areaCode: "+92",
21
+ icon: "🇵🇰",
22
+ id: "pk"
23
+ }
24
+ ]
25
+
26
+ %>
27
+
28
+ <%= pb_rails("dropdown", props: {options: options}) do %>
29
+ <%= pb_rails("dropdown/dropdown_trigger") do %>
30
+ <%= pb_rails("icon_circle", props: {icon:"flag", cursor: "pointer", variant:"royal"}) %>
31
+ <% end %>
32
+ <%= pb_rails("dropdown/dropdown_container", props:{max_width:"xs", searchbar: true}) do %>
33
+ <% options.each do |option| %>
34
+ <%= pb_rails("dropdown/dropdown_option", props: {option: option}) do %>
35
+ <%= pb_rails("flex", props: {
36
+ align: "center",
37
+ justify: "between",
38
+ }) do %>
39
+ <%= pb_rails("flex/flex_item") do %>
40
+ <%= pb_rails("flex") do %>
41
+ <%= pb_rails("icon", props: {icon: option[:icon]}) %>
42
+ <%= pb_rails("body", props: {text: option[:label], padding_left:"xs"}) %>
43
+ <% end %>
44
+ <% end %>
45
+ <%= pb_rails("flex/flex_item") do %>
46
+ <%= pb_rails("body", props: {color:"light", text: option[:areaCode]}) %>
47
+ <% end %>
48
+ <% end %>
49
+ <% end %>
50
+ <% end %>
51
+ <% end %>
52
+ <% end %>
@@ -0,0 +1,2 @@
1
+ The optional `searchbar` boolean prop can also be used on the `dropdown/dropdown_container` to render a searchbar with typeahead functionality within the dropdown itself. This is especially useful when a custom trigger is being used.
2
+ `searchbar` is set to false by default.
@@ -1,12 +1,15 @@
1
1
  examples:
2
2
  rails:
3
3
  - dropdown_default: Default
4
+ - dropdown_with_autocomplete: Autocomplete
4
5
  - dropdown_subtle_variant: Subtle Variant
5
6
  - dropdown_subcomponent_structure_rails: Subcomponent Structure
7
+ - dropdown_with_autocomplete_with_subcomponents: Autocomplete with Subcomponent Structure
6
8
  - dropdown_with_label: With Label
7
9
  - dropdown_with_custom_options_rails: Custom Options
8
10
  - dropdown_with_custom_display_rails: Custom Display
9
11
  - dropdown_with_custom_trigger_rails: Custom Trigger
12
+ - dropdown_with_search_rails: Custom Trigger Dropdown with Search
10
13
  - dropdown_with_custom_padding: Custom Option Padding
11
14
  - dropdown_error: Dropdown with Error
12
15
  - dropdown_default_value: Default Value
@@ -15,20 +18,20 @@ examples:
15
18
 
16
19
  react:
17
20
  - dropdown_default: Default
21
+ - dropdown_with_autocomplete: Autocomplete
18
22
  - dropdown_subtle_variant: Subtle Variant
19
23
  - dropdown_subcomponent_structure: Subcomponent Structure
24
+ - dropdown_with_autocomplete_with_subcomponents: Autocomplete with Subcomponent Structure
20
25
  - dropdown_with_label: With Label
21
26
  - dropdown_with_custom_options: Custom Options
22
27
  - dropdown_with_custom_display: Custom Display
23
28
  - dropdown_with_custom_trigger: Custom Trigger
29
+ - dropdown_with_search: Custom Trigger Dropdown with Search
24
30
  - dropdown_with_custom_padding: Custom Option Padding
25
31
  - dropdown_error: Dropdown with Error
26
32
  - dropdown_default_value: Default Value
27
33
  - dropdown_blank_selection: Blank Selection
28
34
  - dropdown_clear_selection: Clear Selection
29
35
  - dropdown_separators_hidden: Separators Hidden
30
- # - dropdown_with_autocomplete: Autocomplete
31
- # - dropdown_with_autocomplete_and_custom_display: Autocomplete with Custom Display
32
- # - dropdown_with_external_control: useDropdown Hook
33
- # - dropdown_with_hook: useDropdown Hook with Any Trigger
36
+ - dropdown_with_external_control: useDropdown Hook
34
37
 
@@ -3,11 +3,10 @@ export { default as DropdownWithCustomDisplay } from './_dropdown_with_custom_di
3
3
  export { default as DropdownWithCustomOptions } from './_dropdown_with_custom_options.jsx'
4
4
  export { default as DropdownWithCustomTrigger } from './_dropdown_with_custom_trigger.jsx'
5
5
  export { default as DropdownWithAutocomplete } from './_dropdown_with_autocomplete.jsx'
6
- export { default as DropdownWithAutocompleteAndCustomDisplay } from './_dropdown_with_autocomplete_and_custom_display.jsx'
6
+ export { default as DropdownWithAutocompleteWithSubcomponents } from './_dropdown_with_autocomplete_with_subcomponents.jsx'
7
7
  export { default as DropdownWithCustomPadding } from './_dropdown_with_custom_padding.jsx'
8
8
  export { default as DropdownWithLabel } from './_dropdown_with_label.jsx'
9
9
  export { default as DropdownWithExternalControl } from './_dropdown_with_external_control.jsx'
10
- export { default as DropdownWithHook } from './_dropdown_with_hook.jsx'
11
10
  export { default as DropdownSubcomponentStructure } from './_dropdown_subcomponent_structure.jsx'
12
11
  export { default as DropdownError } from './_dropdown_error.jsx'
13
12
  export { default as DropdownDefaultValue } from './_dropdown_default_value.jsx'
@@ -15,3 +14,4 @@ export { default as DropdownBlankSelection } from './_dropdown_blank_selection.j
15
14
  export { default as DropdownClearSelection } from './_dropdown_clear_selection.jsx'
16
15
  export { default as DropdownSubtleVariant } from './_dropdown_subtle_variant.jsx'
17
16
  export { default as DropdownSeparatorsHidden } from './_dropdown_separators_hidden.jsx'
17
+ export {default as DropdownWithSearch} from './_dropdown_with_search.jsx'
@@ -0,0 +1,27 @@
1
+ <%= pb_rails("flex", props: {align: "center", spacing: "evenly", wrap: true}) do %>
2
+ <%= pb_rails("empty_state", props: {
3
+ description: "Body text goes into detail with possible steps for user to take",
4
+ header: "Title Explains",
5
+ image: "default",
6
+ primary_button: "Next Action",
7
+ primary_button_url: "#primary_button_url",
8
+ alignment: "left",
9
+ }) %>
10
+
11
+ <%= pb_rails("empty_state", props: {
12
+ description: "Body text goes into detail with possible steps for user to take",
13
+ header: "Title Explains",
14
+ image: "default",
15
+ primary_button: "Next Action",
16
+ primary_button_url: "#primary_button_url",
17
+ }) %>
18
+
19
+ <%= pb_rails("empty_state", props: {
20
+ description: "Body text goes into detail with possible steps for user to take",
21
+ header: "Title Explains",
22
+ image: "default",
23
+ primary_button: "Next Action",
24
+ primary_button_url: "#primary_button_url",
25
+ alignment: "right",
26
+ }) %>
27
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <%= pb_rails("flex", props: {align: "center", justify: "center"}) do %>
2
+ <%= pb_rails("empty_state", props: {
3
+ description: "Body text goes into detail with possible steps for user to take",
4
+ header: "Title Explains",
5
+ image: "default",
6
+ }) %>
7
+ <% end %>
@@ -0,0 +1,12 @@
1
+ <%= pb_rails("flex", props: {align: "center", justify: "center", wrap: true}) do %>
2
+ <%= pb_rails("empty_state", props: {
3
+ description: "Body text goes into detail with possible steps for user to take",
4
+ header: "Title Explains",
5
+ image: "default",
6
+ orientation:"horizontal",
7
+ alignment: "left",
8
+ size: "lg",
9
+ primary_button: "Next Action",
10
+ primary_button_url: "#primary_button_url",
11
+ }) %>
12
+ <% end %>
@@ -0,0 +1,23 @@
1
+ <%= pb_rails("flex", props: {align: "center", spacing: "evenly", wrap: true}) do %>
2
+ <%= pb_rails("empty_state", props: {
3
+ description: "Body text goes into detail with possible steps for user to take",
4
+ header: "Title Explains",
5
+ image: "default",
6
+ primary_button: "Next Action",
7
+ primary_button_url: "#primary_button_url",
8
+ link_button: "Alt Action",
9
+ link_button_url: "#link_button_url",
10
+ size: "sm",
11
+ }) %>
12
+
13
+ <%= pb_rails("empty_state", props: {
14
+ description: "Body text goes into detail with possible steps for user to take",
15
+ header: "Title Explains",
16
+ image: "default",
17
+ primary_button: "Next Action",
18
+ primary_button_url: "#primary_button_url",
19
+ link_button: "Alt Action",
20
+ link_button_url: "#link_button_url",
21
+ size: "lg",
22
+ }) %>
23
+ <% end %>
@@ -1,5 +1,9 @@
1
1
  examples:
2
-
2
+ rails:
3
+ - empty_state_default: Default
4
+ - empty_state_size: Size
5
+ - empty_state_orientation: Orientation
6
+ - empty_state_alignment: Alignment
3
7
 
4
8
  react:
5
9
  - empty_state_default: Default
@@ -0,0 +1,9 @@
1
+ <%= pb_rails("message", props: {
2
+ label: "Mike Bishop",
3
+ message: "So long, and thanks for all the fish!",
4
+ timestamp: "3 months ago",
5
+ avatar_name: "Mike Bishop",
6
+ avatar_url: "https://randomuser.me/api/portraits/men/50.jpg",
7
+ avatar_status: "offline",
8
+ avatar_grayscale: true,
9
+ }) %>
@@ -0,0 +1,21 @@
1
+ import React from "react"
2
+
3
+ import Message from "../_message"
4
+
5
+ const MessageGrayscale = (props) => {
6
+ return (
7
+ <Message
8
+ avatarGrayscale
9
+ avatarName='Mike Bishop'
10
+ avatarStatus='offline'
11
+ avatarUrl='https://randomuser.me/api/portraits/men/50.jpg'
12
+ borderRadius='rounded'
13
+ label='Mike Bishop'
14
+ message='So long, and thanks for all the fish!'
15
+ timestamp='3 months ago'
16
+ {...props}
17
+ />
18
+ )
19
+ }
20
+
21
+ export default MessageGrayscale
@@ -5,12 +5,14 @@ examples:
5
5
  - message_timestamp: With Timestamp Hover
6
6
  - message_hover: Hover
7
7
  - message_mentions: Mentions
8
+ - message_grayscale: Grayscale Avatar
8
9
 
9
10
  react:
10
11
  - message_default: Default
11
12
  - message_timestamp: With Timestamp Hover
12
13
  - message_hover: Hover
13
14
  - message_mentions: Mentions
15
+ - message_grayscale: Grayscale Avatar
14
16
 
15
17
  swift:
16
18
  - message_default_swift: Default
@@ -2,3 +2,4 @@ export { default as MessageDefault } from './_message_default.jsx'
2
2
  export { default as MessageTimestamp } from './_message_timestamp.jsx'
3
3
  export { default as MessageHover } from './_message_hover.jsx'
4
4
  export { default as MessageMentions } from './_message_mentions.jsx'
5
+ export { default as MessageGrayscale } from './_message_grayscale.jsx'
@@ -9,7 +9,7 @@ const InlineCardsExample = forwardRef(function InlineCardsExample(ref) {
9
9
  <Flex
10
10
  columnGap="lg"
11
11
  orientation="row"
12
- ref={ref}
12
+ ref={ref}
13
13
  >
14
14
  {Array.from({ length: 15 }, (_, index) => (
15
15
  <FlexItem key={index}>
@@ -1,5 +1,5 @@
1
1
  <%= pb_rails("select", props: {
2
- error: "Please make a valid selection",
2
+ error: raw(pb_rails("icon", props: { icon: "warning" }) + " Please make a valid selection"),
3
3
  label: "Favorite Food",
4
4
  name: "food",
5
5
  options: [
@@ -8,7 +8,7 @@ const TableWithCollapsibleWithCustomClick = (props) => {
8
8
 
9
9
  const Content = () => {
10
10
  return (
11
- <Card
11
+ <Card
12
12
  borderNone
13
13
  borderRadius="none"
14
14
  padding="md"
@@ -37,7 +37,7 @@ return (
37
37
 
38
38
  </Table.Head>
39
39
  <Table.Body>
40
- <Table.Row collapsible
40
+ <Table.Row collapsible
41
41
  collapsibleContent={<Content/>}
42
42
  toggleCellId="cell-1"
43
43
  {...props}
@@ -47,7 +47,7 @@ return (
47
47
  <Table.Cell>{'Value 3'}</Table.Cell>
48
48
  <Table.Cell>{'Value 4'}</Table.Cell>
49
49
  <Table.Cell>{'Value 5'}</Table.Cell>
50
- <Table.Cell cursor="pointer"
50
+ <Table.Cell cursor="pointer"
51
51
  id="cell-1"
52
52
  textAlign="right"
53
53
  >
@@ -59,7 +59,7 @@ return (
59
59
  </Table.Cell>
60
60
 
61
61
  </Table.Row>
62
- <Table.Row collapsible
62
+ <Table.Row collapsible
63
63
  collapsibleContent={<Content/>}
64
64
  toggleCellId="cell-2"
65
65
  {...props}
@@ -69,7 +69,7 @@ return (
69
69
  <Table.Cell>{'Value 3'}</Table.Cell>
70
70
  <Table.Cell>{'Value 4'}</Table.Cell>
71
71
  <Table.Cell>{'Value 5'}</Table.Cell>
72
- <Table.Cell cursor="pointer"
72
+ <Table.Cell cursor="pointer"
73
73
  id="cell-2"
74
74
  textAlign="right"
75
75
  >
@@ -81,7 +81,7 @@ return (
81
81
  </Table.Cell>
82
82
 
83
83
  </Table.Row>
84
- <Table.Row collapsible
84
+ <Table.Row collapsible
85
85
  collapsibleContent={<Content/>}
86
86
  toggleCellId="cell-3"
87
87
  {...props}
@@ -91,7 +91,7 @@ return (
91
91
  <Table.Cell>{'Value 3'}</Table.Cell>
92
92
  <Table.Cell>{'Value 4'}</Table.Cell>
93
93
  <Table.Cell>{'Value 5'}</Table.Cell>
94
- <Table.Cell cursor="pointer"
94
+ <Table.Cell cursor="pointer"
95
95
  id="cell-3"
96
96
  textAlign="right"
97
97
  >
@@ -4,7 +4,7 @@
4
4
  border: true,
5
5
  icon: "user"
6
6
  },
7
- error: "Please enter a valid email address",
7
+ error: raw(pb_rails("icon", props: { icon: "warning" }) + " Please enter a valid email address"),
8
8
  label: "Email Address",
9
9
  placeholder: "Enter email address",
10
10
  type: "email"
@@ -1 +1,5 @@
1
- <%= pb_rails("textarea", props: { error: "This field has an error!", label: "Label", rows: 4}) %>
1
+ <%= pb_rails("textarea", props: {
2
+ error: raw(pb_rails("icon", props: { icon: "warning" }) + " This field has an error!"),
3
+ label: "Label",
4
+ rows: 4
5
+ }) %>
@@ -8,7 +8,14 @@
8
8
 
9
9
  %>
10
10
 
11
- <%= pb_rails("typeahead", props: { id: "typeahead-error-example", options: options, error: "Please make a valid selection", label: "Products", name: :foo, is_multi: false }) %>
11
+ <%= pb_rails("typeahead", props: {
12
+ id: "typeahead-error-example",
13
+ options: options,
14
+ error: "Please make a valid selection",
15
+ label: "Products",
16
+ name: :foo,
17
+ is_multi: false
18
+ }) %>
12
19
 
13
20
  <!-- This section is an example of the available JavaScript event hooks -->
14
21
  <%= javascript_tag defer: "defer" do %>
@@ -0,0 +1,6 @@
1
+ <%= pb_rails("user", props: {
2
+ name: "Anna Black",
3
+ title: "Remodeling Consultant",
4
+ avatar_url: "https://randomuser.me/api/portraits/women/44.jpg",
5
+ avatar_grayscale: true,
6
+ }) %>
@@ -0,0 +1,16 @@
1
+ import React from 'react'
2
+ import User from '../../pb_user/_user'
3
+
4
+ const UserGrayscale = (props) => {
5
+ return (
6
+ <User
7
+ avatarGrayscale
8
+ avatarUrl="https://randomuser.me/api/portraits/women/44.jpg"
9
+ name="Anna Black"
10
+ title="Remodeling Consultant"
11
+ {...props}
12
+ />
13
+ )
14
+ }
15
+
16
+ export default UserGrayscale
@@ -10,6 +10,7 @@ examples:
10
10
  - user_subtitle: Subtitle
11
11
  - user_block_content_subtitle_rails: Block Content Subtitle
12
12
  - user_font_options: Font Options
13
+ - user_grayscale: Grayscale Avatar
13
14
 
14
15
  react:
15
16
  - user_default: Default
@@ -21,6 +22,7 @@ examples:
21
22
  - user_subtitle: Subtitle
22
23
  - user_block_content_subtitle_react: Block Content Subtitle
23
24
  - user_font_options: Font Options
25
+ - user_grayscale: Grayscale Avatar
24
26
 
25
27
  swift:
26
28
  - user_horizontal_swift: Horizontal
@@ -7,3 +7,4 @@ export { default as UserVerticalSize } from './_user_vertical_size.jsx'
7
7
  export { default as UserSubtitle } from './_user_subtitle.jsx'
8
8
  export { default as UserBlockContentSubtitleReact } from './_user_block_content_subtitle_react.jsx'
9
9
  export { default as UserFontOptions } from './_user_font_options.jsx'
10
+ export { default as UserGrayscale } from './_user_grayscale.jsx'