playbook_ui 7.4.0.pre.alpha2 → 7.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/github-brands.svg +1 -0
- data/app/assets/images/landing-background.svg +36 -0
- data/app/assets/images/landing-image.svg +203 -0
- data/app/assets/images/{pb.logo.svg → pb-logo.svg} +2 -2
- data/app/assets/images/pb-white-logo.svg +15 -0
- data/app/pb_kits/playbook/_playbook.scss +3 -1
- data/app/pb_kits/playbook/data/menu.yml +2 -2
- data/app/pb_kits/playbook/index.js +2 -1
- data/app/pb_kits/playbook/pb_background/_background.html.erb +14 -0
- data/app/pb_kits/playbook/pb_background/_background.jsx +63 -0
- data/app/pb_kits/playbook/pb_background/_background.scss +35 -0
- data/app/pb_kits/playbook/pb_background/background.rb +35 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_dark.html.erb +3 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_dark.jsx +13 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_gradient.html.erb +3 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_gradient.jsx +13 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_image.html.erb +13 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_image.jsx +30 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_light.html.erb +3 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_light.jsx +13 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_white.html.erb +3 -0
- data/app/pb_kits/playbook/pb_background/docs/_background_white.jsx +14 -0
- data/app/pb_kits/playbook/pb_background/docs/_description.md +1 -0
- data/app/pb_kits/playbook/pb_background/docs/example.yml +15 -0
- data/app/pb_kits/playbook/pb_background/docs/index.js +6 -0
- data/app/pb_kits/playbook/pb_date/_date.html.erb +64 -8
- data/app/pb_kits/playbook/pb_date/_date.jsx +115 -66
- data/app/pb_kits/playbook/pb_date/_date.scss +30 -0
- data/app/pb_kits/playbook/pb_date/date.rb +20 -9
- data/app/pb_kits/playbook/pb_date/docs/_date_alignment.html.erb +24 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +35 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +21 -6
- data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +43 -12
- data/app/pb_kits/playbook/pb_date/docs/_date_variants.html.erb +27 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +43 -0
- data/app/pb_kits/playbook/pb_date/docs/example.yml +4 -0
- data/app/pb_kits/playbook/pb_date/docs/index.js +2 -0
- data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +19 -14
- data/app/pb_kits/playbook/pb_date_time/_date_time.html.erb +31 -0
- data/app/pb_kits/playbook/pb_date_time/_date_time.jsx +73 -0
- data/app/pb_kits/playbook/pb_date_time/_date_time.scss +26 -0
- data/app/pb_kits/playbook/pb_date_time/date_time.rb +29 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_align.html.erb +17 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_align.jsx +35 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default.html.erb +20 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default.jsx +38 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_size.html.erb +26 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_date_time_size.jsx +75 -0
- data/app/pb_kits/playbook/pb_date_time/docs/_description.md +1 -0
- data/app/pb_kits/playbook/pb_date_time/docs/example.yml +11 -0
- data/app/pb_kits/playbook/pb_date_time/docs/index.js +3 -0
- data/app/pb_kits/playbook/pb_flex/_flex.jsx +1 -1
- data/app/pb_kits/playbook/pb_flex/_flex.scss +4 -0
- data/app/pb_kits/playbook/pb_flex/flex.rb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +52 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +1 -1
- data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +19 -1
- data/app/pb_kits/playbook/pb_home_address_street/home_address_street.rb +1 -1
- data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +3 -1
- data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +13 -4
- data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.html.erb +1 -1
- data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.jsx +5 -7
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_custom_icon.html.erb +12 -0
- data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker_click_events.jsx +48 -0
- data/app/pb_kits/playbook/pb_progress_step/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_progress_step/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +5 -3
- data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +6 -0
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.html.erb +13 -1
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +96 -20
- data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +12 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.html.erb +69 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx +91 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.html.erb +21 -1
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +31 -4
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.html.erb +14 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx +27 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed_align.html.erb +54 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed_align.jsx +73 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.html.erb +59 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +74 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones_align.html.erb +177 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones_align.jsx +209 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.html.erb +35 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx +51 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_align.html.erb +123 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_align.jsx +146 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +14 -0
- data/app/pb_kits/playbook/pb_timestamp/docs/index.js +7 -0
- data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +67 -1
- data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +46 -19
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_default.html.erb +46 -10
- data/app/pb_kits/playbook/pb_tooltip/docs/_tooltip_white.html.erb +4 -4
- data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +3 -2
- data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +14 -2
- data/app/pb_kits/playbook/pb_typeahead/components/ClearIndicator.jsx +20 -0
- data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +8 -15
- data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +1 -6
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +10 -4
- data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md +20 -4
- data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +4 -0
- data/app/pb_kits/playbook/vendor.js +0 -3
- data/lib/playbook/version.rb +2 -1
- metadata +60 -24
- data/app/assets/images/clark.jpg +0 -0
- data/app/assets/images/giant.jpg +0 -0
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.html.erb +0 -9
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.jsx +0 -77
- data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +0 -17
- data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.jsx +0 -40
- data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.jsx +0 -58
- data/app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_content.html.erb +0 -7
- data/app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_main.html.erb +0 -16
- data/app/pb_kits/playbook/pb_collapsible/collapsible.rb +0 -15
- data/app/pb_kits/playbook/pb_collapsible/collapsible_content.rb +0 -21
- data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +0 -24
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_dark.html.erb +0 -10
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_dark.jsx +0 -17
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb +0 -10
- data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +0 -19
- data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +0 -9
- data/app/pb_kits/playbook/pb_collapsible/docs/index.js +0 -2
- data/app/pb_kits/playbook/pb_collapsible/index.js +0 -82
@@ -0,0 +1,123 @@
|
|
1
|
+
<%= pb_rails("timestamp", props: {
|
2
|
+
timestamp: DateTime.now,
|
3
|
+
variant: "updated",
|
4
|
+
align: "left",
|
5
|
+
show_user: true,
|
6
|
+
text: "Maricris Nonato"
|
7
|
+
}) %>
|
8
|
+
|
9
|
+
<br>
|
10
|
+
|
11
|
+
<%= pb_rails("timestamp", props: {
|
12
|
+
timestamp: DateTime.now,
|
13
|
+
variant: "updated",
|
14
|
+
align: "left",
|
15
|
+
show_user: false
|
16
|
+
}) %>
|
17
|
+
|
18
|
+
<br>
|
19
|
+
|
20
|
+
<%= pb_rails("timestamp", props: {
|
21
|
+
timestamp: DateTime.now,
|
22
|
+
variant: "updated",
|
23
|
+
align: "left",
|
24
|
+
show_user: true,
|
25
|
+
show_timezone: true,
|
26
|
+
text: "Maricris Nonato",
|
27
|
+
timezone: "America/New_York"
|
28
|
+
}) %>
|
29
|
+
|
30
|
+
<br>
|
31
|
+
|
32
|
+
<%= pb_rails("timestamp", props: {
|
33
|
+
timestamp: DateTime.now,
|
34
|
+
variant: "updated",
|
35
|
+
align: "left",
|
36
|
+
show_user: false,
|
37
|
+
show_timezone: true,
|
38
|
+
timezone: "America/New_York"
|
39
|
+
}) %>
|
40
|
+
|
41
|
+
<br><br>
|
42
|
+
|
43
|
+
<%= pb_rails("timestamp", props: {
|
44
|
+
timestamp: DateTime.now,
|
45
|
+
variant: "updated",
|
46
|
+
align: "center",
|
47
|
+
show_user: true,
|
48
|
+
text: "Maricris Nonato"
|
49
|
+
}) %>
|
50
|
+
|
51
|
+
<br>
|
52
|
+
|
53
|
+
<%= pb_rails("timestamp", props: {
|
54
|
+
timestamp: DateTime.now,
|
55
|
+
variant: "updated",
|
56
|
+
align: "center",
|
57
|
+
show_user: false
|
58
|
+
}) %>
|
59
|
+
|
60
|
+
<br>
|
61
|
+
|
62
|
+
<%= pb_rails("timestamp", props: {
|
63
|
+
timestamp: DateTime.now,
|
64
|
+
variant: "updated",
|
65
|
+
align: "center",
|
66
|
+
show_user: true,
|
67
|
+
show_timezone: true,
|
68
|
+
text: "Maricris Nonato",
|
69
|
+
timezone: "America/New_York"
|
70
|
+
}) %>
|
71
|
+
|
72
|
+
<br>
|
73
|
+
|
74
|
+
<%= pb_rails("timestamp", props: {
|
75
|
+
timestamp: DateTime.now,
|
76
|
+
variant: "updated",
|
77
|
+
align: "center",
|
78
|
+
show_user: false,
|
79
|
+
show_timezone: true,
|
80
|
+
timezone: "America/New_York"
|
81
|
+
}) %>
|
82
|
+
|
83
|
+
<br><br>
|
84
|
+
|
85
|
+
<%= pb_rails("timestamp", props: {
|
86
|
+
timestamp: DateTime.now,
|
87
|
+
variant: "updated",
|
88
|
+
align: "right",
|
89
|
+
show_user: true,
|
90
|
+
text: "Maricris Nonato"
|
91
|
+
}) %>
|
92
|
+
|
93
|
+
<br>
|
94
|
+
|
95
|
+
<%= pb_rails("timestamp", props: {
|
96
|
+
timestamp: DateTime.now,
|
97
|
+
variant: "updated",
|
98
|
+
align: "right",
|
99
|
+
show_user: false
|
100
|
+
}) %>
|
101
|
+
|
102
|
+
<br>
|
103
|
+
|
104
|
+
<%= pb_rails("timestamp", props: {
|
105
|
+
timestamp: DateTime.now,
|
106
|
+
variant: "updated",
|
107
|
+
align: "right",
|
108
|
+
show_user: true,
|
109
|
+
show_timezone: true,
|
110
|
+
text: "Maricris Nonato",
|
111
|
+
timezone: "America/New_York"
|
112
|
+
}) %>
|
113
|
+
|
114
|
+
<br>
|
115
|
+
|
116
|
+
<%= pb_rails("timestamp", props: {
|
117
|
+
timestamp: DateTime.now,
|
118
|
+
variant: "updated",
|
119
|
+
align: "right",
|
120
|
+
show_user: false,
|
121
|
+
show_timezone: true,
|
122
|
+
timezone: "America/New_York"
|
123
|
+
}) %>
|
@@ -0,0 +1,146 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import Timestamp from '../_timestamp.jsx'
|
3
|
+
|
4
|
+
const TimestampUpdatedAlign = (props) => {
|
5
|
+
return (
|
6
|
+
<div>
|
7
|
+
<Timestamp
|
8
|
+
align="left"
|
9
|
+
showUser="true"
|
10
|
+
text="Maricris Nonato"
|
11
|
+
timestamp={new Date().getTime()}
|
12
|
+
variant="updated"
|
13
|
+
{...props}
|
14
|
+
/>
|
15
|
+
|
16
|
+
<br />
|
17
|
+
|
18
|
+
<Timestamp
|
19
|
+
align="left"
|
20
|
+
showUser="false"
|
21
|
+
timestamp={new Date().getTime()}
|
22
|
+
variant="updated"
|
23
|
+
{...props}
|
24
|
+
/>
|
25
|
+
|
26
|
+
<br />
|
27
|
+
|
28
|
+
<Timestamp
|
29
|
+
showTimezone="true"
|
30
|
+
showUser="true"
|
31
|
+
text="Maricris Nonato"
|
32
|
+
timestamp={new Date().getTime()}
|
33
|
+
timezone="America/New_York"
|
34
|
+
variant="updated"
|
35
|
+
{...props}
|
36
|
+
/>
|
37
|
+
|
38
|
+
<br />
|
39
|
+
|
40
|
+
<Timestamp
|
41
|
+
showTimezone="true"
|
42
|
+
showUser="false"
|
43
|
+
timestamp={new Date().getTime()}
|
44
|
+
timezone="America/New_York"
|
45
|
+
variant="updated"
|
46
|
+
{...props}
|
47
|
+
/>
|
48
|
+
|
49
|
+
<br />
|
50
|
+
<br />
|
51
|
+
|
52
|
+
<Timestamp
|
53
|
+
align="center"
|
54
|
+
showUser="true"
|
55
|
+
text="Maricris Nonato"
|
56
|
+
timestamp={new Date().getTime()}
|
57
|
+
variant="updated"
|
58
|
+
{...props}
|
59
|
+
/>
|
60
|
+
|
61
|
+
<br />
|
62
|
+
|
63
|
+
<Timestamp
|
64
|
+
align="center"
|
65
|
+
showUser="false"
|
66
|
+
timestamp={new Date().getTime()}
|
67
|
+
variant="updated"
|
68
|
+
{...props}
|
69
|
+
/>
|
70
|
+
|
71
|
+
<br />
|
72
|
+
|
73
|
+
<Timestamp
|
74
|
+
align="center"
|
75
|
+
showTimezone="true"
|
76
|
+
showUser="true"
|
77
|
+
text="Maricris Nonato"
|
78
|
+
timestamp={new Date().getTime()}
|
79
|
+
timezone="America/New_York"
|
80
|
+
variant="updated"
|
81
|
+
{...props}
|
82
|
+
/>
|
83
|
+
|
84
|
+
<br />
|
85
|
+
|
86
|
+
<Timestamp
|
87
|
+
align="center"
|
88
|
+
showTimezone="true"
|
89
|
+
showUser="false"
|
90
|
+
timestamp={new Date().getTime()}
|
91
|
+
timezone="America/New_York"
|
92
|
+
variant="updated"
|
93
|
+
{...props}
|
94
|
+
/>
|
95
|
+
|
96
|
+
<br />
|
97
|
+
<br />
|
98
|
+
|
99
|
+
<Timestamp
|
100
|
+
align="right"
|
101
|
+
showUser="true"
|
102
|
+
text="Maricris Nonato"
|
103
|
+
timestamp={new Date().getTime()}
|
104
|
+
variant="updated"
|
105
|
+
{...props}
|
106
|
+
/>
|
107
|
+
|
108
|
+
<br />
|
109
|
+
|
110
|
+
<Timestamp
|
111
|
+
align="right"
|
112
|
+
showUser="false"
|
113
|
+
timestamp={new Date().getTime()}
|
114
|
+
variant="updated"
|
115
|
+
{...props}
|
116
|
+
/>
|
117
|
+
|
118
|
+
<br />
|
119
|
+
|
120
|
+
<Timestamp
|
121
|
+
align="right"
|
122
|
+
showTimezone="true"
|
123
|
+
showUser="true"
|
124
|
+
text="Maricris Nonato"
|
125
|
+
timestamp={new Date().getTime()}
|
126
|
+
timezone="America/New_York"
|
127
|
+
variant="updated"
|
128
|
+
{...props}
|
129
|
+
/>
|
130
|
+
|
131
|
+
<br />
|
132
|
+
|
133
|
+
<Timestamp
|
134
|
+
align="right"
|
135
|
+
showTimezone="true"
|
136
|
+
showUser="false"
|
137
|
+
timestamp={new Date().getTime()}
|
138
|
+
timezone="America/New_York"
|
139
|
+
variant="updated"
|
140
|
+
{...props}
|
141
|
+
/>
|
142
|
+
</div>
|
143
|
+
)
|
144
|
+
}
|
145
|
+
|
146
|
+
export default TimestampUpdatedAlign
|
@@ -2,6 +2,20 @@ examples:
|
|
2
2
|
|
3
3
|
rails:
|
4
4
|
- timestamp_default: Default
|
5
|
+
- timestamp_align: Alignments
|
6
|
+
- timestamp_timezones: Timezones
|
7
|
+
- timestamp_timezones_align: Timezones - Alignments
|
8
|
+
- timestamp_updated: Last Updated by
|
9
|
+
- timestamp_updated_align: Last Updated by - Alignments
|
10
|
+
- timestamp_elapsed: Time Ago
|
11
|
+
- timestamp_elapsed_align: Time Ago - Alignments
|
5
12
|
|
6
13
|
react:
|
7
14
|
- timestamp_default: Default
|
15
|
+
- timestamp_align: Alignments
|
16
|
+
- timestamp_timezones: Timezones
|
17
|
+
- timestamp_timezones_align: Timezones - Alignments
|
18
|
+
- timestamp_updated: Last Updated by
|
19
|
+
- timestamp_updated_align: Last Updated by - Alignments
|
20
|
+
- timestamp_elapsed: Time Ago
|
21
|
+
- timestamp_elapsed_align: Time Ago - Alignments
|
@@ -1 +1,8 @@
|
|
1
1
|
export { default as TimestampDefault } from './_timestamp_default.jsx'
|
2
|
+
export { default as TimestampAlign } from './_timestamp_align.jsx'
|
3
|
+
export { default as TimestampTimezones } from './_timestamp_timezones.jsx'
|
4
|
+
export { default as TimestampTimezonesAlign } from './_timestamp_timezones_align.jsx'
|
5
|
+
export { default as TimestampUpdated } from './_timestamp_updated.jsx'
|
6
|
+
export { default as TimestampUpdatedAlign } from './_timestamp_updated_align.jsx'
|
7
|
+
export { default as TimestampElapsed } from './_timestamp_elapsed.jsx'
|
8
|
+
export { default as TimestampElapsedAlign } from './_timestamp_elapsed_align.jsx'
|
@@ -3,14 +3,80 @@
|
|
3
3
|
module Playbook
|
4
4
|
module PbTimestamp
|
5
5
|
class Timestamp
|
6
|
+
include ActionView::Helpers::DateHelper
|
6
7
|
include Playbook::Props
|
7
8
|
|
8
9
|
partial "pb_timestamp/timestamp"
|
9
10
|
|
10
11
|
prop :text
|
12
|
+
prop :timestamp, required: true
|
13
|
+
|
14
|
+
prop :dark, type: Playbook::Props::Boolean,
|
15
|
+
default: false
|
16
|
+
prop :align, type: Playbook::Props::Enum,
|
17
|
+
values: %w[left center right],
|
18
|
+
default: "left"
|
19
|
+
prop :show_date, type: Playbook::Props::Boolean,
|
20
|
+
default: true
|
21
|
+
prop :show_timezone, type: Playbook::Props::Boolean,
|
22
|
+
default: false
|
23
|
+
prop :show_user, type: Playbook::Props::Boolean,
|
24
|
+
default: false
|
25
|
+
prop :timezone, default: "America/New_York"
|
26
|
+
prop :variant, type: Playbook::Props::Enum,
|
27
|
+
values: %w[default elapsed updated],
|
28
|
+
default: "default"
|
11
29
|
|
12
30
|
def classname
|
13
|
-
generate_classname("pb_timestamp_kit")
|
31
|
+
generate_classname("pb_timestamp_kit", variant_class, align)
|
32
|
+
end
|
33
|
+
|
34
|
+
def format_year_string
|
35
|
+
pb_date_time.to_year != DateTime.now.year.to_s ? ", #{pb_date_time.to_year}" : ""
|
36
|
+
end
|
37
|
+
|
38
|
+
def format_time_string
|
39
|
+
"#{pb_date_time.to_hour}:#{pb_date_time.to_minutes}#{pb_date_time.to_meridian} #{format_timezone_string}".strip
|
40
|
+
end
|
41
|
+
|
42
|
+
def format_timezone_string
|
43
|
+
timezone && show_timezone ? pb_date_time.to_timezone.to_s : ""
|
44
|
+
end
|
45
|
+
|
46
|
+
def format_date_string
|
47
|
+
"#{pb_date_time.to_month_downcase} #{pb_date_time.to_unpadded_day}#{format_year_string}"
|
48
|
+
end
|
49
|
+
|
50
|
+
def format_datetime_string
|
51
|
+
"#{format_date_string} · #{format_time_string}".html_safe
|
52
|
+
end
|
53
|
+
|
54
|
+
def format_updated_string
|
55
|
+
user_string = show_user ? " by #{text}" : ""
|
56
|
+
|
57
|
+
case variant
|
58
|
+
when "updated"
|
59
|
+
datetime_string = " on #{format_date_string} at #{format_time_string}"
|
60
|
+
when "elapsed"
|
61
|
+
datetime_string = " #{time_ago_in_words(pb_date_time.convert_to_timestamp)} ago"
|
62
|
+
end
|
63
|
+
|
64
|
+
"Last updated#{user_string}#{datetime_string}"
|
65
|
+
end
|
66
|
+
|
67
|
+
private
|
68
|
+
|
69
|
+
def pb_date_time
|
70
|
+
Playbook::PbKit::PbDateTime.new(timestamp, timezone)
|
71
|
+
end
|
72
|
+
|
73
|
+
def variant_class
|
74
|
+
case variant
|
75
|
+
when "updated"
|
76
|
+
"updated"
|
77
|
+
when "elapsed"
|
78
|
+
"elapsed"
|
79
|
+
end
|
14
80
|
end
|
15
81
|
end
|
16
82
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
@import "../tokens/positioning";
|
2
2
|
@import "../tokens/colors";
|
3
3
|
|
4
|
+
$tooltip_shadow: rgba(60, 106, 172, 0.18);
|
5
|
+
|
4
6
|
@keyframes fadeIn {
|
5
7
|
from {
|
6
8
|
opacity: 0;
|
@@ -33,19 +35,8 @@
|
|
33
35
|
&.flipped {
|
34
36
|
margin-top: 15px;
|
35
37
|
.arrow {
|
36
|
-
top: -35%;
|
37
38
|
border-color: transparent transparent $white transparent;
|
38
|
-
|
39
|
-
}
|
40
|
-
|
41
|
-
&.react {
|
42
|
-
.arrow {
|
43
|
-
top: 78%;
|
44
|
-
}
|
45
|
-
&.flipped {
|
46
|
-
.arrow {
|
47
|
-
top: -8%;
|
48
|
-
}
|
39
|
+
transform: rotate(180deg);
|
49
40
|
}
|
50
41
|
}
|
51
42
|
|
@@ -66,7 +57,7 @@
|
|
66
57
|
z-index: $z_9;
|
67
58
|
margin-bottom: $space_sm;
|
68
59
|
background-color: $white;
|
69
|
-
padding: $space_xs $space_sm
|
60
|
+
padding: $space_xs $space_sm;
|
70
61
|
box-shadow: $shadow_deeper;
|
71
62
|
border-radius: $border_rad_light;
|
72
63
|
|
@@ -82,10 +73,6 @@
|
|
82
73
|
.tooltip_tooltip{
|
83
74
|
color: $white;
|
84
75
|
background-color: rgba($black, $opacity_9);
|
85
|
-
|
86
|
-
|
87
|
-
&.show {
|
88
|
-
}
|
89
76
|
.arrow {
|
90
77
|
border-color: $black transparent transparent transparent;
|
91
78
|
opacity: $opacity_9;
|
@@ -100,6 +87,46 @@
|
|
100
87
|
}
|
101
88
|
}
|
102
89
|
|
103
|
-
|
104
|
-
|
90
|
+
// Right
|
91
|
+
[class^="pb_tooltip_kit"] .tooltip_tooltip {
|
92
|
+
|
93
|
+
&[x-placement="right"] {
|
94
|
+
box-shadow: -8px 0 28px 0 $tooltip_shadow;
|
95
|
+
margin: 0 0 0 $space_sm;
|
96
|
+
.arrow {
|
97
|
+
left: -#{$space_xs};
|
98
|
+
margin-bottom: 0;
|
99
|
+
transform: rotate(90deg);
|
100
|
+
}
|
101
|
+
&.flipped .arrow {
|
102
|
+
transform: rotate(270deg);
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
&[x-placement="bottom"] {
|
107
|
+
box-shadow: 0 -12px 28px 0 $tooltip_shadow;
|
108
|
+
margin: $space_sm 0 0 0;
|
109
|
+
.arrow {
|
110
|
+
top: -18px;
|
111
|
+
margin-bottom: 0;
|
112
|
+
transform: rotate(180deg);
|
113
|
+
}
|
114
|
+
&.flipped .arrow {
|
115
|
+
transform: rotate(0deg);
|
116
|
+
}
|
117
|
+
}
|
118
|
+
|
119
|
+
&[x-placement="left"] {
|
120
|
+
box-shadow: 8px 0 28px 0 $tooltip_shadow;
|
121
|
+
margin: 0 $space_sm 0 0;
|
122
|
+
.arrow {
|
123
|
+
margin-bottom: 0;
|
124
|
+
right: -18px;
|
125
|
+
left: auto;
|
126
|
+
transform: rotate(270deg);
|
127
|
+
}
|
128
|
+
&.flipped .arrow {
|
129
|
+
transform: rotate(90deg);
|
130
|
+
}
|
131
|
+
}
|
105
132
|
}
|