playbook_ui 7.0.1.pre.alpha9 → 7.0.1.pre.alpha15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (320) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -6
  3. data/app/controllers/playbook/application_controller.rb +2 -3
  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/data/menu.yml +4 -3
  7. data/app/pb_kits/playbook/index.js +6 -0
  8. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +5 -1
  9. data/app/pb_kits/playbook/pb_badge/_badge.jsx +4 -2
  10. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.html.erb +1 -12
  11. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +1 -1
  12. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +1 -1
  13. data/app/pb_kits/playbook/pb_body/body.rb +1 -1
  14. data/app/pb_kits/playbook/pb_button/_button.jsx +5 -1
  15. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -0
  16. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +7 -3
  17. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +82 -90
  18. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +57 -0
  19. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +27 -0
  20. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.rb +4 -2
  21. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.html.erb +17 -7
  22. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.jsx +32 -9
  23. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.html.erb +18 -7
  24. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.jsx +37 -9
  25. data/app/pb_kits/playbook/pb_button_toolbar/docs/example.yml +3 -7
  26. data/app/pb_kits/playbook/pb_button_toolbar/docs/index.js +0 -2
  27. data/app/pb_kits/playbook/pb_caption/_caption.html.erb +7 -5
  28. data/app/pb_kits/playbook/pb_caption/_caption.jsx +2 -2
  29. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.html.erb +11 -0
  30. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.jsx +28 -0
  31. data/app/pb_kits/playbook/pb_caption/docs/example.yml +2 -0
  32. data/app/pb_kits/playbook/pb_caption/docs/index.js +1 -0
  33. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +5 -2
  34. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +3 -1
  35. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_options.html.erb +10 -0
  36. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +1 -0
  37. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.html.erb +1 -1
  38. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.jsx +130 -0
  39. data/app/pb_kits/playbook/pb_circle_chart/_circle_chart.scss +1 -1
  40. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_block.jsx +39 -0
  41. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_colors.jsx +29 -0
  42. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_default.jsx +28 -0
  43. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_inner_sizes.jsx +117 -0
  44. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_live_data.jsx +53 -0
  45. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_rounded.jsx +30 -0
  46. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_labels.jsx +45 -0
  47. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_legend_kit.jsx +30 -0
  48. data/app/pb_kits/playbook/pb_circle_chart/docs/_circle_chart_with_title.jsx +45 -0
  49. data/app/pb_kits/playbook/pb_circle_chart/docs/example.yml +11 -0
  50. data/app/pb_kits/playbook/pb_circle_chart/docs/index.js +9 -0
  51. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +5 -1
  52. data/app/pb_kits/playbook/pb_contact/_contact.jsx +5 -1
  53. data/app/pb_kits/playbook/pb_currency/_currency.jsx +5 -1
  54. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +5 -1
  55. data/app/pb_kits/playbook/pb_date/date.rb +2 -1
  56. data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +8 -1
  57. data/app/pb_kits/playbook/pb_date/docs/_date_timezone.html.erb +51 -0
  58. data/app/pb_kits/playbook/pb_date/docs/_date_timezone.md +6 -0
  59. data/app/pb_kits/playbook/pb_date/docs/_description.md +2 -0
  60. data/app/pb_kits/playbook/pb_date/docs/example.yml +1 -0
  61. data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +1 -2
  62. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +8 -7
  63. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +0 -4
  64. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +6 -5
  65. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +41 -41
  66. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +1 -2
  67. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +1 -2
  68. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.md +1 -0
  69. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +4 -0
  70. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +4 -0
  71. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.html.erb +9 -9
  72. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.jsx +8 -8
  73. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.md +3 -1
  74. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.jsx +34 -0
  75. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.md +3 -0
  76. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +1 -0
  77. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +1 -0
  78. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +1 -4
  79. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +1 -2
  80. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_calendar_input_icon.scss +1 -0
  81. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.html.erb +8 -14
  82. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +122 -39
  83. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +33 -2
  84. data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.rb +44 -9
  85. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.html.erb +14 -1
  86. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.jsx +45 -1
  87. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +5 -1
  88. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
  89. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +5 -1
  90. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.html.erb +1 -8
  91. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +7 -0
  92. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.html.erb +3 -2
  93. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +31 -17
  94. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +10 -0
  95. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_close.html.erb +21 -0
  96. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_close.jsx +38 -0
  97. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.html.erb +2 -1
  98. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.jsx +1 -2
  99. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.html.erb +1 -1
  100. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.jsx +1 -1
  101. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.html.erb +1 -1
  102. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.jsx +1 -1
  103. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +2 -0
  104. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +1 -0
  105. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +7 -1
  106. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/index.js +18 -0
  107. data/app/pb_kits/playbook/pb_flex/_flex.jsx +2 -2
  108. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +1 -1
  109. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +10 -2
  110. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  111. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +3 -3
  112. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +3 -3
  113. data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +7 -2
  114. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +1 -0
  115. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +3 -2
  116. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +1 -1
  117. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +1 -1
  118. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +2 -2
  119. data/app/pb_kits/playbook/pb_icon/_icon.jsx +2 -2
  120. data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +5 -1
  121. data/app/pb_kits/playbook/pb_image/_image.jsx +5 -1
  122. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +5 -1
  123. data/app/pb_kits/playbook/pb_layout/_layout.jsx +4 -4
  124. data/app/pb_kits/playbook/pb_line_graph/_line_graph.html.erb +1 -13
  125. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +1 -1
  126. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +1 -1
  127. data/app/pb_kits/playbook/pb_list/_list.jsx +3 -2
  128. data/app/pb_kits/playbook/pb_list/_list_item.jsx +3 -2
  129. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +5 -1
  130. data/app/pb_kits/playbook/pb_message/_message.jsx +5 -1
  131. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +5 -2
  132. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -2
  133. data/app/pb_kits/playbook/pb_person/_person.jsx +5 -1
  134. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +12 -7
  135. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_wrong_numbers.jsx +1 -0
  136. data/app/pb_kits/playbook/pb_popover/_popover.jsx +5 -1
  137. data/app/pb_kits/playbook/pb_popover/_popover.scss +6 -4
  138. data/app/pb_kits/playbook/pb_popover/index.js +3 -1
  139. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +4 -4
  140. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +4 -1
  141. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +168 -33
  142. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.html.erb +3 -1
  143. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.jsx +10 -8
  144. data/app/pb_kits/playbook/pb_progress_step/docs/_description.md +1 -1
  145. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.html.erb +14 -16
  146. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.jsx +6 -3
  147. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker.html.erb +17 -1
  148. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker.jsx +17 -1
  149. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_vertical.jsx +10 -3
  150. data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +11 -1
  151. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +1 -1
  152. data/app/pb_kits/playbook/pb_radio/_radio.html.erb +1 -1
  153. data/app/pb_kits/playbook/pb_radio/docs/_radio_options.html.erb +9 -0
  154. data/app/pb_kits/playbook/pb_radio/docs/example.yml +1 -0
  155. data/app/pb_kits/playbook/pb_radio/radio.rb +2 -4
  156. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +1 -1
  157. data/app/pb_kits/playbook/pb_select/_select.scss +1 -1
  158. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
  159. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +3 -3
  160. data/app/pb_kits/playbook/pb_stat_value/docs/_stat_value_default.jsx +6 -1
  161. data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
  162. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.html.erb +34 -0
  163. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.jsx +68 -0
  164. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.md +2 -0
  165. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.html.erb +61 -0
  166. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.jsx +89 -0
  167. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.md +1 -0
  168. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.html.erb +34 -0
  169. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.jsx +68 -0
  170. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.md +2 -0
  171. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.html.erb +43 -0
  172. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.jsx +80 -0
  173. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.md +1 -0
  174. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.html.erb +34 -0
  175. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.jsx +63 -0
  176. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.md +1 -0
  177. data/app/pb_kits/playbook/pb_table/docs/example.yml +12 -0
  178. data/app/pb_kits/playbook/pb_table/docs/index.js +6 -0
  179. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +1 -1
  180. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +17 -8
  181. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +1 -1
  182. data/app/pb_kits/playbook/pb_time/_time.html.erb +24 -21
  183. data/app/pb_kits/playbook/pb_time/_time.jsx +45 -23
  184. data/app/pb_kits/playbook/pb_time/_time.scss +7 -19
  185. data/app/pb_kits/playbook/pb_time/docs/_time_align.html.erb +18 -0
  186. data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +7 -4
  187. data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +47 -3
  188. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +46 -5
  189. data/app/pb_kits/playbook/pb_time/docs/_time_sizes.html.erb +11 -0
  190. data/app/pb_kits/playbook/pb_time/docs/_time_sizes.jsx +22 -0
  191. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.html.erb +3 -1
  192. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +3 -8
  193. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.html.erb +38 -0
  194. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +19 -16
  195. data/app/pb_kits/playbook/pb_time/docs/example.yml +6 -2
  196. data/app/pb_kits/playbook/pb_time/docs/index.js +1 -0
  197. data/app/pb_kits/playbook/pb_time/time.rb +14 -2
  198. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +1 -1
  199. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +5 -5
  200. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +3 -3
  201. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +1 -1
  202. data/app/pb_kits/playbook/pb_title/_title.jsx +5 -1
  203. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +5 -1
  204. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +5 -5
  205. data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +3 -3
  206. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +41 -43
  207. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_options.html.erb +10 -0
  208. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +1 -2
  209. data/app/pb_kits/playbook/pb_toggle/docs/index.js +0 -1
  210. data/app/pb_kits/playbook/pb_toggle/toggle.rb +5 -2
  211. data/app/pb_kits/playbook/pb_typeahead/_typeahead.html.erb +24 -20
  212. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +78 -0
  213. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +20 -3
  214. data/app/pb_kits/playbook/pb_typeahead/components/Control.jsx +30 -0
  215. data/app/pb_kits/playbook/pb_typeahead/components/IndicatorsContainer.jsx +13 -0
  216. data/app/pb_kits/playbook/pb_typeahead/components/MenuList.jsx +12 -0
  217. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +58 -0
  218. data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +42 -0
  219. data/app/pb_kits/playbook/pb_typeahead/components/Placeholder.jsx +13 -0
  220. data/app/pb_kits/playbook/pb_typeahead/components/ValueContainer.jsx +13 -0
  221. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb +1 -1
  222. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.jsx +22 -0
  223. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_context_dark.html.erb +1 -1
  224. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +25 -0
  225. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +26 -0
  226. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md +8 -0
  227. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.html.erb +30 -0
  228. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.jsx +84 -0
  229. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.md +11 -0
  230. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.html.erb +25 -0
  231. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +98 -0
  232. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.md +1 -0
  233. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +11 -2
  234. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +4 -0
  235. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +24 -1
  236. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +5 -2
  237. data/app/pb_kits/playbook/plugins/pb_chart.js +1 -1
  238. data/app/pb_kits/playbook/react_rails_kits.js +6 -0
  239. data/app/pb_kits/playbook/tokens/_colors.scss +22 -23
  240. data/app/pb_kits/playbook/tokens/_typography.scss +7 -7
  241. data/app/pb_kits/playbook/tokens/index.scss +11 -0
  242. data/app/pb_kits/playbook/vendor.js +8 -0
  243. data/lib/generators/kit/kit_generator.rb +1 -1
  244. data/lib/generators/kit/templates/kit_jsx.erb.tt +1 -1
  245. data/lib/playbook/engine.rb +1 -0
  246. data/lib/playbook/version.rb +1 -1
  247. data/lib/tasks/changelog.rake +14 -0
  248. data/lib/tasks/pb_release.rake +14 -3
  249. metadata +70 -74
  250. data/app/controllers/playbook/guides_controller.rb +0 -11
  251. data/app/controllers/playbook/pages_controller.rb +0 -94
  252. data/app/controllers/playbook/samples_controller.rb +0 -40
  253. data/app/pb_kits/playbook/packs/application.js +0 -55
  254. data/app/pb_kits/playbook/packs/examples.js +0 -176
  255. data/app/pb_kits/playbook/packs/main.scss +0 -12
  256. data/app/pb_kits/playbook/packs/samples.js +0 -21
  257. data/app/pb_kits/playbook/packs/site_styles/_samples.scss +0 -72
  258. data/app/pb_kits/playbook/packs/site_styles/_scaffold.scss +0 -43
  259. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +0 -146
  260. data/app/pb_kits/playbook/packs/site_styles/docs/_all.scss +0 -10
  261. data/app/pb_kits/playbook/packs/site_styles/docs/_bg_light_doc_example.scss +0 -7
  262. data/app/pb_kits/playbook/packs/site_styles/docs/_code_snippet.scss +0 -531
  263. data/app/pb_kits/playbook/packs/site_styles/docs/_color_utilities.scss +0 -92
  264. data/app/pb_kits/playbook/packs/site_styles/docs/_flex_examples.scss +0 -15
  265. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +0 -132
  266. data/app/pb_kits/playbook/packs/site_styles/docs/_kits_examples.scss +0 -15
  267. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +0 -88
  268. data/app/pb_kits/playbook/packs/site_styles/docs/_spacing_tokens.scss +0 -72
  269. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.html.erb +0 -11
  270. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.jsx +0 -29
  271. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.html.erb +0 -11
  272. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.jsx +0 -34
  273. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.html.erb +0 -4
  274. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.jsx +0 -13
  275. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.html.erb +0 -4
  276. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.jsx +0 -13
  277. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_read_only.md +0 -1
  278. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.html.erb +0 -11
  279. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +0 -44
  280. data/app/views/layouts/playbook/_mobile_hamburger.html.erb +0 -2
  281. data/app/views/layouts/playbook/_nav.html.erb +0 -34
  282. data/app/views/layouts/playbook/_sidebar.html.erb +0 -51
  283. data/app/views/layouts/playbook/application.html.erb +0 -26
  284. data/app/views/layouts/playbook/fullscreen.html.slim +0 -10
  285. data/app/views/layouts/playbook/grid.html.slim +0 -10
  286. data/app/views/layouts/playbook/samples.html.erb +0 -19
  287. data/app/views/playbook/guides/create_kit.html.slim +0 -16
  288. data/app/views/playbook/guides/create_kit/_file_naming.html.md +0 -2
  289. data/app/views/playbook/guides/create_kit/_generator.html.md +0 -6
  290. data/app/views/playbook/guides/create_kit/_kit_examples.html.md +0 -2
  291. data/app/views/playbook/guides/create_kit/_kit_rails.html.md +0 -2
  292. data/app/views/playbook/guides/create_kit/_kit_react.html.md +0 -2
  293. data/app/views/playbook/guides/create_kit/_layout.html.md +0 -2
  294. data/app/views/playbook/guides/create_kit/_view_objects.html.md +0 -2
  295. data/app/views/playbook/guides/create_kit/_writing_sass.md +0 -10
  296. data/app/views/playbook/guides/use_nitro.html.slim +0 -6
  297. data/app/views/playbook/guides/use_nitro/_local.html.md +0 -2
  298. data/app/views/playbook/guides/use_nitro/_nitro_components.html.md +0 -2
  299. data/app/views/playbook/guides/use_nitro/_versions.html.md +0 -2
  300. data/app/views/playbook/pages/fullscreen.html.slim +0 -10
  301. data/app/views/playbook/pages/grid.html.slim +0 -2
  302. data/app/views/playbook/pages/home.html.slim +0 -4
  303. data/app/views/playbook/pages/kit_category_show.html.erb +0 -14
  304. data/app/views/playbook/pages/kit_show.html.erb +0 -33
  305. data/app/views/playbook/pages/kits.html.erb +0 -12
  306. data/app/views/playbook/pages/principals/_getting_started.html.md +0 -30
  307. data/app/views/playbook/pages/principles.html.slim +0 -3
  308. data/app/views/playbook/pages/tokens.html.slim +0 -15
  309. data/app/views/playbook/pages/tokens/_pb_doc_spacing.html.slim +0 -61
  310. data/app/views/playbook/pages/utilities.html.slim +0 -116
  311. data/app/views/playbook/pages/utilities/_pb_doc_color.html.slim +0 -15
  312. data/app/views/playbook/samples/collection_detail/index.html.erb +0 -169
  313. data/app/views/playbook/samples/collection_detail/index.jsx +0 -372
  314. data/app/views/playbook/samples/dashboards/index.html.erb +0 -81
  315. data/app/views/playbook/samples/dashboards/index.jsx +0 -130
  316. data/app/views/playbook/samples/filter_table/index.html.erb +0 -348
  317. data/app/views/playbook/samples/filter_table/index.jsx +0 -433
  318. data/app/views/playbook/samples/registration/index.html.erb +0 -316
  319. data/app/views/playbook/samples/registration/index.jsx +0 -476
  320. data/app/views/playbook/samples/sample_show.html.erb +0 -36
@@ -20,8 +20,7 @@ const DatePickerDefaultDate = () => (
20
20
  pickerId="date-picker-default-date3"
21
21
  />
22
22
  <DatePicker
23
- defaultDate="blank"
24
- label="Blank"
23
+ label="Default Behavior"
25
24
  pickerId="date-picker-default-date4"
26
25
  />
27
26
  </div>
@@ -0,0 +1 @@
1
+ The `defaultDate`/`default_date` prop has a null or empty string value by default. You can pass a string or date object if you want a default value on page load.
@@ -1,19 +1,23 @@
1
1
  <%= pb_rails("date_picker", props: {
2
+ default_date: (Date.today).httpdate,
2
3
  format: "m-d-Y",
3
4
  picker_id: "date-picker-format1"
4
5
  }) %>
5
6
 
6
7
  <%= pb_rails("date_picker", props: {
8
+ default_date: (Date.today).httpdate,
7
9
  format: "m/d/y",
8
10
  picker_id: "date-picker-format2"
9
11
  }) %>
10
12
 
11
13
  <%= pb_rails("date_picker", props: {
14
+ default_date: (Date.today).httpdate,
12
15
  format: "n-j-y",
13
16
  picker_id: "date-picker-format3"
14
17
  }) %>
15
18
 
16
19
  <%= pb_rails("date_picker", props: {
20
+ default_date: (Date.today).httpdate,
17
21
  format: "Y-d-m",
18
22
  picker_id: "date-picker-format4"
19
23
  }) %>
@@ -4,18 +4,22 @@ import { DatePicker } from '../../'
4
4
  const DatePickerFormat = () => (
5
5
  <div>
6
6
  <DatePicker
7
+ defaultDate={new Date()}
7
8
  format="m-d-Y"
8
9
  pickerId="date-picker-format1"
9
10
  />
10
11
  <DatePicker
12
+ defaultDate={new Date()}
11
13
  format="m/d/y"
12
14
  pickerId="date-picker-format2"
13
15
  />
14
16
  <DatePicker
17
+ defaultDate={new Date()}
15
18
  format="n-j-y"
16
19
  pickerId="date-picker-format3"
17
20
  />
18
21
  <DatePicker
22
+ defaultDate={new Date()}
19
23
  format="Y-d-m"
20
24
  pickerId="date-picker-format4"
21
25
  />
@@ -1,26 +1,26 @@
1
1
  <%= pb_rails("date_picker", props: {
2
2
  input_aria: { label: "input-field" },
3
3
  input_data: { key: "value", key2: "value2" },
4
+ label: "Aria, Name, and Data Attributes",
4
5
  name: "date-field",
5
6
  picker_id: "date-picker-input1",
6
- type: "date"
7
7
  }) %>
8
8
 
9
9
  <%= pb_rails("date_picker", props: {
10
- default_date: "blank",
10
+ label: "Custom Placeholder",
11
11
  picker_id: "date-picker-input2",
12
- placeholder: "Select Date",
12
+ placeholder: "custom-placeholder",
13
13
  }) %>
14
14
 
15
15
  <%= pb_rails("date_picker", props: {
16
- default_date: "blank",
17
- disable_input: true,
16
+ label: "Blank Placeholder",
18
17
  picker_id: "date-picker-input3",
19
- placeholder: "Disabled Input"
18
+ placeholder: ""
20
19
  }) %>
21
20
 
22
21
  <%= pb_rails("date_picker", props: {
23
- dark: true,
24
- hide_label: true,
25
- picker_id: "date-picker-input4"
22
+ disable_input: true,
23
+ label: "Disable Input",
24
+ picker_id: "date-picker-input4",
25
+ placeholder: "Disabled Input"
26
26
  }) %>
@@ -6,25 +6,25 @@ const DatePickerInput = () => (
6
6
  <DatePicker
7
7
  inputAria={{ label: 'input-field' }}
8
8
  inputData={{ key: 'value', key2: 'value2' }}
9
+ label="Aria, Name, and Data Attributes"
9
10
  name="date-field"
10
11
  pickerId="date-picker-input1"
11
- type="date"
12
12
  />
13
13
  <DatePicker
14
- defaultDate="blank"
14
+ label="Custom Placeholder"
15
15
  pickerId="date-picker-input2"
16
- placeholder="Select Date"
16
+ placeholder="custom-placeholder"
17
17
  />
18
18
  <DatePicker
19
- defaultDate="blank"
20
- disableInput
19
+ label="Blank Placeholder"
21
20
  pickerId="date-picker-input3"
22
- placeholder="Disabled Input"
21
+ placeholder=""
23
22
  />
24
23
  <DatePicker
25
- dark
26
- hideLabel
24
+ disableInput
25
+ label="Disable Input"
27
26
  pickerId="date-picker-input4"
27
+ placeholder="Disabled Input"
28
28
  />
29
29
  </div>
30
30
  )
@@ -1,3 +1,5 @@
1
1
  The date picker is built with the text input kit. Text input props you pass to the date picker kit will be forwarded to the input, with a few exceptions. The `value` attribute is automatically handled and bound to whatever date string is contained by the input field. You cannot pass a custom value prop. `id` props passed to the date picker kit will be assigned to it's parent/wrapper div. The `pickerId` prop is passed directly to the input and is required to instatiate the date picker.
2
2
 
3
- You must use `inputAria` or `input_aria` and `inputData` or `input_data` props if you wish to pass data or aria attributes to the text input kit. If you use `data` or `aria` props they will be passed to the date picker kit itself instead. Also be aware the default behavior of text input aria and data props is to pass those props to attributes on the wrapping div not on the input itself.
3
+ You must use `inputAria` or `input_aria` and `inputData` or `input_data` props if you wish to pass data or aria attributes to the text input kit. If you use `data` or `aria` props they will be passed to the date picker kit itself instead. Also be aware the default behavior of text input aria and data props is to pass those props to attributes on the wrapping div not on the input itself.
4
+
5
+ The placeholder prop has a default string value: "Select Date". You can replace this with your own string or an empty string if you'd prefer it blank.
@@ -0,0 +1,34 @@
1
+ import React, { useState } from 'react'
2
+ import { DatePicker, LabelValue } from '../..'
3
+
4
+ const DatePickerOnChange = () => {
5
+ const today = new Date()
6
+ const [dateString, setDateString] = useState(today.toLocaleDateString())
7
+ const [dateObj, setDateObj] = useState([today])
8
+
9
+ const changeHandler = (dateStr, selectedDates) => {
10
+ setDateString(dateStr)
11
+ setDateObj(selectedDates)
12
+ }
13
+
14
+ return (
15
+ <div>
16
+ <DatePicker
17
+ defaultDate={dateString}
18
+ marginBottom="lg"
19
+ onChange={changeHandler}
20
+ pickerId="date-picker-onchange"
21
+ />
22
+ <LabelValue
23
+ label="Date Object"
24
+ marginBottom="lg"
25
+ value={dateObj[0] ? dateObj[0].toString() : ''}
26
+ />
27
+ <LabelValue
28
+ label="Date String"
29
+ value={dateString}
30
+ />
31
+ </div>
32
+ )
33
+ }
34
+ export default DatePickerOnChange
@@ -0,0 +1,3 @@
1
+ Your change handler function has access to two arguments: `dateStr` and `selectedDates`.
2
+
3
+ The first, `dateStr`, is a string of the chosen date. The second, `selectedDates`, is an array of selected date objects. In many use cases `selectedDates` will have only one value but you'll still need to access it from index 0.
@@ -1,4 +1,5 @@
1
1
  <%= pb_rails("date_picker", props: {
2
+ default_date: [(Date.today).httpdate, (Date.today + 7).httpdate],
2
3
  mode: "range",
3
4
  picker_id: "date-picker-range"
4
5
  }) %>
@@ -4,6 +4,7 @@ import { DatePicker } from '../../'
4
4
  const DatePickerRange = () => (
5
5
  <div>
6
6
  <DatePicker
7
+ defaultDate={[new Date(), new Date().fp_incr(6)]}
7
8
  mode="range"
8
9
  pickerId="date-picker-range"
9
10
  />
@@ -12,9 +12,7 @@ examples:
12
12
  - date_picker_min_max: Min Max
13
13
  - date_picker_error: Error
14
14
  - date_picker_hooks: Hooks
15
- - date_picker_read_only: Read Only
16
15
  - date_picker_year_range: Year Range
17
- - date_picker_dark: Dark
18
16
 
19
17
 
20
18
  react:
@@ -23,13 +21,12 @@ examples:
23
21
  - date_picker_default_date: Default Date
24
22
  - date_picker_input: Input Field
25
23
  - date_picker_label: Label
24
+ - date_picker_on_change: onChange
26
25
  - date_picker_range: Range
27
26
  - date_picker_format: Format
28
27
  - date_picker_disabled: Disabled Dates
29
28
  - date_picker_min_max: Min Max
30
29
  - date_picker_error: Error
31
30
  - date_picker_hooks: Hooks
32
- - date_picker_read_only: Read Only
33
31
  - date_picker_year_range: Year Range
34
- - date_picker_dark: Dark
35
32
 
@@ -3,12 +3,11 @@ export { default as DatePickerHideIcon } from './_date_picker_hide_icon.jsx'
3
3
  export { default as DatePickerInput } from './_date_picker_input.jsx'
4
4
  export { default as DatePickerDefaultDate } from './_date_picker_default_date.jsx'
5
5
  export { default as DatePickerLabel } from './_date_picker_label.jsx'
6
+ export { default as DatePickerOnChange } from './_date_picker_on_change.jsx'
6
7
  export { default as DatePickerRange } from './_date_picker_range.jsx'
7
8
  export { default as DatePickerFormat } from './_date_picker_format.jsx'
8
9
  export { default as DatePickerDisabled } from './_date_picker_disabled.jsx'
9
10
  export { default as DatePickerMinMax } from './_date_picker_min_max.jsx'
10
11
  export { default as DatePickerError } from './_date_picker_error.jsx'
11
12
  export { default as DatePickerHooks } from './_date_picker_hooks.jsx'
12
- export { default as DatePickerReadOnly } from './_date_picker_read_only.jsx'
13
13
  export { default as DatePickerYearRange } from './_date_picker_year_range.jsx'
14
- export { default as DatePickerDark } from './_date_picker_dark.jsx'
@@ -1,5 +1,6 @@
1
1
  // Calendar Icon Styles
2
2
  .cal_icon_wrapper {
3
+ pointer-events: none;
3
4
  position: absolute;
4
5
  top: $space_md + 2;
5
6
  right: 0;
@@ -2,21 +2,15 @@
2
2
  id: object.id,
3
3
  data: object.data,
4
4
  class: object.classname) do %>
5
+ <div class="pb_date_range_inline_wrapper">
6
+ <% if object.icon == true %>
7
+ <%= pb_rails(object.text_kit, props: { tag: "span", dark: object.dark, color: object.icon_color, text: pb_rails("icon", props: { icon: "calendar-alt", fixed_width: true, size: object.size, classname: "pb_date_range_inline_icon" }) }) %>
8
+ <% end %>
5
9
 
6
- <%= pb_rails("body", props: { tag: "span", color: "light" }) do %>
7
- <%= pb_rails("icon", props: { icon: "calendar-alt", fixed_width: true }) %>
8
- <% end %>
10
+ <%= pb_rails(object.text_kit, props: { tag: "span", dark: object.dark, text: object.start_date_display }) %>
9
11
 
10
- <%= pb_rails("body", props: { tag: "span"}) do %>
11
- <%= object.start_date_display %>
12
- <% end %>
13
-
14
- <%= pb_rails("body", props: { tag: "span", color: "light" }) do %>
15
- <%= pb_rails("icon", props: { icon: "long-arrow-right", fixed_width: true }) %>
16
- <% end %>
17
-
18
- <%= pb_rails("body", props: { tag: "span"}) do %>
19
- <%= object.end_date_display %>
20
- <% end %>
12
+ <%= pb_rails(object.text_kit, props: { tag: "span", dark: object.dark, color: object.icon_color, text: pb_rails("icon", props: { icon: "long-arrow-right", fixed_width: true, size: object.size, classname: "pb_date_range_inline_arrow"}) }) %>
21
13
 
14
+ <%= pb_rails(object.text_kit, props: { tag: "span", dark: object.dark, text: object.end_date_display }) %>
15
+ </div>
22
16
  <% end %>
@@ -2,21 +2,30 @@
2
2
 
3
3
  import React from 'react'
4
4
  import DateTime from '../pb_kit/dateTime.js'
5
- import { Body, Icon } from '../'
5
+ import { Body, Caption, Icon } from '../'
6
6
  import classnames from 'classnames'
7
7
  import { globalProps } from '../utilities/globalProps.js'
8
+ import { buildCss } from '../utilities/props'
8
9
 
9
10
  type DateRangeInlineProps = {
10
11
  className?: string,
11
- data?: string,
12
- endDate?: date,
13
12
  id?: string,
13
+ data?: string,
14
+ align?: "left" | "center" | "vertical",
15
+ size?: "sm" | "xs",
16
+ dark?: boolean,
17
+ icon?: boolean,
14
18
  startDate?: date,
19
+ endDate?: date
15
20
  }
16
21
 
17
- const dateTimestamp = (dateValue) => {
22
+ const dateTimestamp = (dateValue, includeYear) => {
18
23
  const date = new DateTime({ value: dateValue })
19
- return `${date.toDay()} ${date.toMonth()} ${date.toYear()}`
24
+ if (includeYear) {
25
+ return `${date.toMonth()} ${date.toDay()}, ${date.toYear()}`
26
+ } else {
27
+ return `${date.toMonth()} ${date.toDay()}`
28
+ }
20
29
  }
21
30
 
22
31
  const dateTimeIso = (dateValue) => {
@@ -25,41 +34,115 @@ const dateTimeIso = (dateValue) => {
25
34
  }
26
35
 
27
36
  const DateRangeInline = (props: DateRangeInlineProps) => {
28
- const { endDate, startDate } = props
37
+ const {
38
+ icon = false,
39
+ dark = false,
40
+ size = 'sm',
41
+ align = 'left',
42
+ startDate,
43
+ endDate,
44
+ className,
45
+ } = props
46
+
47
+ const iconContent = () => {
48
+ return (
49
+ <If condition={icon}>
50
+ <Body
51
+ color="light"
52
+ tag="span"
53
+ >
54
+ <Icon
55
+ className="pb_date_range_inline_icon"
56
+ dark={dark}
57
+ fixedWidth
58
+ icon="calendar-alt"
59
+ size={size}
60
+ tag="span"
61
+ />
62
+ </Body>
63
+ </If>
64
+ )
65
+ }
66
+
67
+ const dateInCurrentYear = () => {
68
+ const currentDate = new Date()
69
+ return startDate.getFullYear() == endDate.getFullYear() && startDate.getFullYear() == currentDate.getFullYear()
70
+ }
71
+
72
+ const dateRangeClasses = buildCss('pb_date_range_inline_kit', align)
73
+
74
+ const renderTime = (date) => {
75
+ return (
76
+ <time dateTime={dateTimeIso(date)}>
77
+ <Choose>
78
+ <When condition={dateInCurrentYear()}>
79
+ {` ${dateTimestamp(date, false)} `}
80
+ </When>
81
+ <Otherwise>
82
+ {` ${dateTimestamp(date, true)} `}
83
+ </Otherwise>
84
+ </Choose>
85
+ </time>
86
+ )
87
+ }
88
+
29
89
  return (
30
- <div className={classnames('pb_date_range_inline', globalProps(props))}>
31
- <Body
32
- color="light"
33
- tag="span"
34
- >
35
- <Icon
36
- fixedWidth
37
- icon="calendar-alt"
38
- />
39
- </Body>
40
- <Body tag="span">
41
- <time dateTime={dateTimeIso(startDate)}>
42
- {` ${dateTimestamp(
43
- startDate
44
- )} `}
45
- </time>
46
- </Body>
47
- <Body
48
- color="light"
49
- tag="span"
50
- >
51
- <Icon
52
- fixedWidth
53
- icon="long-arrow-right"
54
- />
55
- </Body>
56
- <Body tag="span">
57
- <time dateTime={dateTimeIso(endDate)}>
58
- {` ${dateTimestamp(
59
- endDate
60
- )} `}
61
- </time>
62
- </Body>
90
+ <div className={classnames(dateRangeClasses, globalProps(props), className)}>
91
+ <div className="pb_date_range_inline_wrapper">
92
+ <If condition={size == 'xs'}>
93
+ {iconContent()}
94
+ <Caption
95
+ dark={dark}
96
+ tag="span"
97
+ >
98
+ {renderTime(startDate)}
99
+ </Caption>
100
+ <Caption
101
+ dark={dark}
102
+ tag="span"
103
+ >
104
+ <Icon
105
+ className="pb_date_range_inline_arrow"
106
+ fixedWidth
107
+ icon="long-arrow-right"
108
+ />
109
+ </Caption>
110
+ <Caption
111
+ dark={dark}
112
+ tag="span"
113
+ >
114
+ {renderTime(endDate)}
115
+ </Caption>
116
+ </If>
117
+
118
+ <If condition={size == 'sm'}>
119
+ {iconContent()}
120
+ <Body
121
+ dark={dark}
122
+ tag="span"
123
+ >
124
+ {renderTime(startDate)}
125
+ </Body>
126
+ <Body
127
+ color="light"
128
+ dark={dark}
129
+ tag="span"
130
+ >
131
+ <Icon
132
+ className="pb_date_range_inline_arrow"
133
+ dark={dark}
134
+ fixedWidth
135
+ icon="long-arrow-right"
136
+ />
137
+ </Body>
138
+ <Body
139
+ dark={dark}
140
+ tag="span"
141
+ >
142
+ {renderTime(endDate)}
143
+ </Body>
144
+ </If>
145
+ </div>
63
146
  </div>
64
147
  )
65
148
  }