playbook_ui 12.24.0 → 12.25.0.pre.alpha.railsmultilevelimprovements758
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/pb_date/_date.tsx +96 -42
- data/app/pb_kits/playbook/pb_date/date.html.erb +22 -2
- data/app/pb_kits/playbook/pb_date/date.rb +2 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_unstyled.html.erb +30 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_unstyled.jsx +47 -0
- data/app/pb_kits/playbook/pb_date/docs/_date_unstyled.md +1 -0
- data/app/pb_kits/playbook/pb_date/docs/example.yml +4 -4
- data/app/pb_kits/playbook/pb_date/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_docs/kit_example.rb +0 -2
- data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +20 -1
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.html.erb +4 -4
- data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_with_form.html.erb +72 -0
- data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +1 -0
- data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.rb +3 -0
- data/app/pb_kits/playbook/pb_time/_time.tsx +71 -35
- data/app/pb_kits/playbook/pb_time/docs/_time_unstyled.html.erb +37 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_unstyled.jsx +58 -0
- data/app/pb_kits/playbook/pb_time/docs/_time_unstyled.md +1 -0
- data/app/pb_kits/playbook/pb_time/docs/example.yml +2 -0
- data/app/pb_kits/playbook/pb_time/docs/index.js +1 -0
- data/app/pb_kits/playbook/pb_time/time.html.erb +26 -7
- data/app/pb_kits/playbook/pb_time/time.rb +2 -0
- data/app/pb_kits/playbook/pb_title/_title.scss +2 -1
- data/app/pb_kits/playbook/pb_title/_title.tsx +3 -2
- data/app/pb_kits/playbook/pb_title/title.rb +10 -3
- data/app/pb_kits/playbook/pb_title/title.test.js +3 -3
- data/dist/playbook-rails.js +51 -0
- data/lib/playbook/forms/builder/multi_level_select_field.rb +12 -0
- data/lib/playbook/forms/builder.rb +1 -0
- data/lib/playbook/version.rb +2 -2
- data/lib/playbook.rb +1 -2
- metadata +20 -41
- data/app/pb_kits/playbook/pb_docs/kit_api.html.erb +0 -311
- data/app/pb_kits/playbook/pb_docs/kit_api.rb +0 -149
- data/lib/playbook/markdown/helper.rb +0 -132
- data/lib/playbook/markdown.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a8af3ac72c11451f4be580781ae58f226b5fdf05d3303913cb5b34c56198c46
|
4
|
+
data.tar.gz: 709922c7bb6f54d2724b2a7d7908d35ff12d03f75e49a92ffa4256b6dd2dc9a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c120a0217bae14ba340572dff797a033cdecb6452bd6bc4ea51b86913b679aab65c5059e1de0de79cb0ba39d06ff20d1694dff33e2321123f7566dc50acbe9fb
|
7
|
+
data.tar.gz: 7c63e0e8014e3a80327dfec261c315851818253d28e3c3eae8d5eb93bbe4e0ed1946596467491e98cd90e91134cc9687c3c1c3c1ecff062dc05259c7ec9b0cdf
|
@@ -19,6 +19,7 @@ type PbDateProps = {
|
|
19
19
|
showDayOfWeek?: boolean;
|
20
20
|
showIcon?: boolean;
|
21
21
|
size?: "sm" | "md" | "lg";
|
22
|
+
unstyled?: boolean;
|
22
23
|
value: string | Date;
|
23
24
|
};
|
24
25
|
|
@@ -32,6 +33,7 @@ const PbDate = (props: PbDateProps) => {
|
|
32
33
|
showDayOfWeek = false,
|
33
34
|
showIcon = false,
|
34
35
|
size = "md",
|
36
|
+
unstyled = false,
|
35
37
|
value,
|
36
38
|
} = props;
|
37
39
|
|
@@ -52,48 +54,100 @@ const PbDate = (props: PbDateProps) => {
|
|
52
54
|
);
|
53
55
|
|
54
56
|
return (
|
55
|
-
<div {...ariaProps}
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
57
|
+
<div {...ariaProps}
|
58
|
+
{...dataProps}
|
59
|
+
className={classes}
|
60
|
+
id={id}
|
61
|
+
>
|
62
|
+
{unstyled
|
63
|
+
? <>
|
64
|
+
{showIcon && (
|
65
|
+
<div>
|
66
|
+
<Icon fixedWidth
|
67
|
+
icon="calendar-alt"
|
68
|
+
/>
|
69
|
+
</div>
|
70
|
+
)}
|
71
|
+
|
72
|
+
{showDayOfWeek && (
|
73
|
+
<>
|
74
|
+
<div>
|
75
|
+
{weekday}
|
76
|
+
</div>
|
77
|
+
|
78
|
+
<div>{"•"}</div>
|
79
|
+
</>
|
80
|
+
)}
|
81
|
+
|
82
|
+
<span>
|
83
|
+
<span>
|
84
|
+
{month} {day}
|
85
|
+
</span>
|
86
|
+
|
87
|
+
{currentYear != year && <span>{`, ${year}`}</span>}
|
88
|
+
</span>
|
89
|
+
</>
|
90
|
+
: size == "md" || size == "lg"
|
91
|
+
? (
|
92
|
+
<Title size={4}
|
93
|
+
tag="h4"
|
94
|
+
>
|
95
|
+
{showIcon && (
|
96
|
+
<Body className="pb_icon_kit_container"
|
97
|
+
color="light"
|
98
|
+
tag="span"
|
99
|
+
>
|
100
|
+
<Icon fixedWidth
|
101
|
+
icon="calendar-alt"
|
102
|
+
/>
|
103
|
+
</Body>
|
104
|
+
)}
|
105
|
+
|
106
|
+
{showDayOfWeek && (
|
107
|
+
<>
|
108
|
+
{weekday}
|
109
|
+
<Body color="light"
|
110
|
+
tag="span"
|
111
|
+
text=" • "
|
112
|
+
/>
|
113
|
+
</>
|
114
|
+
)}
|
115
|
+
|
116
|
+
<span>
|
117
|
+
{month} {day}
|
118
|
+
</span>
|
119
|
+
{currentYear != year && <span>{`, ${year}`}</span>}
|
120
|
+
</Title>
|
121
|
+
)
|
122
|
+
: (
|
123
|
+
<>
|
124
|
+
{showIcon && (
|
125
|
+
<Caption className="pb_icon_kit_container"
|
126
|
+
tag="span"
|
127
|
+
>
|
128
|
+
<Icon fixedWidth
|
129
|
+
icon="calendar-alt"
|
130
|
+
size="sm"
|
131
|
+
/>
|
132
|
+
</Caption>
|
133
|
+
)}
|
134
|
+
|
135
|
+
{showDayOfWeek && (
|
136
|
+
<>
|
137
|
+
<Caption tag="div">{weekday}</Caption>
|
138
|
+
<Caption color="light"
|
139
|
+
tag="div"
|
140
|
+
text=" • "
|
141
|
+
/>
|
142
|
+
</>
|
143
|
+
)}
|
144
|
+
|
145
|
+
<Caption tag="span">
|
146
|
+
{month} {day}
|
147
|
+
{currentYear != year && <>{`, ${year}`}</>}
|
148
|
+
</Caption>
|
149
|
+
</>
|
150
|
+
)}
|
97
151
|
</div>
|
98
152
|
);
|
99
153
|
};
|
@@ -4,7 +4,28 @@
|
|
4
4
|
class: object.classname,
|
5
5
|
aria: object.aria) do %>
|
6
6
|
|
7
|
-
<% if object.
|
7
|
+
<% if object.unstyled %>
|
8
|
+
<!-- icon -->
|
9
|
+
<% if object.show_icon %>
|
10
|
+
<div><%= pb_rails("icon", props: { icon: "calendar-alt", fixed_width: true }) %></div>
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<!-- day_of_week -->
|
14
|
+
<% if object.show_day_of_week %>
|
15
|
+
<div><%= object.day_of_week %></div>
|
16
|
+
<div>•</div>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<!-- month day, year -->
|
20
|
+
<%# if not current year %>
|
21
|
+
<% if object.year.to_s == DateTime.now.year.to_s %>
|
22
|
+
<span><%= "#{object.month} #{object.day}" %></span>
|
23
|
+
<%# if is current year %>
|
24
|
+
<% else %>
|
25
|
+
<span><%= "#{object.month} #{object.day}, #{object.year}" %></span>
|
26
|
+
<% end %>
|
27
|
+
|
28
|
+
<% elsif object.size == "md" || object.size == "lg" %>
|
8
29
|
<!-- icon -->
|
9
30
|
<% if object.show_icon %>
|
10
31
|
<%= pb_rails("body", props: {
|
@@ -36,7 +57,6 @@
|
|
36
57
|
<% end %>
|
37
58
|
|
38
59
|
<% else %>
|
39
|
-
|
40
60
|
<!-- icon -->
|
41
61
|
<% if object.show_icon %>
|
42
62
|
<%= pb_rails("caption", props: {
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<%= pb_rails("caption", props: { size: "xs", text: "Example with no year" }) %>
|
2
|
+
|
3
|
+
<%= pb_rails("date", props: {
|
4
|
+
date: Date.today,
|
5
|
+
unstyled: true
|
6
|
+
}) %>
|
7
|
+
|
8
|
+
<br />
|
9
|
+
|
10
|
+
<%= pb_rails("caption", props: { size: "xs", text: "Example with wrapping typography kit" }) %>
|
11
|
+
|
12
|
+
<%= pb_rails("title", props: { size: 1 }) do %>
|
13
|
+
<%= pb_rails("date", props: {
|
14
|
+
date: "2012-08-02T15:49:29Z",
|
15
|
+
unstyled: true
|
16
|
+
}) %>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<br />
|
20
|
+
|
21
|
+
<%= pb_rails("caption", props: { size: "xs", text: "Example with icon + subcaption" }) %>
|
22
|
+
|
23
|
+
<%= pb_rails("caption", props: { size: "xs" }) do %>
|
24
|
+
<%= pb_rails("date", props: {
|
25
|
+
date: "2012-08-02T15:49:29Z",
|
26
|
+
show_icon: true,
|
27
|
+
unstyled: true,
|
28
|
+
show_day_of_week: true
|
29
|
+
}) %>
|
30
|
+
<% end %>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
import React from 'react'
|
2
|
+
import { Caption, Date as FormattedDate, Title } from '../../'
|
3
|
+
|
4
|
+
const DateUnstyled = (props) => {
|
5
|
+
return (
|
6
|
+
<>
|
7
|
+
<Caption size="xs"
|
8
|
+
text="Basic unstyled example"
|
9
|
+
/>
|
10
|
+
<FormattedDate
|
11
|
+
unstyled
|
12
|
+
value={new Date()}
|
13
|
+
{...props}
|
14
|
+
/>
|
15
|
+
|
16
|
+
<br />
|
17
|
+
|
18
|
+
<Caption size="xs"
|
19
|
+
text="Example with wrapping typography kit"
|
20
|
+
/>
|
21
|
+
<Title size={1}>
|
22
|
+
<FormattedDate
|
23
|
+
unstyled
|
24
|
+
value="1995-12-25"
|
25
|
+
{...props}
|
26
|
+
/>
|
27
|
+
</Title>
|
28
|
+
|
29
|
+
<br />
|
30
|
+
|
31
|
+
<Caption size="xs"
|
32
|
+
text="Example with icon + subcaption"
|
33
|
+
/>
|
34
|
+
<Caption size="xs">
|
35
|
+
<FormattedDate
|
36
|
+
showDayOfWeek
|
37
|
+
showIcon
|
38
|
+
unstyled
|
39
|
+
value="1995-12-25"
|
40
|
+
{...props}
|
41
|
+
/>
|
42
|
+
</Caption>
|
43
|
+
</>
|
44
|
+
)
|
45
|
+
}
|
46
|
+
|
47
|
+
export default DateUnstyled
|
@@ -0,0 +1 @@
|
|
1
|
+
For alternative typography styles, you can pass a boolean prop called `unstyled` to the `Date` kit and wrap it in any of our typography kits (`Title`, `Body`, `Caption`, etc.). This will allow the `Date` kit to inherit any of our typography styles.
|
@@ -1,14 +1,14 @@
|
|
1
1
|
examples:
|
2
|
-
|
2
|
+
|
3
3
|
rails:
|
4
4
|
- date_default: Default
|
5
5
|
- date_variants: Variants
|
6
6
|
- date_alignment: Alignment
|
7
7
|
- date_timezone: Timezones
|
8
|
-
|
9
|
-
|
8
|
+
- date_unstyled: Unstyled
|
9
|
+
|
10
10
|
react:
|
11
11
|
- date_default: Default
|
12
12
|
- date_variants: Variants
|
13
13
|
- date_alignment: Alignment
|
14
|
-
|
14
|
+
- date_unstyled: Unstyled
|
@@ -5,8 +5,6 @@
|
|
5
5
|
module Playbook
|
6
6
|
module PbDocs
|
7
7
|
class KitExample < Playbook::KitBase
|
8
|
-
include Playbook::Markdown::Helper
|
9
|
-
|
10
8
|
prop :kit, type: Playbook::Props::String, required: true
|
11
9
|
prop :example_title, type: Playbook::Props::String, required: true
|
12
10
|
prop :example_key, type: Playbook::Props::String, required: true
|
@@ -10,6 +10,7 @@ type MultiLevelSelectProps = {
|
|
10
10
|
className?: string;
|
11
11
|
data?: { [key: string]: string };
|
12
12
|
id?: string;
|
13
|
+
name?: string;
|
13
14
|
returnAllSelected?: boolean;
|
14
15
|
treeData?: { [key: string]: string }[];
|
15
16
|
onSelect?: (prop: { [key: string]: any }) => void;
|
@@ -21,6 +22,7 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
|
|
21
22
|
className,
|
22
23
|
data = {},
|
23
24
|
id,
|
25
|
+
name,
|
24
26
|
returnAllSelected = false,
|
25
27
|
treeData,
|
26
28
|
onSelect = () => {},
|
@@ -39,17 +41,23 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
|
|
39
41
|
const [checkedData, setCheckedData] = useState([]);
|
40
42
|
|
41
43
|
const onChange = (currentNode: { [key: string]: any }) => {
|
44
|
+
console.log("currentNode", currentNode)
|
42
45
|
const updatedData = formattedData.map((item: any) => {
|
43
46
|
if (item.id === currentNode._id) {
|
47
|
+
console.log("GETTING HERE --------- item", item)
|
44
48
|
if (currentNode.checked) {
|
49
|
+
console.log("GETTING HERE --------- currentNode.checked", currentNode.checked)
|
45
50
|
checkIt(item, selectedItems, setSelectedItems, false);
|
46
51
|
} else {
|
47
52
|
unCheckIt(item, selectedItems, setSelectedItems, false);
|
48
53
|
}
|
49
54
|
} else if (item.children) {
|
55
|
+
console.log("GETTING HERE --------- item.children", item.children)
|
50
56
|
const foundItem = findItemById(item.children, currentNode._id);
|
51
57
|
if (foundItem) {
|
58
|
+
console.log("GETTING HERE --------- foundItem", foundItem)
|
52
59
|
if (currentNode.checked) {
|
60
|
+
console.log("GETTING HERE --------- currentNode.checked other one", currentNode.checked)
|
53
61
|
checkIt(foundItem, selectedItems, setSelectedItems, false);
|
54
62
|
if (currentNode._parent) {
|
55
63
|
const parents = getParentAndAncestorsIds(currentNode._parent, formattedData)
|
@@ -73,10 +81,18 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
|
|
73
81
|
|
74
82
|
return item;
|
75
83
|
});
|
76
|
-
|
84
|
+
console.log("updatedData", updatedData)
|
77
85
|
setFormattedData(updatedData);
|
78
86
|
};
|
79
87
|
|
88
|
+
const updateHiddenInputValue = (value: any) => {
|
89
|
+
const hiddenInput = document.querySelector('input#'+id) as HTMLInputElement;
|
90
|
+
if (hiddenInput) {
|
91
|
+
hiddenInput.value = JSON.stringify(value);
|
92
|
+
}
|
93
|
+
};
|
94
|
+
|
95
|
+
|
80
96
|
useEffect(() => {
|
81
97
|
if (returnAllSelected) {
|
82
98
|
const selected = selectedItems.filter(
|
@@ -95,6 +111,7 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
|
|
95
111
|
if (el) {
|
96
112
|
el.setAttribute("data-tree", JSON.stringify(checkedData));
|
97
113
|
}
|
114
|
+
updateHiddenInputValue(checkedData);
|
98
115
|
if (returnAllSelected) {
|
99
116
|
onSelect(checkedData);
|
100
117
|
}
|
@@ -121,6 +138,8 @@ const MultiLevelSelect = (props: MultiLevelSelectProps) => {
|
|
121
138
|
|
122
139
|
return (
|
123
140
|
<div {...ariaProps} {...dataProps} className={classes} id={id}>
|
141
|
+
|
142
|
+
<input type="hidden" id={id} name={name} value="" />
|
124
143
|
{returnAllSelected ? (
|
125
144
|
<MultiSelectHelper
|
126
145
|
treeData={formattedData}
|
@@ -0,0 +1,72 @@
|
|
1
|
+
<%= pb_form_with(scope: :example, url: "", method: :get) do |form| %>
|
2
|
+
|
3
|
+
<% treeData = [{
|
4
|
+
label: "Power Home Remodeling",
|
5
|
+
value: "Power Home Remodeling",
|
6
|
+
id: "powerhome1",
|
7
|
+
expanded: true,
|
8
|
+
children: [
|
9
|
+
{
|
10
|
+
label: "People",
|
11
|
+
value: "People",
|
12
|
+
id: "people1",
|
13
|
+
children: [
|
14
|
+
{
|
15
|
+
label: "Talent Acquisition",
|
16
|
+
value: "Talent Acquisition",
|
17
|
+
id: "talent1",
|
18
|
+
},
|
19
|
+
{
|
20
|
+
label: "Business Affairs",
|
21
|
+
value: "Business Affairs",
|
22
|
+
id: "business1",
|
23
|
+
children: [
|
24
|
+
{
|
25
|
+
label: "Initiatives",
|
26
|
+
value: "Initiatives",
|
27
|
+
id: "initiative1",
|
28
|
+
},
|
29
|
+
{
|
30
|
+
label: "Learning & Development",
|
31
|
+
value: "Learning & Development",
|
32
|
+
id: "development1",
|
33
|
+
},
|
34
|
+
],
|
35
|
+
},
|
36
|
+
{
|
37
|
+
label: "People Experience",
|
38
|
+
value: "People Experience",
|
39
|
+
id: "experience1",
|
40
|
+
},
|
41
|
+
],
|
42
|
+
},
|
43
|
+
{
|
44
|
+
label: "Contact Center",
|
45
|
+
value: "Contact Center",
|
46
|
+
id: "contact1",
|
47
|
+
children: [
|
48
|
+
{
|
49
|
+
label: "Appointment Management",
|
50
|
+
value: "Appointment Management",
|
51
|
+
id: "appointment1",
|
52
|
+
},
|
53
|
+
{
|
54
|
+
label: "Customer Service",
|
55
|
+
value: "Customer Service",
|
56
|
+
id: "customer1",
|
57
|
+
},
|
58
|
+
{
|
59
|
+
label: "Energy",
|
60
|
+
value: "Energy",
|
61
|
+
id: "energy1",
|
62
|
+
},
|
63
|
+
],
|
64
|
+
},
|
65
|
+
],
|
66
|
+
}] %>
|
67
|
+
|
68
|
+
<%= form.multi_level_select :example, props: {id: "with-form-multi-level-select", tree_data: treeData, return_all_selected: true } %>
|
69
|
+
<%= form.actions do |action| %>
|
70
|
+
<%= action.button props: { type: "submit", text: "Submit", variant: "primary", margin_top: "lg" } %>
|
71
|
+
<% end %>
|
72
|
+
<% end %>
|
@@ -3,6 +3,8 @@
|
|
3
3
|
module Playbook
|
4
4
|
module PbMultiLevelSelect
|
5
5
|
class MultiLevelSelect < Playbook::KitBase
|
6
|
+
prop :id
|
7
|
+
prop :name
|
6
8
|
prop :tree_data, type: Playbook::Props::Array,
|
7
9
|
default: []
|
8
10
|
prop :return_all_selected, type: Playbook::Props::Boolean,
|
@@ -15,6 +17,7 @@ module Playbook
|
|
15
17
|
def multi_level_select_options
|
16
18
|
{
|
17
19
|
id: id,
|
20
|
+
name: name,
|
18
21
|
treeData: tree_data,
|
19
22
|
returnAllSelected: return_all_selected,
|
20
23
|
}
|
@@ -20,6 +20,7 @@ type TimeProps = {
|
|
20
20
|
size?: "md" | "sm";
|
21
21
|
showTimezone?: boolean;
|
22
22
|
timeZone?: string;
|
23
|
+
unstyled?: boolean;
|
23
24
|
} & GlobalProps
|
24
25
|
|
25
26
|
const Time = (props: TimeProps) => {
|
@@ -30,8 +31,10 @@ const Time = (props: TimeProps) => {
|
|
30
31
|
showIcon,
|
31
32
|
size,
|
32
33
|
timeZone,
|
34
|
+
unstyled = false,
|
33
35
|
showTimezone = true,
|
34
36
|
} = props;
|
37
|
+
|
35
38
|
const classes = classnames(
|
36
39
|
buildCss("pb_time_kit", align, size),
|
37
40
|
globalProps(props),
|
@@ -43,46 +46,79 @@ const Time = (props: TimeProps) => {
|
|
43
46
|
return (
|
44
47
|
<div className={classes}>
|
45
48
|
{showIcon && (
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
)}
|
52
|
-
|
53
|
-
<time dateTime={date}>
|
54
|
-
<span>
|
55
|
-
{size === "md" ? (
|
56
|
-
<>
|
57
|
-
<Body
|
58
|
-
className="pb_time"
|
59
|
-
tag="span"
|
60
|
-
text={dateTimestamp.toTimeWithMeridian()}
|
61
|
-
/>{" "}
|
62
|
-
{showTimezone && (
|
63
|
-
<Body
|
64
|
-
color="light"
|
65
|
-
tag="span"
|
66
|
-
text={dateTimestamp.toTimezone()}
|
49
|
+
unstyled
|
50
|
+
? (
|
51
|
+
<span>
|
52
|
+
<Icon fixedWidth
|
53
|
+
icon="clock"
|
67
54
|
/>
|
68
|
-
|
69
|
-
|
70
|
-
|
55
|
+
{" "}
|
56
|
+
</span>
|
57
|
+
)
|
58
|
+
: (
|
71
59
|
<>
|
72
|
-
<
|
73
|
-
color="light"
|
74
|
-
tag="span"
|
75
|
-
text={dateTimestamp.toTimeWithMeridian()}
|
76
|
-
/>{" "}
|
77
|
-
{showTimezone && (
|
78
|
-
<Caption
|
79
|
-
color="light"
|
60
|
+
<Body color="light"
|
80
61
|
tag="span"
|
81
|
-
|
62
|
+
>
|
63
|
+
<Icon fixedWidth
|
64
|
+
icon="clock"
|
65
|
+
size={size === "md" ? "" : "sm"}
|
82
66
|
/>
|
83
|
-
|
67
|
+
{" "}
|
68
|
+
</Body>
|
84
69
|
</>
|
85
|
-
|
70
|
+
)
|
71
|
+
)}
|
72
|
+
|
73
|
+
<time dateTime={date}>
|
74
|
+
<span>
|
75
|
+
{unstyled
|
76
|
+
? (
|
77
|
+
<>
|
78
|
+
<span>
|
79
|
+
{dateTimestamp.toTimeWithMeridian()}
|
80
|
+
</span>
|
81
|
+
{" "}
|
82
|
+
{showTimezone && (
|
83
|
+
<span>
|
84
|
+
{dateTimestamp.toTimezone()}
|
85
|
+
</span>
|
86
|
+
)}
|
87
|
+
</>
|
88
|
+
)
|
89
|
+
: size === "md"
|
90
|
+
? (
|
91
|
+
<>
|
92
|
+
<Body
|
93
|
+
className="pb_time"
|
94
|
+
tag="span"
|
95
|
+
text={dateTimestamp.toTimeWithMeridian()}
|
96
|
+
/>{" "}
|
97
|
+
{showTimezone && (
|
98
|
+
<Body
|
99
|
+
color="light"
|
100
|
+
tag="span"
|
101
|
+
text={dateTimestamp.toTimezone()}
|
102
|
+
/>
|
103
|
+
)}
|
104
|
+
</>
|
105
|
+
)
|
106
|
+
: (
|
107
|
+
<>
|
108
|
+
<Caption
|
109
|
+
color="light"
|
110
|
+
tag="span"
|
111
|
+
text={dateTimestamp.toTimeWithMeridian()}
|
112
|
+
/>{" "}
|
113
|
+
{showTimezone && (
|
114
|
+
<Caption
|
115
|
+
color="light"
|
116
|
+
tag="span"
|
117
|
+
text={dateTimestamp.toTimezone()}
|
118
|
+
/>
|
119
|
+
)}
|
120
|
+
</>
|
121
|
+
)}
|
86
122
|
</span>
|
87
123
|
</time>
|
88
124
|
</div>
|