playbook_ui 6.0.1 → 6.1.0
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 +3 -1
- data/app/pb_kits/playbook/data/menu.yml +4 -2
- data/app/pb_kits/playbook/index.js +2 -0
- data/app/pb_kits/playbook/packs/examples.js +5 -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_button_toolbar/_button_toolbar.html.erb +7 -0
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +52 -0
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +101 -0
- data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.rb +29 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.html.erb +7 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.jsx +29 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.html.erb +7 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.jsx +34 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.html.erb +11 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.jsx +29 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.html.erb +11 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.jsx +34 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/_description.md +1 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/example.yml +15 -0
- data/app/pb_kits/playbook/pb_button_toolbar/docs/index.js +4 -0
- data/app/pb_kits/playbook/pb_caption/_caption.jsx +3 -7
- data/app/pb_kits/playbook/pb_caption/_caption.scss +0 -4
- data/app/pb_kits/playbook/pb_caption/caption.rb +1 -8
- 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 +1 -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_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_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_kit/dateTime.js +5 -1
- 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_popover/docs/_popover_list.jsx +5 -5
- 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 +12 -16
- data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +1 -1
- data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +1 -7
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.jsx +26 -26
- data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +1 -1
- data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +1 -8
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.jsx +8 -10
- data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +1 -1
- data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +1 -7
- 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.html.erb +1 -1
- data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +2 -2
- data/app/pb_kits/playbook/pb_textarea/_textarea.scss +2 -1
- data/app/pb_kits/playbook/pb_time/_time.jsx +57 -14
- data/app/pb_kits/playbook/pb_time/_time.scss +17 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +27 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +28 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +28 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +32 -0
- data/app/pb_kits/playbook/pb_time/docs/example.yml +4 -0
- data/app/pb_kits/playbook/pb_time/docs/index.js +4 -0
- 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 +3 -6
- data/app/pb_kits/playbook/pb_title/_title.scss +1 -1
- data/app/pb_kits/playbook/pb_title/title.rb +1 -9
- 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 +39 -31
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom.jsx +31 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.html.erb +6 -6
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_custom_radio.jsx +72 -0
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.html.erb +1 -3
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_default.jsx +6 -19
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_name.jsx +57 -0
- data/app/pb_kits/playbook/pb_toggle/docs/{_toggle_checked.html.erb → _toggle_size.html.erb} +2 -2
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +44 -0
- data/app/pb_kits/playbook/pb_toggle/docs/example.yml +8 -5
- data/app/pb_kits/playbook/pb_toggle/docs/index.js +4 -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 +54 -7
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_accessibility.jsx +0 -12
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_data.jsx +0 -15
@@ -0,0 +1,32 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import Time from '../_time.jsx'
|
3
|
+
|
4
|
+
const TimeStamp = () => {
|
5
|
+
return (
|
6
|
+
<div>
|
7
|
+
<Time
|
8
|
+
date={new Date()}
|
9
|
+
showTimezone
|
10
|
+
size="sm"
|
11
|
+
/>
|
12
|
+
|
13
|
+
<br />
|
14
|
+
|
15
|
+
<Time
|
16
|
+
date={new Date().getTime()}
|
17
|
+
showTimezone
|
18
|
+
size="sm"
|
19
|
+
/>
|
20
|
+
|
21
|
+
<br />
|
22
|
+
|
23
|
+
<Time
|
24
|
+
date="2012-08-02T15:49:29Z"
|
25
|
+
showTimezone
|
26
|
+
size="sm"
|
27
|
+
/>
|
28
|
+
</div>
|
29
|
+
)
|
30
|
+
}
|
31
|
+
|
32
|
+
export default TimeStamp
|
@@ -4,7 +4,7 @@ import React from 'react'
|
|
4
4
|
import classnames from 'classnames'
|
5
5
|
import { Body, Caption, Icon } from '../'
|
6
6
|
import DateTime from '../pb_kit/dateTime.js'
|
7
|
-
import {
|
7
|
+
import { globalProps } from '../utilities/globalProps.js'
|
8
8
|
|
9
9
|
type TimeRangeInlineProps = {
|
10
10
|
className?: String,
|
@@ -78,7 +78,7 @@ const TimeRangeInline = (props: TimeRangeInlineProps) => {
|
|
78
78
|
|
79
79
|
return (
|
80
80
|
<div
|
81
|
-
className={classnames('pb_time_range_inline_kit_' + alignment, className,
|
81
|
+
className={classnames('pb_time_range_inline_kit_' + alignment, className, globalProps(props))}
|
82
82
|
>
|
83
83
|
<div className="pb_time_range_inline_wrapper">
|
84
84
|
<If condition={size == 'xs'}>
|
@@ -6,7 +6,7 @@ import classnames from 'classnames'
|
|
6
6
|
import DateTime from '../pb_kit/dateTime.js'
|
7
7
|
import { buildCss } from '../utilities/props'
|
8
8
|
import { Body, Caption } from '../'
|
9
|
-
import {
|
9
|
+
import { globalProps } from '../utilities/globalProps.js'
|
10
10
|
|
11
11
|
const Components = {
|
12
12
|
body: Body,
|
@@ -30,7 +30,7 @@ const TimeStacked = (props: TimeStackedProps) => {
|
|
30
30
|
buildCss('pb_time_stacked_kit', {
|
31
31
|
dark: dark,
|
32
32
|
}),
|
33
|
-
|
33
|
+
globalProps(props)
|
34
34
|
)
|
35
35
|
|
36
36
|
const tagClasses = classnames(buildCss('pb_time_stacked_kit', tag))
|
@@ -7,7 +7,7 @@ import { Caption } from '../'
|
|
7
7
|
|
8
8
|
import { buildCss, buildDataProps } from '../utilities/props'
|
9
9
|
|
10
|
-
import {
|
10
|
+
import { globalProps } from '../utilities/globalProps.js'
|
11
11
|
|
12
12
|
type TimestampProps = {
|
13
13
|
id?: String,
|
@@ -24,7 +24,7 @@ const Timestamp = (props: TimestampProps) => {
|
|
24
24
|
return (
|
25
25
|
<div
|
26
26
|
{...dataProps}
|
27
|
-
className={classnames(className, pbCss,
|
27
|
+
className={classnames(className, pbCss, globalProps(props))}
|
28
28
|
id={id}
|
29
29
|
>
|
30
30
|
<Caption
|
@@ -3,17 +3,16 @@
|
|
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 TitleProps = {
|
9
9
|
aria?: object,
|
10
10
|
children?: Array<React.ReactNode> | React.ReactNode,
|
11
11
|
className?: String,
|
12
|
-
dark?: Boolean,
|
13
12
|
data?: object,
|
14
13
|
id?: String,
|
15
14
|
size?: 1 | 2 | 3 | 4,
|
16
|
-
tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div",
|
15
|
+
tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "div" | "span",
|
17
16
|
text?: String,
|
18
17
|
variant?: null | "primary",
|
19
18
|
}
|
@@ -23,7 +22,6 @@ const Title = (props: TitleProps) => {
|
|
23
22
|
aria = {},
|
24
23
|
children,
|
25
24
|
className,
|
26
|
-
dark = false,
|
27
25
|
data = {},
|
28
26
|
id,
|
29
27
|
size = 3,
|
@@ -32,10 +30,9 @@ const Title = (props: TitleProps) => {
|
|
32
30
|
variant = null,
|
33
31
|
} = props
|
34
32
|
|
35
|
-
const themeStyle = dark === true ? 'dark' : ''
|
36
33
|
const ariaProps = buildAriaProps(aria)
|
37
34
|
const dataProps = buildDataProps(data)
|
38
|
-
const classes = classnames(buildCss('pb_title_kit', size,
|
35
|
+
const classes = classnames(buildCss('pb_title_kit', size, variant), className, globalProps(props))
|
39
36
|
const Tag = `${tag}`
|
40
37
|
|
41
38
|
return (
|
@@ -7,8 +7,6 @@ module Playbook
|
|
7
7
|
|
8
8
|
partial "pb_title/title"
|
9
9
|
|
10
|
-
prop :dark, type: Playbook::Props::Boolean,
|
11
|
-
default: false
|
12
10
|
prop :size, type: Playbook::Props::Enum,
|
13
11
|
values: [1, 2, 3, 4],
|
14
12
|
default: 3
|
@@ -21,13 +19,7 @@ module Playbook
|
|
21
19
|
default: nil
|
22
20
|
|
23
21
|
def classname
|
24
|
-
generate_classname("pb_title_kit", size,
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def dark_class
|
30
|
-
dark ? "dark" : nil
|
22
|
+
generate_classname("pb_title_kit", size, variant)
|
31
23
|
end
|
32
24
|
end
|
33
25
|
end
|
@@ -6,7 +6,7 @@ import classnames from 'classnames'
|
|
6
6
|
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
7
7
|
|
8
8
|
import { Body, Title } from '../'
|
9
|
-
import {
|
9
|
+
import { globalProps } from '../utilities/globalProps.js'
|
10
10
|
|
11
11
|
type TitleCountProps = {
|
12
12
|
align: "center" | "left" | "right",
|
@@ -32,7 +32,7 @@ const TitleCount = (props: TitleCountProps) => {
|
|
32
32
|
const ariaProps = buildAriaProps(aria)
|
33
33
|
const dataProps = buildDataProps(data)
|
34
34
|
|
35
|
-
const css = classnames(buildCss('pb_title_count_kit', align, size), className,
|
35
|
+
const css = classnames(buildCss('pb_title_count_kit', align, size), className, globalProps(props))
|
36
36
|
|
37
37
|
const formatCount = count.toLocaleString()
|
38
38
|
|
@@ -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 { Body, Title } from '../'
|
8
8
|
|
@@ -25,7 +25,7 @@ const TitleDetail = (props: TitleDetailProps) => {
|
|
25
25
|
return (
|
26
26
|
<div
|
27
27
|
{...dataProps}
|
28
|
-
className={classnames(className, pbCss,
|
28
|
+
className={classnames(className, pbCss, globalProps(props))}
|
29
29
|
id={id}
|
30
30
|
>
|
31
31
|
<Title
|
@@ -8,59 +8,67 @@ import {
|
|
8
8
|
buildAriaProps,
|
9
9
|
buildCss,
|
10
10
|
buildDataProps,
|
11
|
-
noop,
|
12
11
|
} from '../utilities/props'
|
13
12
|
|
14
|
-
import {
|
13
|
+
import { globalProps } from '../utilities/globalProps.js'
|
15
14
|
|
16
15
|
type Props = {
|
17
|
-
aria
|
18
|
-
checked
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
16
|
+
aria?: object,
|
17
|
+
checked?: Boolean,
|
18
|
+
children?: React.Node,
|
19
|
+
className?: String,
|
20
|
+
data?: object,
|
21
|
+
id?: String,
|
22
|
+
name?: String,
|
23
|
+
onChange?: InputCallback<HTMLInputElement>,
|
24
|
+
size?: "sm" | "md",
|
25
|
+
value?: String,
|
24
26
|
}
|
25
27
|
|
26
28
|
const Toggle = ({
|
27
29
|
aria = {},
|
28
30
|
checked = false,
|
31
|
+
children,
|
32
|
+
className,
|
29
33
|
data = {},
|
30
|
-
|
31
|
-
|
32
|
-
|
34
|
+
id,
|
35
|
+
name,
|
36
|
+
onChange = () => {},
|
33
37
|
size = 'md',
|
38
|
+
value,
|
34
39
|
...props
|
35
40
|
}: Props) => {
|
36
41
|
const ariaProps = buildAriaProps(aria)
|
37
42
|
const dataProps = buildDataProps(data)
|
38
|
-
const
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
on: checked,
|
47
|
-
off: !checked,
|
48
|
-
})
|
43
|
+
const css = classnames(
|
44
|
+
buildCss('pb_toggle_kit',
|
45
|
+
size,
|
46
|
+
{
|
47
|
+
on: checked,
|
48
|
+
off: !checked,
|
49
|
+
}
|
50
|
+
), className)
|
49
51
|
|
50
52
|
return (
|
51
53
|
<div
|
52
54
|
{...ariaProps}
|
53
55
|
{...dataProps}
|
54
|
-
className={classnames(css,
|
56
|
+
className={classnames(css, globalProps(props))}
|
57
|
+
id={id}
|
55
58
|
>
|
56
59
|
<label className="pb_toggle_wrapper">
|
57
|
-
<
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
60
|
+
<If condition={children}>
|
61
|
+
{children}
|
62
|
+
<Else />
|
63
|
+
<input
|
64
|
+
{...props}
|
65
|
+
defaultChecked={checked}
|
66
|
+
name={name}
|
67
|
+
onChange={onChange}
|
68
|
+
type="checkbox"
|
69
|
+
value={value}
|
70
|
+
/>
|
71
|
+
</If>
|
64
72
|
<div className="pb_toggle_control" />
|
65
73
|
</label>
|
66
74
|
</div>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
// @flow
|
2
|
+
|
3
|
+
import React, { useState } from 'react'
|
4
|
+
import { Toggle } from '../..'
|
5
|
+
|
6
|
+
const ToggleCustom = () => {
|
7
|
+
const [choice, setChoice] = useState(false)
|
8
|
+
|
9
|
+
const handleOnChange = ({ target }) => {
|
10
|
+
setChoice(target.value = !choice)
|
11
|
+
}
|
12
|
+
|
13
|
+
return (
|
14
|
+
<>
|
15
|
+
<Toggle
|
16
|
+
checked={choice}
|
17
|
+
size="sm"
|
18
|
+
>
|
19
|
+
<input
|
20
|
+
className="my custom checkbox"
|
21
|
+
name="custom checkbox"
|
22
|
+
onChange={handleOnChange}
|
23
|
+
type="checkbox"
|
24
|
+
value="ABC"
|
25
|
+
/>
|
26
|
+
</Toggle>
|
27
|
+
</>
|
28
|
+
)
|
29
|
+
}
|
30
|
+
|
31
|
+
export default ToggleCustom
|
@@ -2,21 +2,21 @@
|
|
2
2
|
|
3
3
|
<br>
|
4
4
|
|
5
|
-
<%= pb_rails("caption", props: { text: "
|
5
|
+
<%= pb_rails("caption", props: { text: "Walk" }) %>
|
6
6
|
<%= pb_rails("toggle", props: { size: "sm" }) do %>
|
7
|
-
<input type="radio" name="
|
7
|
+
<input type="radio" name="modes of transportation" value="walk">
|
8
8
|
<% end %>
|
9
9
|
|
10
10
|
<br/>
|
11
11
|
|
12
|
-
<%= pb_rails("caption", props: { text: "
|
12
|
+
<%= pb_rails("caption", props: { text: "Bike" }) %>
|
13
13
|
<%= pb_rails("toggle", props: { size: "sm" }) do %>
|
14
|
-
<input type="radio" name="
|
14
|
+
<input type="radio" name="modes of transportation" value="bike">
|
15
15
|
<% end %>
|
16
16
|
|
17
17
|
<br/>
|
18
18
|
|
19
|
-
<%= pb_rails("caption", props: { text: "
|
19
|
+
<%= pb_rails("caption", props: { text: "Ride" }) %>
|
20
20
|
<%= pb_rails("toggle", props: { size: "sm" }) do %>
|
21
|
-
<input type="radio" name="
|
21
|
+
<input type="radio" name="modes of transportation" value="ride">
|
22
22
|
<% end %>
|
@@ -0,0 +1,72 @@
|
|
1
|
+
// @flow
|
2
|
+
|
3
|
+
import React, { useState } from 'react'
|
4
|
+
import { Caption, Title, Toggle } from '../..'
|
5
|
+
|
6
|
+
const ToggleCustomRadio = () => {
|
7
|
+
const [choice, setChoice] = useState('walk')
|
8
|
+
|
9
|
+
const handleOnChange = ({ target }) => {
|
10
|
+
setChoice(target.value)
|
11
|
+
}
|
12
|
+
|
13
|
+
return (
|
14
|
+
<>
|
15
|
+
<Title
|
16
|
+
size={4}
|
17
|
+
text="Select one option:"
|
18
|
+
/>
|
19
|
+
|
20
|
+
<br />
|
21
|
+
|
22
|
+
<Caption
|
23
|
+
text="Walk"
|
24
|
+
/>
|
25
|
+
<Toggle
|
26
|
+
checked={choice}
|
27
|
+
size="sm"
|
28
|
+
>
|
29
|
+
<input
|
30
|
+
name="modes of transportation"
|
31
|
+
onChange={handleOnChange}
|
32
|
+
type="radio"
|
33
|
+
value="walk"
|
34
|
+
/>
|
35
|
+
</Toggle>
|
36
|
+
|
37
|
+
<br />
|
38
|
+
|
39
|
+
<Caption
|
40
|
+
text="Bike"
|
41
|
+
/>
|
42
|
+
<Toggle
|
43
|
+
size="sm"
|
44
|
+
>
|
45
|
+
<input
|
46
|
+
name="modes of transportation"
|
47
|
+
onChange={handleOnChange}
|
48
|
+
type="radio"
|
49
|
+
value="bike"
|
50
|
+
/>
|
51
|
+
</Toggle>
|
52
|
+
|
53
|
+
<br />
|
54
|
+
|
55
|
+
<Caption
|
56
|
+
text="Ride"
|
57
|
+
/>
|
58
|
+
<Toggle
|
59
|
+
size="sm"
|
60
|
+
>
|
61
|
+
<input
|
62
|
+
name="modes of transportation"
|
63
|
+
onChange={handleOnChange}
|
64
|
+
type="radio"
|
65
|
+
value="ride"
|
66
|
+
/>
|
67
|
+
</Toggle>
|
68
|
+
</>
|
69
|
+
)
|
70
|
+
}
|
71
|
+
|
72
|
+
export default ToggleCustomRadio
|