playbook_ui 6.0.0 → 6.0.1.pre.alpha6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +2 -1
- data/app/pb_kits/playbook/data/menu.yml +3 -2
- data/app/pb_kits/playbook/index.js +1 -0
- data/app/pb_kits/playbook/packs/examples.js +2 -0
- data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +2 -2
- data/app/pb_kits/playbook/pb_badge/_badge.jsx +2 -5
- data/app/pb_kits/playbook/pb_badge/_badge.scss +1 -1
- data/app/pb_kits/playbook/pb_badge/badge.rb +1 -6
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +2 -2
- data/app/pb_kits/playbook/pb_body/_body.jsx +3 -6
- data/app/pb_kits/playbook/pb_body/_body.scss +6 -0
- data/app/pb_kits/playbook/pb_body/body.rb +2 -8
- data/app/pb_kits/playbook/pb_button/_button.jsx +2 -5
- data/app/pb_kits/playbook/pb_button/_button.scss +1 -1
- data/app/pb_kits/playbook/pb_button/button.rb +1 -7
- data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +2 -0
- data/app/pb_kits/playbook/pb_caption/_caption.jsx +2 -2
- data/app/pb_kits/playbook/pb_card/_card.jsx +17 -14
- data/app/pb_kits/playbook/pb_card/_card.scss +4 -1
- data/app/pb_kits/playbook/pb_card/card.rb +2 -9
- data/app/pb_kits/playbook/pb_card/docs/_card_dark.html.erb +1 -1
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +2 -2
- data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +4 -8
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +2 -2
- data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +0 -2
- data/app/pb_kits/playbook/pb_contact/_contact.jsx +2 -2
- data/app/pb_kits/playbook/pb_currency/_currency.jsx +2 -2
- data/app/pb_kits/playbook/pb_dashboard/pbChartsLightTheme.js +26 -0
- data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +2 -2
- data/app/pb_kits/playbook/pb_date/_date.jsx +4 -4
- data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +2 -2
- data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +2 -2
- data/app/pb_kits/playbook/pb_file_upload/_file_upload.jsx +2 -2
- data/app/pb_kits/playbook/pb_filter/Filter/FilterBackground.jsx +2 -2
- data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +6 -2
- data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +2 -2
- data/app/pb_kits/playbook/pb_flex/_flex.jsx +2 -2
- data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +2 -2
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +1 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +3 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +3 -1
- data/app/pb_kits/playbook/pb_form/form_builder.rb +2 -0
- data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +26 -0
- data/app/pb_kits/playbook/pb_form/form_builder/form_field_builder.rb +1 -0
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +2 -2
- data/app/pb_kits/playbook/pb_gauge/_gauge.html.erb +12 -0
- data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +110 -0
- data/app/pb_kits/playbook/pb_gauge/_gauge.scss +11 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.html.erb +11 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_default.jsx +17 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.html.erb +12 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_disable_animation.jsx +18 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.html.erb +14 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_full_circle.jsx +20 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.html.erb +15 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_height.jsx +23 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_live_data.jsx +40 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.html.erb +15 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.jsx +21 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_min_max.md +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +26 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +37 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.md +1 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.html.erb +14 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_title.jsx +20 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.html.erb +29 -0
- data/app/pb_kits/playbook/pb_gauge/docs/_gauge_units.jsx +29 -0
- data/app/pb_kits/playbook/pb_gauge/docs/example.yml +24 -0
- data/app/pb_kits/playbook/pb_gauge/docs/index.js +9 -0
- data/app/pb_kits/playbook/pb_gauge/gauge.rb +57 -0
- data/app/pb_kits/playbook/pb_hashtag/_hashtag.jsx +2 -2
- data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +2 -2
- data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +2 -2
- data/app/pb_kits/playbook/pb_icon/_icon.jsx +2 -2
- data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.jsx +2 -2
- data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +2 -2
- data/app/pb_kits/playbook/pb_image/_image.jsx +2 -2
- data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +2 -2
- data/app/pb_kits/playbook/pb_label_value/_label_value.jsx +2 -2
- data/app/pb_kits/playbook/pb_layout/_layout.jsx +6 -6
- data/app/pb_kits/playbook/pb_legend/_legend.jsx +2 -2
- data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +2 -2
- data/app/pb_kits/playbook/pb_list/_list.jsx +2 -2
- data/app/pb_kits/playbook/pb_list/_list_item.jsx +2 -2
- data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.jsx +2 -2
- data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +111 -0
- data/app/pb_kits/playbook/pb_message/_message.jsx +2 -2
- data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +2 -2
- data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
- data/app/pb_kits/playbook/pb_online_status/_online_status.jsx +2 -2
- data/app/pb_kits/playbook/pb_person/_person.jsx +2 -2
- data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +2 -2
- data/app/pb_kits/playbook/pb_pill/_pill.jsx +2 -2
- data/app/pb_kits/playbook/pb_popover/_popover.jsx +2 -2
- data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.jsx +2 -2
- data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +2 -2
- data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +2 -2
- data/app/pb_kits/playbook/pb_radio/_radio.jsx +2 -2
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +2 -2
- data/app/pb_kits/playbook/pb_select/_select.jsx +2 -2
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.jsx +2 -2
- data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
- data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +2 -2
- data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
- data/app/pb_kits/playbook/pb_table/_table_row.jsx +2 -2
- data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +2 -2
- data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +2 -2
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +2 -2
- data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +2 -2
- data/app/pb_kits/playbook/pb_title/_title.jsx +2 -2
- data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +2 -2
- data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +2 -2
- data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +2 -2
- data/app/pb_kits/playbook/pb_user/_user.jsx +2 -2
- data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +2 -2
- data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.jsx +2 -2
- data/app/pb_kits/playbook/plugins/pb_chart.js +74 -0
- data/app/pb_kits/playbook/props.rb +6 -0
- data/app/pb_kits/playbook/utilities/{spacing.js → globalProps.js} +14 -1
- data/app/pb_kits/playbook/utilities/props.js +1 -0
- data/lib/generators/kit/templates/kit_jsx.erb.tt +2 -2
- data/lib/playbook/version.rb +1 -1
- metadata +34 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d15e1dfbbf4ca480142d10ee4e6da90644a8e9b95c55948d5985626885c4a3b
|
4
|
+
data.tar.gz: a1cdc436d5c1c262a37ed465b6de00c1efe27663af599e641acaf871a0a04951
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3712c53539b7900f80549f6b57be230538b59f32ef5559d6b1de3327a9da63d8d9dc9ca333d3286c648cdb8605dd482bc45d8ed445b3d7609b42e13fef053d7b
|
7
|
+
data.tar.gz: 1bcb503b7574ec32dc420e84c99e0c5c1ed1bd1b720a54ef65a9b7b2bae7c77962dd660208e65c8672151119f08ac4fc6344dc06091eb0df8b029df136b04cae
|
@@ -26,6 +26,7 @@
|
|
26
26
|
@import 'pb_form/form';
|
27
27
|
@import 'pb_form_pill/form_pill';
|
28
28
|
@import 'pb_flex/flex';
|
29
|
+
@import 'pb_gauge/gauge';
|
29
30
|
@import 'pb_hashtag/hashtag';
|
30
31
|
@import 'pb_highlight/highlight';
|
31
32
|
@import 'pb_home_address_street/home_address_street';
|
@@ -78,4 +79,4 @@
|
|
78
79
|
@import 'pb_user_badge/user_badge';
|
79
80
|
@import 'pb_time_stacked/time_stacked';
|
80
81
|
@import 'pb_weekday_stacked/weekday_stacked';
|
81
|
-
@import './utilities/spacing';
|
82
|
+
@import './utilities/spacing';
|
@@ -25,6 +25,7 @@ export FixedConfirmationToast from './pb_fixed_confirmation_toast/_fixed_confirm
|
|
25
25
|
export Flex from './pb_flex/_flex.jsx'
|
26
26
|
export FlexItem from './pb_flex/_flex_item.jsx'
|
27
27
|
export FormPill from './pb_form_pill/_form_pill.jsx'
|
28
|
+
export Gauge from './pb_gauge/_gauge.jsx'
|
28
29
|
export Hashtag from './pb_hashtag/_hashtag.jsx'
|
29
30
|
export Highlight from './pb_highlight/_highlight.jsx'
|
30
31
|
export HomeAddressStreet from './pb_home_address_street/_home_address_street.jsx'
|
@@ -38,6 +38,7 @@ import * as Filter from 'pb_filter/docs'
|
|
38
38
|
import * as FixedConfirmationToast from 'pb_fixed_confirmation_toast/docs'
|
39
39
|
import * as Flex from 'pb_flex/docs'
|
40
40
|
import * as FormPill from 'pb_form_pill/docs'
|
41
|
+
import * as Gauge from 'pb_gauge/docs'
|
41
42
|
import * as Hashtag from 'pb_hashtag/docs'
|
42
43
|
import * as Highlight from 'pb_highlight/docs'
|
43
44
|
import * as HomeAddressStreet from 'pb_home_address_street/docs'
|
@@ -116,6 +117,7 @@ WebpackerReact.setup({
|
|
116
117
|
...FixedConfirmationToast,
|
117
118
|
...Flex,
|
118
119
|
...FormPill,
|
120
|
+
...Gauge,
|
119
121
|
...Hashtag,
|
120
122
|
...Highlight,
|
121
123
|
...HomeAddressStreet,
|
@@ -5,7 +5,7 @@ import classnames from 'classnames'
|
|
5
5
|
import { map } from 'lodash'
|
6
6
|
|
7
7
|
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
8
|
-
import {
|
8
|
+
import { globalProps } from '../utilities/globalProps.js'
|
9
9
|
|
10
10
|
import { Image } from '../'
|
11
11
|
|
@@ -29,7 +29,7 @@ const Avatar = (props: AvatarProps) => {
|
|
29
29
|
const { aria = {}, className, data = {}, name = null, id = id, imageUrl, size = 'md', status = null } = props
|
30
30
|
const dataProps = buildDataProps(data)
|
31
31
|
const ariaProps = buildAriaProps(aria)
|
32
|
-
const classes = classnames(buildCss('pb_avatar_kit', size), className,
|
32
|
+
const classes = classnames(buildCss('pb_avatar_kit', size), className, globalProps(props))
|
33
33
|
|
34
34
|
const initials = name && firstTwoInitials(name)
|
35
35
|
dataProps['data-initials'] = initials
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
import React from 'react'
|
4
4
|
import classnames from 'classnames'
|
5
|
-
import {
|
5
|
+
import { globalProps } from '../utilities/globalProps.js'
|
6
6
|
|
7
7
|
import {
|
8
8
|
buildAriaProps,
|
@@ -13,7 +13,6 @@ import {
|
|
13
13
|
type BadgeProps = {
|
14
14
|
aria?: object,
|
15
15
|
className?: String,
|
16
|
-
dark?: Boolean,
|
17
16
|
data?: object,
|
18
17
|
id?: String,
|
19
18
|
rounded?: Boolean,
|
@@ -24,7 +23,6 @@ const Badge = (props: BadgeProps) => {
|
|
24
23
|
const {
|
25
24
|
aria = {},
|
26
25
|
className,
|
27
|
-
dark = false,
|
28
26
|
data = {},
|
29
27
|
id,
|
30
28
|
rounded = false,
|
@@ -37,9 +35,8 @@ const Badge = (props: BadgeProps) => {
|
|
37
35
|
className,
|
38
36
|
buildCss('pb_badge_kit', variant, {
|
39
37
|
rounded: rounded,
|
40
|
-
dark: dark,
|
41
38
|
}),
|
42
|
-
|
39
|
+
globalProps(props)
|
43
40
|
)
|
44
41
|
|
45
42
|
return (
|
@@ -7,7 +7,6 @@ module Playbook
|
|
7
7
|
|
8
8
|
partial "pb_badge/badge"
|
9
9
|
|
10
|
-
prop :dark, type: Playbook::Props::Boolean, default: false
|
11
10
|
prop :rounded, type: Playbook::Props::Boolean, default: false
|
12
11
|
prop :text
|
13
12
|
prop :variant, type: Playbook::Props::Enum,
|
@@ -15,15 +14,11 @@ module Playbook
|
|
15
14
|
default: "neutral"
|
16
15
|
|
17
16
|
def classname
|
18
|
-
generate_classname("pb_badge_kit", variant, rounded_class
|
17
|
+
generate_classname("pb_badge_kit", variant, rounded_class)
|
19
18
|
end
|
20
19
|
|
21
20
|
private
|
22
21
|
|
23
|
-
def dark_class
|
24
|
-
dark ? "dark" : nil
|
25
|
-
end
|
26
|
-
|
27
22
|
def rounded_class
|
28
23
|
rounded ? "rounded" : nil
|
29
24
|
end
|
@@ -3,7 +3,7 @@
|
|
3
3
|
import React from 'react'
|
4
4
|
import classnames from 'classnames'
|
5
5
|
import { pbChart } from '../'
|
6
|
-
import {
|
6
|
+
import { globalProps } from '../utilities/globalProps.js'
|
7
7
|
|
8
8
|
type BarGraphProps = {
|
9
9
|
axisTitle: String,
|
@@ -75,7 +75,7 @@ export default class BarGraph extends React.Component<BarGraphProps> {
|
|
75
75
|
|
76
76
|
return (
|
77
77
|
<div
|
78
|
-
className={classnames(className,
|
78
|
+
className={classnames(className, globalProps(this.props))}
|
79
79
|
id={id}
|
80
80
|
/>
|
81
81
|
)
|
@@ -4,7 +4,7 @@ import React from 'react'
|
|
4
4
|
import classnames from 'classnames'
|
5
5
|
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
6
6
|
import { Highlight } from '../'
|
7
|
-
import {
|
7
|
+
import { globalProps } from '../utilities/globalProps.js'
|
8
8
|
|
9
9
|
type BodyProps = {
|
10
10
|
aria?: object,
|
@@ -27,7 +27,6 @@ const Body = (props: BodyProps) => {
|
|
27
27
|
className,
|
28
28
|
children,
|
29
29
|
color = '',
|
30
|
-
dark = false,
|
31
30
|
data = {},
|
32
31
|
highlightedText = [],
|
33
32
|
highlighting = false,
|
@@ -40,10 +39,8 @@ const Body = (props: BodyProps) => {
|
|
40
39
|
const ariaProps = buildAriaProps(aria)
|
41
40
|
const dataProps = buildDataProps(data)
|
42
41
|
const classes = classnames(
|
43
|
-
buildCss('pb_body_kit', color, status,
|
44
|
-
|
45
|
-
}),
|
46
|
-
spacing(props),
|
42
|
+
buildCss('pb_body_kit', color, status),
|
43
|
+
globalProps(props),
|
47
44
|
className
|
48
45
|
)
|
49
46
|
const Tag = `${tag}`
|
@@ -11,8 +11,6 @@ module Playbook
|
|
11
11
|
prop :color, type: Playbook::Props::Enum,
|
12
12
|
values: %w[default light lighter dark light_dark lighter_dark],
|
13
13
|
default: "default"
|
14
|
-
prop :dark, type: Playbook::Props::Boolean,
|
15
|
-
default: false
|
16
14
|
prop :status, type: Playbook::Props::Enum,
|
17
15
|
values: %w[neutral negative positive],
|
18
16
|
default: "neutral"
|
@@ -26,7 +24,7 @@ module Playbook
|
|
26
24
|
default: []
|
27
25
|
|
28
26
|
def classname
|
29
|
-
generate_classname("pb_body_kit", color_class,
|
27
|
+
generate_classname("pb_body_kit", color_class, status_class)
|
30
28
|
end
|
31
29
|
|
32
30
|
def content
|
@@ -41,15 +39,11 @@ module Playbook
|
|
41
39
|
highlight_tags = pb_highlight_output.split("|")
|
42
40
|
highlight(text, highlighted_text, highlighter: "#{highlight_tags.first.html_safe} \\1 #{highlight_tags.last.html_safe}")
|
43
41
|
end
|
44
|
-
|
42
|
+
|
45
43
|
def color_class
|
46
44
|
color != "default" ? color : nil
|
47
45
|
end
|
48
46
|
|
49
|
-
def dark_class
|
50
|
-
dark ? "dark" : nil
|
51
|
-
end
|
52
|
-
|
53
47
|
def status_class
|
54
48
|
status != "neutral" ? status : nil
|
55
49
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
import React from 'react'
|
4
4
|
import classnames from 'classnames'
|
5
|
-
import {
|
5
|
+
import { globalProps } from '../utilities/globalProps.js'
|
6
6
|
|
7
7
|
import Icon from '../pb_icon/_icon.jsx'
|
8
8
|
|
@@ -13,7 +13,6 @@ type ButtonPropTypes = {
|
|
13
13
|
},
|
14
14
|
children?: Array<React.ReactChild>,
|
15
15
|
className?: String | Array<String>,
|
16
|
-
dark: Boolean,
|
17
16
|
disabled?: Boolean,
|
18
17
|
fixedWidth?: Boolean,
|
19
18
|
fullWidth?: Boolean,
|
@@ -34,7 +33,6 @@ type ButtonPropTypes = {
|
|
34
33
|
|
35
34
|
const buttonClassName = (props: ButtonPropTypes) => {
|
36
35
|
const {
|
37
|
-
dark = false,
|
38
36
|
disabled = false,
|
39
37
|
fullWidth = false,
|
40
38
|
loading = false,
|
@@ -48,7 +46,6 @@ const buttonClassName = (props: ButtonPropTypes) => {
|
|
48
46
|
className += `${variant !== null ? `_${variant}` : ''}`
|
49
47
|
className += `${type !== null ? `_${type}` : ''}`
|
50
48
|
className += `${size !== null ? `_${size}` : ''}`
|
51
|
-
className += `${dark === true ? '_dark' : ''}`
|
52
49
|
className += `${fullWidth ? '_block' : ''}`
|
53
50
|
className += disabled ? '_disabled' : '_enabled'
|
54
51
|
className += loading ? '_loading' : ''
|
@@ -85,7 +82,7 @@ const Button = (props: ButtonPropTypes) => {
|
|
85
82
|
} = props
|
86
83
|
|
87
84
|
const buttonAria = buttonAriaProps(props)
|
88
|
-
const css = classnames(buttonClassName(props), className,
|
85
|
+
const css = classnames(buttonClassName(props), className, globalProps(props))
|
89
86
|
const loadingIcon = (
|
90
87
|
<div className="loading-icon">
|
91
88
|
<Icon
|
@@ -7,8 +7,6 @@ module Playbook
|
|
7
7
|
|
8
8
|
partial "pb_button/button"
|
9
9
|
|
10
|
-
prop :dark, type: Playbook::Props::Boolean,
|
11
|
-
default: false
|
12
10
|
prop :disabled, type: Playbook::Props::Boolean,
|
13
11
|
default: false
|
14
12
|
prop :full_width, type: Playbook::Props::Boolean,
|
@@ -51,11 +49,7 @@ module Playbook
|
|
51
49
|
private
|
52
50
|
|
53
51
|
def classname
|
54
|
-
generate_classname("pb_button_kit", variant, full_width_class, disabled_class, loading_class
|
55
|
-
end
|
56
|
-
|
57
|
-
def dark_class
|
58
|
-
dark ? "dark" : nil
|
52
|
+
generate_classname("pb_button_kit", variant, full_width_class, disabled_class, loading_class)
|
59
53
|
end
|
60
54
|
|
61
55
|
def disabled_class
|
@@ -3,7 +3,7 @@
|
|
3
3
|
import React from 'react'
|
4
4
|
import classnames from 'classnames'
|
5
5
|
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
6
|
-
import {
|
6
|
+
import { globalProps } from '../utilities/globalProps.js'
|
7
7
|
|
8
8
|
type CaptionProps = {
|
9
9
|
aria?: object,
|
@@ -38,7 +38,7 @@ const Caption = (props: CaptionProps) => {
|
|
38
38
|
dark: dark,
|
39
39
|
}),
|
40
40
|
className,
|
41
|
-
|
41
|
+
globalProps(props)
|
42
42
|
)
|
43
43
|
|
44
44
|
return (
|
@@ -4,38 +4,41 @@ import React from 'react'
|
|
4
4
|
import { get } from 'lodash'
|
5
5
|
import classnames from 'classnames'
|
6
6
|
import { buildCss } from '../utilities/props'
|
7
|
-
import {
|
7
|
+
import { globalProps } from '../utilities/globalProps.js'
|
8
8
|
|
9
9
|
type CardPropTypes = {
|
10
|
+
borderNone?: Boolean,
|
10
11
|
children: Array<React.ReactNode> | React.ReactNode,
|
11
12
|
className?: String,
|
12
13
|
highlight?: {
|
13
14
|
position?: "side" | "top",
|
14
15
|
color?: String,
|
15
16
|
},
|
17
|
+
padding?: String,
|
16
18
|
selected?: Boolean,
|
17
19
|
shadow?: "none" | "deep" | "deeper" | "deepest",
|
18
|
-
dark?: Boolean,
|
19
|
-
borderNone?: Boolean,
|
20
20
|
}
|
21
21
|
|
22
22
|
type CardHeaderProps = {
|
23
|
+
categoryColor?: Number,
|
23
24
|
children: Array<React.ReactNode> | React.ReactNode,
|
24
25
|
className?: String,
|
25
|
-
|
26
|
+
padding?: String,
|
26
27
|
}
|
27
28
|
|
28
29
|
type CardBodyProps = {
|
29
30
|
children: Array<React.ReactNode> | React.ReactNode | String,
|
30
31
|
className?: String,
|
32
|
+
padding?: String,
|
31
33
|
}
|
32
34
|
|
33
35
|
// Header component
|
34
36
|
const Header = (props: CardHeaderProps) => {
|
35
|
-
const { children, className, categoryColor = 1 } = props
|
37
|
+
const { children, className, categoryColor = 1, padding = 'sm' } = props
|
36
38
|
const headerCSS = buildCss('pb_card_header_kit', `category_${categoryColor}`)
|
37
39
|
|
38
|
-
const headerSpacing =
|
40
|
+
const headerSpacing = globalProps(props, { padding })
|
41
|
+
|
39
42
|
return (
|
40
43
|
<div className={classnames(headerCSS, className, headerSpacing)}>
|
41
44
|
{children}
|
@@ -45,9 +48,11 @@ const Header = (props: CardHeaderProps) => {
|
|
45
48
|
|
46
49
|
// Body component
|
47
50
|
const Body = (props: CardBodyProps) => {
|
48
|
-
const { children, className } = props
|
51
|
+
const { children, className, padding = 'md' } = props
|
49
52
|
const bodyCSS = buildCss('pb_card_body_kit')
|
50
|
-
|
53
|
+
|
54
|
+
const bodySpacing = globalProps(props, { padding })
|
55
|
+
|
51
56
|
return (
|
52
57
|
<div className={classnames(bodyCSS, className, bodySpacing)}>
|
53
58
|
{children}
|
@@ -57,24 +62,22 @@ const Body = (props: CardBodyProps) => {
|
|
57
62
|
|
58
63
|
const Card = (props: CardPropTypes) => {
|
59
64
|
const {
|
65
|
+
borderNone = false,
|
60
66
|
children,
|
61
67
|
className,
|
62
|
-
dark = false,
|
63
68
|
highlight = {},
|
64
69
|
selected = false,
|
65
70
|
shadow = 'none',
|
66
|
-
|
71
|
+
padding = 'md',
|
67
72
|
} = props
|
68
73
|
const bodyCSS = buildCss('pb_card_body_kit')
|
69
74
|
const borderCSS = borderNone == true ? 'border_none' : ''
|
70
75
|
const cardCss = buildCss('pb_card_kit', `shadow_${shadow}`, `${borderCSS}`, {
|
71
|
-
dark: dark,
|
72
76
|
selected,
|
73
77
|
deselected: !selected,
|
74
78
|
[`highlight_${highlight.position}`]: highlight.position,
|
75
79
|
[`highlight_${highlight.color}`]: highlight.color,
|
76
80
|
})
|
77
|
-
const cardSpacing = spacing(props) ? spacing(props) : 'p_md'
|
78
81
|
|
79
82
|
// coerce to array
|
80
83
|
const cardChildren =
|
@@ -91,9 +94,9 @@ const Card = (props: CardPropTypes) => {
|
|
91
94
|
const nonHeaderChildren = cardChildren.filter((child) => (get(child, 'type.displayName') !== 'Header'))
|
92
95
|
|
93
96
|
return (
|
94
|
-
<div className={classnames(cardCss, className)}>
|
97
|
+
<div className={classnames(cardCss, globalProps(props), className)}>
|
95
98
|
{subComponentTags('Header')}
|
96
|
-
<div className={classnames(bodyCSS,
|
99
|
+
<div className={classnames(bodyCSS, globalProps({ padding }))}>
|
97
100
|
{nonHeaderChildren}
|
98
101
|
</div>
|
99
102
|
</div>
|