playbook_ui 15.0.0.pre.alpha.PLAY2473rowhighlightfix10512 → 15.0.0.pre.alpha.PLAY2480playbookicons10010725

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.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +2 -0
  3. data/app/pb_kits/playbook/pb_card/_card.scss +12 -4
  4. data/app/pb_kits/playbook/pb_card/_card.tsx +3 -3
  5. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +10 -0
  6. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.html.erb +3 -0
  7. data/app/pb_kits/playbook/pb_card/docs/_card_highlight.jsx +8 -0
  8. data/app/pb_kits/playbook/pb_contact/_contact.tsx +5 -0
  9. data/app/pb_kits/playbook/pb_contact/contact.rb +4 -0
  10. data/app/pb_kits/playbook/pb_contact/contact.test.js +21 -1
  11. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.html.erb +16 -1
  12. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.jsx +15 -0
  13. data/app/pb_kits/playbook/pb_contact/docs/_contact_default.md +5 -0
  14. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.html.erb +6 -0
  15. data/app/pb_kits/playbook/pb_contact/docs/_contact_with_detail.jsx +6 -0
  16. data/app/pb_kits/playbook/pb_icon_button/_icon_button.tsx +1 -0
  17. data/app/pb_kits/playbook/pb_icon_button/icon_button.html.erb +2 -1
  18. data/app/pb_kits/playbook/pb_nav/_item.tsx +19 -5
  19. data/app/pb_kits/playbook/pb_nav/item.html.erb +6 -2
  20. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_breached.html.erb +3 -3
  21. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_common.html.erb +3 -3
  22. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_confirmation.html.erb +3 -3
  23. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_meter_settings.html.erb +3 -3
  24. data/app/pb_kits/playbook/pb_passphrase/docs/_passphrase_strength_change.html.erb +3 -3
  25. data/app/pb_kits/playbook/pb_pb_circle_chart/_pb_circle_chart.scss +3 -0
  26. data/app/pb_kits/playbook/pb_pb_circle_chart/_pb_circle_chart.tsx +62 -0
  27. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.html.erb +31 -0
  28. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_block_content.jsx +81 -0
  29. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.html.erb +25 -0
  30. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.jsx +40 -0
  31. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_color_overrides.md +5 -0
  32. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.html.erb +27 -0
  33. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.jsx +39 -0
  34. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_custom_tooltip.md +5 -0
  35. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.html.erb +93 -0
  36. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.jsx +131 -0
  37. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_legend_position.md +14 -0
  38. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.html.erb +42 -0
  39. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_labels.jsx +58 -0
  40. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.html.erb +24 -0
  41. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_data_with_legend.jsx +38 -0
  42. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.html.erb +22 -0
  43. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_default.jsx +33 -0
  44. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.html.erb +118 -0
  45. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_inner_sizes.jsx +144 -0
  46. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_live_data.jsx +60 -0
  47. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.html.erb +24 -0
  48. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_rounded.jsx +42 -0
  49. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.html.erb +38 -0
  50. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/_pb_circle_chart_with_title.jsx +52 -0
  51. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/example.yml +29 -0
  52. data/app/pb_kits/playbook/pb_pb_circle_chart/docs/index.js +11 -0
  53. data/app/pb_kits/playbook/pb_pb_circle_chart/pbCircleChartTheme.ts +88 -0
  54. data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.html.erb +1 -0
  55. data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.rb +28 -0
  56. data/app/pb_kits/playbook/pb_pb_circle_chart/pb_circle_chart.test.jsx +51 -0
  57. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_preview.html.erb +2 -2
  58. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +13 -5
  59. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_children.html.erb +23 -0
  60. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_children.jsx +45 -7
  61. data/app/pb_kits/playbook/pb_section_separator/section_separator.html.erb +4 -1
  62. data/app/pb_kits/playbook/pb_section_separator/section_separator.test.js +165 -0
  63. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +24 -8
  64. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.html.erb +0 -10
  65. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx +0 -9
  66. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.md +1 -0
  67. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.html.erb +3 -17
  68. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +0 -15
  69. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.md +1 -0
  70. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.html.erb +0 -2
  71. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx +0 -2
  72. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.md +5 -0
  73. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.html.erb +12 -0
  74. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.jsx +25 -0
  75. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_current_year.md +1 -0
  76. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.html.erb +4 -0
  77. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.jsx +17 -0
  78. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_date.md +1 -0
  79. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.html.erb +18 -0
  80. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.jsx +44 -0
  81. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_show_time.md +1 -0
  82. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.html.erb +0 -14
  83. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +0 -14
  84. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.md +1 -0
  85. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.html.erb +0 -4
  86. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_unstyled.jsx +0 -4
  87. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx +0 -1
  88. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.md +5 -0
  89. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.html.erb +16 -0
  90. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.jsx +30 -0
  91. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_current_year.md +1 -0
  92. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.html.erb +16 -0
  93. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.jsx +30 -0
  94. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_date.md +1 -0
  95. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.html.erb +26 -0
  96. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.jsx +41 -0
  97. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_show_time.md +1 -0
  98. data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +18 -6
  99. data/app/pb_kits/playbook/pb_timestamp/docs/index.js +6 -0
  100. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +29 -7
  101. data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +69 -4
  102. data/dist/chunks/{_line_graph-BBny-YYZ.js → _line_graph-DeH7NK-i.js} +1 -1
  103. data/dist/chunks/{_typeahead-CeyJ6-GF.js → _typeahead-CCGp0OQe.js} +2 -2
  104. data/dist/chunks/{_weekday_stacked-BZw0f9oB.js → _weekday_stacked-DhJzB115.js} +3 -3
  105. data/dist/chunks/componentRegistry-DzmmLR2x.js +1 -0
  106. data/dist/chunks/{lib-BTs5acfO.js → lib-QZuu1ltS.js} +1 -1
  107. data/dist/chunks/{pb_form_validation-CKkaQFX3.js → pb_form_validation-CleM960_.js} +1 -1
  108. data/dist/chunks/vendor.js +1 -1
  109. data/dist/menu.yml +6 -0
  110. data/dist/playbook-doc.js +2 -2
  111. data/dist/playbook-rails-react-bindings.js +1 -1
  112. data/dist/playbook-rails.js +1 -1
  113. data/dist/playbook.css +1 -1
  114. data/lib/playbook/engine.rb +0 -1
  115. data/lib/playbook/forms/builder/form_field_builder.rb +28 -1
  116. data/lib/playbook/kit_base.rb +23 -2
  117. data/lib/playbook/version.rb +1 -1
  118. metadata +70 -27
  119. data/app/pb_kits/playbook/pb_timestamp/docs/_time_stamp_default.md +0 -1
@@ -0,0 +1,25 @@
1
+ import React from 'react'
2
+ import Timestamp from '../_timestamp'
3
+
4
+
5
+ const TimestampShowCurrentYear = (props) => {
6
+ return (
7
+ <div>
8
+ <Timestamp
9
+ showCurrentYear
10
+ timestamp={new Date()}
11
+ {...props}
12
+ />
13
+ <br />
14
+ <Timestamp
15
+ showCurrentYear
16
+ showTime={false}
17
+ timestamp={new Date()}
18
+ {...props}
19
+ />
20
+
21
+ </div>
22
+ )
23
+ }
24
+
25
+ export default TimestampShowCurrentYear
@@ -0,0 +1 @@
1
+ Use the `showCurrentYear`/`show_current_year` prop to show the year even if it is the current year. This is set to false by default.
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("timestamp", props: {
2
+ timestamp: DateTime.now,
3
+ show_date: false,
4
+ }) %>
@@ -0,0 +1,17 @@
1
+ import React from 'react'
2
+ import Timestamp from '../_timestamp'
3
+
4
+ const TimestampShowDate = (props) => {
5
+ return (
6
+ <div>
7
+ <Timestamp
8
+ align="left"
9
+ showDate={false}
10
+ timestamp={new Date()}
11
+ {...props}
12
+ />
13
+ </div>
14
+ )
15
+ }
16
+
17
+ export default TimestampShowDate
@@ -0,0 +1 @@
1
+ The `showDate`/`show_date` prop is set to true by default but can be set to false to hide the date.
@@ -0,0 +1,18 @@
1
+ <%= pb_rails("timestamp", props: {
2
+ timestamp: DateTime.now,
3
+ show_time: false,
4
+ }) %>
5
+
6
+ <br>
7
+
8
+ <%= pb_rails("timestamp", props: {
9
+ timestamp: DateTime.now + 4.years,
10
+ show_time: false,
11
+ }) %>
12
+
13
+ <br>
14
+
15
+ <%= pb_rails("timestamp", props: {
16
+ timestamp: DateTime.now - 1.year,
17
+ show_time: false
18
+ }) %>
@@ -0,0 +1,44 @@
1
+ import React from 'react'
2
+ import Timestamp from '../_timestamp'
3
+
4
+ const todaysDate = new Date()
5
+ const futureYear = new Date().getFullYear() + 4
6
+ const pastYear = new Date().getFullYear() - 1
7
+ const month = new Date().getMonth()
8
+ const date = new Date().getDate()
9
+ const hours = new Date().getHours()
10
+ const minutes = new Date().getMinutes()
11
+ const futureDate = new Date(futureYear, month, date, hours, minutes)
12
+ const pastDate = new Date(pastYear, month, date, hours, minutes)
13
+
14
+ const TimestampShowTime = (props) => {
15
+ return (
16
+ <div>
17
+ <Timestamp
18
+ align="left"
19
+ showTime={false}
20
+ timestamp={todaysDate}
21
+ {...props}
22
+ />
23
+ <br />
24
+
25
+ <Timestamp
26
+ align="left"
27
+ showTime={false}
28
+ timestamp={futureDate}
29
+ {...props}
30
+ />
31
+
32
+ <br />
33
+
34
+ <Timestamp
35
+ align="left"
36
+ showTime={false}
37
+ timestamp={pastDate}
38
+ {...props}
39
+ />
40
+ </div>
41
+ )
42
+ }
43
+
44
+ export default TimestampShowTime
@@ -0,0 +1 @@
1
+ The `showTime`/`show_time` prop is set to true by default but can be set to false to hide the time.
@@ -3,37 +3,30 @@
3
3
  show_date: false,
4
4
  show_timezone: true,
5
5
  timezone: "America/New_York",
6
- align: "left"
7
6
  }) %>
8
7
 
9
8
  <br>
10
9
 
11
10
  <%= pb_rails("timestamp", props: {
12
11
  timestamp: DateTime.now,
13
- show_date: true,
14
12
  show_timezone: true,
15
13
  timezone: "America/New_York",
16
- align: "left"
17
14
  }) %>
18
15
 
19
16
  <br>
20
17
 
21
18
  <%= pb_rails("timestamp", props: {
22
19
  timestamp: DateTime.now + 4.years,
23
- show_date: true,
24
20
  show_timezone: true,
25
21
  timezone: "America/New_York",
26
- align: "left"
27
22
  }) %>
28
23
 
29
24
  <br>
30
25
 
31
26
  <%= pb_rails("timestamp", props: {
32
27
  timestamp: DateTime.now - 1.year,
33
- show_date: true,
34
28
  show_timezone: true,
35
29
  timezone: "America/New_York",
36
- align: "left"
37
30
  }) %>
38
31
 
39
32
  <br>
@@ -43,37 +36,30 @@
43
36
  show_date: false,
44
37
  show_timezone: true,
45
38
  timezone: "Asia/Hong_Kong",
46
- align: "left"
47
39
  }) %>
48
40
 
49
41
  <br>
50
42
 
51
43
  <%= pb_rails("timestamp", props: {
52
44
  timestamp: DateTime.now,
53
- show_date: true,
54
45
  show_timezone: true,
55
46
  timezone: "Asia/Hong_Kong",
56
- align: "left"
57
47
  }) %>
58
48
 
59
49
  <br>
60
50
 
61
51
  <%= pb_rails("timestamp", props: {
62
52
  timestamp: DateTime.now + 4.years,
63
- show_date: true,
64
53
  show_timezone: true,
65
54
  timezone: "Asia/Hong_Kong",
66
- align: "left"
67
55
  }) %>
68
56
 
69
57
  <br>
70
58
 
71
59
  <%= pb_rails("timestamp", props: {
72
60
  timestamp: DateTime.now - 1.year,
73
- show_date: true,
74
61
  show_timezone: true,
75
62
  timezone: "Asia/Hong_Kong",
76
- align: "left"
77
63
  }) %>
78
64
 
79
65
  <br>
@@ -15,7 +15,6 @@ const TimestampTimezones = (props) => {
15
15
  return (
16
16
  <div>
17
17
  <Timestamp
18
- align="left"
19
18
  showDate={false}
20
19
  showTimezone
21
20
  timestamp={todaysDate}
@@ -26,8 +25,6 @@ const TimestampTimezones = (props) => {
26
25
  <br />
27
26
 
28
27
  <Timestamp
29
- align="left"
30
- showDate
31
28
  showTimezone
32
29
  timestamp={todaysDate}
33
30
  timezone="America/New_York"
@@ -37,8 +34,6 @@ const TimestampTimezones = (props) => {
37
34
  <br />
38
35
 
39
36
  <Timestamp
40
- align="left"
41
- showDate
42
37
  showTimezone
43
38
  timestamp={futureDate}
44
39
  timezone="America/New_York"
@@ -48,8 +43,6 @@ const TimestampTimezones = (props) => {
48
43
  <br />
49
44
 
50
45
  <Timestamp
51
- align="left"
52
- showDate
53
46
  showTimezone
54
47
  timestamp={pastDate}
55
48
  timezone="America/New_York"
@@ -59,7 +52,6 @@ const TimestampTimezones = (props) => {
59
52
  <br />
60
53
 
61
54
  <Timestamp
62
- align="left"
63
55
  showDate={false}
64
56
  showTimezone
65
57
  timestamp={todaysDate}
@@ -70,8 +62,6 @@ const TimestampTimezones = (props) => {
70
62
  <br />
71
63
 
72
64
  <Timestamp
73
- align="left"
74
- showDate
75
65
  showTimezone
76
66
  timestamp={todaysDate}
77
67
  timezone="Asia/Hong_Kong"
@@ -81,8 +71,6 @@ const TimestampTimezones = (props) => {
81
71
  <br />
82
72
 
83
73
  <Timestamp
84
- align="left"
85
- showDate
86
74
  showTimezone
87
75
  timestamp={futureDate}
88
76
  timezone="Asia/Hong_Kong"
@@ -92,8 +80,6 @@ const TimestampTimezones = (props) => {
92
80
  <br />
93
81
 
94
82
  <Timestamp
95
- align="left"
96
- showDate
97
83
  showTimezone
98
84
  timestamp={pastDate}
99
85
  timezone="Asia/Hong_Kong"
@@ -0,0 +1 @@
1
+ The `showTimezone`/`show_timezone` prop can be used to show the timezone as well. This is set to false by default. **NOTE**: This prop must be used in conjunction with the `timezone` prop to specify which timezone to display.
@@ -2,8 +2,6 @@
2
2
 
3
3
  <%= pb_rails("timestamp", props: {
4
4
  timestamp: DateTime.now,
5
- show_date: true,
6
- align: "left",
7
5
  unstyled: true,
8
6
  }) %>
9
7
 
@@ -14,8 +12,6 @@
14
12
  <%= pb_rails("title", props: { size: 1 }) do %>
15
13
  <%= pb_rails("timestamp", props: {
16
14
  timestamp: DateTime.now,
17
- show_date: true,
18
- align: "left",
19
15
  unstyled: true,
20
16
  }) %>
21
17
  <% end %>
@@ -10,8 +10,6 @@ const TimestampUnstyled = (props) => {
10
10
  text="Basic unstyled example"
11
11
  />
12
12
  <Timestamp
13
- align="left"
14
- showDate
15
13
  timestamp={new Date()}
16
14
  unstyled
17
15
  {...props}
@@ -24,8 +22,6 @@ const TimestampUnstyled = (props) => {
24
22
  />
25
23
  <Title size={1}>
26
24
  <Timestamp
27
- align="left"
28
- showDate
29
25
  timestamp={new Date()}
30
26
  unstyled
31
27
  {...props}
@@ -17,7 +17,6 @@ const TimestampUpdated = (props) => {
17
17
  <br />
18
18
 
19
19
  <Timestamp
20
- showUser={false}
21
20
  timestamp={todaysDate}
22
21
  variant="updated"
23
22
  {...props}
@@ -0,0 +1,5 @@
1
+ Use variant `updated` to show last updated at timestamp.
2
+
3
+ This variant can be customized using the optional `showUser`/`show_user` prop to show user as part of the text. When showing the user, pass in the user name using the `text` prop as shown.
4
+
5
+ `showUser`/`show_user` is set to false by default.
@@ -0,0 +1,16 @@
1
+ <%= pb_rails("timestamp", props: {
2
+ timestamp: DateTime.now,
3
+ variant: "updated",
4
+ show_user: true,
5
+ show_current_year: true,
6
+ text: "Maricris Nonato"
7
+ }) %>
8
+
9
+ <br>
10
+
11
+ <%= pb_rails("timestamp", props: {
12
+ timestamp: DateTime.now,
13
+ variant: "updated",
14
+ show_user: false,
15
+ show_current_year: true
16
+ }) %>
@@ -0,0 +1,30 @@
1
+ import React from 'react'
2
+ import Timestamp from '../_timestamp'
3
+
4
+ const todaysDate = new Date()
5
+
6
+ const TimestampUpdatedShowCurrentYear = (props) => {
7
+ return (
8
+ <div>
9
+ <Timestamp
10
+ showCurrentYear
11
+ showUser
12
+ text="Maricris Nonato"
13
+ timestamp={todaysDate}
14
+ variant="updated"
15
+ {...props}
16
+ />
17
+
18
+ <br />
19
+
20
+ <Timestamp
21
+ showCurrentYear
22
+ timestamp={todaysDate}
23
+ variant="updated"
24
+ {...props}
25
+ />
26
+ </div>
27
+ )
28
+ }
29
+
30
+ export default TimestampUpdatedShowCurrentYear
@@ -0,0 +1 @@
1
+ The `updated` variant can also be used in conjunction with the `showCurrentYear`/`show_current_year` prop to show the year even if it is the current year.
@@ -0,0 +1,16 @@
1
+ <%= pb_rails("timestamp", props: {
2
+ timestamp: DateTime.now,
3
+ variant: "updated",
4
+ show_user: true,
5
+ show_date: false,
6
+ text: "Maricris Nonato"
7
+ }) %>
8
+
9
+ <br>
10
+
11
+ <%= pb_rails("timestamp", props: {
12
+ timestamp: DateTime.now,
13
+ variant: "updated",
14
+ show_user: false,
15
+ show_date: false
16
+ }) %>
@@ -0,0 +1,30 @@
1
+ import React from 'react'
2
+ import Timestamp from '../_timestamp'
3
+
4
+ const todaysDate = new Date()
5
+
6
+ const TimestampUpdatedShowDate = (props) => {
7
+ return (
8
+ <div>
9
+ <Timestamp
10
+ showDate={false}
11
+ showUser
12
+ text="Maricris Nonato"
13
+ timestamp={todaysDate}
14
+ variant="updated"
15
+ {...props}
16
+ />
17
+
18
+ <br />
19
+
20
+ <Timestamp
21
+ showDate={false}
22
+ timestamp={todaysDate}
23
+ variant="updated"
24
+ {...props}
25
+ />
26
+ </div>
27
+ )
28
+ }
29
+
30
+ export default TimestampUpdatedShowDate
@@ -0,0 +1 @@
1
+ The `updated` variant can also be used in conjunction with the `showDate`/`show_date` prop. This prop is set to true by default but can be set to false to hide the date.
@@ -0,0 +1,26 @@
1
+ <%= pb_rails("timestamp", props: {
2
+ timestamp: DateTime.now,
3
+ variant: "updated",
4
+ show_user: true,
5
+ show_time: false,
6
+ text: "Maricris Nonato"
7
+ }) %>
8
+
9
+ <br>
10
+
11
+ <%= pb_rails("timestamp", props: {
12
+ timestamp: DateTime.now,
13
+ variant: "updated",
14
+ show_user: false,
15
+ show_time: false
16
+ }) %>
17
+
18
+ <br>
19
+
20
+ <%= pb_rails("timestamp", props: {
21
+ timestamp: DateTime.now,
22
+ variant: "updated",
23
+ show_current_year: true,
24
+ show_user: false,
25
+ show_time: false
26
+ }) %>
@@ -0,0 +1,41 @@
1
+ import React from 'react'
2
+ import Timestamp from '../_timestamp'
3
+
4
+ const todaysDate = new Date()
5
+
6
+ const TimestampUpdatedShowTime = (props) => {
7
+ return (
8
+ <div>
9
+ <Timestamp
10
+ showTime={false}
11
+ showUser
12
+ text="Maricris Nonato"
13
+ timestamp={todaysDate}
14
+ variant="updated"
15
+ {...props}
16
+ />
17
+
18
+ <br />
19
+
20
+ <Timestamp
21
+ showTime={false}
22
+ timestamp={todaysDate}
23
+ variant="updated"
24
+ {...props}
25
+ />
26
+
27
+ <br />
28
+
29
+ <Timestamp
30
+ showCurrentYear
31
+ showTime={false}
32
+ timestamp={todaysDate}
33
+ variant="updated"
34
+ {...props}
35
+ />
36
+
37
+ </div>
38
+ )
39
+ }
40
+
41
+ export default TimestampUpdatedShowTime
@@ -0,0 +1 @@
1
+ The `updated` variant can also be used in conjunction with the `showTime`/`show_time` prop. This prop is set to true by default but can be set to false to hide the time. This can also be used in conjunction with `showCurrentYear`/`show_current_year` to show the year even if it is the current year.
@@ -2,18 +2,30 @@ examples:
2
2
 
3
3
  rails:
4
4
  - timestamp_default: Default
5
+ - timestamp_show_date: Hide Date
6
+ - timestamp_show_time: Hide Time
7
+ - timestamp_show_current_year: Show Current Year
8
+ - timestamp_timezones: Show Timezones
5
9
  - timestamp_align: Alignments
6
- - timestamp_timezones: Timezones
7
- - timestamp_updated: Last Updated by
8
- - timestamp_elapsed: Time Ago
10
+ - timestamp_elapsed: Time Ago (Elapsed Variant)
11
+ - timestamp_updated: Last Updated by (Updated Variant)
12
+ - timestamp_updated_show_current_year: Last Updated by (Updated Variant) - Show Current Year
13
+ - timestamp_updated_show_date: Last Updated by (Updated Variant) - Hide Date
14
+ - timestamp_updated_show_time: Last Updated by (Updated Variant) - Hide Time
9
15
  - timestamp_unstyled: Unstyled
10
16
 
11
17
  react:
12
18
  - timestamp_default: Default
19
+ - timestamp_show_date: Hide Date
20
+ - timestamp_show_time: Hide Time
21
+ - timestamp_show_current_year: Show Current Year
22
+ - timestamp_timezones: Show Timezones
13
23
  - timestamp_align: Alignments
14
- - timestamp_timezones: Timezones
15
- - timestamp_updated: Last Updated by
16
- - timestamp_elapsed: Time Ago
24
+ - timestamp_elapsed: Time Ago (Elapsed Variant)
25
+ - timestamp_updated: Last Updated by (Updated Variant)
26
+ - timestamp_updated_show_current_year: Last Updated by (Updated Variant) - Show Current Year
27
+ - timestamp_updated_show_date: Last Updated by (Updated Variant) - Hide Date
28
+ - timestamp_updated_show_time: Last Updated by (Updated Variant) - Hide Time
17
29
  - timestamp_unstyled: Unstyled
18
30
 
19
31
  swift:
@@ -4,3 +4,9 @@ export { default as TimestampTimezones } from './_timestamp_timezones.jsx'
4
4
  export { default as TimestampUpdated } from './_timestamp_updated.jsx'
5
5
  export { default as TimestampElapsed } from './_timestamp_elapsed.jsx'
6
6
  export { default as TimestampUnstyled } from './_timestamp_unstyled.jsx'
7
+ export { default as TimestampShowDate } from './_timestamp_show_date.jsx'
8
+ export { default as TimestampShowTime } from './_timestamp_show_time.jsx'
9
+ export { default as TimestampShowCurrentYear } from './_timestamp_show_current_year.jsx'
10
+ export { default as TimestampUpdatedShowCurrentYear } from './_timestamp_updated_show_current_year.jsx'
11
+ export { default as TimestampUpdatedShowDate } from './_timestamp_updated_show_date.jsx'
12
+ export { default as TimestampUpdatedShowTime } from './_timestamp_updated_show_time.jsx'
@@ -14,8 +14,12 @@ module Playbook
14
14
  default: "left"
15
15
  prop :hide_updated, type: Playbook::Props::Boolean,
16
16
  default: false
17
+ prop :show_current_year, type: Playbook::Props::Boolean,
18
+ default: false
17
19
  prop :show_date, type: Playbook::Props::Boolean,
18
20
  default: true
21
+ prop :show_time, type: Playbook::Props::Boolean,
22
+ default: true
19
23
  prop :show_timezone, type: Playbook::Props::Boolean,
20
24
  default: false
21
25
  prop :show_user, type: Playbook::Props::Boolean,
@@ -50,14 +54,22 @@ module Playbook
50
54
  when "elapsed"
51
55
  format_elapsed_string
52
56
  else
53
- show_date ? datetime_or_text : format_time_string
57
+ if show_date && show_time
58
+ datetime_or_text
59
+ elsif show_date && !show_time
60
+ timestamp ? format_date_string : text
61
+ elsif !show_date && show_time
62
+ format_time_string
63
+ else
64
+ text
65
+ end
54
66
  end
55
67
  end
56
68
 
57
69
  private
58
70
 
59
71
  def format_year_string
60
- pb_date_time.to_year != DateTime.now.year.to_s ? ", #{pb_date_time.to_year}" : ""
72
+ pb_date_time.to_year != DateTime.now.year.to_s || show_current_year ? ", #{pb_date_time.to_year}" : ""
61
73
  end
62
74
 
63
75
  def format_time_string
@@ -73,14 +85,24 @@ module Playbook
73
85
  end
74
86
 
75
87
  def format_datetime_string
76
- "#{format_date_string} &middot; #{format_time_string}".html_safe
88
+ if show_time
89
+ "#{format_date_string} &middot; #{format_time_string}".html_safe
90
+ else
91
+ format_date_string
92
+ end
77
93
  end
78
94
 
79
95
  def format_updated_string
80
- user_string = show_user ? " by #{text}" : ""
81
- datetime_string = " on #{format_date_string} at #{format_time_string}"
82
-
83
- "Last updated#{user_string}#{datetime_string}"
96
+ final_updated_string = []
97
+ final_updated_string << "by #{text}" if show_user && text.present?
98
+ if show_date && !show_time
99
+ final_updated_string << "on #{format_date_string}"
100
+ elsif show_date && show_time
101
+ final_updated_string << "on #{format_date_string} at #{format_time_string}"
102
+ elsif show_time && !show_date
103
+ final_updated_string << "at #{format_time_string}"
104
+ end
105
+ "Last updated #{final_updated_string.join(' ')}"
84
106
  end
85
107
 
86
108
  def format_elapsed_string