playbook_ui 5.2.0 → 5.5.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.
- checksums.yaml +4 -4
- data/app/pb_kits/playbook/_playbook.scss +1 -1
- data/app/pb_kits/playbook/data/menu.yml +1 -0
- data/app/pb_kits/playbook/packs/samples.js +2 -0
- data/app/pb_kits/playbook/packs/site_styles/docs/_all.scss +1 -0
- data/app/pb_kits/playbook/packs/site_styles/docs/_bg_light_doc_example.scss +7 -0
- data/app/pb_kits/playbook/pb_badge/_badge.html.erb +1 -0
- data/app/pb_kits/playbook/pb_badge/_badge.jsx +17 -4
- data/app/pb_kits/playbook/pb_body/_body.html.erb +1 -0
- data/app/pb_kits/playbook/pb_body/_body.jsx +33 -24
- data/app/pb_kits/playbook/pb_body/docs/_body_dark.html.erb +1 -1
- data/app/pb_kits/playbook/pb_body/docs/_body_dark.jsx +0 -2
- data/app/pb_kits/playbook/pb_body/docs/_body_light.html.erb +1 -0
- data/app/pb_kits/playbook/pb_body/docs/_body_light.jsx +3 -7
- data/app/pb_kits/playbook/pb_caption/_caption.scss +2 -2
- data/app/pb_kits/playbook/pb_card/_card.jsx +4 -1
- data/app/pb_kits/playbook/pb_card/_card.scss +4 -0
- data/app/pb_kits/playbook/pb_card/card.rb +8 -1
- data/app/pb_kits/playbook/pb_card/docs/_card_border_none.html.erb +7 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_border_none.jsx +14 -0
- data/app/pb_kits/playbook/pb_card/docs/_card_border_none.md +1 -0
- data/app/pb_kits/playbook/pb_card/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_card/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.html.erb +2 -1
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +18 -5
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_checked.jsx +17 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.html.erb +1 -0
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +17 -1
- data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.html.erb +3 -2
- data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +15 -12
- data/app/pb_kits/playbook/pb_highlight/docs/_highlight_default.html.erb +1 -1
- data/app/pb_kits/playbook/pb_image/_image.jsx +1 -1
- data/app/pb_kits/playbook/pb_layout/_layout.scss +16 -0
- data/app/pb_kits/playbook/pb_legend/_legend.html.erb +1 -0
- data/app/pb_kits/playbook/pb_legend/_legend.jsx +25 -4
- data/app/pb_kits/playbook/pb_nav/_item.jsx +20 -10
- data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +3 -0
- data/app/pb_kits/playbook/pb_popover/_popover.html.erb +1 -1
- data/app/pb_kits/playbook/pb_popover/_popover.jsx +3 -1
- data/app/pb_kits/playbook/pb_popover/_popover.scss +4 -0
- data/app/pb_kits/playbook/pb_popover/popover.rb +4 -0
- data/app/pb_kits/playbook/pb_title/_title.jsx +7 -4
- data/app/pb_kits/playbook/pb_title/_title.scss +7 -0
- data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -0
- data/app/pb_kits/playbook/pb_title/title.rb +4 -1
- data/app/views/layouts/playbook/samples.html.erb +1 -0
- data/app/views/playbook/samples/collection_detail/index.html.erb +169 -0
- data/app/views/playbook/samples/collection_detail/index.jsx +372 -0
- data/lib/generators/kit/kit_generator.rb +6 -3
- data/lib/generators/kit/templates/kit_html.erb.tt +3 -2
- data/lib/generators/kit/templates/kit_jsx.erb.tt +38 -10
- data/lib/playbook/version.rb +1 -1
- metadata +11 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e2f90404b2cb31a01901577679b4a20f66455a7eff2a5a903bbb473a0473853
|
4
|
+
data.tar.gz: e5471a16590847efafd3c9cb8d9899944afab8e1efd70bd5fb1e7c446913d331
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d43fc99fe13e555b46b98b3dc069b860fddd625471421f38fbee3f8557eb5c8d8fc202cab6670db285e5c306f450f764d230d49678e98c2407b02e77935b431c
|
7
|
+
data.tar.gz: 7f0cfdaf3777fa7fcd09da1e2b5554f50ec18b07b5183fc5484929c1c415005437423af11756918cfa80ed72f85f5095483710c08ce3e3ece9b5a68da581c76d
|
@@ -13,7 +13,9 @@ import WebpackerReact from 'webpacker-react'
|
|
13
13
|
import Dashboards from '../../../views/playbook/samples/dashboards/index.jsx'
|
14
14
|
import FilterTable from '../../../views/playbook/samples/filter_table/index.jsx'
|
15
15
|
import Registration from '../../../views/playbook/samples/registration/index.jsx'
|
16
|
+
import CollectionDetail from '../../../views/playbook/samples/collection_detail/index.jsx'
|
16
17
|
|
17
18
|
WebpackerReact.setup({ Dashboards })
|
18
19
|
WebpackerReact.setup({ FilterTable })
|
19
20
|
WebpackerReact.setup({ Registration })
|
21
|
+
WebpackerReact.setup({ CollectionDetail })
|
@@ -2,26 +2,37 @@
|
|
2
2
|
|
3
3
|
import React from 'react'
|
4
4
|
import classnames from 'classnames'
|
5
|
-
import { buildCss } from '../utilities/props'
|
6
5
|
import { spacing } from '../utilities/spacing.js'
|
7
6
|
|
7
|
+
import {
|
8
|
+
buildAriaProps,
|
9
|
+
buildCss,
|
10
|
+
buildDataProps,
|
11
|
+
} from '../utilities/props'
|
12
|
+
|
8
13
|
type BadgeProps = {
|
14
|
+
aria?: object,
|
9
15
|
className?: String,
|
10
16
|
dark?: Boolean,
|
17
|
+
data?: object,
|
11
18
|
id?: String,
|
12
|
-
text?: String,
|
13
|
-
variant?: "success" | "warning" | "error" | "info" | "neutral",
|
14
19
|
rounded?: Boolean,
|
20
|
+
text?: String,
|
21
|
+
variant?: "error" | "info" | "neutral" | "primary" | "success" | "warning",
|
15
22
|
}
|
16
23
|
const Badge = (props: BadgeProps) => {
|
17
24
|
const {
|
25
|
+
aria = {},
|
18
26
|
className,
|
19
27
|
dark = false,
|
28
|
+
data = {},
|
20
29
|
id,
|
30
|
+
rounded = false,
|
21
31
|
text,
|
22
32
|
variant = 'neutral',
|
23
|
-
rounded = false,
|
24
33
|
} = props
|
34
|
+
const ariaProps = buildAriaProps(aria)
|
35
|
+
const dataProps = buildDataProps(data)
|
25
36
|
const css = classnames(
|
26
37
|
className,
|
27
38
|
buildCss('pb_badge_kit', variant, {
|
@@ -33,6 +44,8 @@ const Badge = (props: BadgeProps) => {
|
|
33
44
|
|
34
45
|
return (
|
35
46
|
<div
|
47
|
+
{...ariaProps}
|
48
|
+
{...dataProps}
|
36
49
|
className={css}
|
37
50
|
id={id}
|
38
51
|
>
|
@@ -2,50 +2,59 @@
|
|
2
2
|
|
3
3
|
import React from 'react'
|
4
4
|
import classnames from 'classnames'
|
5
|
+
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
5
6
|
import { Highlight } from '../'
|
6
7
|
import { spacing } from '../utilities/spacing.js'
|
7
8
|
|
8
9
|
type BodyProps = {
|
10
|
+
aria?: object,
|
9
11
|
className?: String,
|
10
12
|
children?: Array<React.ReactChild>,
|
11
|
-
color: 'light' | 'lighter',
|
13
|
+
color: 'dark' | 'default' | 'light' | 'lighter' | 'light_dark' | 'lighter_dark',
|
12
14
|
dark?: Boolean,
|
13
|
-
|
14
|
-
|
15
|
-
text?: String,
|
15
|
+
data?: object,
|
16
|
+
highlightedText?: Array<String>,
|
16
17
|
highlighting?: Boolean,
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
color = '',
|
22
|
-
dark = false,
|
23
|
-
status = '',
|
24
|
-
|
25
|
-
}: BodyProps) => {
|
26
|
-
const colorStyle = color !== '' ? `_${color}` : ''
|
27
|
-
|
28
|
-
const themeStyle = dark === true ? '_dark' : ''
|
29
|
-
|
30
|
-
const statusStyle = status !== '' ? `_${status}` : ''
|
31
|
-
|
32
|
-
return 'pb_body_kit' + colorStyle + themeStyle + statusStyle
|
18
|
+
id?: String,
|
19
|
+
status?: 'negative' | 'neutral' | 'positive',
|
20
|
+
tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span' | 'div',
|
21
|
+
text?: String,
|
33
22
|
}
|
34
23
|
|
35
24
|
const Body = (props: BodyProps) => {
|
36
25
|
const {
|
26
|
+
aria = {},
|
37
27
|
className,
|
38
28
|
children,
|
39
|
-
|
40
|
-
|
41
|
-
|
29
|
+
color = '',
|
30
|
+
dark = false,
|
31
|
+
data = {},
|
32
|
+
highlightedText = [],
|
42
33
|
highlighting = false,
|
34
|
+
id,
|
35
|
+
status = '',
|
36
|
+
tag = 'div',
|
37
|
+
text,
|
43
38
|
} = props
|
44
39
|
|
40
|
+
const ariaProps = buildAriaProps(aria)
|
41
|
+
const dataProps = buildDataProps(data)
|
42
|
+
const classes = classnames(
|
43
|
+
className,
|
44
|
+
buildCss('pb_body_kit', color, status, {
|
45
|
+
dark: dark,
|
46
|
+
}),
|
47
|
+
spacing(props)
|
48
|
+
)
|
45
49
|
const Tag = `${tag}`
|
46
50
|
|
47
51
|
return (
|
48
|
-
<Tag
|
52
|
+
<Tag
|
53
|
+
{...ariaProps}
|
54
|
+
{...dataProps}
|
55
|
+
className={classes}
|
56
|
+
id={id}
|
57
|
+
>
|
49
58
|
<If condition={highlighting}>
|
50
59
|
<Highlight highlightedText={highlightedText}>{text || children}</Highlight>
|
51
60
|
<Else />
|
@@ -4,7 +4,9 @@ import { Body } from '../../'
|
|
4
4
|
const BodyLight = () => {
|
5
5
|
return (
|
6
6
|
<div>
|
7
|
-
<Body
|
7
|
+
<Body
|
8
|
+
text="I am a body kit (Default)"
|
9
|
+
/>
|
8
10
|
<Body
|
9
11
|
color="light"
|
10
12
|
text="I am a body kit (Light)"
|
@@ -13,8 +15,6 @@ const BodyLight = () => {
|
|
13
15
|
color="lighter"
|
14
16
|
text="I am a body kit (Lighter)"
|
15
17
|
/>
|
16
|
-
<br />
|
17
|
-
<br />
|
18
18
|
<Body
|
19
19
|
status="negative"
|
20
20
|
text="I am a body kit (Status: negative)"
|
@@ -23,10 +23,6 @@ const BodyLight = () => {
|
|
23
23
|
status="positive"
|
24
24
|
text="I am a body kit (Status: positive)"
|
25
25
|
/>
|
26
|
-
<Body
|
27
|
-
status="positive"
|
28
|
-
text="I am a body kit (Status: positive)"
|
29
|
-
/>
|
30
26
|
</div>
|
31
27
|
)
|
32
28
|
}
|
@@ -16,6 +16,7 @@ type CardPropTypes = {
|
|
16
16
|
selected?: Boolean,
|
17
17
|
shadow?: "none" | "deep" | "deeper" | "deepest",
|
18
18
|
dark?: Boolean,
|
19
|
+
borderNone?: Boolean,
|
19
20
|
}
|
20
21
|
|
21
22
|
type CardHeaderProps = {
|
@@ -62,9 +63,11 @@ const Card = (props: CardPropTypes) => {
|
|
62
63
|
highlight = {},
|
63
64
|
selected = false,
|
64
65
|
shadow = 'none',
|
66
|
+
borderNone = false,
|
65
67
|
} = props
|
66
68
|
const bodyCSS = buildCss('pb_card_body_kit')
|
67
|
-
const
|
69
|
+
const borderCSS = borderNone == true ? 'border_none' : ''
|
70
|
+
const cardCss = buildCss('pb_card_kit', `shadow_${shadow}`, `${borderCSS}`, {
|
68
71
|
dark: dark,
|
69
72
|
selected,
|
70
73
|
deselected: !selected,
|
@@ -15,6 +15,8 @@ module Playbook
|
|
15
15
|
default: {}
|
16
16
|
prop :dark, type: Playbook::Props::Boolean,
|
17
17
|
default: false
|
18
|
+
prop :border_none, type: Playbook::Props::Boolean,
|
19
|
+
default: false
|
18
20
|
|
19
21
|
def classname
|
20
22
|
generate_classname("pb_card_kit",
|
@@ -22,7 +24,8 @@ module Playbook
|
|
22
24
|
shadow_class,
|
23
25
|
highlight_position_class,
|
24
26
|
highlight_color_class,
|
25
|
-
dark_class
|
27
|
+
dark_class,
|
28
|
+
border_class)
|
26
29
|
end
|
27
30
|
|
28
31
|
def body_padding
|
@@ -55,6 +58,10 @@ module Playbook
|
|
55
58
|
def dark_class
|
56
59
|
dark ? "dark" : nil
|
57
60
|
end
|
61
|
+
|
62
|
+
def border_class
|
63
|
+
border_none == true ? "border_none" : nil
|
64
|
+
end
|
58
65
|
end
|
59
66
|
end
|
60
67
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
Remove card border <b>only</b> for dashboard cards.
|
@@ -9,6 +9,7 @@ examples:
|
|
9
9
|
- card_shadow: Shadow Size
|
10
10
|
- card_content: Content Size
|
11
11
|
- card_separator: Separator Card
|
12
|
+
- card_border_none: No Border
|
12
13
|
react:
|
13
14
|
- card_light: Default
|
14
15
|
- card_dark: Dark Cards
|
@@ -19,3 +20,4 @@ examples:
|
|
19
20
|
- card_shadow: Shadow Size
|
20
21
|
- card_content: Content Size
|
21
22
|
- card_separator: Separator Card
|
23
|
+
- card_border_none: No Border
|
@@ -7,3 +7,4 @@ export { default as CardShadow } from './_card_shadow.jsx'
|
|
7
7
|
export { default as CardContent } from './_card_content.jsx'
|
8
8
|
export { default as CardSeparator } from './_card_separator.jsx'
|
9
9
|
export { default as CardDark } from './_card_dark.jsx'
|
10
|
+
export { default as CardBorderNone } from './_card_border_none.jsx'
|
@@ -3,13 +3,18 @@
|
|
3
3
|
import React from 'react'
|
4
4
|
import Body from '../pb_body/_body.jsx'
|
5
5
|
import Icon from '../pb_icon/_icon.jsx'
|
6
|
+
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
6
7
|
import classnames from 'classnames'
|
7
8
|
import { spacing } from '../utilities/spacing.js'
|
8
9
|
|
9
10
|
type CheckboxProps = {
|
11
|
+
aria?: object,
|
10
12
|
checked?: Boolean,
|
13
|
+
className?: String,
|
11
14
|
dark?: Boolean,
|
15
|
+
data?: object,
|
12
16
|
error?: Boolean,
|
17
|
+
id?: String,
|
13
18
|
name: String,
|
14
19
|
text: String,
|
15
20
|
value: String,
|
@@ -19,9 +24,13 @@ type CheckboxProps = {
|
|
19
24
|
|
20
25
|
const Checkbox = (props: CheckboxProps) => {
|
21
26
|
const {
|
27
|
+
aria = {},
|
22
28
|
checked = false,
|
29
|
+
className,
|
23
30
|
dark = false,
|
31
|
+
data = {},
|
24
32
|
error = false,
|
33
|
+
id,
|
25
34
|
name = '',
|
26
35
|
text = '',
|
27
36
|
value = '',
|
@@ -29,13 +38,17 @@ const Checkbox = (props: CheckboxProps) => {
|
|
29
38
|
onChange = () => {},
|
30
39
|
} = props
|
31
40
|
|
41
|
+
const dataProps = buildDataProps(data)
|
42
|
+
const ariaProps = buildAriaProps(aria)
|
43
|
+
const classes = classnames(buildCss('pb_checkbox_kit',
|
44
|
+
{ dark: dark, checked: checked, error: error }), className, spacing(props))
|
45
|
+
|
32
46
|
return (
|
33
47
|
<label
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
}
|
48
|
+
{...ariaProps}
|
49
|
+
{...dataProps}
|
50
|
+
className={classes}
|
51
|
+
id={id}
|
39
52
|
>
|
40
53
|
<If condition={children}>
|
41
54
|
{children}
|