playbook_ui 8.1.0.pre.alpha1 → 8.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +0 -9
- data/app/pb_kits/playbook/_playbook.scss +0 -2
- data/app/pb_kits/playbook/data/menu.yml +1 -2
- data/app/pb_kits/playbook/index.js +0 -2
- data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +2 -14
- data/app/pb_kits/playbook/pb_avatar/avatar.html.erb +1 -1
- data/app/pb_kits/playbook/pb_avatar/avatar.rb +2 -5
- data/app/pb_kits/playbook/pb_avatar/avatar.test.js +2 -5
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.html.erb +0 -5
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_default.jsx +0 -5
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.html.erb +0 -4
- data/app/pb_kits/playbook/pb_avatar/docs/_avatar_status.jsx +0 -4
- data/app/pb_kits/playbook/pb_avatar_action_button/_avatar_action_button.jsx +0 -6
- data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.html.erb +1 -2
- data/app/pb_kits/playbook/pb_avatar_action_button/avatar_action_button.rb +0 -2
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb +0 -4
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.jsx +0 -4
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.html.erb +0 -2
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_default.jsx +0 -2
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_on_click.jsx +0 -2
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_onclick.html.erb +0 -2
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.html.erb +0 -8
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_placement.jsx +0 -8
- data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_tooltip.html.erb +0 -2
- data/app/pb_kits/playbook/pb_badge/_badge.jsx +1 -26
- data/app/pb_kits/playbook/pb_button/_button.jsx +0 -6
- data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +1 -0
- data/app/pb_kits/playbook/pb_caption/_caption.jsx +2 -3
- data/app/pb_kits/playbook/pb_caption/caption.rb +1 -1
- data/app/pb_kits/playbook/pb_card/_card.jsx +3 -18
- data/app/pb_kits/playbook/pb_card/card.html.erb +1 -1
- data/app/pb_kits/playbook/pb_card/card.rb +0 -3
- data/app/pb_kits/playbook/pb_card/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_card/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_dashboard/commonSettings.js +2 -2
- data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +2 -2
- data/app/pb_kits/playbook/pb_form/_form.scss +1 -5
- data/app/pb_kits/playbook/pb_form/form_builder.rb +2 -4
- data/app/pb_kits/playbook/pb_form/form_builder/action_area.html.erb +3 -0
- data/app/pb_kits/playbook/pb_form/form_builder/action_area.rb +7 -14
- data/app/pb_kits/playbook/pb_form/simple_form.html.erb +4 -2
- data/app/pb_kits/playbook/pb_form/simple_form.rb +0 -4
- data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +0 -2
- data/app/pb_kits/playbook/pb_online_status/online_status.html.erb +1 -1
- data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.jsx +3 -4
- data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +0 -3
- data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +0 -3
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +1 -6
- data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +2 -25
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx +0 -1
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +3 -7
- data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +1 -1
- data/app/pb_kits/playbook/plugins/pb_chart.js +1 -1
- data/app/pb_kits/playbook/react_rails_kits.js +0 -4
- data/app/pb_kits/playbook/tokens/_border_radius.scss +10 -0
- data/app/pb_kits/playbook/tokens/_colors.scss +25 -0
- data/app/pb_kits/playbook/tokens/_line_height.scss +9 -0
- data/app/pb_kits/playbook/tokens/_opacity.scss +9 -0
- data/app/pb_kits/playbook/tokens/_positioning.scss +9 -0
- data/app/pb_kits/playbook/tokens/_screen_sizes.scss +9 -0
- data/app/pb_kits/playbook/tokens/_shadows.scss +9 -0
- data/app/pb_kits/playbook/tokens/_spacing.scss +10 -0
- data/app/pb_kits/playbook/tokens/_typography.scss +25 -0
- data/app/pb_kits/playbook/utilities/test-utils.js +0 -6
- data/lib/playbook/version.rb +1 -1
- metadata +13 -58
- data/app/pb_kits/playbook/pb_avatar_action_button/pb_avatar_action_button.test.js +0 -31
- data/app/pb_kits/playbook/pb_button/button.test.js +0 -91
- data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +0 -46
- data/app/pb_kits/playbook/pb_card/docs/_card_tag.html.erb +0 -25
- data/app/pb_kits/playbook/pb_card/docs/_card_tag.jsx +0 -59
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +0 -17
- data/app/pb_kits/playbook/pb_dialog/_close_icon.jsx +0 -23
- data/app/pb_kits/playbook/pb_dialog/_dialog.html.erb +0 -10
- data/app/pb_kits/playbook/pb_dialog/_dialog.jsx +0 -142
- data/app/pb_kits/playbook/pb_dialog/_dialog.scss +0 -133
- data/app/pb_kits/playbook/pb_dialog/_dialog_context.jsx +0 -3
- data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_body.jsx +0 -21
- data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_footer.jsx +0 -36
- data/app/pb_kits/playbook/pb_dialog/child_kits/_dialog_header.jsx +0 -68
- data/app/pb_kits/playbook/pb_dialog/dialog.rb +0 -47
- data/app/pb_kits/playbook/pb_dialog/dialog.test.jsx +0 -23
- data/app/pb_kits/playbook/pb_dialog/dialog_header.rb +0 -31
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.jsx +0 -53
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_compound_components.md +0 -2
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_default.jsx +0 -27
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.jsx +0 -27
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_scrollable.md +0 -2
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_separators.jsx +0 -119
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_separators.md +0 -2
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_should_close_on_overlay.jsx +0 -28
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_should_close_on_overlay.md +0 -2
- data/app/pb_kits/playbook/pb_dialog/docs/_dialog_sizes.jsx +0 -93
- data/app/pb_kits/playbook/pb_dialog/docs/example.yml +0 -10
- data/app/pb_kits/playbook/pb_dialog/docs/index.js +0 -6
- data/app/pb_kits/playbook/pb_inline/_inline.jsx +0 -83
- data/app/pb_kits/playbook/pb_inline/_inline.scss +0 -58
- data/app/pb_kits/playbook/pb_inline/docs/_inline_default.jsx +0 -36
- data/app/pb_kits/playbook/pb_inline/docs/_inline_input_options.jsx +0 -58
- data/app/pb_kits/playbook/pb_inline/docs/_inline_text_options.jsx +0 -99
- data/app/pb_kits/playbook/pb_inline/docs/example.yml +0 -5
- data/app/pb_kits/playbook/pb_inline/docs/index.js +0 -3
- data/app/pb_kits/playbook/pb_inline/inline.test.jsx +0 -21
- data/app/pb_kits/playbook/tokens/exports/_border_radius.scss +0 -10
- data/app/pb_kits/playbook/tokens/exports/_colors.scss +0 -26
- data/app/pb_kits/playbook/tokens/exports/_line_height.scss +0 -10
- data/app/pb_kits/playbook/tokens/exports/_opacity.scss +0 -10
- data/app/pb_kits/playbook/tokens/exports/_positioning.scss +0 -10
- data/app/pb_kits/playbook/tokens/exports/_screen_sizes.scss +0 -10
- data/app/pb_kits/playbook/tokens/exports/_shadows.scss +0 -10
- data/app/pb_kits/playbook/tokens/exports/_spacing.scss +0 -10
- data/app/pb_kits/playbook/tokens/exports/_typography.scss +0 -24
- data/dist/reset.css +0 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bde6450a7a9b834c1c16de60363a43d58a9f28da53ca2aa0089d8d96ec9ea89d
|
4
|
+
data.tar.gz: 4a067f64e965d58c3d12d23a8303d3e51482063d001c89693206bbea86ae952f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42b92e641da9e7e5b1611bed31240d3a08934d7c6b612195407d92ab3c0b3bcbe3a13c1ebbd9e21f3d00c65f7e13f0198e5a2180edbc2dfa4e2048ad6e6f10a0
|
7
|
+
data.tar.gz: 8e9d47f263458035522e390cd25b90183c556cdbca33a7a910a76ffadf711760cafe970382759191909ff6ef44427649aa52d32100c6d452dc69ed850d7eedb2
|
data/README.md
CHANGED
@@ -42,15 +42,6 @@ See [docs/upgrade-guide](./docs/upgrade-guide)
|
|
42
42
|
|
43
43
|
* [Common Errors & Solutions](https://github.com/powerhome/playbook/wiki/Common-Errors-&-Solutions)
|
44
44
|
|
45
|
-
### Reset.css
|
46
|
-
|
47
|
-
Playbook provides it's own `reset.css` boilerplate for optional use in your application. You can either:
|
48
|
-
|
49
|
-
1. Import the `dist/reset.css` from the playbook_ui gem into your Rails view: `@import "reset.css"` (note: your path may vary depending on your application's asset paths)
|
50
|
-
2. Import or include the file via the npm package: `import 'reset.css'` (note: your path may vary depending on your application's node-sass `includePaths`)
|
51
|
-
|
52
|
-
This asset aims to provide a commonly styles base for supported browsers.
|
53
|
-
|
54
45
|
### Building Playbook Kits
|
55
46
|
|
56
47
|
* [Generating a Kit](https://github.com/powerhome/playbook/wiki/Generating-a-Kit)
|
@@ -25,7 +25,6 @@
|
|
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';
|
29
28
|
@import 'pb_distribution_bar/distribution_bar';
|
30
29
|
@import 'pb_file_upload/file_upload';
|
31
30
|
@import 'pb_filter/filter';
|
@@ -43,7 +42,6 @@
|
|
43
42
|
@import 'pb_icon_stat_value/icon_stat_value';
|
44
43
|
@import 'pb_icon_value/icon_value';
|
45
44
|
@import 'pb_image/image';
|
46
|
-
@import 'pb_inline/inline';
|
47
45
|
@import 'pb_label_pill/label_pill';
|
48
46
|
@import 'pb_label_value/label_value';
|
49
47
|
@import 'pb_layout/layout';
|
@@ -41,13 +41,13 @@ kits:
|
|
41
41
|
- icon_stat_value
|
42
42
|
- icon_value
|
43
43
|
- image
|
44
|
-
- inline
|
45
44
|
- layout
|
46
45
|
- list
|
47
46
|
- loading_inline
|
48
47
|
- multiple_users
|
49
48
|
- multiple_users_stacked
|
50
49
|
- nav
|
50
|
+
- online_status
|
51
51
|
- tags:
|
52
52
|
- badge
|
53
53
|
- hashtag
|
@@ -96,4 +96,3 @@ kits:
|
|
96
96
|
- weekday_stacked
|
97
97
|
- user
|
98
98
|
- user_badge
|
99
|
-
- dialog
|
@@ -29,7 +29,6 @@ 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'
|
33
32
|
export DistributionBar from './pb_distribution_bar/_distribution_bar.jsx'
|
34
33
|
export FileUpload from './pb_file_upload/_file_upload.jsx'
|
35
34
|
export Filter from './pb_filter/_filter.jsx'
|
@@ -47,7 +46,6 @@ export IconCircle from './pb_icon_circle/_icon_circle.jsx'
|
|
47
46
|
export IconStatValue from './pb_icon_stat_value/_icon_stat_value.jsx'
|
48
47
|
export IconValue from './pb_icon_value/_icon_value.jsx'
|
49
48
|
export Image from './pb_image/_image.jsx'
|
50
|
-
export Inline from './pb_inline/_inline.jsx'
|
51
49
|
export LabelPill from './pb_label_pill/_label_pill.jsx'
|
52
50
|
export LabelValue from './pb_label_value/_label_value.jsx'
|
53
51
|
export Layout from './pb_layout/_layout.jsx'
|
@@ -15,7 +15,6 @@ type AvatarProps = {
|
|
15
15
|
data?: object,
|
16
16
|
dark?: boolean,
|
17
17
|
id?: string,
|
18
|
-
imageAlt?: string,
|
19
18
|
imageUrl: string,
|
20
19
|
name: string,
|
21
20
|
size?: "md" | "lg" | "sm" | "xl" | "xs",
|
@@ -28,18 +27,7 @@ const firstTwoInitials = (name) =>
|
|
28
27
|
.substring(0, 2)
|
29
28
|
|
30
29
|
const Avatar = (props: AvatarProps) => {
|
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
|
30
|
+
const { aria = {}, className, data = {}, name = null, id = '', imageUrl, size = 'md', status = null, dark = false } = props
|
43
31
|
const dataProps = buildDataProps(data)
|
44
32
|
const ariaProps = buildAriaProps(aria)
|
45
33
|
const classes = classnames(
|
@@ -67,7 +55,7 @@ const Avatar = (props: AvatarProps) => {
|
|
67
55
|
>
|
68
56
|
<If condition={imageUrl && !error}>
|
69
57
|
<Image
|
70
|
-
alt={
|
58
|
+
alt={name}
|
71
59
|
onError={handleError}
|
72
60
|
url={imageUrl}
|
73
61
|
/>
|
@@ -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: {
|
7
|
+
<%= pb_rails("image", props: { 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,11 +3,8 @@
|
|
3
3
|
module Playbook
|
4
4
|
module PbAvatar
|
5
5
|
class Avatar < Playbook::KitBase
|
6
|
-
prop :image_url
|
7
|
-
prop :
|
8
|
-
default: ""
|
9
|
-
prop :name, type: Playbook::Props::String,
|
10
|
-
default: ""
|
6
|
+
prop :image_url
|
7
|
+
prop :name, default: ""
|
11
8
|
prop :size, type: Playbook::Props::Enum,
|
12
9
|
values: %w[xs sm md base lg xl],
|
13
10
|
default: "md"
|
@@ -5,26 +5,23 @@ 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'
|
9
|
-
imageAlt = 'Terry Johnson Standing'
|
8
|
+
name = 'Terry Johnson'
|
10
9
|
|
11
10
|
test('loads the given image url and name', () => {
|
12
11
|
render(
|
13
12
|
<Avatar
|
14
13
|
data={{ testid: testId }}
|
15
|
-
imageAlt={imageAlt}
|
16
14
|
imageUrl={imageUrl}
|
17
15
|
name={name}
|
18
16
|
/>
|
19
17
|
)
|
20
18
|
|
21
19
|
const kit = screen.getByTestId(testId)
|
22
|
-
const image = screen.getByAltText(
|
20
|
+
const image = screen.getByAltText(name)
|
23
21
|
const initials = name.split(/\s/)[0].substr(0, 1) + name.split(/\s/)[1].substr(0, 1)
|
24
22
|
|
25
23
|
expect(kit).toHaveClass('pb_avatar_kit_md')
|
26
24
|
expect(kit).toHaveAttribute('data-initials', initials)
|
27
25
|
expect(image).toHaveAttribute('data-src', imageUrl)
|
28
26
|
expect(image).toHaveAttribute('src', imageUrl)
|
29
|
-
expect(image).toHaveAttribute('alt', imageAlt)
|
30
27
|
})
|
@@ -1,7 +1,6 @@
|
|
1
1
|
<%= pb_rails("avatar", props: {
|
2
2
|
name: "Terry Johnson",
|
3
3
|
size: "xs",
|
4
|
-
image_alt: "Terry Johnson Standing",
|
5
4
|
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
6
5
|
status: "online"
|
7
6
|
}) %>
|
@@ -11,7 +10,6 @@
|
|
11
10
|
<%= pb_rails("avatar", props: {
|
12
11
|
name: "Terry Johnson",
|
13
12
|
size: "sm",
|
14
|
-
image_alt: "Terry Johnson Standing",
|
15
13
|
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
16
14
|
status: "away"
|
17
15
|
}) %>
|
@@ -21,7 +19,6 @@
|
|
21
19
|
<%= pb_rails("avatar", props: {
|
22
20
|
name: "Terry Johnson",
|
23
21
|
size: "md",
|
24
|
-
image_alt: "Terry Johnson Standing",
|
25
22
|
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
26
23
|
status: "offline"
|
27
24
|
}) %>
|
@@ -31,7 +28,6 @@
|
|
31
28
|
<%= pb_rails("avatar", props: {
|
32
29
|
name: "Terry Johnson",
|
33
30
|
size: "lg",
|
34
|
-
image_alt: "Terry Johnson Standing",
|
35
31
|
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
36
32
|
status: "online"
|
37
33
|
}) %>
|
@@ -41,7 +37,6 @@
|
|
41
37
|
<%= pb_rails("avatar", props: {
|
42
38
|
name: "Terry Johnson",
|
43
39
|
size: "xl",
|
44
|
-
image_alt: "Terry Johnson Standing",
|
45
40
|
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
46
41
|
status: "away"
|
47
42
|
}) %>
|
@@ -5,7 +5,6 @@ const AvatarDefault = (props) => {
|
|
5
5
|
return (
|
6
6
|
<div>
|
7
7
|
<Avatar
|
8
|
-
imageAlt="Terry Johnson Standing"
|
9
8
|
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
10
9
|
name="Terry Johnson"
|
11
10
|
size="xs"
|
@@ -14,7 +13,6 @@ const AvatarDefault = (props) => {
|
|
14
13
|
/>
|
15
14
|
<br />
|
16
15
|
<Avatar
|
17
|
-
imageAlt="Terry Johnson Standing"
|
18
16
|
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
19
17
|
name="Terry Johnson"
|
20
18
|
size="sm"
|
@@ -23,7 +21,6 @@ const AvatarDefault = (props) => {
|
|
23
21
|
/>
|
24
22
|
<br />
|
25
23
|
<Avatar
|
26
|
-
imageAlt="Terry Johnson Standing"
|
27
24
|
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
28
25
|
name="Terry Johnson"
|
29
26
|
size="md"
|
@@ -32,7 +29,6 @@ const AvatarDefault = (props) => {
|
|
32
29
|
/>
|
33
30
|
<br />
|
34
31
|
<Avatar
|
35
|
-
imageAlt="Terry Johnson Standing"
|
36
32
|
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
37
33
|
name="Terry Johnson"
|
38
34
|
size="lg"
|
@@ -41,7 +37,6 @@ const AvatarDefault = (props) => {
|
|
41
37
|
/>
|
42
38
|
<br />
|
43
39
|
<Avatar
|
44
|
-
imageAlt="Terry Johnson Standing"
|
45
40
|
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
46
41
|
name="Terry Johnson"
|
47
42
|
size="xl"
|
@@ -1,7 +1,6 @@
|
|
1
1
|
<%= pb_rails("avatar", props: {
|
2
2
|
name: "Terry Johnson",
|
3
3
|
size: "sm",
|
4
|
-
image_alt: "Terry Johnson Status",
|
5
4
|
image_url: "https://randomuser.me/api/portraits/men/44.jpg"
|
6
5
|
}) %>
|
7
6
|
|
@@ -10,7 +9,6 @@
|
|
10
9
|
<%= pb_rails("avatar", props: {
|
11
10
|
name: "Terry Johnson",
|
12
11
|
size: "sm",
|
13
|
-
image_alt: "Terry Johnson Online",
|
14
12
|
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
15
13
|
status: "online"
|
16
14
|
}) %>
|
@@ -20,7 +18,6 @@
|
|
20
18
|
<%= pb_rails("avatar", props: {
|
21
19
|
name: "Terry Johnson",
|
22
20
|
size: "sm",
|
23
|
-
image_alt: "Terry Johnson Away",
|
24
21
|
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
25
22
|
status: "away"
|
26
23
|
}) %>
|
@@ -30,7 +27,6 @@
|
|
30
27
|
<%= pb_rails("avatar", props: {
|
31
28
|
name: "Terry Johnson",
|
32
29
|
size: "sm",
|
33
|
-
image_alt: "Terry Johnson Offline",
|
34
30
|
image_url: "https://randomuser.me/api/portraits/men/44.jpg",
|
35
31
|
status: "offline"
|
36
32
|
}) %>
|
@@ -5,7 +5,6 @@ const AvatarStatus = (props) => {
|
|
5
5
|
return (
|
6
6
|
<>
|
7
7
|
<Avatar
|
8
|
-
imageAlt="Terry Johnson Status"
|
9
8
|
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
10
9
|
name="Terry Johnson"
|
11
10
|
size="sm"
|
@@ -15,7 +14,6 @@ const AvatarStatus = (props) => {
|
|
15
14
|
<br />
|
16
15
|
|
17
16
|
<Avatar
|
18
|
-
imageAlt="Terry Johnson Online"
|
19
17
|
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
20
18
|
name="Terry Johnson"
|
21
19
|
size="sm"
|
@@ -26,7 +24,6 @@ const AvatarStatus = (props) => {
|
|
26
24
|
<br />
|
27
25
|
|
28
26
|
<Avatar
|
29
|
-
imageAlt="Terry Johnson Away"
|
30
27
|
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
31
28
|
name="Terry Johnson"
|
32
29
|
size="sm"
|
@@ -37,7 +34,6 @@ const AvatarStatus = (props) => {
|
|
37
34
|
<br />
|
38
35
|
|
39
36
|
<Avatar
|
40
|
-
imageAlt="Terry Johnson Offline"
|
41
37
|
imageUrl="https://randomuser.me/api/portraits/men/44.jpg"
|
42
38
|
name="Terry Johnson"
|
43
39
|
size="sm"
|
@@ -15,12 +15,10 @@ import { globalProps } from '../utilities/globalProps.js'
|
|
15
15
|
type AvatarActionButtonProps = {
|
16
16
|
action?: string,
|
17
17
|
aria: Object,
|
18
|
-
linkAriaLabel?: string,
|
19
18
|
className?: string,
|
20
19
|
dark?: boolean,
|
21
20
|
data?: Object,
|
22
21
|
id?: string,
|
23
|
-
imageAlt?: string,
|
24
22
|
imageUrl?: string,
|
25
23
|
linkUrl?: string,
|
26
24
|
name?: string,
|
@@ -33,12 +31,10 @@ const AvatarActionButton = (props: AvatarActionButtonProps) => {
|
|
33
31
|
const {
|
34
32
|
action = 'add',
|
35
33
|
aria = {},
|
36
|
-
linkAriaLabel,
|
37
34
|
className,
|
38
35
|
dark = false,
|
39
36
|
data = {},
|
40
37
|
id,
|
41
|
-
imageAlt = '',
|
42
38
|
imageUrl,
|
43
39
|
linkUrl,
|
44
40
|
name,
|
@@ -71,12 +67,10 @@ const AvatarActionButton = (props: AvatarActionButtonProps) => {
|
|
71
67
|
id={id}
|
72
68
|
>
|
73
69
|
<a
|
74
|
-
aria-label={linkAriaLabel}
|
75
70
|
href={linkUrl}
|
76
71
|
onClick={onClick}
|
77
72
|
>
|
78
73
|
<Avatar
|
79
|
-
imageAlt={imageAlt}
|
80
74
|
imageUrl={imageUrl}
|
81
75
|
name={name}
|
82
76
|
size={size}
|
@@ -14,12 +14,11 @@
|
|
14
14
|
<% end %>
|
15
15
|
<% end %>
|
16
16
|
|
17
|
-
<%= link_to object.link_url, id: object.tooltip_id
|
17
|
+
<%= link_to object.link_url, id: object.tooltip_id 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,
|
23
22
|
image_url: object.image_url,
|
24
23
|
class: "avatar_action"
|
25
24
|
}) %>
|
@@ -5,8 +5,6 @@ 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
|
10
8
|
prop :image_url, type: Playbook::Props::String
|
11
9
|
prop :link_url, type: Playbook::Props::String, default: "#"
|
12
10
|
prop :tooltip_text, type: Playbook::Props::String
|
data/app/pb_kits/playbook/pb_avatar_action_button/docs/_avatar_action_button_actions.html.erb
CHANGED
@@ -1,17 +1,13 @@
|
|
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",
|
5
4
|
name: "Sophia Carden",
|
6
|
-
image_alt: "Add Sophia Carden",
|
7
5
|
image_url: "https://randomuser.me/api/portraits/women/8.jpg",
|
8
6
|
action: "add",
|
9
7
|
}) %>
|
10
8
|
|
11
9
|
<%= pb_rails("avatar_action_button", props: {
|
12
|
-
link_aria_label: "Remove Sophia Carden",
|
13
10
|
name: "Sophia Carden",
|
14
|
-
image_alt: "Remove Sophia Carden",
|
15
11
|
image_url: "https://randomuser.me/api/portraits/women/8.jpg",
|
16
12
|
action: "remove",
|
17
13
|
}) %>
|
@@ -5,17 +5,13 @@ const AvatarActionButtonActions = (props) => (
|
|
5
5
|
<div className="pb--doc-demo-row">
|
6
6
|
<AvatarActionButton
|
7
7
|
action="add"
|
8
|
-
imageAlt="Add Sophia Carden"
|
9
8
|
imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
|
10
|
-
linkAriaLabel="Add Sophia Carden"
|
11
9
|
name="Sophia Carden"
|
12
10
|
{...props}
|
13
11
|
/>
|
14
12
|
<AvatarActionButton
|
15
13
|
action="remove"
|
16
|
-
imageAlt="Remove Sophia Carden"
|
17
14
|
imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
|
18
|
-
linkAriaLabel="Remove Sophia Carden"
|
19
15
|
name="Sophia Carden"
|
20
16
|
{...props}
|
21
17
|
/>
|
@@ -4,9 +4,7 @@ import { AvatarActionButton } from '../../'
|
|
4
4
|
const AvatarActionButtonDefault = (props) => (
|
5
5
|
<div className="pb--doc-demo-row">
|
6
6
|
<AvatarActionButton
|
7
|
-
imageAlt="Sophia Carden"
|
8
7
|
imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
|
9
|
-
linkAriaLabel="Sophia Carden"
|
10
8
|
name="Sophia Carden"
|
11
9
|
{...props}
|
12
10
|
/>
|
@@ -4,9 +4,7 @@ import { AvatarActionButton } from '../../'
|
|
4
4
|
const AvatarActionButtonOnClick = (props) => (
|
5
5
|
<div className="pb--doc-demo-row">
|
6
6
|
<AvatarActionButton
|
7
|
-
imageAlt="Sophia Carden"
|
8
7
|
imageUrl="https://randomuser.me/api/portraits/women/8.jpg"
|
9
|
-
linkAriaLabel="Alert Sophia Carden"
|
10
8
|
linkUrl="https://www.google.com"
|
11
9
|
name="Sophia Carden"
|
12
10
|
onClick={() => alert('clicked!')}
|