playbook_ui 7.0.1.pre.alpha12 → 7.0.1.pre.alpha14
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/README.md +4 -6
- data/app/pb_kits/playbook/_playbook.scss +1 -0
- data/app/pb_kits/playbook/data/menu.yml +1 -1
- data/app/pb_kits/playbook/index.js +3 -0
- data/app/pb_kits/playbook/packs/examples.js +6 -0
- data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +22 -6
- data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +5 -1
- data/app/pb_kits/playbook/pb_background/_background.html.erb +14 -0
- data/app/pb_kits/playbook/pb_background/_background.jsx +64 -0
- data/app/pb_kits/playbook/pb_background/_background.scss +15 -0
- data/app/pb_kits/playbook/pb_background/background.rb +36 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_default.html.erb +41 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_default.jsx +75 -0
- data/app/pb_kits/playbook/pb_background/docs/example.yml +8 -0
- data/app/pb_kits/playbook/pb_background/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_badge/_badge.jsx +4 -2
- data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +1 -1
- data/app/pb_kits/playbook/pb_button/_button.jsx +5 -1
- data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +5 -1
- data/app/pb_kits/playbook/pb_caption/_caption.jsx +2 -2
- data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +5 -2
- data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +3 -1
- data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_options.html.erb +10 -0
- data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.html.erb +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.jsx +130 -0
- data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss +1 -1
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +39 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +29 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +28 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +117 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +53 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +30 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +45 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +30 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +45 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +11 -0
- data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +9 -0
- data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +5 -1
- data/app/pb_kits/playbook/pb_contact/_contact.jsx +5 -1
- data/app/pb_kits/playbook/pb_currency/_currency.jsx +5 -1
- data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +5 -1
- data/app/pb_kits/playbook/pb_date/date.rb +2 -1
- data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +8 -1
- data/app/pb_kits/playbook/pb_date/docs/_date_timezone.html.erb +51 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_timezone.md +6 -0
- data/app/pb_kits/playbook/pb_date/docs/_description.md +2 -0
- data/app/pb_kits/playbook/pb_date/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +7 -4
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +0 -4
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +3 -3
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +8 -10
- data/app/pb_kits/playbook/pb_date_picker/docs/{_date_picker_read_only.html.erb → _date_picker_allow_input.html.erb} +1 -1
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.jsx +13 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.md +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.jsx +34 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.md +3 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +3 -2
- data/app/pb_kits/playbook/pb_date_picker/docs/index.js +2 -1
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_calendar_input_icon.scss +1 -0
- data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +5 -1
- data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
- data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +5 -1
- 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 +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +6 -1
- data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +3 -2
- data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +1 -1
- data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +1 -1
- 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_value/_icon_value.jsx +5 -1
- data/app/pb_kits/playbook/pb_image/_image.jsx +5 -1
- data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +5 -1
- data/app/pb_kits/playbook/pb_layout/_layout.jsx +4 -4
- data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +1 -1
- data/app/pb_kits/playbook/pb_list/_list.jsx +3 -2
- data/app/pb_kits/playbook/pb_list/_list_item.jsx +3 -2
- data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +5 -1
- data/app/pb_kits/playbook/pb_message/_message.jsx +5 -1
- data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +5 -2
- data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
- data/app/pb_kits/playbook/pb_person/_person.jsx +5 -1
- data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +5 -1
- data/app/pb_kits/playbook/pb_popover/_popover.jsx +5 -1
- data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +4 -4
- data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +1 -1
- data/app/pb_kits/playbook/pb_radio/_radio.html.erb +1 -1
- data/app/pb_kits/playbook/pb_radio/docs/_radio_options.html.erb +9 -0
- data/app/pb_kits/playbook/pb_radio/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_radio/radio.rb +2 -4
- data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +1 -1
- data/app/pb_kits/playbook/pb_select/_select.scss +1 -1
- data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
- data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +3 -3
- data/app/pb_kits/playbook/pb_stat_value/docs/_stat_value_default.jsx +6 -1
- data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
- data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +1 -1
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +17 -8
- data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +1 -1
- data/app/pb_kits/playbook/pb_time/_time.html.erb +23 -17
- data/app/pb_kits/playbook/pb_time/_time.jsx +22 -13
- data/app/pb_kits/playbook/pb_time/_time.scss +16 -8
- data/app/pb_kits/playbook/pb_time/docs/_time_align.html.erb +18 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +3 -3
- data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +47 -3
- data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +33 -4
- data/app/pb_kits/playbook/pb_time/docs/_time_sizes.html.erb +11 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_sizes.jsx +19 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.html.erb +3 -1
- data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +0 -7
- data/app/pb_kits/playbook/pb_time/docs/_time_timezone.html.erb +38 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +12 -14
- data/app/pb_kits/playbook/pb_time/docs/example.yml +6 -2
- data/app/pb_kits/playbook/pb_time/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_time/time.rb +14 -2
- data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +1 -1
- data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +3 -3
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +1 -1
- data/app/pb_kits/playbook/pb_title/_title.jsx +5 -1
- data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +5 -1
- data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +1 -1
- data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +3 -3
- data/app/pb_kits/playbook/pb_toggle/_toggle.scss +41 -43
- data/app/pb_kits/playbook/pb_toggle/docs/example.yml +0 -2
- data/app/pb_kits/playbook/pb_toggle/docs/index.js +0 -1
- data/app/pb_kits/playbook/pb_toggle/toggle.rb +2 -2
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +60 -0
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +20 -3
- data/app/pb_kits/playbook/pb_typeahead/components/Control.jsx +30 -0
- data/app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.jsx +13 -0
- data/app/pb_kits/playbook/pb_typeahead/components/MenuList.jsx +12 -0
- data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +51 -0
- data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +34 -0
- data/app/pb_kits/playbook/pb_typeahead/components/Placeholder.jsx +13 -0
- data/app/pb_kits/playbook/pb_typeahead/components/ValueContainer.jsx +13 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx +22 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +29 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.jsx +84 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_summary.jsx +45 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +101 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_summary.jsx +27 -0
- data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +8 -2
- data/app/pb_kits/playbook/pb_typeahead/docs/index.js +4 -0
- data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +5 -2
- data/app/pb_kits/playbook/plugins/pb_chart.js +1 -1
- data/app/pb_kits/playbook/tokens/_typography.scss +3 -3
- data/lib/generators/kit/templates/kit_jsx.erb.tt +1 -1
- data/lib/playbook/version.rb +1 -1
- metadata +50 -8
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.jsx +0 -13
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.md +0 -1
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.html.erb +0 -11
- data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +0 -44
@@ -0,0 +1,53 @@
|
|
1
|
+
import React, { useState } from 'react'
|
2
|
+
import { Button, CircleChart } from '../../'
|
3
|
+
|
4
|
+
const CircleChartLiveData = () => {
|
5
|
+
const [data, setData] = useState([
|
6
|
+
{
|
7
|
+
name: 'Waiting for Calls',
|
8
|
+
value: 41,
|
9
|
+
},
|
10
|
+
{
|
11
|
+
name: 'On Call',
|
12
|
+
value: 49,
|
13
|
+
},
|
14
|
+
{
|
15
|
+
name: 'After call',
|
16
|
+
value: 10,
|
17
|
+
},
|
18
|
+
])
|
19
|
+
|
20
|
+
const data2 = [
|
21
|
+
{
|
22
|
+
name: 'Waiting for Calls',
|
23
|
+
value: 48,
|
24
|
+
},
|
25
|
+
{
|
26
|
+
name: 'On Call',
|
27
|
+
value: 12,
|
28
|
+
},
|
29
|
+
{
|
30
|
+
name: 'After call',
|
31
|
+
value: 140,
|
32
|
+
},
|
33
|
+
]
|
34
|
+
|
35
|
+
const updateValue = () => {
|
36
|
+
setData(data2)
|
37
|
+
}
|
38
|
+
|
39
|
+
return (
|
40
|
+
<div>
|
41
|
+
<Button
|
42
|
+
onClick={updateValue}
|
43
|
+
text="Update Value"
|
44
|
+
/>
|
45
|
+
<CircleChart
|
46
|
+
chartData={data}
|
47
|
+
id="circle-chart-live-data"
|
48
|
+
/>
|
49
|
+
</div>
|
50
|
+
)
|
51
|
+
}
|
52
|
+
|
53
|
+
export default CircleChartLiveData
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { CircleChart } from '../../'
|
3
|
+
|
4
|
+
const dataRounded = [
|
5
|
+
{
|
6
|
+
name: 'Waiting for Calls',
|
7
|
+
value: 41,
|
8
|
+
},
|
9
|
+
{
|
10
|
+
name: 'On Call',
|
11
|
+
value: 49,
|
12
|
+
},
|
13
|
+
{
|
14
|
+
name: 'After call',
|
15
|
+
value: 10,
|
16
|
+
},
|
17
|
+
]
|
18
|
+
|
19
|
+
const CircleChartRounded = () => (
|
20
|
+
<div>
|
21
|
+
<CircleChart
|
22
|
+
chartData={dataRounded}
|
23
|
+
id="default-test-rounded"
|
24
|
+
innerSize="lg"
|
25
|
+
rounded
|
26
|
+
/>
|
27
|
+
</div>
|
28
|
+
)
|
29
|
+
|
30
|
+
export default CircleChartRounded
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { CircleChart } from '../../'
|
3
|
+
|
4
|
+
const dataWithLabels = [
|
5
|
+
{
|
6
|
+
name: 'Facebook',
|
7
|
+
value: 2498,
|
8
|
+
},
|
9
|
+
{
|
10
|
+
name: 'YouTube',
|
11
|
+
value: 2000,
|
12
|
+
},
|
13
|
+
{
|
14
|
+
name: 'WhatsApp',
|
15
|
+
value: 2000,
|
16
|
+
},
|
17
|
+
{
|
18
|
+
name: 'Facebook Messenger',
|
19
|
+
value: 1300,
|
20
|
+
},
|
21
|
+
{
|
22
|
+
name: 'WeChat',
|
23
|
+
value: 1165,
|
24
|
+
},
|
25
|
+
{
|
26
|
+
name: 'Instagram',
|
27
|
+
value: 1000,
|
28
|
+
},
|
29
|
+
{
|
30
|
+
name: 'Tik Tok',
|
31
|
+
value: 800,
|
32
|
+
},
|
33
|
+
]
|
34
|
+
|
35
|
+
const CircleChartWithLabels = () => (
|
36
|
+
<div>
|
37
|
+
<CircleChart
|
38
|
+
chartData={dataWithLabels}
|
39
|
+
dataLabels
|
40
|
+
id="with-labels-example"
|
41
|
+
/>
|
42
|
+
</div>
|
43
|
+
)
|
44
|
+
|
45
|
+
export default CircleChartWithLabels
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { CircleChart } from '../../'
|
3
|
+
|
4
|
+
const dataWithLegend = [{
|
5
|
+
name: 'Bugs',
|
6
|
+
value: 8,
|
7
|
+
|
8
|
+
},
|
9
|
+
{
|
10
|
+
name: 'Chores',
|
11
|
+
value: 1,
|
12
|
+
|
13
|
+
},
|
14
|
+
{
|
15
|
+
name: 'Stories',
|
16
|
+
value: 12,
|
17
|
+
},
|
18
|
+
]
|
19
|
+
|
20
|
+
const CircleChartWithLegendKit = () => (
|
21
|
+
<div>
|
22
|
+
<CircleChart
|
23
|
+
chartData={dataWithLegend}
|
24
|
+
id="with-legend-example"
|
25
|
+
legend
|
26
|
+
/>
|
27
|
+
</div>
|
28
|
+
)
|
29
|
+
|
30
|
+
export default CircleChartWithLegendKit
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { CircleChart } from '../../'
|
3
|
+
|
4
|
+
const dataWithTitle = [
|
5
|
+
{
|
6
|
+
name: 'Facebook',
|
7
|
+
value: 2498,
|
8
|
+
},
|
9
|
+
{
|
10
|
+
name: 'YouTube',
|
11
|
+
value: 2000,
|
12
|
+
},
|
13
|
+
{
|
14
|
+
name: 'WhatsApp',
|
15
|
+
value: 2000,
|
16
|
+
},
|
17
|
+
{
|
18
|
+
name: 'Facebook Messenger',
|
19
|
+
value: 1300,
|
20
|
+
},
|
21
|
+
{
|
22
|
+
name: 'WeChat',
|
23
|
+
value: 1165,
|
24
|
+
},
|
25
|
+
{
|
26
|
+
name: 'Instagram',
|
27
|
+
value: 1000,
|
28
|
+
},
|
29
|
+
{
|
30
|
+
name: 'Tik Tok',
|
31
|
+
value: 800,
|
32
|
+
},
|
33
|
+
]
|
34
|
+
|
35
|
+
const CircleChartWithLegendKit = () => (
|
36
|
+
<div>
|
37
|
+
<CircleChart
|
38
|
+
chartData={dataWithTitle}
|
39
|
+
id="with-title-example"
|
40
|
+
title="Active Users on Social Media"
|
41
|
+
/>
|
42
|
+
</div>
|
43
|
+
)
|
44
|
+
|
45
|
+
export default CircleChartWithLegendKit
|
@@ -10,4 +10,15 @@ examples:
|
|
10
10
|
- circle_chart_with_title: Title
|
11
11
|
- circle_chart_inner_sizes: Inner Circle Size Options
|
12
12
|
|
13
|
+
react:
|
14
|
+
- circle_chart_default: Default Style
|
15
|
+
- circle_chart_live_data: Live Data
|
16
|
+
- circle_chart_rounded: Rounded Corners
|
17
|
+
- circle_chart_block: Accepts Any Block
|
18
|
+
- circle_chart_colors: Color Overrides
|
19
|
+
- circle_chart_with_labels: Data Labels
|
20
|
+
- circle_chart_with_legend_kit: Legend
|
21
|
+
- circle_chart_with_title: Title
|
22
|
+
- circle_chart_inner_sizes: Inner Circle Size Options
|
23
|
+
|
13
24
|
|
@@ -0,0 +1,9 @@
|
|
1
|
+
export { default as CircleChartDefault } from './_circle_chart_default.jsx'
|
2
|
+
export { default as CircleChartLiveData } from './_circle_chart_live_data.jsx'
|
3
|
+
export { default as CircleChartRounded } from './_circle_chart_rounded.jsx'
|
4
|
+
export { default as CircleChartBlock } from './_circle_chart_block.jsx'
|
5
|
+
export { default as CircleChartColors } from './_circle_chart_colors.jsx'
|
6
|
+
export { default as CircleChartWithLabels } from './_circle_chart_with_labels.jsx'
|
7
|
+
export { default as CircleChartWithLegendKit } from './_circle_chart_with_legend_kit.jsx'
|
8
|
+
export { default as CircleChartWithTitle } from './_circle_chart_with_title.jsx'
|
9
|
+
export { default as CircleChartInnerSizes } from './_circle_chart_inner_sizes.jsx'
|
@@ -46,7 +46,11 @@ const CircleIconButton = (props: CircleIconButtonProps) => {
|
|
46
46
|
|
47
47
|
const ariaProps = buildAriaProps(aria)
|
48
48
|
const dataProps = buildDataProps(data)
|
49
|
-
const classes = classnames(
|
49
|
+
const classes = classnames(
|
50
|
+
buildCss('pb_circle_icon_button_kit'),
|
51
|
+
globalProps(props),
|
52
|
+
className
|
53
|
+
)
|
50
54
|
|
51
55
|
return (
|
52
56
|
<div
|
@@ -58,7 +58,11 @@ const Contact = (props: ContactProps) => {
|
|
58
58
|
id } = props
|
59
59
|
const ariaProps = buildAriaProps(aria)
|
60
60
|
const dataProps = buildDataProps(data)
|
61
|
-
const classes = classnames(
|
61
|
+
const classes = classnames(
|
62
|
+
buildCss('pb_contact_kit'),
|
63
|
+
globalProps(props),
|
64
|
+
className
|
65
|
+
)
|
62
66
|
|
63
67
|
return (
|
64
68
|
<div
|
@@ -45,7 +45,11 @@ const Currency = (props: CurrencyProps) => {
|
|
45
45
|
const [whole, decimal = '00'] = amount.split('.')
|
46
46
|
const ariaProps = buildAriaProps(aria)
|
47
47
|
const dataProps = buildDataProps(data)
|
48
|
-
const classes = classnames(
|
48
|
+
const classes = classnames(
|
49
|
+
buildCss('pb_currency_kit', align, size, { dark }),
|
50
|
+
globalProps(props),
|
51
|
+
className
|
52
|
+
)
|
49
53
|
|
50
54
|
return (
|
51
55
|
<div
|
@@ -41,7 +41,11 @@ const DashboardValue = (props: DashboardValueProps) => {
|
|
41
41
|
|
42
42
|
const ariaProps = buildAriaProps(aria)
|
43
43
|
const dataProps = buildDataProps(data)
|
44
|
-
const classes = classnames(
|
44
|
+
const classes = classnames(
|
45
|
+
buildCss('pb_dashboard_value_kit', align),
|
46
|
+
globalProps(props),
|
47
|
+
className
|
48
|
+
)
|
45
49
|
|
46
50
|
return (
|
47
51
|
<div
|
@@ -13,6 +13,7 @@ module Playbook
|
|
13
13
|
prop :size, type: Playbook::Props::Enum,
|
14
14
|
values: %w[lg sm xs],
|
15
15
|
default: "sm"
|
16
|
+
prop :timezone, default: "America/New_York"
|
16
17
|
|
17
18
|
def classname
|
18
19
|
generate_classname("pb_date_kit")
|
@@ -33,7 +34,7 @@ module Playbook
|
|
33
34
|
private
|
34
35
|
|
35
36
|
def pb_date_time
|
36
|
-
Playbook::PbKit::PbDateTime.new(date)
|
37
|
+
Playbook::PbKit::PbDateTime.new(date, timezone)
|
37
38
|
end
|
38
39
|
end
|
39
40
|
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
<%= pb_rails("caption", props: { text: "East Coast (Default)"}) %>
|
2
|
+
<%= pb_rails("date", props: {
|
3
|
+
date: DateTime.now,
|
4
|
+
timezone: "America/New_York"
|
5
|
+
}) %>
|
6
|
+
|
7
|
+
<br>
|
8
|
+
|
9
|
+
<%= pb_rails("caption", props: { text: "West Coast"}) %>
|
10
|
+
<%= pb_rails("date", props: {
|
11
|
+
date: DateTime.now,
|
12
|
+
timezone: "America/Los_Angeles"
|
13
|
+
}) %>
|
14
|
+
|
15
|
+
<br>
|
16
|
+
|
17
|
+
<%= pb_rails("caption", props: { text: "Toyko, Japan"}) %>
|
18
|
+
<%= pb_rails("date", props: {
|
19
|
+
date: DateTime.now,
|
20
|
+
timezone: "Asia/Tokyo"
|
21
|
+
}) %>
|
22
|
+
|
23
|
+
<br>
|
24
|
+
|
25
|
+
<%= pb_rails("caption", props: { text: "Anti-pattern example"}) %>
|
26
|
+
|
27
|
+
<%= pb_rails("date", props: {
|
28
|
+
date: Date.today,
|
29
|
+
timezone: "Australia/Sydney"
|
30
|
+
}) %>
|
31
|
+
<%= pb_rails("body", props: { text: "Date.today ignores Timezone"}) %>
|
32
|
+
|
33
|
+
<br>
|
34
|
+
|
35
|
+
<%= pb_rails("caption", props: { text: "DateTime respects Timezone"}) %>
|
36
|
+
|
37
|
+
<%= pb_rails("date", props: {
|
38
|
+
date: DateTime.now,
|
39
|
+
timezone: "Australia/Sydney"
|
40
|
+
}) %>
|
41
|
+
|
42
|
+
<%= pb_rails("body", props: { text: "'.now' in Australia is tomorrow (if you're EST after 10am)"}) %>
|
43
|
+
|
44
|
+
<br>
|
45
|
+
|
46
|
+
<%= pb_rails("caption", props: { text: "String Dates"}) %>
|
47
|
+
<%= pb_rails("date", props: {
|
48
|
+
date: "2012-08-02T00:49:29Z",
|
49
|
+
}) %>
|
50
|
+
|
51
|
+
<%= pb_rails("body", props: { text: "Defaults to UTC, then changes due to EST Timezone."}) %>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
Depending on the data you send to the `date` prop you might have unexpected results due to ruby `Date` and `DateTime` classes.
|
2
|
+
|
3
|
+
Don't care about timezones? Use `Date`.
|
4
|
+
|
5
|
+
If you need a date that recognizes a timezone, especially when paired with the [Time kit](/kits/time), leverage `DateTime`.
|
6
|
+
|
@@ -8,6 +8,7 @@ import { Icon, TextInput } from '../'
|
|
8
8
|
import datePickerHelper from './date_picker_helper.js'
|
9
9
|
|
10
10
|
type DatePickerProps = {
|
11
|
+
allowInput?: Boolean,
|
11
12
|
aria?: object,
|
12
13
|
className?: String,
|
13
14
|
dark?: Boolean,
|
@@ -29,14 +30,15 @@ type DatePickerProps = {
|
|
29
30
|
minDate: String,
|
30
31
|
mode?: String,
|
31
32
|
name: String,
|
33
|
+
onChange: (String) => void,
|
32
34
|
pickerId?: String,
|
33
35
|
placeholder?: String,
|
34
|
-
readOnly?: Boolean,
|
35
36
|
type?: String,
|
36
37
|
yearRange?: Array,
|
37
38
|
}
|
38
39
|
const DatePicker = (props: DatePickerProps) => {
|
39
40
|
const {
|
41
|
+
allowInput = false,
|
40
42
|
aria = {},
|
41
43
|
className,
|
42
44
|
dark = false,
|
@@ -58,9 +60,9 @@ const DatePicker = (props: DatePickerProps) => {
|
|
58
60
|
minDate,
|
59
61
|
mode = 'single',
|
60
62
|
name,
|
63
|
+
onChange = () => {},
|
61
64
|
pickerId,
|
62
65
|
placeholder,
|
63
|
-
readOnly = false,
|
64
66
|
type,
|
65
67
|
yearRange = [ 1900, 2100 ],
|
66
68
|
} = props
|
@@ -69,13 +71,14 @@ const DatePicker = (props: DatePickerProps) => {
|
|
69
71
|
const dataProps = buildDataProps(data)
|
70
72
|
const classes = classnames(
|
71
73
|
buildCss('pb_date_picker_kit'),
|
72
|
-
className,
|
73
74
|
globalProps(props),
|
74
75
|
error ? 'error' : null,
|
76
|
+
className
|
75
77
|
)
|
76
78
|
|
77
79
|
useEffect(() => {
|
78
80
|
datePickerHelper({
|
81
|
+
allowInput: allowInput,
|
79
82
|
defaultDate: defaultDate,
|
80
83
|
disableDate: disableDate,
|
81
84
|
disableRange: disableRange,
|
@@ -85,8 +88,8 @@ const DatePicker = (props: DatePickerProps) => {
|
|
85
88
|
maxDate: maxDate,
|
86
89
|
minDate: minDate,
|
87
90
|
mode: mode,
|
91
|
+
onChange: onChange,
|
88
92
|
pickerId: pickerId,
|
89
|
-
readOnly: readOnly,
|
90
93
|
yearRange: yearRange,
|
91
94
|
})
|
92
95
|
}, [])
|