playbook_ui 6.4.1 → 6.6.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 +3 -4
- data/app/pb_kits/playbook/_playbook.scss +1 -0
- data/app/pb_kits/playbook/data/menu.yml +1 -0
- data/app/pb_kits/playbook/index.js +3 -0
- data/app/pb_kits/playbook/packs/examples.js +4 -1
- data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +6 -0
- data/app/pb_kits/playbook/pb_button/_button.jsx +1 -0
- data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -1
- data/app/pb_kits/playbook/pb_button/docs/_button_default.jsx +3 -7
- data/app/pb_kits/playbook/pb_button/docs/_button_default_dark.jsx +3 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_link.jsx +2 -0
- data/app/pb_kits/playbook/pb_button/docs/_button_loading.jsx +2 -0
- data/app/pb_kits/playbook/pb_circle_icon_button/docs/_circle_icon_button_link.html.erb +2 -1
- data/app/pb_kits/playbook/pb_date/_date.html.erb +8 -32
- data/app/pb_kits/playbook/pb_date/_date.jsx +67 -76
- data/app/pb_kits/playbook/pb_date/_date.scss +0 -25
- data/app/pb_kits/playbook/pb_date/date.rb +10 -18
- data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +17 -2
- data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +28 -0
- data/app/pb_kits/playbook/pb_date/docs/example.yml +2 -5
- data/app/pb_kits/playbook/pb_date/docs/index.js +1 -3
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +39 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +149 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +33 -0
- data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +85 -0
- data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +165 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.html.erb +4 -0
- 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_dark.html.erb +4 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.jsx +13 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.jsx +12 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +24 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +30 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.html.erb +43 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_disabled.jsx +48 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.html.erb +4 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_error.jsx +13 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +19 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +25 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.md +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hide_icon.html.erb +4 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hide_icon.jsx +13 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.html.erb +37 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.jsx +37 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_hooks.md +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.html.erb +26 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.jsx +32 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.md +3 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.html.erb +9 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.jsx +17 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_label.md +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.html.erb +14 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_min_max.jsx +22 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +4 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +13 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.html.erb +7 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.jsx +16 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_year_range.md +1 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/_description.md +7 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +35 -0
- data/app/pb_kits/playbook/pb_date_picker/docs/index.js +14 -0
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_calendar_input_icon.scss +33 -0
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_day_styles.scss +53 -0
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_flatpickr_styles.scss +785 -0
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_header_styles.scss +108 -0
- data/app/pb_kits/playbook/pb_date_picker/sass_partials/_overrides.scss +44 -0
- data/app/pb_kits/playbook/pb_filter/_filter.scss +1 -1
- 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 +2 -0
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +2 -0
- data/app/pb_kits/playbook/pb_form/form_builder.rb +1 -0
- data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +20 -0
- data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +2 -2
- data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +0 -1
- data/app/pb_kits/playbook/pb_table/table.rb +3 -3
- data/app/pb_kits/playbook/pb_text_input/_text_input.html.erb +1 -0
- data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +21 -17
- data/app/pb_kits/playbook/pb_text_input/_text_input.scss +17 -8
- data/app/pb_kits/playbook/pb_text_input/text_input.rb +2 -0
- data/app/pb_kits/playbook/pb_time/_time.html.erb +23 -17
- data/app/pb_kits/playbook/pb_time/_time.jsx +20 -11
- 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_dark.html.erb +70 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_dark.jsx +1 -6
- 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 +2 -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 +42 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +12 -14
- data/app/pb_kits/playbook/pb_time/docs/example.yml +7 -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_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/tokens/_typography.scss +3 -3
- data/app/pb_kits/playbook/vendor.js +6 -0
- data/lib/playbook/version.rb +1 -1
- metadata +72 -10
- data/app/pb_kits/playbook/pb_date/docs/_date_alignment.html.erb +0 -24
- data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +0 -32
- data/app/pb_kits/playbook/pb_date/docs/_date_default_react.jsx +0 -20
- data/app/pb_kits/playbook/pb_date/docs/_date_default_react.md +0 -3
- data/app/pb_kits/playbook/pb_date/docs/_date_variants.html.erb +0 -27
- data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +0 -39
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4166fb156350ec274aaf4be4faa24d97b7f846e6c58d9089aef4f7b260474efb
|
4
|
+
data.tar.gz: c1a9c2d1fd0268af9ec5e9f0d3391a789c6bc8ff77c31b729259a6b13d928e7c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5331a285fcd6b9182da191e9a90f5f9e63e5e5255eec1224114bf8c7d2ad9db54861c625d911ce29924bffdc1a7ce9d197b77385e87ebe4a1872fb017f4fa5f8
|
7
|
+
data.tar.gz: cc6ba2e649843b2c017b30a92a7c26dbf33e21944aa29feadadbd51a068efd9789797eee928cb650c7f1a5ad40aba6708f0d4cbee218c43143bb21e5bfd188e8
|
data/README.md
CHANGED
@@ -35,10 +35,9 @@ To run the tests, do `bin/test`. To launch a shell in the container run `make sh
|
|
35
35
|
|
36
36
|
See [docs/upgrade-guide](./docs/upgrade-guide)
|
37
37
|
|
38
|
-
###
|
38
|
+
### Releases
|
39
39
|
|
40
|
-
* [
|
41
|
-
* [Creating Releases](https://github.com/powerhome/playbook/wiki/Releasing-a-New-Version)
|
40
|
+
* [Playbook Releases](https://github.com/powerhome/playbook/wiki/Playbook-Releases)
|
42
41
|
|
43
42
|
### Development Environment
|
44
43
|
|
@@ -63,4 +62,4 @@ See [docs/upgrade-guide](./docs/upgrade-guide)
|
|
63
62
|
5. When finished, inside of the directory you want to test with playbook, run `yarn unlink playbook-ui`.
|
64
63
|
6. Inside of your Playbook repository, run `yarn unlink`.
|
65
64
|
|
66
|
-
Keep in mind: Styles are brought in from playbook through the rails gem, so you will not be able to test scss updates with yarn linking.
|
65
|
+
Keep in mind: Styles are brought in from playbook through the rails gem, so you will not be able to test scss updates with yarn linking.
|
@@ -15,6 +15,7 @@
|
|
15
15
|
@import 'pb_currency/currency';
|
16
16
|
@import 'pb_dashboard_value/dashboard_value';
|
17
17
|
@import 'pb_date/date';
|
18
|
+
@import 'pb_date_picker/date_picker';
|
18
19
|
@import 'pb_date_range_inline/date_range_inline';
|
19
20
|
@import 'pb_date_range_stacked/date_range_stacked';
|
20
21
|
@import 'pb_date_stacked/date_stacked';
|
@@ -14,6 +14,7 @@ export Contact from './pb_contact/_contact.jsx'
|
|
14
14
|
export Currency from './pb_currency/_currency.jsx'
|
15
15
|
export DashboardValue from './pb_dashboard_value/_dashboard_value.jsx'
|
16
16
|
export Date from './pb_date/_date.jsx'
|
17
|
+
export DatePicker from './pb_date_picker/_date_picker.jsx'
|
17
18
|
export DateRangeInline from './pb_date_range_inline/_date_range_inline.jsx'
|
18
19
|
export DateRangeStacked from './pb_date_range_stacked/_date_range_stacked.jsx'
|
19
20
|
export DateStacked from './pb_date_stacked/_date_stacked.jsx'
|
@@ -79,6 +80,7 @@ export Title from './pb_title/_title.jsx'
|
|
79
80
|
export TitleCount from './pb_title_count/_title_count.jsx'
|
80
81
|
export TitleDetail from './pb_title_detail/_title_detail.jsx'
|
81
82
|
export Toggle from './pb_toggle/_toggle.jsx'
|
83
|
+
export Typeahead from './pb_typeahead/_typeahead.jsx'
|
82
84
|
export User from './pb_user/_user.jsx'
|
83
85
|
export UserBadge from './pb_user_badge/_user_badge.jsx'
|
84
86
|
export WeekdayStacked from './pb_weekday_stacked/_weekday_stacked.jsx'
|
@@ -91,6 +93,7 @@ export dashboardValueSettings from './pb_dashboard_value/dashboardValueSettings'
|
|
91
93
|
|
92
94
|
// Other JS/Plugins
|
93
95
|
export pbChart from './plugins/pb_chart.js'
|
96
|
+
export datePickerHelper from './pb_date_picker/date_picker_helper.js'
|
94
97
|
export PbTypeahead from './pb_typeahead'
|
95
98
|
export PbPopover from './pb_popover'
|
96
99
|
export PbTable from './pb_table'
|
@@ -28,6 +28,7 @@ import * as Contact from 'pb_contact/docs'
|
|
28
28
|
import * as Currency from 'pb_currency/docs'
|
29
29
|
import * as DashboardValue from 'pb_dashboard_value/docs'
|
30
30
|
import * as Date from 'pb_date/docs'
|
31
|
+
import * as DatePicker from 'pb_date_picker/docs'
|
31
32
|
import * as DateRangeInline from 'pb_date_range_inline/docs'
|
32
33
|
import * as DateRangeStacked from 'pb_date_range_stacked/docs'
|
33
34
|
import * as DateStacked from 'pb_date_stacked/docs'
|
@@ -87,6 +88,7 @@ import * as TimeRangeInline from 'pb_time_range_inline/docs'
|
|
87
88
|
import * as Title from 'pb_title/docs'
|
88
89
|
import * as TitleCount from 'pb_title_count/docs'
|
89
90
|
import * as TitleDetail from 'pb_title_detail/docs'
|
91
|
+
import * as Typeahead from 'pb_typeahead/docs'
|
90
92
|
import * as Toggle from 'pb_toggle/docs'
|
91
93
|
import * as User from 'pb_user/docs'
|
92
94
|
import * as UserBadge from 'pb_user_badge/docs'
|
@@ -108,6 +110,7 @@ WebpackerReact.setup({
|
|
108
110
|
...Currency,
|
109
111
|
...DashboardValue,
|
110
112
|
...Date,
|
113
|
+
...DatePicker,
|
111
114
|
...DateRangeInline,
|
112
115
|
...DateRangeStacked,
|
113
116
|
...DateStacked,
|
@@ -167,9 +170,9 @@ WebpackerReact.setup({
|
|
167
170
|
...Title,
|
168
171
|
...TitleCount,
|
169
172
|
...TitleDetail,
|
173
|
+
...Typeahead,
|
170
174
|
...Toggle,
|
171
175
|
...User,
|
172
176
|
...UserBadge,
|
173
177
|
...WeekdayStacked,
|
174
178
|
})
|
175
|
-
|
@@ -4,26 +4,22 @@ import { Button } from '../../'
|
|
4
4
|
const ButtonDefault = () => (
|
5
5
|
<div>
|
6
6
|
<Button
|
7
|
-
dark
|
8
|
-
marginRight="xl"
|
9
7
|
onClick={() => alert('button clicked!')}
|
10
8
|
text="Button Primary"
|
11
9
|
/>
|
10
|
+
{' '}
|
12
11
|
<Button
|
13
12
|
onClick={() => alert('button clicked!')}
|
14
13
|
text="Button Secondary"
|
15
14
|
variant="secondary"
|
16
15
|
/>
|
16
|
+
{' '}
|
17
17
|
<Button
|
18
18
|
onClick={() => alert('button clicked!')}
|
19
19
|
text="Button Link"
|
20
20
|
variant="link"
|
21
21
|
/>
|
22
|
-
|
23
|
-
disabled
|
24
|
-
onClick={() => alert('button clicked!')}
|
25
|
-
text="Button Disabled"
|
26
|
-
/>
|
22
|
+
{' '}
|
27
23
|
<Button
|
28
24
|
disabled
|
29
25
|
onClick={() => alert('button clicked!')}
|
@@ -7,16 +7,19 @@ const ButtonDefaultDark = () => (
|
|
7
7
|
dark
|
8
8
|
text="Button Primary"
|
9
9
|
/>
|
10
|
+
{' '}
|
10
11
|
<Button
|
11
12
|
dark
|
12
13
|
text="Button Secondary"
|
13
14
|
variant="secondary"
|
14
15
|
/>
|
16
|
+
{' '}
|
15
17
|
<Button
|
16
18
|
dark
|
17
19
|
text="Button Link"
|
18
20
|
variant="link"
|
19
21
|
/>
|
22
|
+
{' '}
|
20
23
|
<Button
|
21
24
|
dark
|
22
25
|
disabled
|
@@ -1,38 +1,14 @@
|
|
1
1
|
<%= content_tag(:div,
|
2
2
|
id: object.id,
|
3
3
|
data: object.data,
|
4
|
-
class: object.classname
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
}) do %>
|
13
|
-
<%= pb_rails("icon", props: { icon: "calendar-alt", fixed_width: true }) %>
|
14
|
-
<% end %>
|
15
|
-
<% end %>
|
16
|
-
|
17
|
-
<!-- day_of_week -->
|
18
|
-
<% if object.show_day_of_week %>
|
19
|
-
<%= pb_rails("title", props: { tag: "div", text: object.date_day_of_week, size: 4 }) %>
|
20
|
-
<%= pb_rails("body", props: {
|
21
|
-
text: "•",
|
22
|
-
color: "light",
|
23
|
-
tag: "div",
|
24
|
-
}) %>
|
25
|
-
<% end %>
|
26
|
-
|
27
|
-
<!-- month day, year -->
|
28
|
-
|
29
|
-
<%# if not current year %>
|
30
|
-
<% if object.year.to_s == DateTime.now.year.to_s %>
|
31
|
-
<%= pb_rails("title", props: { tag: "div", text: "#{object.month} #{object.day}", size: 4 }) %>
|
32
|
-
<%# if is current year %>
|
33
|
-
<% else %>
|
34
|
-
<%= pb_rails("title", props: { tag: "div", text: "#{object.month} #{object.day}, #{object.year}", size: 4 }) %>
|
4
|
+
class: object.classname) do %>
|
5
|
+
<% if object.size == "lg" %>
|
6
|
+
<%= pb_rails("title", props: { text: object.lg_date, size: 3 }) %>
|
7
|
+
<% elsif object.size == "sm" %>
|
8
|
+
<%= pb_rails("icon", props: { icon: "calendar", fixed_width: true }) %>
|
9
|
+
<%= pb_rails("title", props: { tag: "span", text: object.sm_date, size: 4 }) %>
|
10
|
+
<% else %>
|
11
|
+
<%= pb_rails("title", props: { text: object.xs_date, size: 4 }) %>
|
35
12
|
<% end %>
|
36
|
-
|
37
13
|
<% end %>
|
38
14
|
|
@@ -2,91 +2,82 @@
|
|
2
2
|
|
3
3
|
import React from 'react'
|
4
4
|
import DateTime from '../pb_kit/dateTime.js'
|
5
|
-
import {
|
5
|
+
import { Icon } from '../'
|
6
6
|
import classnames from 'classnames'
|
7
7
|
import { globalProps } from '../utilities/globalProps.js'
|
8
|
-
import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
|
9
8
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
showIcon?: boolean,
|
17
|
-
showDayOfWeek?: boolean,
|
18
|
-
alignment?: "left" | "center" | "right"
|
9
|
+
const defaultDateString = (value: DateTime) => {
|
10
|
+
const weekday = value.toWeekday().toUpperCase()
|
11
|
+
const month = value.toMonth().toUpperCase()
|
12
|
+
const day = value.toDay()
|
13
|
+
|
14
|
+
return `${weekday} · ${month} ${day}`
|
19
15
|
}
|
20
16
|
|
21
|
-
const
|
22
|
-
const
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
data = {},
|
28
|
-
id,
|
29
|
-
showDayOfWeek = false,
|
30
|
-
showIcon = false,
|
31
|
-
} = props
|
17
|
+
const largeDateString = (value: DateTime) => {
|
18
|
+
const month = value.toMonth().toUpperCase()
|
19
|
+
const day = value.toDay()
|
20
|
+
|
21
|
+
return `${month} ${day}`
|
22
|
+
}
|
32
23
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
const day = dateTimestamp.toDay()
|
37
|
-
const year = dateTimestamp.toYear()
|
38
|
-
const currentYear = new Date().getFullYear().toString()
|
24
|
+
type DateSubcomponent = {
|
25
|
+
value: DateTime,
|
26
|
+
}
|
39
27
|
|
40
|
-
|
41
|
-
|
28
|
+
const ExtraSmallDate = ({ value, ...props }: DateSubcomponent) => (
|
29
|
+
<h3 className={classnames('pb_title_kit_4', globalProps(props))}>
|
30
|
+
{defaultDateString(value)}
|
31
|
+
</h3>
|
32
|
+
)
|
42
33
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
34
|
+
const SmallDate = ({ value, ...props }: DateSubcomponent) => (
|
35
|
+
<h3 className={classnames('pb_title_kit_4', globalProps(props))}>
|
36
|
+
<Icon
|
37
|
+
fixedWidth
|
38
|
+
icon="calendar"
|
39
|
+
/>
|
40
|
+
{defaultDateString(value)}
|
41
|
+
</h3>
|
42
|
+
)
|
43
|
+
|
44
|
+
const LargeDate = ({ value, ...props }: DateSubcomponent) => (
|
45
|
+
<h3 className={classnames('pb_title_kit_3', globalProps(props))}>
|
46
|
+
{largeDateString(value)}
|
47
|
+
</h3>
|
48
|
+
)
|
49
|
+
|
50
|
+
type PbDateProps = {
|
51
|
+
size?: "xs" | "sm" | "lg",
|
52
|
+
value?: string,
|
53
|
+
className?: string
|
54
|
+
}
|
55
|
+
|
56
|
+
const PbDate = ({ size, value, className, ...props }: PbDateProps) => {
|
57
|
+
const date = new DateTime({ value: value })
|
58
|
+
|
59
|
+
if (size == 'xs')
|
60
|
+
return (
|
61
|
+
<ExtraSmallDate
|
62
|
+
{...props}
|
63
|
+
className={className}
|
64
|
+
value={date}
|
65
|
+
/>
|
66
|
+
)
|
67
|
+
if (size == 'lg')
|
68
|
+
return (
|
69
|
+
<LargeDate
|
70
|
+
{...props}
|
71
|
+
className={className}
|
72
|
+
value={date}
|
73
|
+
/>
|
74
|
+
)
|
48
75
|
return (
|
49
|
-
<
|
50
|
-
{...
|
51
|
-
{
|
52
|
-
|
53
|
-
|
54
|
-
>
|
55
|
-
<Title
|
56
|
-
size={4}
|
57
|
-
tag="h4"
|
58
|
-
>
|
59
|
-
<If condition={showIcon}>
|
60
|
-
<Body
|
61
|
-
color="light"
|
62
|
-
tag="span"
|
63
|
-
>
|
64
|
-
<Icon
|
65
|
-
fixedWidth
|
66
|
-
icon="calendar-alt"
|
67
|
-
/>
|
68
|
-
</Body>
|
69
|
-
</If>
|
70
|
-
<If condition={showDayOfWeek}>
|
71
|
-
{weekday}
|
72
|
-
<Body
|
73
|
-
color="light"
|
74
|
-
tag="span"
|
75
|
-
text=" • "
|
76
|
-
/>
|
77
|
-
</If>
|
78
|
-
<span>
|
79
|
-
{month}
|
80
|
-
{' '}
|
81
|
-
{day}
|
82
|
-
</span>
|
83
|
-
<If condition={currentYear != year}>
|
84
|
-
<span>
|
85
|
-
{` , ${year}`}
|
86
|
-
</span>
|
87
|
-
</If>
|
88
|
-
</Title>
|
89
|
-
</div>
|
76
|
+
<SmallDate
|
77
|
+
{...props}
|
78
|
+
className={className}
|
79
|
+
value={date}
|
80
|
+
/>
|
90
81
|
)
|
91
82
|
}
|
92
83
|
|
@@ -1,27 +1,2 @@
|
|
1
1
|
@import "../pb_icon/icon";
|
2
2
|
@import "../pb_title/title";
|
3
|
-
|
4
|
-
[class^=pb_date_kit] {
|
5
|
-
display: flex;
|
6
|
-
flex-direction: row;
|
7
|
-
align-items: center;
|
8
|
-
> div {
|
9
|
-
margin-right: 4px !important;
|
10
|
-
}
|
11
|
-
|
12
|
-
&[class*=_center] {
|
13
|
-
display: flex;
|
14
|
-
flex-direction: row;
|
15
|
-
align-items: center;
|
16
|
-
justify-content: center;
|
17
|
-
margin-right: 4px !important;
|
18
|
-
}
|
19
|
-
|
20
|
-
&[class*=_right] {
|
21
|
-
display: flex;
|
22
|
-
flex-direction: row;
|
23
|
-
align-items: center;
|
24
|
-
justify-content: flex-end;
|
25
|
-
margin-left: 4px !important;
|
26
|
-
}
|
27
|
-
}
|