playbook_ui 9.10.0 → 9.14.1.alpha.highcharts9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  3. data/app/pb_kits/playbook/data/menu.yml +26 -22
  4. data/app/pb_kits/playbook/index.js +1 -0
  5. data/app/pb_kits/playbook/pb_background/background.rb +0 -1
  6. data/app/pb_kits/playbook/pb_badge/_badge.jsx +26 -1
  7. data/app/pb_kits/playbook/pb_badge/_badge.scss +1 -1
  8. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumb_item.jsx +51 -0
  9. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.jsx +49 -0
  10. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +55 -0
  11. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumb_item.html.erb +9 -0
  12. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumb_item.rb +12 -0
  13. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumbs.html.erb +7 -0
  14. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumbs.rb +11 -0
  15. data/app/pb_kits/playbook/pb_bread_crumbs/bread_crumbs.test.js +35 -0
  16. data/app/pb_kits/playbook/pb_bread_crumbs/docs/_bread_crumbs_default.html.erb +17 -0
  17. data/app/pb_kits/playbook/pb_bread_crumbs/docs/_bread_crumbs_default.jsx +56 -0
  18. data/app/pb_kits/playbook/pb_bread_crumbs/docs/_description.md +1 -0
  19. data/app/pb_kits/playbook/pb_bread_crumbs/docs/example.yml +7 -0
  20. data/app/pb_kits/playbook/pb_bread_crumbs/docs/index.js +1 -0
  21. data/app/pb_kits/playbook/pb_button/button.rb +1 -1
  22. data/app/pb_kits/playbook/pb_circle_chart/circle_chart.rb +9 -10
  23. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.rb +4 -2
  24. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +6 -1
  25. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +3 -0
  26. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +45 -11
  27. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.html.erb +17 -6
  28. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +18 -13
  29. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_bold.html.erb +5 -0
  30. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_bold.jsx +38 -0
  31. data/app/pb_kits/playbook/pb_date_stacked/docs/example.yml +3 -1
  32. data/app/pb_kits/playbook/pb_date_stacked/docs/index.js +1 -0
  33. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.jsx +32 -16
  34. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +23 -4
  35. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.html.erb +12 -8
  36. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.rb +9 -2
  37. data/app/pb_kits/playbook/pb_date_time_stacked/date_time_stacked.test.js +35 -0
  38. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default.html.erb +8 -1
  39. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_default.jsx +19 -1
  40. data/app/pb_kits/playbook/pb_dialog/dialog.test.jsx +1 -1
  41. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +2 -2
  42. data/app/pb_kits/playbook/pb_filter/filter.rb +1 -1
  43. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +1 -1
  44. data/app/pb_kits/playbook/pb_flex/_flex.jsx +6 -1
  45. data/app/pb_kits/playbook/pb_flex/flex.rb +4 -4
  46. data/app/pb_kits/playbook/pb_form/form.rb +1 -1
  47. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +12 -2
  48. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +19 -0
  49. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_size.html.erb +13 -0
  50. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_size.jsx +25 -0
  51. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_user.html.erb +4 -5
  52. data/app/pb_kits/playbook/pb_form_pill/docs/_form_pill_user.jsx +2 -6
  53. data/app/pb_kits/playbook/pb_form_pill/docs/example.yml +2 -0
  54. data/app/pb_kits/playbook/pb_form_pill/docs/index.js +1 -0
  55. data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +1 -1
  56. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +5 -0
  57. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.rb +0 -1
  58. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +6 -2
  59. data/app/pb_kits/playbook/pb_passphrase/_passphrase.jsx +14 -11
  60. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +18 -13
  61. data/app/pb_kits/playbook/pb_pill/_pill.jsx +1 -0
  62. data/app/pb_kits/playbook/pb_pill/pill.html.erb +1 -1
  63. data/app/pb_kits/playbook/pb_progress_pills/progress_pills.rb +2 -1
  64. data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +1 -1
  65. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +1 -1
  66. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.jsx +10 -0
  67. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +61 -0
  68. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.html.erb +6 -0
  69. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_inline.jsx +16 -0
  70. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.html.erb +4 -0
  71. data/app/pb_kits/playbook/pb_rich_text_editor/docs/_rich_text_editor_toolbar_bottom.jsx +14 -0
  72. data/app/pb_kits/playbook/pb_rich_text_editor/docs/example.yml +4 -0
  73. data/app/pb_kits/playbook/pb_rich_text_editor/docs/index.js +2 -0
  74. data/app/pb_kits/playbook/pb_rich_text_editor/rich_text_editor.rb +9 -2
  75. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +7 -3
  76. data/app/pb_kits/playbook/pb_select/_select.jsx +5 -5
  77. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +1 -1
  78. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +1 -1
  79. data/app/pb_kits/playbook/pb_stat_change/stat_change.rb +8 -12
  80. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +83 -31
  81. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +106 -0
  82. data/app/pb_kits/playbook/pb_text_input/add_on.html.erb +13 -0
  83. data/app/pb_kits/playbook/pb_text_input/add_on.rb +30 -0
  84. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_add_on.html.erb +24 -0
  85. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_add_on.jsx +82 -0
  86. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_custom.html.erb +1 -1
  87. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_inline.html.erb +5 -0
  88. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_inline.jsx +22 -0
  89. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +4 -0
  90. data/app/pb_kits/playbook/pb_text_input/docs/index.js +2 -0
  91. data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +7 -16
  92. data/app/pb_kits/playbook/pb_text_input/text_input.rb +43 -3
  93. data/app/pb_kits/playbook/pb_time_stacked/time_stacked.html.erb +2 -2
  94. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
  95. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +11 -2
  96. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +23 -0
  97. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +23 -11
  98. data/app/pb_kits/playbook/pb_typeahead/components/Placeholder.jsx +17 -4
  99. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_createable.jsx +25 -0
  100. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_inline.html.erb +36 -0
  101. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_inline.jsx +43 -0
  102. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.html.erb +35 -0
  103. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_multi_kit.jsx +44 -0
  104. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +5 -0
  105. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +8 -5
  106. data/app/pb_kits/playbook/pb_typeahead/typeahead.html.erb +1 -1
  107. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +18 -2
  108. data/app/pb_kits/playbook/pb_user_badge/user_badge.rb +1 -1
  109. data/lib/playbook/forms/builder/action_area.rb +2 -2
  110. data/lib/playbook/forms/builder/collection_select_field.rb +2 -2
  111. data/lib/playbook/forms/builder/select_field.rb +1 -1
  112. data/lib/playbook/kit_resolver.rb +1 -1
  113. data/lib/playbook/markdown/template_handler.rb +4 -2
  114. data/lib/playbook/pb_doc_helper.rb +4 -2
  115. data/lib/playbook/props.rb +2 -4
  116. data/lib/playbook/props/base.rb +1 -2
  117. data/lib/playbook/props/nested_props.rb +23 -0
  118. data/lib/playbook/version.rb +2 -1
  119. metadata +58 -24
@@ -0,0 +1,17 @@
1
+
2
+ <div>
3
+ <%= pb_rails("bread_crumbs", props: { aria: { label: "Breadcrumb Navigation" } }) do%>
4
+ <%= pb_rails("icon", props: { icon: "home"}) %>
5
+ <%= pb_rails("bread_crumbs/bread_crumb_item", props: { link: "/" }) do %>
6
+ <%= pb_rails("title", props: { size: 4, text: "Home", tag: "span" }) %>
7
+ <%end%>
8
+ <%= pb_rails("icon", props: { icon: 'users'}) %>
9
+ <%= pb_rails("bread_crumbs/bread_crumb_item", props: { link: "/users" }) do %>
10
+ <%= pb_rails("title", props: { size: 4, text: "Users", tag: "span" }) %>
11
+ <%end%>
12
+ <%= pb_rails("icon", props: { icon: "user"}) %>
13
+ <%= pb_rails("bread_crumbs/bread_crumb_item") do %>
14
+ <%= pb_rails("title", props: { size: 4, text: "User", tag: "span" }) %>
15
+ <%end%>
16
+ <%end%>
17
+ </div>
@@ -0,0 +1,56 @@
1
+ import React from 'react'
2
+ import BreadCrumbs from '../_bread_crumbs.jsx'
3
+ import { Icon, Title } from '../../'
4
+ import BreadCrumbItem from '../_bread_crumb_item'
5
+
6
+ const Link = (props) => <BreadCrumbItem {...props} />
7
+ const BreadCrumbsDefault = (props) => {
8
+ return (
9
+ <BreadCrumbs
10
+ text="+1"
11
+ {...props}
12
+ >
13
+ <Icon
14
+ icon="home"
15
+ size="1x"
16
+ />
17
+ <BreadCrumbItem
18
+ {...props}
19
+ href="/home"
20
+ >
21
+ <Title
22
+ size="4"
23
+ tag="span"
24
+ text="Home"
25
+ />
26
+ </BreadCrumbItem>
27
+ <Icon
28
+ icon="users"
29
+ size="1x"
30
+ />
31
+ <Link
32
+ {...props}
33
+ href="/users"
34
+ >
35
+ <Title
36
+ size="4"
37
+ tag="span"
38
+ text="Users"
39
+ />
40
+ </Link>
41
+ <Icon
42
+ icon="user"
43
+ size="1x"
44
+ />
45
+ <Link {...props}>
46
+ <Title
47
+ size="4"
48
+ tag="span"
49
+ text="User"
50
+ />
51
+ </Link>
52
+ </BreadCrumbs>
53
+ )
54
+ }
55
+
56
+ export default BreadCrumbsDefault
@@ -0,0 +1 @@
1
+ BreadCrumbs can be used for keeping a user aware of there route location.
@@ -0,0 +1,7 @@
1
+ examples:
2
+ rails:
3
+ - bread_crumbs_default: Default
4
+
5
+ react:
6
+ - bread_crumbs_default: Default
7
+
@@ -0,0 +1 @@
1
+ export { default as BreadCrumbsDefault } from './_bread_crumbs_default.jsx'
@@ -36,7 +36,7 @@ module Playbook
36
36
  options.merge(
37
37
  href: link,
38
38
  role: "link",
39
- target: new_window ? "_blank" : "_self",
39
+ target: new_window ? "_blank" : "_self"
40
40
  )
41
41
  end
42
42
 
@@ -6,37 +6,36 @@ module Playbook
6
6
  prop :chart_data, type: Playbook::Props::Array,
7
7
  default: []
8
8
  prop :style, type: Playbook::Props::Enum,
9
- values: %w[pie],
10
- default: "pie"
9
+ values: %w[pie],
10
+ default: "pie"
11
11
 
12
12
  prop :data_labels, type: Playbook::Props::Boolean, default: false
13
13
  prop :min_point_size, type: Playbook::Props::Numeric
14
14
  prop :max_point_size, type: Playbook::Props::Numeric
15
15
  prop :inner_size, type: Playbook::Props::Enum,
16
- values: %w[sm md lg none],
17
- default: "md"
16
+ values: %w[sm md lg none],
17
+ default: "md"
18
18
  prop :z_min, type: Playbook::Props::Numeric
19
19
  prop :start_angle, type: Playbook::Props::Numeric
20
20
  prop :header_format
21
- prop :data_label_html, default: '<div>{point.name}</div>'
21
+ prop :data_label_html, default: "<div>{point.name}</div>"
22
22
  prop :tooltip_html, default: '<span style="font-weight: bold; color:{point.color};">●</span>
23
23
  {point.name}: ' + '<b>{point.y}
24
24
  </b>'
25
25
  prop :use_html, type: Playbook::Props::Boolean, default: false
26
26
  prop :legend, type: Playbook::Props::Boolean, default: false
27
- prop :title, default: ''
27
+ prop :title, default: ""
28
28
  prop :rounded, type: Playbook::Props::Boolean, default: false
29
29
  prop :colors, type: Playbook::Props::Array,
30
30
  default: []
31
31
 
32
-
33
32
  def chart_type
34
33
  style == "variablepie" ? "variablepie" : "pie"
35
34
  end
36
35
 
37
36
  def chart_data_formatted
38
- chart_data.map{ |hash| hash[:y] = hash.delete :value}
39
- return chart_data
37
+ chart_data.map { |hash| hash[:y] = hash.delete :value }
38
+ chart_data
40
39
  end
41
40
 
42
41
  def inner_size_format
@@ -57,7 +56,7 @@ module Playbook
57
56
  end
58
57
 
59
58
  def rounded_border_color
60
- rounded == true ? 'null' : nil
59
+ rounded == true ? "null" : nil
61
60
  end
62
61
 
63
62
  def chart_options
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Playbook
2
4
  module PbCircleIconButton
3
5
  class CircleIconButton < Playbook::KitBase
@@ -8,11 +10,11 @@ module Playbook
8
10
  values: %w[primary secondary link],
9
11
  default: "primary"
10
12
  prop :disabled, type: Playbook::Props::Boolean,
11
- default: false
13
+ default: false
12
14
  prop :icon, required: true
13
15
  prop :link
14
16
  prop :new_window, type: Playbook::Props::Boolean,
15
- default: false
17
+ default: false
16
18
  def classname
17
19
  generate_classname("pb_circle_icon_button_kit")
18
20
  end
@@ -25,6 +25,8 @@ type DatePickerProps = {
25
25
  id?: String,
26
26
  inputAria?: object,
27
27
  inputData?: object,
28
+ inputOnChange?: (String) => void,
29
+ inputValue?: any,
28
30
  label?: String,
29
31
  maxDate: String,
30
32
  minDate: String,
@@ -55,6 +57,8 @@ const DatePicker = (props: DatePickerProps) => {
55
57
  id,
56
58
  inputAria,
57
59
  inputData,
60
+ inputOnChange,
61
+ inputValue,
58
62
  label = 'Date Picker',
59
63
  maxDate,
60
64
  minDate,
@@ -114,7 +118,6 @@ const DatePicker = (props: DatePickerProps) => {
114
118
  className={classes}
115
119
  id={id}
116
120
  >
117
- {className}
118
121
  <div className="input_wrapper">
119
122
  <TextInput
120
123
  aria={inputAria}
@@ -126,7 +129,9 @@ const DatePicker = (props: DatePickerProps) => {
126
129
  id={pickerId}
127
130
  label={hideLabel ? null : label}
128
131
  name={name}
132
+ onChange={inputOnChange}
129
133
  placeholder={placeholder}
134
+ value={inputValue}
130
135
  />
131
136
  <If condition={!hideIcon}>
132
137
  <div
@@ -166,6 +166,9 @@ const datePickerHelper = (config) => {
166
166
  picker.input.style.caretColor = 'transparent'
167
167
  picker.input.style.cursor = 'pointer'
168
168
  }
169
+
170
+ // Fix event bubbling bug on wrapper
171
+ document.querySelector(`#${pickerId}`).parentElement.addEventListener('click', (e) => e.stopPropagation())
169
172
  }
170
173
 
171
174
  export default datePickerHelper
@@ -9,6 +9,7 @@ import { globalProps } from '../utilities/globalProps.js'
9
9
 
10
10
  type DateStackedProps = {
11
11
  align?: "left" | "center" | "right",
12
+ bold?: boolean,
12
13
  className?: string | array<string>,
13
14
  dark?: boolean,
14
15
  data?: string,
@@ -26,6 +27,7 @@ const sizes = {
26
27
  const DateStacked = (props: DateStackedProps) => {
27
28
  const {
28
29
  align = 'left',
30
+ bold = false,
29
31
  reverse = false,
30
32
  className,
31
33
  dark = false,
@@ -46,19 +48,51 @@ const DateStacked = (props: DateStackedProps) => {
46
48
  const inputYear = dateTimestamp.toYear().toString()
47
49
 
48
50
  return (
49
- <div className={classes}>
50
- <div className="pb_date_stacked_day_month">
51
- <Caption text={dateTimestamp.toMonth().toUpperCase()} />
52
- <Title
53
- dark={dark}
54
- size={sizes[size]}
55
- text={dateTimestamp.toDay()}
56
- />
57
- </div>
58
- <If condition={currentYear != inputYear}>
59
- <Caption size="xs">{inputYear}</Caption>
51
+
52
+ <div>
53
+ <If condition={bold == false}>
54
+
55
+ <div className={classes}>
56
+ <div className="pb_date_stacked_day_month">
57
+ <Caption text={dateTimestamp.toMonth().toUpperCase()} />
58
+ <Title
59
+ dark={dark}
60
+ size={sizes[size]}
61
+ text={dateTimestamp.toDay()}
62
+ />
63
+ </div>
64
+ <If condition={currentYear != inputYear}>
65
+ <Caption size="xs">{inputYear}</Caption>
66
+ </If>
67
+ </div>
68
+ <Else />
69
+ <>
70
+ <div className={classes}>
71
+ <div className="pb_date_stacked_day_month">
72
+
73
+ <Title
74
+ bold
75
+ dark={dark}
76
+ size="4"
77
+ text={dateTimestamp.toMonth()}
78
+ />
79
+ <Title
80
+ bold
81
+ dark={dark}
82
+ size="4"
83
+ text={dateTimestamp.toDay()}
84
+ />
85
+ <If condition={currentYear != inputYear}>
86
+ <Title size="4">{inputYear}</Title>
87
+ </If>
88
+ </div>
89
+
90
+ </div>
91
+
92
+ </>
60
93
  </If>
61
94
  </div>
95
+
62
96
  )
63
97
  }
64
98
 
@@ -3,11 +3,22 @@
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
5
 
6
- <div class="pb_date_stacked_day_month">
7
- <%= pb_rails("caption", props: { text: object.month }) %>
8
- <%= pb_rails("title", props: { text: object.day , size: object.title_size }) do %>
9
- <% end %>
10
- </div>
11
- <%= pb_rails("caption", props: { text: object.year, size:"xs" }) %>
6
+ <% if object.bold == false %>
7
+
8
+ <div class="pb_date_stacked_day_month">
9
+ <%= pb_rails("caption", props: { text: object.month }) %>
10
+ <%= pb_rails("title", props: { text: object.day , size: object.title_size }) do %><% end %>
11
+ <%= pb_rails("caption", props: { text: object.year, size:"xs" }) %>
12
+ </div>
13
+
14
+ <% else %>
15
+ <div class="pb_date_stacked_day_month">
16
+ <%= pb_rails("title", props: { text: object.month, size: 4 }) %>
17
+ <%= pb_rails("title", props: { text: object.day, size: 4 }) do %><% end %>
18
+ <%= pb_rails("title", props: { text: object.year, size:4 }) %>
19
+
20
+ </div>
21
+
22
+ <% end %>
12
23
 
13
24
  <% end %>
@@ -5,36 +5,35 @@ module Playbook
5
5
  class DateStacked < Playbook::KitBase
6
6
  prop :date, type: Playbook::Props::Date, required: true
7
7
  prop :align, type: Playbook::Props::Enum,
8
- values: %w[left center right],
9
- default: "left"
8
+ values: %w[left center right],
9
+ default: "left"
10
10
  prop :size, type: Playbook::Props::Enum,
11
11
  values: %w[sm md],
12
12
  default: "sm"
13
13
  prop :reverse, type: Playbook::Props::Boolean,
14
- default: false
14
+ default: false
15
15
  prop :dark, type: Playbook::Props::Boolean,
16
16
  default: false
17
+ prop :bold, type: Playbook::Props::Boolean,
18
+ default: false
17
19
 
18
20
  def classname
19
- generate_classname("pb_date_stacked_kit", align, size, reverse_class, dark_class)
21
+ generate_classname("pb_date_stacked_kit", align, size, bold, reverse_class, dark_class)
20
22
  end
21
23
 
22
24
  def title_size
23
- size == "md" ? 3: 4
25
+ size == "md" ? 3 : 4
24
26
  end
25
27
 
26
28
  def day
27
29
  day = Playbook::PbKit::PbDateTime.new(date)
28
30
  content_tag(:time, datetime: day.to_iso) do
29
- "#{day.to_day}"
31
+ day.to_day.to_s
30
32
  end
31
33
  end
32
34
 
33
35
  def month
34
- month = Playbook::PbKit::PbDateTime.new(date)
35
- content_tag(:time, datetime: month.to_iso) do
36
- "#{month.to_month}"
37
- end
36
+ pb_date_time.to_month.capitalize
38
37
  end
39
38
 
40
39
  def year
@@ -42,14 +41,21 @@ module Playbook
42
41
  year = Playbook::PbKit::PbDateTime.new(date).to_year.to_i
43
42
  if current_year != year
44
43
  content_tag(:time, datetime: year) do
45
- "#{year}"
44
+ year.to_s
46
45
  end
47
- else
48
46
  end
49
47
  end
50
48
 
49
+ def bold_class
50
+ bold ? "bold" : nil
51
+ end
52
+
51
53
  private
52
54
 
55
+ def pb_date_time
56
+ Playbook::PbKit::PbDateTime.new(date)
57
+ end
58
+
53
59
  def reverse_class
54
60
  reverse ? "reverse" : nil
55
61
  end
@@ -57,7 +63,6 @@ module Playbook
57
63
  def dark_class
58
64
  dark ? "dark" : nil
59
65
  end
60
-
61
66
  end
62
67
  end
63
68
  end
@@ -0,0 +1,5 @@
1
+ <%= pb_rails("date_stacked", props: { date: DateTime.now, align: "left", bold: true }) %>
2
+ <br>
3
+ <%= pb_rails("date_stacked", props: { date: Date.new(2018, 03, 20), align: "center", bold: true }) %>
4
+ <br>
5
+ <%= pb_rails("date_stacked", props: { date: DateTime.now, align: "right", bold: true }) %>
@@ -0,0 +1,38 @@
1
+ import React from 'react'
2
+ import DateStacked from '../_date_stacked.jsx'
3
+
4
+ const DateStackedBold = (props) => {
5
+ return (
6
+ <div>
7
+ <DateStacked
8
+ align="left"
9
+ bold
10
+ date={new Date()}
11
+ {...props}
12
+ />
13
+
14
+ <br />
15
+
16
+ <DateStacked
17
+ align="center"
18
+ bold
19
+ date={new Date('20 Mar 2018')}
20
+ {...props}
21
+ />
22
+
23
+ <br />
24
+
25
+ <DateStacked
26
+ align="right"
27
+ bold
28
+ date={new Date()}
29
+ {...props}
30
+ />
31
+
32
+ <br />
33
+
34
+ </div>
35
+ )
36
+ }
37
+
38
+ export default DateStackedBold