playbook_ui 7.0.1.pre.alpha10 → 7.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (222) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -6
  3. data/app/controllers/playbook/application_controller.rb +1 -4
  4. data/app/helpers/playbook/pb_kit_helper.rb +2 -2
  5. data/app/pb_kits/playbook/_playbook.scss +1 -0
  6. data/app/pb_kits/playbook/index.js +6 -0
  7. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +5 -1
  8. data/app/pb_kits/playbook/pb_badge/_badge.jsx +4 -2
  9. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.html.erb +1 -12
  10. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +1 -1
  11. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +2 -1
  12. data/app/pb_kits/playbook/pb_button/_button.jsx +5 -1
  13. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +5 -1
  14. data/app/pb_kits/playbook/pb_caption/_caption.jsx +2 -2
  15. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +5 -2
  16. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +3 -1
  17. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_options.html.erb +10 -0
  18. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +1 -0
  19. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.html.erb +1 -1
  20. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.jsx +130 -0
  21. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss +1 -1
  22. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +39 -0
  23. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +29 -0
  24. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +28 -0
  25. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +117 -0
  26. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +53 -0
  27. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +30 -0
  28. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +45 -0
  29. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +30 -0
  30. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +45 -0
  31. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +11 -0
  32. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +9 -0
  33. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +5 -1
  34. data/app/pb_kits/playbook/pb_contact/_contact.jsx +5 -1
  35. data/app/pb_kits/playbook/pb_currency/_currency.jsx +5 -1
  36. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +5 -1
  37. data/app/pb_kits/playbook/pb_date/date.rb +2 -1
  38. data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +8 -1
  39. data/app/pb_kits/playbook/pb_date/docs/_date_timezone.html.erb +51 -0
  40. data/app/pb_kits/playbook/pb_date/docs/_date_timezone.md +6 -0
  41. data/app/pb_kits/playbook/pb_date/docs/_description.md +2 -0
  42. data/app/pb_kits/playbook/pb_date/docs/example.yml +1 -0
  43. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +7 -4
  44. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +0 -4
  45. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +3 -3
  46. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +8 -10
  47. data/app/pb_kits/playbook/pb_date_picker/docs/{_date_picker_read_only.html.erb → _date_picker_allow_input.html.erb} +1 -1
  48. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.jsx +13 -0
  49. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.md +1 -0
  50. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.jsx +34 -0
  51. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.md +3 -0
  52. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +3 -2
  53. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +2 -1
  54. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_calendar_input_icon.scss +1 -0
  55. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +5 -1
  56. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
  57. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +5 -1
  58. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.html.erb +1 -8
  59. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +7 -0
  60. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +2 -2
  61. data/app/pb_kits/playbook/pb_flex/_flex.jsx +2 -2
  62. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +1 -1
  63. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +9 -1
  64. data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +7 -2
  65. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +3 -2
  66. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +1 -1
  67. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +1 -1
  68. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +2 -2
  69. data/app/pb_kits/playbook/pb_icon/_icon.jsx +2 -2
  70. data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +5 -1
  71. data/app/pb_kits/playbook/pb_image/_image.jsx +5 -1
  72. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +5 -1
  73. data/app/pb_kits/playbook/pb_layout/_layout.jsx +4 -4
  74. data/app/pb_kits/playbook/pb_line_graph/_line_graph.html.erb +1 -13
  75. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +1 -1
  76. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +2 -1
  77. data/app/pb_kits/playbook/pb_list/_list.jsx +3 -2
  78. data/app/pb_kits/playbook/pb_list/_list_item.jsx +3 -2
  79. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +5 -1
  80. data/app/pb_kits/playbook/pb_message/_message.jsx +5 -1
  81. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +5 -2
  82. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
  83. data/app/pb_kits/playbook/pb_person/_person.jsx +5 -1
  84. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +12 -7
  85. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_wrong_numbers.jsx +1 -0
  86. data/app/pb_kits/playbook/pb_popover/_popover.jsx +5 -1
  87. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +4 -4
  88. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +1 -1
  89. data/app/pb_kits/playbook/pb_radio/_radio.html.erb +1 -1
  90. data/app/pb_kits/playbook/pb_radio/docs/_radio_options.html.erb +9 -0
  91. data/app/pb_kits/playbook/pb_radio/docs/example.yml +1 -0
  92. data/app/pb_kits/playbook/pb_radio/radio.rb +2 -4
  93. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +1 -1
  94. data/app/pb_kits/playbook/pb_select/_select.scss +1 -1
  95. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
  96. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +3 -3
  97. data/app/pb_kits/playbook/pb_stat_value/docs/_stat_value_default.jsx +6 -1
  98. data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
  99. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +1 -1
  100. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +17 -8
  101. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +1 -1
  102. data/app/pb_kits/playbook/pb_time/_time.html.erb +23 -17
  103. data/app/pb_kits/playbook/pb_time/_time.jsx +22 -13
  104. data/app/pb_kits/playbook/pb_time/_time.scss +16 -8
  105. data/app/pb_kits/playbook/pb_time/docs/_time_align.html.erb +18 -0
  106. data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +3 -3
  107. data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +47 -3
  108. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +33 -4
  109. data/app/pb_kits/playbook/pb_time/docs/_time_sizes.html.erb +11 -0
  110. data/app/pb_kits/playbook/pb_time/docs/_time_sizes.jsx +19 -0
  111. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.html.erb +3 -1
  112. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +0 -7
  113. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.html.erb +38 -0
  114. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +12 -14
  115. data/app/pb_kits/playbook/pb_time/docs/example.yml +6 -2
  116. data/app/pb_kits/playbook/pb_time/docs/index.js +1 -0
  117. data/app/pb_kits/playbook/pb_time/time.rb +14 -2
  118. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +1 -1
  119. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +3 -3
  120. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +1 -1
  121. data/app/pb_kits/playbook/pb_title/_title.jsx +5 -1
  122. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +5 -1
  123. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +5 -5
  124. data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +3 -3
  125. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +41 -43
  126. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +0 -2
  127. data/app/pb_kits/playbook/pb_toggle/docs/index.js +0 -1
  128. data/app/pb_kits/playbook/pb_toggle/toggle.rb +1 -1
  129. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +60 -0
  130. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +20 -3
  131. data/app/pb_kits/playbook/pb_typeahead/components/Control.jsx +30 -0
  132. data/app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.jsx +13 -0
  133. data/app/pb_kits/playbook/pb_typeahead/components/MenuList.jsx +12 -0
  134. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +51 -0
  135. data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +34 -0
  136. data/app/pb_kits/playbook/pb_typeahead/components/Placeholder.jsx +13 -0
  137. data/app/pb_kits/playbook/pb_typeahead/components/ValueContainer.jsx +13 -0
  138. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx +22 -0
  139. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +29 -0
  140. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.jsx +84 -0
  141. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_summary.jsx +45 -0
  142. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +101 -0
  143. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_summary.jsx +27 -0
  144. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +8 -2
  145. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +4 -0
  146. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +5 -2
  147. data/app/pb_kits/playbook/plugins/pb_chart.js +1 -1
  148. data/app/pb_kits/playbook/react_rails_kits.js +5 -0
  149. data/app/pb_kits/playbook/tokens/_colors.scss +22 -23
  150. data/app/pb_kits/playbook/tokens/_typography.scss +7 -7
  151. data/app/pb_kits/playbook/tokens/index.scss +11 -0
  152. data/app/pb_kits/playbook/vendor.js +5 -0
  153. data/lib/generators/kit/kit_generator.rb +1 -1
  154. data/lib/generators/kit/templates/kit_jsx.erb.tt +1 -1
  155. data/lib/playbook/engine.rb +1 -0
  156. data/lib/playbook/version.rb +1 -1
  157. data/lib/tasks/pb_release.rake +14 -3
  158. metadata +46 -70
  159. data/app/controllers/playbook/guides_controller.rb +0 -11
  160. data/app/controllers/playbook/pages_controller.rb +0 -94
  161. data/app/controllers/playbook/samples_controller.rb +0 -40
  162. data/app/pb_kits/playbook/packs/application.js +0 -55
  163. data/app/pb_kits/playbook/packs/examples.js +0 -176
  164. data/app/pb_kits/playbook/packs/main.scss +0 -12
  165. data/app/pb_kits/playbook/packs/samples.js +0 -21
  166. data/app/pb_kits/playbook/packs/site_styles/_samples.scss +0 -72
  167. data/app/pb_kits/playbook/packs/site_styles/_scaffold.scss +0 -43
  168. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +0 -146
  169. data/app/pb_kits/playbook/packs/site_styles/docs/_all.scss +0 -10
  170. data/app/pb_kits/playbook/packs/site_styles/docs/_bg_light_doc_example.scss +0 -7
  171. data/app/pb_kits/playbook/packs/site_styles/docs/_code_snippet.scss +0 -531
  172. data/app/pb_kits/playbook/packs/site_styles/docs/_color_utilities.scss +0 -92
  173. data/app/pb_kits/playbook/packs/site_styles/docs/_flex_examples.scss +0 -15
  174. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +0 -132
  175. data/app/pb_kits/playbook/packs/site_styles/docs/_kits_examples.scss +0 -15
  176. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +0 -88
  177. data/app/pb_kits/playbook/packs/site_styles/docs/_spacing_tokens.scss +0 -72
  178. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.jsx +0 -13
  179. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.md +0 -1
  180. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.html.erb +0 -11
  181. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +0 -44
  182. data/app/views/layouts/playbook/_mobile_hamburger.html.erb +0 -2
  183. data/app/views/layouts/playbook/_nav.html.erb +0 -34
  184. data/app/views/layouts/playbook/_sidebar.html.erb +0 -51
  185. data/app/views/layouts/playbook/application.html.erb +0 -26
  186. data/app/views/layouts/playbook/fullscreen.html.slim +0 -10
  187. data/app/views/layouts/playbook/grid.html.slim +0 -10
  188. data/app/views/layouts/playbook/samples.html.erb +0 -19
  189. data/app/views/playbook/guides/create_kit.html.slim +0 -16
  190. data/app/views/playbook/guides/create_kit/_file_naming.html.md +0 -2
  191. data/app/views/playbook/guides/create_kit/_generator.html.md +0 -6
  192. data/app/views/playbook/guides/create_kit/_kit_examples.html.md +0 -2
  193. data/app/views/playbook/guides/create_kit/_kit_rails.html.md +0 -2
  194. data/app/views/playbook/guides/create_kit/_kit_react.html.md +0 -2
  195. data/app/views/playbook/guides/create_kit/_layout.html.md +0 -2
  196. data/app/views/playbook/guides/create_kit/_view_objects.html.md +0 -2
  197. data/app/views/playbook/guides/create_kit/_writing_sass.md +0 -10
  198. data/app/views/playbook/guides/use_nitro.html.slim +0 -6
  199. data/app/views/playbook/guides/use_nitro/_local.html.md +0 -2
  200. data/app/views/playbook/guides/use_nitro/_nitro_components.html.md +0 -2
  201. data/app/views/playbook/guides/use_nitro/_versions.html.md +0 -2
  202. data/app/views/playbook/pages/fullscreen.html.slim +0 -10
  203. data/app/views/playbook/pages/grid.html.slim +0 -2
  204. data/app/views/playbook/pages/home.html.slim +0 -4
  205. data/app/views/playbook/pages/kit_category_show.html.erb +0 -14
  206. data/app/views/playbook/pages/kit_show.html.erb +0 -33
  207. data/app/views/playbook/pages/kits.html.erb +0 -12
  208. data/app/views/playbook/pages/principals/_getting_started.html.md +0 -30
  209. data/app/views/playbook/pages/principles.html.slim +0 -3
  210. data/app/views/playbook/pages/tokens.html.slim +0 -15
  211. data/app/views/playbook/pages/tokens/_pb_doc_spacing.html.slim +0 -61
  212. data/app/views/playbook/pages/utilities.html.slim +0 -116
  213. data/app/views/playbook/pages/utilities/_pb_doc_color.html.slim +0 -15
  214. data/app/views/playbook/samples/collection_detail/index.html.erb +0 -169
  215. data/app/views/playbook/samples/collection_detail/index.jsx +0 -372
  216. data/app/views/playbook/samples/dashboards/index.html.erb +0 -81
  217. data/app/views/playbook/samples/dashboards/index.jsx +0 -130
  218. data/app/views/playbook/samples/filter_table/index.html.erb +0 -348
  219. data/app/views/playbook/samples/filter_table/index.jsx +0 -433
  220. data/app/views/playbook/samples/registration/index.html.erb +0 -316
  221. data/app/views/playbook/samples/registration/index.jsx +0 -476
  222. data/app/views/playbook/samples/sample_show.html.erb +0 -36
@@ -32,7 +32,7 @@ const ProgressStep = (props: ProgressStepProps) => {
32
32
  )
33
33
 
34
34
  return (
35
- <ul className={classnames(progressStepCss, className, globalProps(props))}>
35
+ <ul className={classnames(progressStepCss, globalProps(props), className)}>
36
36
  {children}
37
37
  </ul>
38
38
  )
@@ -9,7 +9,7 @@
9
9
  <% if object.children %>
10
10
  <%= capture(&object.children) %>
11
11
  <% else %>
12
- <%= radio_button_tag object.name, object.value, object.selected %>
12
+ <%= radio_button_tag object.name, object.value, object.selected, object.input_options %>
13
13
  <% end %>
14
14
 
15
15
  <span class="pb_radio_button"></span>
@@ -0,0 +1,9 @@
1
+ <%= pb_rails("radio", props: {
2
+ text: "Radio with Options",
3
+ input_options: {
4
+ id: "radio-id",
5
+ name: "radio-name",
6
+ value: "radio-value",
7
+ class: "radio-class",
8
+ }
9
+ }) %>
@@ -4,6 +4,7 @@ examples:
4
4
  - radio_default: Default
5
5
  - radio_custom: Custom
6
6
  - radio_error: With Error
7
+ - radio_options: With Options
7
8
 
8
9
  react:
9
10
  - radio_default: Default
@@ -15,6 +15,8 @@ module Playbook
15
15
  default: false
16
16
  prop :error, type: Playbook::Props::Boolean,
17
17
  default: false
18
+ prop :input_options, type: Playbook::Props::Hash,
19
+ default: {}
18
20
  prop :name, type: Playbook::Props::String,
19
21
  default: "radio_name"
20
22
  prop :text, type: Playbook::Props::String,
@@ -26,10 +28,6 @@ module Playbook
26
28
  generate_classname("pb_radio_kit") + error_class
27
29
  end
28
30
 
29
- def input
30
- check_box_tag(name, value, checked)
31
- end
32
-
33
31
  def selected
34
32
  "checked" if checked == true
35
33
  end
@@ -30,7 +30,7 @@ const SectionSeparator = (props: SectionSeparatorProps) => {
30
30
  const themeStyle = dark === true ? '_dark' : ''
31
31
  const ariaProps = buildAriaProps(aria)
32
32
  const dataProps = buildDataProps(data)
33
- const classes = classnames(buildCss('pb_section_separator_kit', variant, orientation, themeStyle), className, globalProps(props))
33
+ const classes = classnames(buildCss('pb_section_separator_kit', variant, orientation, themeStyle), globalProps(props), className)
34
34
 
35
35
  return (
36
36
 
@@ -11,7 +11,7 @@
11
11
  appearance: none;
12
12
  cursor: pointer;
13
13
  box-shadow: inset 0 -11px 20px rgba($primary, 0.05);
14
- padding-right: $space_lg;
14
+ padding-right: $space_xl;
15
15
  @media (hover:hover) {
16
16
  &:hover, &:active, &:focus {
17
17
  background-color: $focus_input_light;
@@ -33,9 +33,9 @@ const StatChange = (props: StatChangeProps) => {
33
33
  <If condition={value}>
34
34
  <div
35
35
  className={classnames(
36
- className,
37
36
  buildCss('pb_stat_change_kit', status),
38
- globalProps(props)
37
+ globalProps(props),
38
+ className
39
39
  )}
40
40
  id={id}
41
41
  >
@@ -21,11 +21,11 @@ const StatValue = (props: StatValueProps) => {
21
21
  } = props
22
22
 
23
23
  const displayValue = function(value) {
24
- if (value) {
24
+ if (value || value === 0) {
25
25
  return (
26
26
  <Title
27
27
  size={1}
28
- text={value}
28
+ text={`${value}`}
29
29
  />
30
30
  )
31
31
  }
@@ -44,7 +44,7 @@ const StatValue = (props: StatValueProps) => {
44
44
 
45
45
  return (
46
46
  <div
47
- className={classnames('pb_stat_value_kit', className, globalProps(props))}
47
+ className={classnames('pb_stat_value_kit', globalProps(props), className)}
48
48
  id={id}
49
49
  >
50
50
  <div className="pb_stat_value_wrapper">
@@ -3,7 +3,12 @@ import { StatValue } from '../../'
3
3
 
4
4
  const StatValueDefault = () => {
5
5
  return (
6
- <StatValue value={1048} />
6
+ <>
7
+ <StatValue value={1048} />
8
+ <br />
9
+ <br />
10
+ <StatValue value={0} />
11
+ </>
7
12
  )
8
13
  }
9
14
 
@@ -44,7 +44,6 @@ const Table = (props: TableProps) => {
44
44
  {...ariaProps}
45
45
  {...dataProps}
46
46
  className={classnames(
47
- className,
48
47
  'pb_table',
49
48
  `table-${size}`,
50
49
  `table-responsive-${responsive}`,
@@ -55,7 +54,8 @@ const Table = (props: TableProps) => {
55
54
  'single-line': singleLine,
56
55
  'no-hover': disableHover,
57
56
  },
58
- globalProps(props)
57
+ globalProps(props),
58
+ className
59
59
  )}
60
60
  id={id}
61
61
  >
@@ -50,9 +50,9 @@ const TextInput = (props: TextInputProps) => {
50
50
  const dataProps = buildDataProps(data)
51
51
  const css = classnames([
52
52
  'pb_text_input_kit',
53
- className,
54
53
  error ? 'error' : null,
55
54
  globalProps(props),
55
+ className,
56
56
  ])
57
57
 
58
58
  return (
@@ -13,17 +13,22 @@
13
13
  margin-bottom: $space_sm;
14
14
  display: block;
15
15
 
16
- input::placeholder {
16
+ input::placeholder,
17
+ .text_input .placeholder {
17
18
  @include pb_body_light;
18
19
  }
19
20
 
20
- input {
21
+ input,
22
+ .text_input {
21
23
  @include pb_textarea_light;
22
24
  @include pb_title_4;
23
25
  overflow: hidden;
24
26
  }
25
27
 
26
- input:focus, input:-webkit-autofill:focus {
28
+ input:focus,
29
+ .text_input:focus,
30
+ input:-webkit-autofill:focus,
31
+ .text_input:-webkit-autofill:focus {
27
32
  @include pb_textarea_focus;
28
33
  -webkit-box-shadow: 0 0 0px 1000px $focus_input_light inset;
29
34
  transition: background-color 5000s ease-in-out 0s;
@@ -34,18 +39,22 @@
34
39
  .text_input_wrapper {
35
40
  margin-bottom: 1rem;
36
41
 
37
- input::placeholder {
42
+ input::placeholder,
43
+ .text_input .placeholder {
38
44
  @include pb_body_light_dark;
39
45
  }
40
46
 
41
- input {
47
+ input, .text_input {
42
48
  @include pb_textarea_dark;
43
49
  @include pb_title_4;
44
50
  @include pb_title_dark;
45
51
  overflow: hidden;
46
52
  }
47
53
 
48
- input:focus, input:-webkit-autofill:focus {
54
+ input:focus,
55
+ .text_input:focus,
56
+ input:-webkit-autofill:focus,
57
+ .text_input:-webkit-autofill:focus {
49
58
  @include pb_textarea_focus_dark;
50
59
  -webkit-box-shadow: 0 0 0px 1000px $focus_input_dark inset;
51
60
  transition: background-color 5000s ease-in-out 0s;
@@ -54,7 +63,7 @@
54
63
 
55
64
  &.error {
56
65
  .text_input_wrapper {
57
- input {
66
+ input, .text_input {
58
67
  border-color: $error_dark;
59
68
  }
60
69
  }
@@ -66,7 +75,7 @@
66
75
  [class*=pb_body_kit] {
67
76
  margin-top: $space_xs / 2;
68
77
  }
69
- input {
78
+ input, .text_input {
70
79
  border-color: $error;
71
80
  }
72
81
  }
@@ -42,7 +42,7 @@ const Textarea = ({
42
42
  }: TextareaProps) => {
43
43
  const errorClass = error ? 'error' : null
44
44
  const resizeClass = `resize_${resize}`
45
- const classes = classnames('pb_textarea_kit', className, errorClass, resizeClass, globalProps(props))
45
+ const classes = classnames('pb_textarea_kit', errorClass, resizeClass, globalProps(props), className)
46
46
 
47
47
  return (
48
48
  <div className={classes}>
@@ -2,32 +2,38 @@
2
2
  id: object.id,
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
- <% if object.size == "lg" %>
6
- <%= pb_rails("title", props: { tag: "span", text: object.format_time_string, size: 3 }) %>
7
- <%= content_tag(:span) do %>
5
+ <%
6
+ # convert deprecated prop values
7
+ size = object.size
8
+ size = "sm" if object.size == "xs"
9
+ size = "md" if object.size == "lg"
10
+ %>
11
+ <% if size == "md" %>
12
+ <% if object.show_icon %>
13
+ <%= pb_rails("body", props: { color: "light", tag: "span"}) do %>
14
+ <%= pb_rails("icon", props: { icon: "clock", fixed_width: true, size: "lg" }) %>
15
+ <% end %>
16
+ <% end %>
17
+ <%= pb_rails("caption", props: { tag: "span", text: object.format_time_string, size: "lg" }) %>
18
+ <% if object.show_timezone %>
8
19
  <%= content_tag(:span, class: "pb_time_timezone") do %>
9
20
  <%= object.pb_date_time.to_timezone.upcase %>
10
21
  <% end %>
11
22
  <% end %>
12
- <% elsif object.size == "sm" %>
13
- <%= pb_rails("body", props: { tag: "span", text: object.format_time_string }) do %>
14
- <%= pb_rails("icon", props: { icon: "clock", fixed_width: true }) %>
15
- <%= content_tag(:time, datetime: object.pb_date_time.to_iso) do %>
16
- <%= content_tag(:span) do %>
17
- <%= object.format_time_string %>
18
- <%= content_tag(:span, class: "pb_time_timezone") do %>
19
- <%= object.pb_date_time.to_timezone.upcase %>
20
- <% end %>
21
- <% end %>
23
+ <% else %>
24
+ <% if object.show_icon %>
25
+ <%= pb_rails("body", props: { color: "light", tag: "span"}) do %>
26
+ <%= pb_rails("icon", props: { icon: "clock", fixed_width: true }) %>
22
27
  <% end %>
23
28
  <% end %>
24
- <% else %>
25
- <%= pb_rails("body", props: { tag: "span", text: object.format_time_string }) do %>
29
+ <%= pb_rails("body", props: { color: "light", tag: "span", text: object.format_time_string }) do %>
26
30
  <%= content_tag(:time, datetime: object.pb_date_time.to_iso) do %>
27
31
  <%= content_tag(:span) do %>
28
32
  <%= object.format_time_string %>
29
- <%= content_tag(:span, class: "pb_time_timezone") do %>
30
- <%= object.pb_date_time.to_timezone.upcase %>
33
+ <% if object.show_timezone %>
34
+ <%= content_tag(:span, class: "pb_time_timezone") do %>
35
+ <%= object.pb_date_time.to_timezone.upcase %>
36
+ <% end %>
31
37
  <% end %>
32
38
  <% end %>
33
39
  <% end %>
@@ -7,24 +7,26 @@ import DateTime from '../pb_kit/dateTime.js'
7
7
  import { buildCss } from '../utilities/props'
8
8
  import { globalProps } from '../utilities/globalProps.js'
9
9
 
10
- import { Body, Icon, Title } from '../'
10
+ import { Body, Caption, Icon } from '../'
11
11
 
12
12
  type TimeProps = {
13
13
  align?: 'left' | 'center' | 'right',
14
14
  className?: string | array<string>,
15
15
  data?: string,
16
16
  date: string,
17
+ dark?: boolean,
17
18
  id?: string,
18
- size?: 'lg' | 'sm' | 'xs',
19
+ showIcon?: boolean,
20
+ size?: 'md' | 'sm',
19
21
  timeZone?: string,
20
22
  }
21
23
 
22
24
  const Time = (props: TimeProps) => {
23
- const { align, className, date, size, timeZone } = props
25
+ const { align, className, date, showIcon, size, timeZone } = props
24
26
  const classes = classnames(
25
- className,
26
27
  buildCss('pb_time_kit', align, size),
27
- globalProps(props)
28
+ globalProps(props),
29
+ className
28
30
  )
29
31
 
30
32
  const dateTimestamp = new DateTime({ value: date, zone: timeZone })
@@ -32,23 +34,30 @@ const Time = (props: TimeProps) => {
32
34
  return (
33
35
  <div className={classes}>
34
36
  <span className="pb_body_kit">
35
- <If condition={size === 'sm'}>
36
- <Icon
37
- fixedWidth
38
- icon="clock"
39
- />
37
+ <If condition={showIcon}>
38
+ <Body
39
+ color="light"
40
+ tag="span"
41
+ >
42
+ <Icon
43
+ fixedWidth
44
+ icon="clock"
45
+ size={size === 'md' ? 'lg' : 'sm'}
46
+ />
47
+ </Body>
40
48
  {' '}
41
49
  </If>
42
50
  <time dateTime={date}>
43
51
  <span>
44
- <If condition={size !== 'lg'}>
52
+ <If condition={size !== 'md'}>
45
53
  <Body
54
+ color="light"
46
55
  tag="span"
47
56
  text={dateTimestamp.toTimeWithMeridian()}
48
57
  />
49
58
  <Else />
50
- <Title
51
- size={3}
59
+ <Caption
60
+ size="lg"
52
61
  tag="span"
53
62
  text={dateTimestamp.toTimeWithMeridian()}
54
63
  />
@@ -2,9 +2,11 @@
2
2
  @import "../tokens/typography";
3
3
  @import "../pb_icon/icon";
4
4
  @import "../pb_body/body";
5
- @import "../pb_title/title";
5
+ @import "../pb_caption/caption";
6
6
 
7
7
  [class^=pb_time_kit] {
8
+ letter-spacing: $lspace_looser;
9
+ text-transform: uppercase;
8
10
  &[class*=_center] {
9
11
  text-align: center;
10
12
  }
@@ -18,27 +20,33 @@
18
20
  }
19
21
 
20
22
  [class^=pb_time_timezone] {
21
- font-size: $font-small;
22
- font-weight: $regular;
23
- color: $text-lt-light;
23
+ color: $text_lt_light;
24
+ font-weight: $bold;
24
25
 
25
26
  &::before {
26
27
  content: " ";
27
28
  }
28
29
  }
29
30
 
30
- &[class*=_lg] {
31
+ &[class*=_md] {
32
+ [class^=pb_caption_kit] {
33
+ color: $text_lt_default;
34
+ letter-spacing: $lspace_tight;
35
+ text-transform: capitalize;
36
+ }
31
37
  [class^=pb_time_timezone] {
38
+ color: $text_lt_light;
32
39
  font-size: $font-large !important;
33
- color: $text-lt-light;
40
+ font-weight: $regular;
41
+ letter-spacing: $lspace_tight;
34
42
  }
35
43
  }
36
44
 
37
45
  &.dark {
38
- & > * [class^=pb_title_kit] {
46
+ [class^=pb_caption_kit] {
39
47
  color: $text_dk_default;
40
48
  }
41
- & > * [class^=pb_body_kit] {
49
+ [class^=pb_body_kit] {
42
50
  color: $text_dk_light;
43
51
  }
44
52
  }
@@ -0,0 +1,18 @@
1
+ <%= pb_rails("time", props: {
2
+ time: DateTime.now,
3
+ align: "left"
4
+ }) %>
5
+
6
+ <br>
7
+
8
+ <%= pb_rails("time", props: {
9
+ time: Time.now,
10
+ align: "center"
11
+ }) %>
12
+
13
+ <br>
14
+
15
+ <%= pb_rails("time", props: {
16
+ time: Time.now,
17
+ align: "right"
18
+ }) %>
@@ -6,19 +6,19 @@ const TimeAlign = () => {
6
6
  <div>
7
7
  <Time
8
8
  date={new Date()}
9
- size="lg"
9
+ size="md"
10
10
  />
11
11
  <br />
12
12
  <Time
13
13
  align="center"
14
14
  date={new Date()}
15
- size="lg"
15
+ size="md"
16
16
  />
17
17
  <br />
18
18
  <Time
19
19
  align="right"
20
20
  date={new Date()}
21
- size="lg"
21
+ size="md"
22
22
  />
23
23
  </div>
24
24
  )