playbook_ui 7.3.0.pre.alpha1 → 7.3.0.pre.alpha2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (352) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -1
  3. data/app/controllers/playbook/application_controller.rb +2 -0
  4. data/app/controllers/playbook/guides_controller.rb +11 -0
  5. data/app/controllers/playbook/pages_controller.rb +99 -0
  6. data/app/controllers/playbook/samples_controller.rb +40 -0
  7. data/app/pb_kits/playbook/_playbook.scss +1 -1
  8. data/app/pb_kits/playbook/data/menu.yml +4 -4
  9. data/app/pb_kits/playbook/index.js +1 -4
  10. data/app/pb_kits/playbook/packs/application.js +55 -0
  11. data/app/pb_kits/playbook/packs/examples.js +182 -0
  12. data/app/pb_kits/playbook/packs/main.scss +12 -0
  13. data/app/pb_kits/playbook/packs/samples.js +21 -0
  14. data/app/pb_kits/playbook/packs/site_styles/_samples.scss +72 -0
  15. data/app/pb_kits/playbook/packs/site_styles/_scaffold.scss +43 -0
  16. data/app/pb_kits/playbook/packs/site_styles/_site-style.scss +146 -0
  17. data/app/pb_kits/playbook/packs/site_styles/docs/_all.scss +10 -0
  18. data/app/pb_kits/playbook/packs/site_styles/docs/_bg_light_doc_example.scss +7 -0
  19. data/app/pb_kits/playbook/packs/site_styles/docs/_code_snippet.scss +531 -0
  20. data/app/pb_kits/playbook/packs/site_styles/docs/_color_utilities.scss +92 -0
  21. data/app/pb_kits/playbook/packs/site_styles/docs/_flex_examples.scss +15 -0
  22. data/app/pb_kits/playbook/packs/site_styles/docs/_kit_doc.scss +148 -0
  23. data/app/pb_kits/playbook/packs/site_styles/docs/_kits_examples.scss +15 -0
  24. data/app/pb_kits/playbook/packs/site_styles/docs/_markdown.scss +88 -0
  25. data/app/pb_kits/playbook/packs/site_styles/docs/_spacing_tokens.scss +72 -0
  26. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +1 -5
  27. data/app/pb_kits/playbook/pb_badge/_badge.jsx +2 -4
  28. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.html.erb +12 -1
  29. data/app/pb_kits/playbook/pb_bar_graph/_bar_graph.jsx +1 -1
  30. data/app/pb_kits/playbook/pb_bar_graph/bar_graph.rb +1 -1
  31. data/app/pb_kits/playbook/pb_body/body.rb +1 -1
  32. data/app/pb_kits/playbook/pb_button/_button.jsx +1 -5
  33. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +0 -1
  34. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.jsx +3 -7
  35. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +90 -82
  36. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.rb +2 -4
  37. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.html.erb +7 -17
  38. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_default.jsx +9 -32
  39. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.html.erb +7 -18
  40. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_secondary.jsx +9 -37
  41. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.html.erb +11 -0
  42. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical.jsx +29 -0
  43. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.html.erb +11 -0
  44. data/app/pb_kits/playbook/pb_button_toolbar/docs/_button_toolbar_vertical_secondary.jsx +34 -0
  45. data/app/pb_kits/playbook/pb_button_toolbar/docs/example.yml +7 -3
  46. data/app/pb_kits/playbook/pb_button_toolbar/docs/index.js +2 -0
  47. data/app/pb_kits/playbook/pb_caption/_caption.html.erb +5 -7
  48. data/app/pb_kits/playbook/pb_caption/_caption.jsx +2 -2
  49. data/app/pb_kits/playbook/pb_caption/docs/example.yml +0 -2
  50. data/app/pb_kits/playbook/pb_caption/docs/index.js +0 -1
  51. data/app/pb_kits/playbook/pb_checkbox/_checkbox.jsx +2 -5
  52. data/app/pb_kits/playbook/pb_checkbox/checkbox.rb +1 -3
  53. data/app/pb_kits/playbook/pb_checkbox/docs/example.yml +0 -1
  54. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.jsx +1 -5
  55. data/app/pb_kits/playbook/pb_collapsible/_collapsible.html.erb +9 -0
  56. data/app/pb_kits/playbook/pb_collapsible/_collapsible.jsx +142 -0
  57. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +17 -0
  58. data/app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_content.html.erb +7 -0
  59. data/app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_main.html.erb +16 -0
  60. data/app/pb_kits/playbook/pb_collapsible/collapsible.rb +15 -0
  61. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.rb +21 -0
  62. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +24 -0
  63. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_dark.html.erb +10 -0
  64. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_dark.jsx +17 -0
  65. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb +10 -0
  66. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +17 -0
  67. data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +9 -0
  68. data/app/pb_kits/playbook/pb_collapsible/docs/index.js +2 -0
  69. data/app/pb_kits/playbook/pb_collapsible/index.js +82 -0
  70. data/app/pb_kits/playbook/pb_contact/_contact.jsx +1 -5
  71. data/app/pb_kits/playbook/pb_currency/_currency.jsx +1 -5
  72. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.jsx +1 -5
  73. data/app/pb_kits/playbook/pb_date/_date.html.erb +8 -64
  74. data/app/pb_kits/playbook/pb_date/_date.jsx +66 -115
  75. data/app/pb_kits/playbook/pb_date/_date.scss +0 -30
  76. data/app/pb_kits/playbook/pb_date/date.rb +9 -21
  77. data/app/pb_kits/playbook/pb_date/docs/_date_default.html.erb +6 -21
  78. data/app/pb_kits/playbook/pb_date/docs/_date_default.jsx +12 -43
  79. data/app/pb_kits/playbook/pb_date/docs/example.yml +0 -4
  80. data/app/pb_kits/playbook/pb_date/docs/index.js +0 -2
  81. data/app/pb_kits/playbook/pb_date_picker/_date_picker.html.erb +2 -1
  82. data/app/pb_kits/playbook/pb_date_picker/_date_picker.jsx +5 -3
  83. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +2 -3
  84. data/app/pb_kits/playbook/pb_date_picker/date_picker_helper.js +31 -37
  85. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.html.erb +4 -0
  86. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.jsx +13 -0
  87. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_allow_input.md +1 -0
  88. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.html.erb +4 -0
  89. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_dark.jsx +13 -0
  90. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.html.erb +2 -1
  91. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.jsx +2 -1
  92. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.html.erb +0 -4
  93. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_format.jsx +0 -4
  94. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.html.erb +9 -9
  95. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.jsx +8 -8
  96. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_input.md +1 -3
  97. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.html.erb +0 -1
  98. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_range.jsx +0 -1
  99. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +4 -1
  100. data/app/pb_kits/playbook/pb_date_picker/docs/index.js +2 -1
  101. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.html.erb +14 -8
  102. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +39 -122
  103. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +2 -33
  104. data/app/pb_kits/playbook/pb_date_range_inline/date_range_inline.rb +9 -44
  105. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.html.erb +1 -14
  106. data/app/pb_kits/playbook/pb_date_range_inline/docs/_date_range_inline_default.jsx +1 -45
  107. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.jsx +1 -5
  108. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.jsx +2 -2
  109. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.jsx +1 -5
  110. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.html.erb +8 -1
  111. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +0 -7
  112. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.html.erb +2 -3
  113. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +17 -31
  114. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +0 -10
  115. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.html.erb +1 -2
  116. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_default.jsx +2 -1
  117. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.html.erb +1 -1
  118. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line.jsx +1 -1
  119. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.html.erb +1 -1
  120. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.jsx +1 -1
  121. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +0 -2
  122. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +0 -1
  123. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.rb +1 -7
  124. data/app/pb_kits/playbook/pb_flex/_flex.jsx +2 -2
  125. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +1 -1
  126. data/app/pb_kits/playbook/pb_form/docs/_form_form_with.html.erb +2 -10
  127. data/app/pb_kits/playbook/pb_form/docs/_form_form_with_validate.html.erb +1 -1
  128. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form.html.erb +3 -3
  129. data/app/pb_kits/playbook/pb_form/docs/_form_simple_form_validate.html.erb +3 -3
  130. data/app/pb_kits/playbook/pb_form/form_builder/checkbox_field.rb +2 -7
  131. data/app/pb_kits/playbook/pb_form/form_builder/date_picker_field.rb +0 -1
  132. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +2 -3
  133. data/app/pb_kits/playbook/pb_gauge/_gauge.jsx +1 -1
  134. data/app/pb_kits/playbook/pb_highlight/_highlight.jsx +1 -1
  135. data/app/pb_kits/playbook/pb_home_address_street/_home_address_street.jsx +2 -2
  136. data/app/pb_kits/playbook/pb_icon/_icon.jsx +2 -2
  137. data/app/pb_kits/playbook/pb_icon_value/_icon_value.jsx +1 -5
  138. data/app/pb_kits/playbook/pb_image/_image.jsx +1 -5
  139. data/app/pb_kits/playbook/pb_label_pill/_label_pill.jsx +1 -5
  140. data/app/pb_kits/playbook/pb_layout/_layout.jsx +4 -4
  141. data/app/pb_kits/playbook/pb_line_graph/_line_graph.html.erb +13 -1
  142. data/app/pb_kits/playbook/pb_line_graph/_line_graph.jsx +1 -1
  143. data/app/pb_kits/playbook/pb_line_graph/line_graph.rb +1 -1
  144. data/app/pb_kits/playbook/pb_list/_list.jsx +2 -3
  145. data/app/pb_kits/playbook/pb_list/_list_item.jsx +2 -3
  146. data/app/pb_kits/playbook/pb_logistic/_logistic.jsx +1 -5
  147. data/app/pb_kits/playbook/pb_message/_message.jsx +1 -5
  148. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.jsx +2 -5
  149. data/app/pb_kits/playbook/pb_nav/_item.html.erb +0 -3
  150. data/app/pb_kits/playbook/pb_nav/_item.jsx +1 -14
  151. data/app/pb_kits/playbook/pb_nav/_nav.jsx +2 -5
  152. data/app/pb_kits/playbook/pb_nav/_vertical_nav.scss +3 -22
  153. data/app/pb_kits/playbook/pb_nav/docs/example.yml +0 -5
  154. data/app/pb_kits/playbook/pb_nav/docs/index.js +0 -2
  155. data/app/pb_kits/playbook/pb_nav/item.rb +0 -1
  156. data/app/pb_kits/playbook/pb_nav/nav.rb +1 -6
  157. data/app/pb_kits/playbook/pb_person/_person.jsx +1 -5
  158. data/app/pb_kits/playbook/pb_person_contact/_person_contact.jsx +7 -12
  159. data/app/pb_kits/playbook/pb_person_contact/docs/_person_contact_with_wrong_numbers.jsx +0 -1
  160. data/app/pb_kits/playbook/pb_pill/_pill.scss +0 -1
  161. data/app/pb_kits/playbook/pb_popover/_popover.jsx +1 -5
  162. data/app/pb_kits/playbook/pb_popover/_popover.scss +4 -6
  163. data/app/pb_kits/playbook/pb_popover/index.js +1 -3
  164. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.jsx +4 -4
  165. data/app/pb_kits/playbook/pb_progress_step/_progress_step.jsx +1 -4
  166. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +33 -168
  167. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.html.erb +1 -3
  168. data/app/pb_kits/playbook/pb_progress_step/_progress_step_item.jsx +8 -10
  169. data/app/pb_kits/playbook/pb_progress_step/docs/_description.md +1 -1
  170. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.html.erb +16 -14
  171. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_default.jsx +3 -6
  172. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker.html.erb +1 -17
  173. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_tracker.jsx +1 -17
  174. data/app/pb_kits/playbook/pb_progress_step/docs/_progress_step_vertical.jsx +3 -10
  175. data/app/pb_kits/playbook/pb_progress_step/progress_step.rb +1 -11
  176. data/app/pb_kits/playbook/pb_progress_step/progress_step_item.rb +1 -1
  177. data/app/pb_kits/playbook/pb_radio/_radio.html.erb +1 -1
  178. data/app/pb_kits/playbook/pb_radio/docs/example.yml +0 -1
  179. data/app/pb_kits/playbook/pb_radio/radio.rb +4 -2
  180. data/app/pb_kits/playbook/pb_section_separator/_section_separator.jsx +3 -1
  181. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +47 -26
  182. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_line.jsx +2 -6
  183. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text.jsx +1 -2
  184. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_text_background.jsx +1 -2
  185. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_vertical.jsx +3 -9
  186. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +1 -1
  187. data/app/pb_kits/playbook/pb_select/_select.scss +1 -1
  188. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.html.erb +4 -4
  189. data/app/pb_kits/playbook/pb_selectable_card/docs/example.yml +2 -3
  190. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +9 -16
  191. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.html.erb +2 -3
  192. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/example.yml +3 -4
  193. data/app/pb_kits/playbook/pb_selectable_card_icon/selectable_card_icon.rb +0 -3
  194. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.html.erb +3 -3
  195. data/app/pb_kits/playbook/pb_selectable_icon/docs/example.yml +2 -3
  196. data/app/pb_kits/playbook/pb_selectable_icon/selectable_icon.rb +0 -10
  197. data/app/pb_kits/playbook/pb_stat_change/_stat_change.jsx +2 -2
  198. data/app/pb_kits/playbook/pb_stat_value/_stat_value.jsx +3 -3
  199. data/app/pb_kits/playbook/pb_stat_value/docs/_stat_value_default.jsx +1 -6
  200. data/app/pb_kits/playbook/pb_table/_table.jsx +2 -2
  201. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -12
  202. data/app/pb_kits/playbook/pb_table/docs/index.js +0 -6
  203. data/app/pb_kits/playbook/pb_text_input/_text_input.jsx +1 -1
  204. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +1 -1
  205. data/app/pb_kits/playbook/pb_time/_time.html.erb +20 -17
  206. data/app/pb_kits/playbook/pb_time/_time.jsx +29 -42
  207. data/app/pb_kits/playbook/pb_time/_time.scss +24 -4
  208. data/app/pb_kits/playbook/pb_time/docs/_time_align.jsx +1 -4
  209. data/app/pb_kits/playbook/pb_time/docs/_time_default.html.erb +11 -11
  210. data/app/pb_kits/playbook/pb_time/docs/_time_default.jsx +1 -13
  211. data/app/pb_kits/playbook/pb_time/docs/_time_sizes.jsx +1 -4
  212. data/app/pb_kits/playbook/pb_time/docs/_time_timestamp.jsx +1 -3
  213. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.html.erb +1 -2
  214. data/app/pb_kits/playbook/pb_time/docs/_time_timezone.jsx +2 -7
  215. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.jsx +1 -1
  216. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +5 -5
  217. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.jsx +3 -3
  218. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +1 -1
  219. data/app/pb_kits/playbook/pb_title/_title.jsx +1 -5
  220. data/app/pb_kits/playbook/pb_title_count/_title_count.jsx +1 -5
  221. data/app/pb_kits/playbook/pb_title_detail/_title_detail.jsx +5 -5
  222. data/app/pb_kits/playbook/pb_toggle/_toggle.jsx +3 -3
  223. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +43 -41
  224. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.html.erb +11 -0
  225. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_size.jsx +44 -0
  226. data/app/pb_kits/playbook/pb_toggle/docs/example.yml +2 -1
  227. data/app/pb_kits/playbook/pb_toggle/docs/index.js +1 -0
  228. data/app/pb_kits/playbook/pb_toggle/toggle.rb +2 -5
  229. data/app/pb_kits/playbook/pb_typeahead/_typeahead.html.erb +20 -24
  230. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +1 -19
  231. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +1 -8
  232. data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +13 -21
  233. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_default.html.erb +3 -4
  234. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_context_dark.html.erb +1 -1
  235. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +3 -0
  236. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_summary.jsx +45 -0
  237. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +3 -0
  238. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_summary.jsx +27 -0
  239. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -3
  240. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +1 -24
  241. data/app/pb_kits/playbook/pb_user_badge/_user_badge.jsx +2 -5
  242. data/app/pb_kits/playbook/props.rb +1 -1
  243. data/app/pb_kits/playbook/props/base.rb +4 -6
  244. data/app/pb_kits/playbook/tokens/_colors.scss +23 -22
  245. data/app/pb_kits/playbook/tokens/_typography.scss +4 -4
  246. data/app/pb_kits/playbook/vendor.js +3 -8
  247. data/app/views/layouts/playbook/_mobile_hamburger.html.erb +2 -0
  248. data/app/views/layouts/playbook/_nav.html.erb +37 -0
  249. data/app/views/layouts/playbook/_sidebar.html.erb +51 -0
  250. data/app/views/layouts/playbook/application.html.erb +26 -0
  251. data/app/views/layouts/playbook/fullscreen.html.slim +10 -0
  252. data/app/views/layouts/playbook/grid.html.slim +10 -0
  253. data/app/views/layouts/playbook/samples.html.erb +19 -0
  254. data/app/views/playbook/guides/create_kit.html.slim +16 -0
  255. data/app/views/playbook/guides/create_kit/_file_naming.html.md +2 -0
  256. data/app/views/playbook/guides/create_kit/_generator.html.md +6 -0
  257. data/app/views/playbook/guides/create_kit/_kit_examples.html.md +2 -0
  258. data/app/views/playbook/guides/create_kit/_kit_rails.html.md +2 -0
  259. data/app/views/playbook/guides/create_kit/_kit_react.html.md +2 -0
  260. data/app/views/playbook/guides/create_kit/_layout.html.md +2 -0
  261. data/app/views/playbook/guides/create_kit/_view_objects.html.md +2 -0
  262. data/app/views/playbook/guides/create_kit/_writing_sass.md +10 -0
  263. data/app/views/playbook/guides/use_nitro.html.slim +6 -0
  264. data/app/views/playbook/guides/use_nitro/_local.html.md +2 -0
  265. data/app/views/playbook/guides/use_nitro/_nitro_components.html.md +2 -0
  266. data/app/views/playbook/guides/use_nitro/_versions.html.md +2 -0
  267. data/app/views/playbook/pages/fullscreen.html.slim +10 -0
  268. data/app/views/playbook/pages/grid.html.slim +2 -0
  269. data/app/views/playbook/pages/home.html.slim +4 -0
  270. data/app/views/playbook/pages/kit_category_show.html.erb +14 -0
  271. data/app/views/playbook/pages/kit_show.html.erb +33 -0
  272. data/app/views/playbook/pages/kits.html.erb +12 -0
  273. data/app/views/playbook/pages/principals/_getting_started.html.md +30 -0
  274. data/app/views/playbook/pages/principles.html.slim +3 -0
  275. data/app/views/playbook/pages/tokens.html.slim +15 -0
  276. data/app/views/playbook/pages/tokens/_pb_doc_spacing.html.slim +61 -0
  277. data/app/views/playbook/pages/utilities.html.slim +116 -0
  278. data/app/views/playbook/pages/utilities/_pb_doc_color.html.slim +15 -0
  279. data/app/views/playbook/samples/collection_detail/index.html.erb +169 -0
  280. data/app/views/playbook/samples/collection_detail/index.jsx +372 -0
  281. data/app/views/playbook/samples/dashboards/index.html.erb +81 -0
  282. data/app/views/playbook/samples/dashboards/index.jsx +130 -0
  283. data/app/views/playbook/samples/filter_table/index.html.erb +348 -0
  284. data/app/views/playbook/samples/filter_table/index.jsx +433 -0
  285. data/app/views/playbook/samples/registration/index.html.erb +316 -0
  286. data/app/views/playbook/samples/registration/index.jsx +476 -0
  287. data/app/views/playbook/samples/sample_show.html.erb +36 -0
  288. data/lib/generators/kit/USAGE +5 -0
  289. data/lib/generators/kit/kit_generator.rb +95 -0
  290. data/lib/generators/kit/templates/kit_example_rails.erb.tt +1 -0
  291. data/lib/generators/kit/templates/kit_example_react.erb.tt +10 -0
  292. data/lib/generators/kit/templates/kit_example_yml.erb.tt +9 -0
  293. data/lib/generators/kit/templates/kit_html.erb.tt +7 -0
  294. data/lib/generators/kit/templates/kit_js.erb.tt +1 -0
  295. data/lib/generators/kit/templates/kit_jsx.erb.tt +68 -0
  296. data/lib/generators/kit/templates/kit_ruby.erb.tt +11 -0
  297. data/lib/generators/kit/templates/kit_ruby_spec.erb.tt +11 -0
  298. data/lib/generators/kit/templates/kit_scss.erb +3 -0
  299. data/lib/playbook/engine.rb +0 -1
  300. data/lib/playbook/version.rb +1 -1
  301. data/lib/tasks/pb_release.rake +77 -0
  302. data/lib/tasks/playbook_tasks.rake +26 -0
  303. metadata +104 -53
  304. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +0 -57
  305. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +0 -27
  306. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.html.erb +0 -11
  307. data/app/pb_kits/playbook/pb_caption/docs/_caption_block.jsx +0 -28
  308. data/app/pb_kits/playbook/pb_checkbox/docs/_checkbox_options.html.erb +0 -10
  309. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.html.erb +0 -24
  310. data/app/pb_kits/playbook/pb_date/docs/_date_alignment.jsx +0 -35
  311. data/app/pb_kits/playbook/pb_date/docs/_date_variants.html.erb +0 -27
  312. data/app/pb_kits/playbook/pb_date/docs/_date_variants.jsx +0 -43
  313. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.md +0 -1
  314. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.jsx +0 -34
  315. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_on_change.md +0 -3
  316. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_close.html.erb +0 -21
  317. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_close.jsx +0 -38
  318. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/index.js +0 -18
  319. data/app/pb_kits/playbook/pb_nav/docs/_borderless_nav.html.erb +0 -6
  320. data/app/pb_kits/playbook/pb_nav/docs/_borderless_nav.jsx +0 -29
  321. data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.html.erb +0 -7
  322. data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.jsx +0 -42
  323. data/app/pb_kits/playbook/pb_nav/docs/_with_img_nav.md +0 -1
  324. data/app/pb_kits/playbook/pb_radio/docs/_radio_options.html.erb +0 -9
  325. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +0 -32
  326. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_options.html.erb +0 -16
  327. data/app/pb_kits/playbook/pb_selectable_card_icon/docs/_selectable_card_icon_options.html.erb +0 -16
  328. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_options.html.erb +0 -15
  329. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.html.erb +0 -34
  330. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.jsx +0 -68
  331. data/app/pb_kits/playbook/pb_table/docs/_table_action_middle.md +0 -2
  332. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.html.erb +0 -61
  333. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.jsx +0 -89
  334. data/app/pb_kits/playbook/pb_table/docs/_table_icon_buttons.md +0 -1
  335. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.html.erb +0 -34
  336. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.jsx +0 -68
  337. data/app/pb_kits/playbook/pb_table/docs/_table_one_action.md +0 -2
  338. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.html.erb +0 -43
  339. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.jsx +0 -80
  340. data/app/pb_kits/playbook/pb_table/docs/_table_two_actions.md +0 -1
  341. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.html.erb +0 -34
  342. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.jsx +0 -63
  343. data/app/pb_kits/playbook/pb_table/docs/_table_two_plus_actions.md +0 -1
  344. data/app/pb_kits/playbook/pb_toggle/docs/_toggle_options.html.erb +0 -10
  345. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +0 -25
  346. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.md +0 -8
  347. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.html.erb +0 -30
  348. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.md +0 -11
  349. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.html.erb +0 -25
  350. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.md +0 -1
  351. data/app/pb_kits/playbook/react_rails_kits.js +0 -6
  352. data/app/pb_kits/playbook/tokens/index.scss +0 -11
@@ -1,32 +1,2 @@
1
1
  @import "../pb_icon/icon";
2
2
  @import "../pb_title/title";
3
-
4
- [class^=pb_date_kit] {
5
- display: flex;
6
- flex-direction: row;
7
- align-items: center;
8
- > div, .pb_icon_kit_container {
9
- margin-right: 4px !important;
10
- }
11
-
12
- &[class*=_center] {
13
- display: flex;
14
- flex-direction: row;
15
- align-items: center;
16
- justify-content: center;
17
- margin-right: 4px !important;
18
- }
19
-
20
- &[class*=_right] {
21
- display: flex;
22
- flex-direction: row;
23
- align-items: center;
24
- justify-content: flex-end;
25
- margin-left: 4px !important;
26
- }
27
- &.dark {
28
- [class^=pb_title_kit] {
29
- color: $text_dk_default !important;
30
- }
31
- }
32
- }
@@ -10,37 +10,25 @@ module Playbook
10
10
  partial "pb_date/date"
11
11
 
12
12
  prop :date, required: true
13
- prop :alignment, type: Playbook::Props::Enum,
14
- values: %w[left center right],
15
- default: "left"
16
- prop :show_icon, type: Playbook::Props::Boolean,
17
- default: false
18
- prop :show_day_of_week, type: Playbook::Props::Boolean,
19
- default: false
20
- # Size to be deprecated.
21
13
  prop :size, type: Playbook::Props::Enum,
22
- values: %w[lg md sm xs],
23
- default: "md"
14
+ values: %w[lg sm xs],
15
+ default: "sm"
24
16
  prop :timezone, default: "America/New_York"
25
17
 
26
18
  def classname
27
- generate_classname("pb_date_kit", alignment)
19
+ generate_classname("pb_date_kit")
28
20
  end
29
21
 
30
- def day_of_week
31
- pb_date_time.to_day_of_week
22
+ def xs_date
23
+ "#{pb_date_time.to_day_of_week.upcase} · #{pb_date_time.to_month.upcase} #{pb_date_time.to_day}".html_safe
32
24
  end
33
25
 
34
- def day
35
- pb_date_time.to_day
26
+ def lg_date
27
+ "#{pb_date_time.to_month.upcase} #{pb_date_time.to_day}"
36
28
  end
37
29
 
38
- def month
39
- pb_date_time.to_month.capitalize
40
- end
41
-
42
- def year
43
- pb_date_time.to_year
30
+ def sm_date
31
+ "#{pb_date_time.to_day_of_week.upcase} · #{pb_date_time.to_month.upcase} #{pb_date_time.to_day}".html_safe
44
32
  end
45
33
 
46
34
  private
@@ -1,39 +1,24 @@
1
1
  <%= pb_rails("date", props: {
2
2
  date: Date.today,
3
- size: "sm"
3
+ size: "lg"
4
4
  }) %>
5
5
 
6
6
  <br>
7
7
 
8
8
  <%= pb_rails("date", props: {
9
- date: "2012-08-02T15:49:29Z",
10
- size: "sm"
9
+ date: DateTime.now
11
10
  }) %>
12
11
 
13
12
  <br>
14
13
 
15
14
  <%= pb_rails("date", props: {
16
- date: "2017-12-02T15:49:29Z",
17
- show_day_of_week: true,
18
- size: "sm"
19
- }) %>
20
-
21
- <br>
22
- <br>
23
-
24
- <%= pb_rails("date", props: {
25
- date: Date.today,
26
- }) %>
27
-
28
- <br>
29
-
30
- <%= pb_rails("date", props: {
31
- date: "2012-08-02T15:49:29Z",
15
+ date: DateTime.now,
16
+ timezone: "Asia/Tokyo"
32
17
  }) %>
33
18
 
34
19
  <br>
35
20
 
36
21
  <%= pb_rails("date", props: {
37
- date: "2017-12-02T15:49:29Z",
38
- show_day_of_week: true
22
+ date: Date.new(2010, 11, 12),
23
+ size: "xs"
39
24
  }) %>
@@ -1,59 +1,28 @@
1
1
  import React from 'react'
2
- import { Date as FormattedDate } from '../../'
2
+ import { Date } from '../../'
3
3
 
4
- const DateDefault = (props) => {
4
+ const DateDefault = () => {
5
5
  return (
6
- <>
7
- <FormattedDate
8
- size="sm"
9
- value={new Date()}
10
- {...props}
6
+ <div>
7
+ <Date
8
+ size="lg"
9
+ value="1995-12-25"
11
10
  />
12
11
 
13
12
  <br />
14
13
 
15
- <FormattedDate
16
- size="sm"
17
- value="2012-08-03"
18
- {...props}
14
+ <Date
15
+ value="17 Mar 69"
19
16
  />
20
17
 
21
18
  <br />
22
19
 
23
- <FormattedDate
24
- showDayOfWeek
25
- size="sm"
26
- value="2017-12-03"
27
- {...props}
20
+ <Date
21
+ size="xs"
22
+ value="2020-04-20T04:20:00.000Z"
28
23
  />
29
-
30
- <br />
31
- <br />
32
-
33
- <FormattedDate
34
- value={new Date()}
35
- {...props}
36
- />
37
-
38
- <br />
39
-
40
- <FormattedDate
41
- value="2012-08-03"
42
- {...props}
43
- />
44
-
45
- <br />
46
-
47
- <FormattedDate
48
- showDayOfWeek
49
- value="2017-12-03"
50
- {...props}
51
- />
52
- </>
24
+ </div>
53
25
  )
54
26
  }
55
27
 
56
28
  export default DateDefault
57
-
58
- // *Development Note* - We are reviewing this kit for a potential name change due to naming collisions when `new Date()` is used.
59
- // To avoid this bug, please use name spacing as shown in the code examples. ie `import { Date as AliasedComponentName } from '../../'
@@ -2,13 +2,9 @@ examples:
2
2
 
3
3
  rails:
4
4
  - date_default: Default
5
- - date_variants: Variants
6
- - date_alignment: Alignment
7
5
  - date_timezone: Timezones
8
6
 
9
7
 
10
8
  react:
11
9
  - date_default: Default
12
- - date_variants: Variants
13
- - date_alignment: Alignment
14
10
 
@@ -1,3 +1 @@
1
1
  export { default as DateDefault } from './_date_default.jsx'
2
- export { default as DateVariants } from './_date_variants.jsx'
3
- export { default as DateAlignment } from './_date_alignment.jsx'
@@ -15,7 +15,8 @@
15
15
  label: object.hide_label ? nil : object.label,
16
16
  name: object.name,
17
17
  placeholder: object.placeholder,
18
- required: object.required
18
+ required: object.required,
19
+ type: object.type
19
20
  }) %>
20
21
  <% if !object.hide_icon %>
21
22
  <div
@@ -62,7 +62,8 @@ const DatePicker = (props: DatePickerProps) => {
62
62
  name,
63
63
  onChange = () => {},
64
64
  pickerId,
65
- placeholder = 'Select Date',
65
+ placeholder,
66
+ type,
66
67
  yearRange = [ 1900, 2100 ],
67
68
  } = props
68
69
 
@@ -70,9 +71,9 @@ const DatePicker = (props: DatePickerProps) => {
70
71
  const dataProps = buildDataProps(data)
71
72
  const classes = classnames(
72
73
  buildCss('pb_date_picker_kit'),
74
+ className,
73
75
  globalProps(props),
74
76
  error ? 'error' : null,
75
- className
76
77
  )
77
78
 
78
79
  useEffect(() => {
@@ -87,7 +88,6 @@ const DatePicker = (props: DatePickerProps) => {
87
88
  maxDate: maxDate,
88
89
  minDate: minDate,
89
90
  mode: mode,
90
- onChange: onChange,
91
91
  pickerId: pickerId,
92
92
  yearRange: yearRange,
93
93
  })
@@ -126,7 +126,9 @@ const DatePicker = (props: DatePickerProps) => {
126
126
  id={pickerId}
127
127
  label={hideLabel ? null : label}
128
128
  name={name}
129
+ onChange={onChange}
129
130
  placeholder={placeholder}
131
+ type={type}
130
132
  />
131
133
  <If condition={!hideIcon}>
132
134
  <div
@@ -41,10 +41,10 @@ module Playbook
41
41
  default: "single"
42
42
  prop :picker_id, type: Playbook::Props::String,
43
43
  required: true
44
- prop :placeholder, type: Playbook::Props::String,
45
- default: "Select Date"
44
+ prop :placeholder, type: Playbook::Props::String
46
45
  prop :required, type: Playbook::Props::Boolean,
47
46
  default: false
47
+ prop :type, type: Playbook::Props::String
48
48
  prop :year_range, type: Playbook::Props::Array,
49
49
  default: [1900, 2100]
50
50
 
@@ -65,7 +65,6 @@ module Playbook
65
65
  minDate: min_date,
66
66
  mode: mode,
67
67
  pickerId: picker_id,
68
- required: required,
69
68
  yearRange: year_range,
70
69
  }.to_json.html_safe
71
70
  end
@@ -11,9 +11,7 @@ const datePickerHelper = (config) => {
11
11
  maxDate,
12
12
  minDate,
13
13
  mode,
14
- onChange = () => {},
15
14
  pickerId,
16
- required,
17
15
  yearRange,
18
16
  } = config
19
17
 
@@ -22,10 +20,20 @@ const datePickerHelper = (config) => {
22
20
  // ===========================================================
23
21
 
24
22
  const defaultDateGetter = () => {
25
- if (defaultDate === '') {
26
- return null
27
- } else {
28
- return defaultDate
23
+ if (defaultDate !== '') {
24
+ if (defaultDate === 'blank') {
25
+ return ''
26
+ } else {
27
+ return defaultDate
28
+ }
29
+ }
30
+ if (mode === 'single' && defaultDate === '') {
31
+ return new Date()
32
+ } else if (mode === 'range' && defaultDate === '') {
33
+ const today = new Date()
34
+ const tomorrow = new Date(today)
35
+ tomorrow.setDate(tomorrow.getDate() + 1)
36
+ return [today, tomorrow]
29
37
  }
30
38
  }
31
39
  const disabledParser = () => {
@@ -91,12 +99,7 @@ const datePickerHelper = (config) => {
91
99
  onClose: [() => {
92
100
  window.removeEventListener('resize', calendarResizer)
93
101
  }],
94
- onChange: [(selectedDates, dateStr) => {
95
- onChange(dateStr, selectedDates)
96
- }],
97
- onYearChange: [() => {
98
- yearChangeHook()
99
- }],
102
+ onYearChange: [],
100
103
  prevArrow: '<i class="far fa-angle-left"></i>',
101
104
  static: true,
102
105
  })
@@ -118,7 +121,7 @@ const datePickerHelper = (config) => {
118
121
  years += `<option value="${year}">${year}</option>`
119
122
  }
120
123
 
121
- // variablize each dropdown selector
124
+ // variablize each dropdown selecttor
122
125
  const dropdown = document.querySelector(`#year-${pickerId}`)
123
126
 
124
127
  // inject year options into dropdown and assign it the flatpickr's current year value
@@ -130,42 +133,33 @@ const datePickerHelper = (config) => {
130
133
  picker.changeYear(Number(e.target.value))
131
134
  })
132
135
 
133
- // Reverse month and year dropdown reset on form.reset()
134
- if (picker.input.form) {
135
- picker.input.form.addEventListener('reset', () => {
136
- // Code block triggers after form.reset() is called and executed
137
- setTimeout(() => {
138
- dropdown.value = picker.currentYear
139
- picker.monthsDropdownContainer.value = picker.currentMonth
140
-
141
- /* Reset date picker to default value on form.reset() */
142
- if (defaultDate){
143
- picker.setDate(defaultDate)
144
- yearChangeHook()
145
- }
146
- }, 0)
147
- })
148
- }
149
-
150
136
  // two way binding
151
137
  const yearChangeHook = () => {
152
138
  dropdown.value = picker.currentYear
153
139
  }
140
+ picker.config.onYearChange.push(yearChangeHook)
154
141
 
155
142
  // Adding dropdown icons to year and month selects
156
143
  picker.monthElements[0].insertAdjacentHTML('afterend', '<i class="far fa-angle-down month-dropdown-icon"></i>')
157
144
  dropdown.insertAdjacentHTML('afterend', '<i class="far fa-angle-down year-dropdown-icon" id="test-id"></i>')
158
145
 
159
- // Remove readonly attribute for validation and or text input
146
+ // Set input value attribute on page load
147
+ picker.input.setAttribute('value', picker.input.value)
148
+ // logic for updating value when typing
149
+ document.querySelector(`#${pickerId}`).addEventListener('input', (e) => {
150
+ picker.input.setAttribute('value', e.target.value)
151
+ const variant = picker.config.mode
152
+ if (variant === 'single' && e.target.value.split('').length === 10) {
153
+ picker.setDate(e.target.value)
154
+ dropdown.value = picker.currentYear
155
+ } else if (variant === 'range' && e.target.value.split('').length === 24) {
156
+ picker.setDate(e.target.value)
157
+ dropdown.value = picker.currentYear
158
+ }
159
+ })
160
160
  if (allowInput){
161
161
  picker.input.removeAttribute('readonly')
162
162
  }
163
- if (required){
164
- picker.input.removeAttribute('readonly')
165
- picker.input.addEventListener('keydown', (e) => e.preventDefault())
166
- picker.input.style.caretColor = 'transparent'
167
- picker.input.style.cursor = 'pointer'
168
- }
169
163
  }
170
164
 
171
165
  export default datePickerHelper
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("date_picker", props: {
2
+ allow_input: true,
3
+ picker_id: "date-picker-read-only"
4
+ }) %>
@@ -0,0 +1,13 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../..'
3
+
4
+ const DatePickerAllowInput = () => (
5
+ <div>
6
+ <DatePicker
7
+ allowInput
8
+ pickerId="date-picker-read-only"
9
+ />
10
+ </div>
11
+ )
12
+
13
+ export default DatePickerAllowInput
@@ -0,0 +1 @@
1
+ By default the date picker input can only be modified by picking a date on the calendar. This prop allows your users to manually type in the date.
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("date_picker", props: {
2
+ dark: true,
3
+ picker_id: "date-picker-dark"
4
+ }) %>
@@ -0,0 +1,13 @@
1
+ import React from 'react'
2
+ import { DatePicker } from '../../'
3
+
4
+ const DatePickerDark = () => (
5
+ <div>
6
+ <DatePicker
7
+ dark
8
+ pickerId="date-picker-dark"
9
+ />
10
+ </div>
11
+ )
12
+
13
+ export default DatePickerDark