playbook_ui 8.2.0.pre.alpha2 → 8.2.0.pre.alpha3

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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/data/menu.yml +2 -1
  4. data/app/pb_kits/playbook/index.js +1 -0
  5. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +14 -2
  6. data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +1 -1
  7. data/app/pb_kits/playbook/pb_avatar/avatar.rb +5 -2
  8. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +5 -2
  9. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.html.erb +5 -0
  10. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +5 -0
  11. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.html.erb +4 -0
  12. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx +4 -0
  13. data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.jsx +6 -0
  14. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +2 -1
  15. data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.rb +2 -0
  16. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +4 -0
  17. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +4 -0
  18. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +2 -0
  19. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +2 -0
  20. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +2 -0
  21. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +2 -0
  22. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +8 -0
  23. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +8 -0
  24. data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +2 -0
  25. data/app/pb_kits/playbook/pb_avatar_action_button/pb_avatar_action_button.test.js +31 -0
  26. data/app/pb_kits/playbook/pb_caption/_caption.jsx +3 -2
  27. data/app/pb_kits/playbook/pb_caption/caption.rb +1 -1
  28. data/app/pb_kits/playbook/pb_card/_card.jsx +18 -3
  29. data/app/pb_kits/playbook/pb_card/card.html.erb +1 -1
  30. data/app/pb_kits/playbook/pb_card/card.rb +3 -0
  31. data/app/pb_kits/playbook/pb_card/docs/_card_tag.html.erb +25 -0
  32. data/app/pb_kits/playbook/pb_card/docs/_card_tag.jsx +59 -0
  33. data/app/pb_kits/playbook/pb_card/docs/example.yml +2 -0
  34. data/app/pb_kits/playbook/pb_card/docs/index.js +1 -0
  35. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +31 -9
  36. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +28 -19
  37. data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +11 -3
  38. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +6 -1
  39. data/app/pb_kits/playbook/pb_checkbox/checkbox.test.js +94 -0
  40. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_custom.jsx +0 -1
  41. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.html.erb +7 -0
  42. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_indeterminate.jsx +16 -0
  43. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +2 -0
  44. data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
  45. data/app/pb_kits/playbook/pb_dialog/_close_icon.jsx +23 -0
  46. data/app/pb_kits/playbook/pb_dialog/_dialog.html.erb +10 -0
  47. data/app/pb_kits/playbook/pb_dialog/_dialog.jsx +142 -0
  48. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +133 -0
  49. data/app/pb_kits/playbook/pb_dialog/_dialog_context.jsx +3 -0
  50. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_body.jsx +21 -0
  51. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_footer.jsx +36 -0
  52. data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_header.jsx +68 -0
  53. data/app/pb_kits/playbook/pb_dialog/dialog.rb +47 -0
  54. data/app/pb_kits/playbook/pb_dialog/dialog.test.jsx +23 -0
  55. data/app/pb_kits/playbook/pb_dialog/dialog_header.rb +31 -0
  56. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.jsx +53 -0
  57. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.md +2 -0
  58. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default.jsx +27 -0
  59. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.jsx +27 -0
  60. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.md +2 -0
  61. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_separators.jsx +119 -0
  62. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_separators.md +2 -0
  63. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_should_close_on_overlay.jsx +28 -0
  64. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_should_close_on_overlay.md +2 -0
  65. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_sizes.jsx +93 -0
  66. data/app/pb_kits/playbook/pb_dialog/docs/example.yml +10 -0
  67. data/app/pb_kits/playbook/pb_dialog/docs/index.js +6 -0
  68. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  69. data/app/pb_kits/playbook/pb_form/form_builder.rb +4 -2
  70. data/app/pb_kits/playbook/pb_form/form_builder/action_area.rb +14 -7
  71. data/app/pb_kits/playbook/pb_form/form_with.rb +0 -1
  72. data/app/pb_kits/playbook/pb_form/simple_form.html.erb +2 -4
  73. data/app/pb_kits/playbook/pb_form/simple_form.rb +4 -0
  74. data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +2 -0
  75. data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +1 -1
  76. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +1 -1
  77. data/app/pb_kits/playbook/react_rails_kits.js +4 -0
  78. data/lib/playbook/version.rb +2 -1
  79. metadata +35 -8
  80. data/app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c6d260fd8cb3c808cd647ea9150feb6c68ddaefef55e69cdb28986d8689ea7ad
4
- data.tar.gz: be549c62b03d8e89c5746a8cfeb4ccceedf4da2dbe7e1ff27dc609c2d574224b
3
+ metadata.gz: 30941eb0f16c5ea56d646c08cdcdcd5338423bc2d09787995ec11d82725a5cf5
4
+ data.tar.gz: b31ecc30e83182a59de76eeba28a6973b0f9b5dcea13d8c37fabc9959ee0fe18
5
5
  SHA512:
6
- metadata.gz: d3d1a839484d63aafb17d2e2c03daa56781bae403120e652dc5d20af205c857d92c0e2ef2a6b9116dad6f19fb1514f657e949d774ab096ed13d6bcf14566097e
7
- data.tar.gz: a57ea0a32d351f774cdf73ef1fe572199b7207be7e1cf863538c09d68617ce9d3b352d34a111695b3a2b91f93c1fbb9c73775a08e6254d5321c878a14323e02b
6
+ metadata.gz: 0cd98f212aaee69b433a737a3fb49520a8d4d48d2f0f32268c493c14da2672b9808910e11011d11ee883bee8b0756252c43c0b146016ad490598d70b904f522f
7
+ data.tar.gz: 6e8177d180817e06d691f83e377d3a63f93bc367bcb1af0fe051fedc2735a8445142faecd2fab8418fda777d1f243637f8859c36cd2b2cdc270355cc2fe5a063
@@ -25,6 +25,7 @@
25
25
  @import 'pb_date_stacked/date_stacked';
26
26
  @import 'pb_date_time_stacked/date_time_stacked';
27
27
  @import 'pb_date_year_stacked/date_year_stacked';
28
+ @import 'pb_dialog/dialog';
28
29
  @import 'pb_distribution_bar/distribution_bar';
29
30
  @import 'pb_file_upload/file_upload';
30
31
  @import 'pb_filter/filter';
@@ -16,6 +16,7 @@ kits:
16
16
  - gauge
17
17
  - legend
18
18
  - line_graph
19
+ - dialog
19
20
  - filter
20
21
  - fixed_confirmation_toast
21
22
  - flex
@@ -47,7 +48,6 @@ kits:
47
48
  - multiple_users
48
49
  - multiple_users_stacked
49
50
  - nav
50
- - online_status
51
51
  - tags:
52
52
  - badge
53
53
  - hashtag
@@ -96,3 +96,4 @@ kits:
96
96
  - weekday_stacked
97
97
  - user
98
98
  - user_badge
99
+
@@ -29,6 +29,7 @@ export DateStacked from './pb_date_stacked/_date_stacked.jsx'
29
29
  export DateTime from './pb_date_time/_date_time.jsx'
30
30
  export DateTimeStacked from './pb_date_time_stacked/_date_time_stacked.jsx'
31
31
  export DateYearStacked from './pb_date_year_stacked/_date_year_stacked.jsx'
32
+ export Dialog from './pb_dialog/_dialog.jsx'
32
33
  export DistributionBar from './pb_distribution_bar/_distribution_bar.jsx'
33
34
  export FileUpload from './pb_file_upload/_file_upload.jsx'
34
35
  export Filter from './pb_filter/_filter.jsx'
@@ -15,6 +15,7 @@ type AvatarProps = {
15
15
  data?: object,
16
16
  dark?: boolean,
17
17
  id?: string,
18
+ imageAlt?: string,
18
19
  imageUrl: string,
19
20
  name: string,
20
21
  size?: "md" | "lg" | "sm" | "xl" | "xs",
@@ -27,7 +28,18 @@ const firstTwoInitials = (name) =>
27
28
  .substring(0, 2)
28
29
 
29
30
  const Avatar = (props: AvatarProps) => {
30
- const { aria = {}, className, data = {}, name = null, id = '', imageUrl, size = 'md', status = null, dark = false } = props
31
+ const {
32
+ aria = {},
33
+ className,
34
+ data = {},
35
+ name = null,
36
+ id = '',
37
+ imageAlt = '',
38
+ imageUrl,
39
+ size = 'md',
40
+ status = null,
41
+ dark = false,
42
+ } = props
31
43
  const dataProps = buildDataProps(data)
32
44
  const ariaProps = buildAriaProps(aria)
33
45
  const classes = classnames(
@@ -55,7 +67,7 @@ const Avatar = (props: AvatarProps) => {
55
67
  >
56
68
  <If condition={imageUrl && !error}>
57
69
  <Image
58
- alt={name}
70
+ alt={imageAlt}
59
71
  onError={handleError}
60
72
  url={imageUrl}
61
73
  />
@@ -4,7 +4,7 @@
4
4
  class: object.classname,
5
5
  aria: object.aria) do %>
6
6
  <%= content_tag(:div, data: { initials: object.initials }, class: "avatar_wrapper") do %>
7
- <%= pb_rails("image", props: { url: object.image_url, on_error: object.handle_img_error }) if object.image_url.present? %>
7
+ <%= pb_rails("image", props: { alt: object.image_alt, url: object.image_url, on_error: object.handle_img_error }) if object.image_url.present? %>
8
8
  <% end %>
9
9
  <%= pb_rails("online_status", props: object.online_status_props) if object.status %>
10
10
  <% end %>
@@ -3,8 +3,11 @@
3
3
  module Playbook
4
4
  module PbAvatar
5
5
  class Avatar < Playbook::KitBase
6
- prop :image_url
7
- prop :name, default: ""
6
+ prop :image_url, type: Playbook::Props::String
7
+ prop :image_alt, type: Playbook::Props::String,
8
+ default: ""
9
+ prop :name, type: Playbook::Props::String,
10
+ default: ""
8
11
  prop :size, type: Playbook::Props::Enum,
9
12
  values: %w[xs sm md base lg xl],
10
13
  default: "md"
@@ -5,23 +5,26 @@ import Avatar from './_avatar'
5
5
 
6
6
  const imageUrl = 'https://randomuser.me/api/portraits/men/44.jpg',
7
7
  testId = 'tjohnson',
8
- name = 'Terry Johnson'
8
+ name = 'Terry Johnson',
9
+ imageAlt = 'Terry Johnson Standing'
9
10
 
10
11
  test('loads the given image url and name', () => {
11
12
  render(
12
13
  <Avatar
13
14
  data={{ testid: testId }}
15
+ imageAlt={imageAlt}
14
16
  imageUrl={imageUrl}
15
17
  name={name}
16
18
  />
17
19
  )
18
20
 
19
21
  const kit = screen.getByTestId(testId)
20
- const image = screen.getByAltText(name)
22
+ const image = screen.getByAltText(imageAlt)
21
23
  const initials = name.split(/\s/)[0].substr(0, 1) + name.split(/\s/)[1].substr(0, 1)
22
24
 
23
25
  expect(kit).toHaveClass('pb_avatar_kit_md')
24
26
  expect(kit).toHaveAttribute('data-initials', initials)
25
27
  expect(image).toHaveAttribute('data-src', imageUrl)
26
28
  expect(image).toHaveAttribute('src', imageUrl)
29
+ expect(image).toHaveAttribute('alt', imageAlt)
27
30
  })
@@ -1,6 +1,7 @@
1
1
  <%= pb_rails("avatar", props: {
2
2
  name: "Terry Johnson",
3
3
  size: "xs",
4
+ image_alt: "Terry Johnson Standing",
4
5
  image_url: "https://randomuser.me/api/portraits/men/44.jpg",
5
6
  status: "online"
6
7
  }) %>
@@ -10,6 +11,7 @@
10
11
  <%= pb_rails("avatar", props: {
11
12
  name: "Terry Johnson",
12
13
  size: "sm",
14
+ image_alt: "Terry Johnson Standing",
13
15
  image_url: "https://randomuser.me/api/portraits/men/44.jpg",
14
16
  status: "away"
15
17
  }) %>
@@ -19,6 +21,7 @@
19
21
  <%= pb_rails("avatar", props: {
20
22
  name: "Terry Johnson",
21
23
  size: "md",
24
+ image_alt: "Terry Johnson Standing",
22
25
  image_url: "https://randomuser.me/api/portraits/men/44.jpg",
23
26
  status: "offline"
24
27
  }) %>
@@ -28,6 +31,7 @@
28
31
  <%= pb_rails("avatar", props: {
29
32
  name: "Terry Johnson",
30
33
  size: "lg",
34
+ image_alt: "Terry Johnson Standing",
31
35
  image_url: "https://randomuser.me/api/portraits/men/44.jpg",
32
36
  status: "online"
33
37
  }) %>
@@ -37,6 +41,7 @@
37
41
  <%= pb_rails("avatar", props: {
38
42
  name: "Terry Johnson",
39
43
  size: "xl",
44
+ image_alt: "Terry Johnson Standing",
40
45
  image_url: "https://randomuser.me/api/portraits/men/44.jpg",
41
46
  status: "away"
42
47
  }) %>
@@ -5,6 +5,7 @@ const AvatarDefault = (props) => {
5
5
  return (
6
6
  <div>
7
7
  <Avatar
8
+ imageAlt="Terry Johnson Standing"
8
9
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
9
10
  name="Terry Johnson"
10
11
  size="xs"
@@ -13,6 +14,7 @@ const AvatarDefault = (props) => {
13
14
  />
14
15
  <br />
15
16
  <Avatar
17
+ imageAlt="Terry Johnson Standing"
16
18
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
17
19
  name="Terry Johnson"
18
20
  size="sm"
@@ -21,6 +23,7 @@ const AvatarDefault = (props) => {
21
23
  />
22
24
  <br />
23
25
  <Avatar
26
+ imageAlt="Terry Johnson Standing"
24
27
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
25
28
  name="Terry Johnson"
26
29
  size="md"
@@ -29,6 +32,7 @@ const AvatarDefault = (props) => {
29
32
  />
30
33
  <br />
31
34
  <Avatar
35
+ imageAlt="Terry Johnson Standing"
32
36
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
33
37
  name="Terry Johnson"
34
38
  size="lg"
@@ -37,6 +41,7 @@ const AvatarDefault = (props) => {
37
41
  />
38
42
  <br />
39
43
  <Avatar
44
+ imageAlt="Terry Johnson Standing"
40
45
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
41
46
  name="Terry Johnson"
42
47
  size="xl"
@@ -1,6 +1,7 @@
1
1
  <%= pb_rails("avatar", props: {
2
2
  name: "Terry Johnson",
3
3
  size: "sm",
4
+ image_alt: "Terry Johnson Status",
4
5
  image_url: "https://randomuser.me/api/portraits/men/44.jpg"
5
6
  }) %>
6
7
 
@@ -9,6 +10,7 @@
9
10
  <%= pb_rails("avatar", props: {
10
11
  name: "Terry Johnson",
11
12
  size: "sm",
13
+ image_alt: "Terry Johnson Online",
12
14
  image_url: "https://randomuser.me/api/portraits/men/44.jpg",
13
15
  status: "online"
14
16
  }) %>
@@ -18,6 +20,7 @@
18
20
  <%= pb_rails("avatar", props: {
19
21
  name: "Terry Johnson",
20
22
  size: "sm",
23
+ image_alt: "Terry Johnson Away",
21
24
  image_url: "https://randomuser.me/api/portraits/men/44.jpg",
22
25
  status: "away"
23
26
  }) %>
@@ -27,6 +30,7 @@
27
30
  <%= pb_rails("avatar", props: {
28
31
  name: "Terry Johnson",
29
32
  size: "sm",
33
+ image_alt: "Terry Johnson Offline",
30
34
  image_url: "https://randomuser.me/api/portraits/men/44.jpg",
31
35
  status: "offline"
32
36
  }) %>
@@ -5,6 +5,7 @@ const AvatarStatus = (props) => {
5
5
  return (
6
6
  <>
7
7
  <Avatar
8
+ imageAlt="Terry Johnson Status"
8
9
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
9
10
  name="Terry Johnson"
10
11
  size="sm"
@@ -14,6 +15,7 @@ const AvatarStatus = (props) => {
14
15
  <br />
15
16
 
16
17
  <Avatar
18
+ imageAlt="Terry Johnson Online"
17
19
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
18
20
  name="Terry Johnson"
19
21
  size="sm"
@@ -24,6 +26,7 @@ const AvatarStatus = (props) => {
24
26
  <br />
25
27
 
26
28
  <Avatar
29
+ imageAlt="Terry Johnson Away"
27
30
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
28
31
  name="Terry Johnson"
29
32
  size="sm"
@@ -34,6 +37,7 @@ const AvatarStatus = (props) => {
34
37
  <br />
35
38
 
36
39
  <Avatar
40
+ imageAlt="Terry Johnson Offline"
37
41
  imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
38
42
  name="Terry Johnson"
39
43
  size="sm"
@@ -15,10 +15,12 @@ import { globalProps } from '../utilities/globalProps.js'
15
15
  type AvatarActionButtonProps = {
16
16
  action?: string,
17
17
  aria: Object,
18
+ linkAriaLabel?: string,
18
19
  className?: string,
19
20
  dark?: boolean,
20
21
  data?: Object,
21
22
  id?: string,
23
+ imageAlt?: string,
22
24
  imageUrl?: string,
23
25
  linkUrl?: string,
24
26
  name?: string,
@@ -31,10 +33,12 @@ const AvatarActionButton = (props: AvatarActionButtonProps) => {
31
33
  const {
32
34
  action = 'add',
33
35
  aria = {},
36
+ linkAriaLabel,
34
37
  className,
35
38
  dark = false,
36
39
  data = {},
37
40
  id,
41
+ imageAlt = '',
38
42
  imageUrl,
39
43
  linkUrl,
40
44
  name,
@@ -67,10 +71,12 @@ const AvatarActionButton = (props: AvatarActionButtonProps) => {
67
71
  id={id}
68
72
  >
69
73
  <a
74
+ aria-label={linkAriaLabel}
70
75
  href={linkUrl}
71
76
  onClick={onClick}
72
77
  >
73
78
  <Avatar
79
+ imageAlt={imageAlt}
74
80
  imageUrl={imageUrl}
75
81
  name={name}
76
82
  size={size}
@@ -14,11 +14,12 @@
14
14
  <% end %>
15
15
  <% end %>
16
16
 
17
- <%= link_to object.link_url, id: object.tooltip_id do %>
17
+ <%= link_to object.link_url, id: object.tooltip_id, 'aria-label': object.link_aria_label do %>
18
18
  <%= pb_rails("avatar", props: {
19
19
  dark: object.dark,
20
20
  name: object.name,
21
21
  size: object.size,
22
+ image_alt: object.image_alt,
22
23
  image_url: object.image_url,
23
24
  class: "avatar_action"
24
25
  }) %>
@@ -5,6 +5,8 @@ module Playbook
5
5
  class AvatarActionButton < Playbook::KitBase
6
6
  prop :action, type: Playbook::Props::String,
7
7
  default: "add"
8
+ prop :link_aria_label, type: Playbook::Props::String
9
+ prop :image_alt, type: Playbook::Props::String
8
10
  prop :image_url, type: Playbook::Props::String
9
11
  prop :link_url, type: Playbook::Props::String, default: "#"
10
12
  prop :tooltip_text, type: Playbook::Props::String
@@ -1,13 +1,17 @@
1
1
  <div class="pb--doc-demo-row">
2
2
 
3
3
  <%= pb_rails("avatar_action_button", props: {
4
+ link_aria_label: "Add Sophia Carden",
4
5
  name: "Sophia Carden",
6
+ image_alt: "Add Sophia Carden",
5
7
  image_url: "https://randomuser.me/api/portraits/women/8.jpg",
6
8
  action: "add",
7
9
  }) %>
8
10
 
9
11
  <%= pb_rails("avatar_action_button", props: {
12
+ link_aria_label: "Remove Sophia Carden",
10
13
  name: "Sophia Carden",
14
+ image_alt: "Remove Sophia Carden",
11
15
  image_url: "https://randomuser.me/api/portraits/women/8.jpg",
12
16
  action: "remove",
13
17
  }) %>
@@ -5,13 +5,17 @@ const AvatarActionButtonActions = (props) => (
5
5
  <div className="pb--doc-demo-row">
6
6
  <AvatarActionButton
7
7
  action="add"
8
+ imageAlt="Add Sophia Carden"
8
9
  imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
10
+ linkAriaLabel="Add Sophia Carden"
9
11
  name="Sophia Carden"
10
12
  {...props}
11
13
  />
12
14
  <AvatarActionButton
13
15
  action="remove"
16
+ imageAlt="Remove Sophia Carden"
14
17
  imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
18
+ linkAriaLabel="Remove Sophia Carden"
15
19
  name="Sophia Carden"
16
20
  {...props}
17
21
  />
@@ -1,7 +1,9 @@
1
1
  <div class="pb--doc-demo-row">
2
2
 
3
3
  <%= pb_rails("avatar_action_button", props: {
4
+ link_aria_label: "Sophia Carden",
4
5
  name: "Sophia Carden",
6
+ image_alt: "Sophia Carden",
5
7
  image_url: "https://randomuser.me/api/portraits/women/8.jpg"
6
8
  }) %>
7
9
 
@@ -4,7 +4,9 @@ import { AvatarActionButton } from '../../'
4
4
  const AvatarActionButtonDefault = (props) => (
5
5
  <div className="pb--doc-demo-row">
6
6
  <AvatarActionButton
7
+ imageAlt="Sophia Carden"
7
8
  imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
9
+ linkAriaLabel="Sophia Carden"
8
10
  name="Sophia Carden"
9
11
  {...props}
10
12
  />
@@ -4,7 +4,9 @@ import { AvatarActionButton } from '../../'
4
4
  const AvatarActionButtonOnClick = (props) => (
5
5
  <div className="pb--doc-demo-row">
6
6
  <AvatarActionButton
7
+ imageAlt="Sophia Carden"
7
8
  imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
9
+ linkAriaLabel="Alert Sophia Carden"
8
10
  linkUrl="https://www.google.com"
9
11
  name="Sophia Carden"
10
12
  onClick={() => alert('clicked!')}
@@ -1,9 +1,11 @@
1
1
  <div class="pb--doc-demo-row">
2
2
 
3
3
  <%= pb_rails("avatar_action_button", props: {
4
+ link_aria_label: "Alert Sophia Carden",
4
5
  name: "Sophia Carden",
5
6
  id: "clickable",
6
7
  link_url: "http://www.google.com",
8
+ image_alt: "Sophia Carden",
7
9
  image_url: "https://randomuser.me/api/portraits/women/8.jpg",
8
10
  }) %>
9
11
 
@@ -1,25 +1,33 @@
1
1
  <div class="pb--doc-demo-row">
2
2
 
3
3
  <%= pb_rails("avatar_action_button", props: {
4
+ link_aria_label: "Sophia Carden",
4
5
  name: "Sophia Carden",
6
+ image_alt: "Sophia Carden",
5
7
  image_url: "https://randomuser.me/api/portraits/women/8.jpg",
6
8
  placement: "bottom_left"
7
9
  }) %>
8
10
 
9
11
  <%= pb_rails("avatar_action_button", props: {
12
+ link_aria_label: "Sophia Carden",
10
13
  name: "Sophia Carden",
14
+ image_alt: "Sophia Carden",
11
15
  image_url: "https://randomuser.me/api/portraits/women/8.jpg",
12
16
  placement: "bottom_right"
13
17
  }) %>
14
18
 
15
19
  <%= pb_rails("avatar_action_button", props: {
20
+ link_aria_label: "Sophia Carden",
16
21
  name: "Sophia Carden",
22
+ image_alt: "Sophia Carden",
17
23
  image_url: "https://randomuser.me/api/portraits/women/8.jpg",
18
24
  placement: "top_left"
19
25
  }) %>
20
26
 
21
27
  <%= pb_rails("avatar_action_button", props: {
28
+ link_aria_label: "Sophia Carden",
22
29
  name: "Sophia Carden",
30
+ image_alt: "Sophia Carden",
23
31
  image_url: "https://randomuser.me/api/portraits/women/8.jpg",
24
32
  placement: "top_right"
25
33
  }) %>