playbook_ui 7.13.0.pre.alpha1 → 7.16.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (262) hide show
  1. checksums.yaml +4 -4
  2. data/app/helpers/playbook/pb_sample_helper.rb +1 -1
  3. data/app/pb_kits/playbook/_playbook.scss +8 -8
  4. data/app/pb_kits/playbook/data/menu.yml +0 -1
  5. data/app/pb_kits/playbook/index.js +2 -2
  6. data/app/pb_kits/playbook/pb_avatar/_avatar.html.erb +4 -6
  7. data/app/pb_kits/playbook/pb_avatar/_avatar.jsx +6 -2
  8. data/app/pb_kits/playbook/pb_avatar/avatar.rb +4 -0
  9. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_no_image.html.erb +5 -0
  10. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_no_image.jsx +41 -0
  11. data/app/pb_kits/playbook/pb_avatar/docs/_avatar_no_image.md +2 -0
  12. data/app/pb_kits/playbook/pb_avatar/docs/example.yml +2 -0
  13. data/app/pb_kits/playbook/pb_avatar/docs/index.js +1 -0
  14. data/app/pb_kits/playbook/pb_background/docs/example.yml +0 -2
  15. data/app/pb_kits/playbook/pb_background/docs/index.js +0 -1
  16. data/app/pb_kits/playbook/pb_card/_card.jsx +3 -1
  17. data/app/pb_kits/playbook/pb_card/_card.scss +2 -2
  18. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +6 -0
  19. data/app/pb_kits/playbook/pb_card/card.rb +9 -1
  20. data/app/pb_kits/playbook/pb_card/docs/_card_border_radius.html.erb +53 -0
  21. data/app/pb_kits/playbook/pb_card/docs/_card_border_radius.jsx +71 -0
  22. data/app/pb_kits/playbook/pb_card/docs/_card_border_radius.md +1 -0
  23. data/app/pb_kits/playbook/pb_card/docs/_card_light.md +1 -0
  24. data/app/pb_kits/playbook/pb_card/docs/example.yml +2 -0
  25. data/app/pb_kits/playbook/pb_card/docs/index.js +1 -0
  26. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.jsx +1 -0
  27. data/app/pb_kits/playbook/pb_date_range_stacked/docs/example.yml +0 -4
  28. data/app/pb_kits/playbook/pb_date_range_stacked/docs/index.js +0 -1
  29. data/app/pb_kits/playbook/pb_date_stacked/docs/example.yml +0 -7
  30. data/app/pb_kits/playbook/pb_date_stacked/docs/index.js +0 -2
  31. data/app/pb_kits/playbook/pb_date_time/_date_time.jsx +2 -2
  32. data/app/pb_kits/playbook/pb_date_time/docs/_date_time_default.jsx +2 -2
  33. data/app/pb_kits/playbook/pb_date_time_stacked/docs/example.yml +0 -4
  34. data/app/pb_kits/playbook/pb_date_time_stacked/docs/index.js +0 -1
  35. data/app/pb_kits/playbook/pb_date_year_stacked/docs/example.yml +0 -2
  36. data/app/pb_kits/playbook/pb_date_year_stacked/docs/index.js +0 -1
  37. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.jsx +9 -4
  38. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +12 -7
  39. data/app/pb_kits/playbook/pb_distribution_bar/distribution_bar.rb +4 -1
  40. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.html.erb +4 -0
  41. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.jsx +18 -0
  42. data/app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_custom_colors.md +1 -0
  43. data/app/pb_kits/playbook/pb_distribution_bar/docs/example.yml +2 -0
  44. data/app/pb_kits/playbook/pb_distribution_bar/docs/index.js +1 -0
  45. data/app/pb_kits/playbook/pb_filter/Filter/CurrentFilters.jsx +12 -1
  46. data/app/pb_kits/playbook/pb_filter/Filter/FiltersPopover.jsx +5 -1
  47. data/app/pb_kits/playbook/pb_filter/docs/_filter_close_popover.jsx +61 -0
  48. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.html.erb +41 -0
  49. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.jsx +84 -37
  50. data/app/pb_kits/playbook/pb_filter/docs/_filter_default.md +1 -0
  51. data/app/pb_kits/playbook/pb_filter/docs/example.yml +1 -0
  52. data/app/pb_kits/playbook/pb_filter/docs/index.js +1 -0
  53. data/app/pb_kits/playbook/pb_filter/templates/_core.html.erb +18 -7
  54. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.jsx +5 -1
  55. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/example.yml +0 -5
  56. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/index.js +0 -2
  57. data/app/pb_kits/playbook/pb_flex/_flex.jsx +25 -9
  58. data/app/pb_kits/playbook/pb_flex/_flex.scss +40 -7
  59. data/app/pb_kits/playbook/pb_flex/_flex_item.jsx +8 -2
  60. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +19 -0
  61. data/app/pb_kits/playbook/pb_flex/docs/_description.md +6 -0
  62. data/app/pb_kits/playbook/pb_flex/docs/_flex_align.html.erb +101 -0
  63. data/app/pb_kits/playbook/pb_flex/docs/{_flex_horizontal.jsx → _flex_align.jsx} +71 -77
  64. data/app/pb_kits/playbook/pb_flex/docs/_flex_align.md +7 -0
  65. data/app/pb_kits/playbook/pb_flex/docs/_flex_default.html.erb +15 -15
  66. data/app/pb_kits/playbook/pb_flex/docs/_flex_default.jsx +17 -15
  67. data/app/pb_kits/playbook/pb_flex/docs/_flex_default.md +3 -1
  68. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb +33 -0
  69. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +75 -0
  70. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.md +9 -0
  71. data/app/pb_kits/playbook/pb_flex/docs/_flex_inline.html.erb +8 -8
  72. data/app/pb_kits/playbook/pb_flex/docs/_flex_inline.md +5 -1
  73. data/app/pb_kits/playbook/pb_flex/docs/_flex_item.html.erb +49 -0
  74. data/app/pb_kits/playbook/pb_flex/docs/_flex_item.md +11 -0
  75. data/app/pb_kits/playbook/pb_flex/docs/_flex_item_example.jsx +113 -0
  76. data/app/pb_kits/playbook/pb_flex/docs/{_flex_horizontal.html.erb → _flex_justify.html.erb} +19 -21
  77. data/app/pb_kits/playbook/pb_flex/docs/{_flex_vertical.jsx → _flex_justify.jsx} +41 -99
  78. data/app/pb_kits/playbook/pb_flex/docs/_flex_justify.md +7 -0
  79. data/app/pb_kits/playbook/pb_flex/docs/_flex_reverse.html.erb +9 -9
  80. data/app/pb_kits/playbook/pb_flex/docs/_flex_reverse.jsx +2 -2
  81. data/app/pb_kits/playbook/pb_flex/docs/_flex_reverse.md +5 -0
  82. data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.html.erb +23 -8
  83. data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.jsx +4 -4
  84. data/app/pb_kits/playbook/pb_flex/docs/_flex_spacing.md +7 -0
  85. data/app/pb_kits/playbook/pb_flex/docs/_flex_wrap.jsx +1 -1
  86. data/app/pb_kits/playbook/pb_flex/docs/_flex_wrap.md +5 -0
  87. data/app/pb_kits/playbook/pb_flex/docs/example.yml +9 -4
  88. data/app/pb_kits/playbook/pb_flex/docs/index.js +4 -2
  89. data/app/pb_kits/playbook/pb_flex/flex.rb +79 -12
  90. data/app/pb_kits/playbook/pb_flex/flex_item.rb +25 -1
  91. data/app/pb_kits/playbook/pb_form_pill/_form_pill.jsx +7 -1
  92. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +2 -0
  93. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.html.erb +4 -4
  94. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.jsx +12 -1
  95. data/app/pb_kits/playbook/pb_gauge/docs/_gauge_sizing.md +2 -1
  96. data/app/pb_kits/playbook/pb_gauge/docs/example.yml +4 -5
  97. data/app/pb_kits/playbook/pb_icon/docs/example.yml +1 -2
  98. data/app/pb_kits/playbook/pb_icon/docs/index.js +0 -1
  99. data/app/pb_kits/playbook/pb_icon_circle/docs/example.yml +0 -7
  100. data/app/pb_kits/playbook/pb_icon_circle/docs/index.js +0 -3
  101. data/app/pb_kits/playbook/pb_icon_value/docs/example.yml +0 -5
  102. data/app/pb_kits/playbook/pb_icon_value/docs/index.js +0 -2
  103. data/app/pb_kits/playbook/pb_image/_image.html.erb +3 -1
  104. data/app/pb_kits/playbook/pb_image/_image.jsx +4 -1
  105. data/app/pb_kits/playbook/pb_image/_image.scss +1 -0
  106. data/app/pb_kits/playbook/pb_image/docs/_custom_error_image.html.erb +75 -0
  107. data/app/pb_kits/playbook/pb_image/docs/_custom_error_image.jsx +55 -0
  108. data/app/pb_kits/playbook/pb_image/docs/example.yml +2 -0
  109. data/app/pb_kits/playbook/pb_image/docs/index.js +1 -0
  110. data/app/pb_kits/playbook/pb_image/image.rb +2 -0
  111. data/app/pb_kits/playbook/{pb_collapsible/child_kits/_collapsible_content.html.erb → pb_layout/_item.html.erb} +1 -2
  112. data/app/pb_kits/playbook/pb_layout/_layout.jsx +19 -1
  113. data/app/pb_kits/playbook/pb_layout/_layout.scss +42 -10
  114. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.html.erb +4 -4
  115. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection.md +1 -0
  116. data/app/pb_kits/playbook/pb_layout/docs/_layout_collection_detail.jsx +1 -1
  117. data/app/pb_kits/playbook/pb_layout/docs/_layout_masonry.html.erb +48 -0
  118. data/app/pb_kits/playbook/pb_layout/docs/_layout_masonry.jsx +61 -0
  119. data/app/pb_kits/playbook/pb_layout/docs/example.yml +2 -3
  120. data/app/pb_kits/playbook/pb_layout/docs/index.js +1 -1
  121. data/app/pb_kits/playbook/pb_layout/item.rb +25 -0
  122. data/app/pb_kits/playbook/pb_layout/layout.rb +15 -15
  123. data/app/pb_kits/playbook/pb_line_graph/docs/_line_graph_legend.jsx +1 -1
  124. data/app/pb_kits/playbook/pb_popover/docs/example.yml +0 -13
  125. data/app/pb_kits/playbook/pb_popover/docs/index.js +0 -5
  126. data/app/pb_kits/playbook/pb_radio/_radio.scss +1 -0
  127. data/app/pb_kits/playbook/pb_select/_select.scss +6 -4
  128. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.html.erb +54 -11
  129. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.jsx +62 -8
  130. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +67 -9
  131. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_block.jsx +41 -44
  132. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_default.html.erb +2 -2
  133. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_default.jsx +53 -62
  134. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_error.html.erb +36 -0
  135. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_error.jsx +58 -0
  136. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_image.jsx +43 -53
  137. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.html.erb +105 -0
  138. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.jsx +158 -0
  139. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_input.md +1 -0
  140. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_single_select.html.erb +2 -2
  141. data/app/pb_kits/playbook/pb_selectable_card/docs/_selectable_card_single_select.jsx +46 -53
  142. data/app/pb_kits/playbook/pb_selectable_card/docs/example.yml +4 -0
  143. data/app/pb_kits/playbook/pb_selectable_card/docs/index.js +2 -0
  144. data/app/pb_kits/playbook/pb_selectable_card/selectable_card.rb +38 -2
  145. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +8 -8
  146. data/app/pb_kits/playbook/pb_table/_table.jsx +8 -0
  147. data/app/pb_kits/playbook/pb_table/docs/_table_alignment_shift_data.jsx +0 -1
  148. data/app/pb_kits/playbook/pb_table/docs/_table_responsive_table.html.erb +56 -4
  149. data/app/pb_kits/playbook/pb_table/docs/_table_responsive_table.jsx +64 -3
  150. data/app/pb_kits/playbook/pb_table/docs/_table_sm.md +2 -0
  151. data/app/pb_kits/playbook/pb_table/styles/_all.scss +3 -0
  152. data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +135 -0
  153. data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +135 -0
  154. data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +135 -0
  155. data/app/pb_kits/playbook/pb_table/table.rb +8 -1
  156. data/app/pb_kits/playbook/pb_textarea/_textarea.jsx +10 -2
  157. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_resize.html.erb +2 -2
  158. data/app/pb_kits/playbook/pb_textarea/docs/_textarea_resize.jsx +9 -1
  159. data/app/pb_kits/playbook/pb_textarea/index.js +17 -0
  160. data/app/pb_kits/playbook/pb_textarea/textarea.rb +3 -4
  161. data/app/pb_kits/playbook/pb_timestamp/_timestamp.html.erb +6 -4
  162. data/app/pb_kits/playbook/pb_timestamp/_timestamp.jsx +92 -16
  163. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +12 -1
  164. data/app/pb_kits/playbook/pb_timestamp/docs/_description.md +1 -1
  165. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_align.jsx +26 -18
  166. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.html.erb +21 -1
  167. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_default.jsx +40 -8
  168. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed.jsx +12 -4
  169. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones.jsx +26 -18
  170. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.html.erb +0 -21
  171. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated.jsx +6 -28
  172. data/app/pb_kits/playbook/pb_timestamp/docs/example.yml +8 -0
  173. data/app/pb_kits/playbook/pb_timestamp/docs/index.js +4 -0
  174. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +83 -1
  175. data/app/pb_kits/playbook/pb_typeahead/_typeahead.html.erb +1 -1
  176. data/app/pb_kits/playbook/pb_typeahead/_typeahead.jsx +6 -1
  177. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +38 -2
  178. data/app/pb_kits/playbook/pb_typeahead/components/Control.jsx +1 -0
  179. data/app/pb_kits/playbook/pb_typeahead/components/MultiValue.jsx +2 -4
  180. data/app/pb_kits/playbook/pb_typeahead/components/Option.jsx +8 -3
  181. data/app/pb_kits/playbook/pb_typeahead/docs/{_typeahead_with_context_dark.html.erb → _typeahead_with_context.html.erb} +10 -2
  182. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +1 -1
  183. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async.jsx +13 -1
  184. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_custom_options.jsx +111 -0
  185. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_custom_options.md +1 -0
  186. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.html.erb +1 -1
  187. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_async_users.jsx +1 -0
  188. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +3 -2
  189. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +1 -0
  190. data/app/pb_kits/playbook/pb_typeahead/typeahead.rb +2 -1
  191. data/app/pb_kits/playbook/pb_user_badge/docs/index.js +0 -1
  192. data/app/pb_kits/playbook/tokens/_border_radius.scss +21 -7
  193. data/app/pb_kits/playbook/utilities/_max_width.scss +15 -0
  194. data/app/pb_kits/playbook/utilities/_spacing.scss +20 -20
  195. data/app/pb_kits/playbook/utilities/globalProps.js +7 -1
  196. data/app/pb_kits/playbook/vendor.js +3 -3
  197. data/lib/playbook.rb +1 -0
  198. data/lib/playbook/markdown/template_handler.rb +45 -0
  199. data/lib/playbook/props.rb +23 -1
  200. data/lib/playbook/version.rb +1 -1
  201. metadata +54 -72
  202. data/app/pb_kits/playbook/pb_background/docs/_background_dark.html.erb +0 -3
  203. data/app/pb_kits/playbook/pb_background/docs/_background_dark.jsx +0 -12
  204. data/app/pb_kits/playbook/pb_collapsible/_collapsible.html.erb +0 -9
  205. data/app/pb_kits/playbook/pb_collapsible/_collapsible.jsx +0 -77
  206. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +0 -15
  207. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleContent.jsx +0 -40
  208. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.jsx +0 -59
  209. data/app/pb_kits/playbook/pb_collapsible/child_kits/_collapsible_main.html.erb +0 -16
  210. data/app/pb_kits/playbook/pb_collapsible/collapsible.rb +0 -15
  211. data/app/pb_kits/playbook/pb_collapsible/collapsible_content.rb +0 -21
  212. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +0 -21
  213. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.html.erb +0 -10
  214. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_default.jsx +0 -19
  215. data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +0 -8
  216. data/app/pb_kits/playbook/pb_collapsible/docs/index.js +0 -1
  217. data/app/pb_kits/playbook/pb_collapsible/index.js +0 -79
  218. data/app/pb_kits/playbook/pb_date_range_stacked/docs/_date_range_stacked_dark.html.erb +0 -1
  219. data/app/pb_kits/playbook/pb_date_range_stacked/docs/_date_range_stacked_dark.jsx +0 -15
  220. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_dark.html.erb +0 -5
  221. data/app/pb_kits/playbook/pb_date_stacked/docs/_date_stacked_dark.jsx +0 -26
  222. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_dark.html.erb +0 -1
  223. data/app/pb_kits/playbook/pb_date_time_stacked/docs/_date_time_stacked_dark.jsx +0 -14
  224. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_dark.html.erb +0 -5
  225. data/app/pb_kits/playbook/pb_date_year_stacked/docs/_date_year_stacked_dark.jsx +0 -28
  226. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_dark.html.erb +0 -21
  227. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_dark.jsx +0 -43
  228. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.html.erb +0 -5
  229. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_multi_line_dark.jsx +0 -17
  230. data/app/pb_kits/playbook/pb_flex/docs/_flex_vertical.html.erb +0 -68
  231. data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.html.erb +0 -3
  232. data/app/pb_kits/playbook/pb_icon/docs/_icon_default_dark.jsx +0 -18
  233. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color_dark.html.erb +0 -42
  234. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_color_dark.jsx +0 -66
  235. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_dark.html.erb +0 -4
  236. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_dark.jsx +0 -17
  237. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes_dark.html.erb +0 -29
  238. data/app/pb_kits/playbook/pb_icon_circle/docs/_icon_circle_sizes_dark.jsx +0 -38
  239. data/app/pb_kits/playbook/pb_icon_value/docs/_icon_value_align_dark.html.erb +0 -23
  240. data/app/pb_kits/playbook/pb_icon_value/docs/_icon_value_align_dark.jsx +0 -37
  241. data/app/pb_kits/playbook/pb_icon_value/docs/_icon_value_dark.html.erb +0 -21
  242. data/app/pb_kits/playbook/pb_icon_value/docs/_icon_value_dark.jsx +0 -35
  243. data/app/pb_kits/playbook/pb_layout/docs/_layout_sizes_dark.html.erb +0 -32
  244. data/app/pb_kits/playbook/pb_layout/docs/_layout_sizes_dark.jsx +0 -97
  245. data/app/pb_kits/playbook/pb_popover/docs/_popover_close_dark.html.erb +0 -43
  246. data/app/pb_kits/playbook/pb_popover/docs/_popover_close_dark.jsx +0 -105
  247. data/app/pb_kits/playbook/pb_popover/docs/_popover_dark.html.erb +0 -25
  248. data/app/pb_kits/playbook/pb_popover/docs/_popover_dark.jsx +0 -51
  249. data/app/pb_kits/playbook/pb_popover/docs/_popover_list_dark.html.erb +0 -13
  250. data/app/pb_kits/playbook/pb_popover/docs/_popover_list_dark.jsx +0 -54
  251. data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height_dark.html.erb +0 -25
  252. data/app/pb_kits/playbook/pb_popover/docs/_popover_scroll_height_dark.jsx +0 -57
  253. data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index_dark.html.erb +0 -14
  254. data/app/pb_kits/playbook/pb_popover/docs/_popover_z_index_dark.jsx +0 -54
  255. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed_align.html.erb +0 -54
  256. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_elapsed_align.jsx +0 -73
  257. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones_align.html.erb +0 -177
  258. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_timezones_align.jsx +0 -209
  259. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_align.html.erb +0 -123
  260. data/app/pb_kits/playbook/pb_timestamp/docs/_timestamp_updated_align.jsx +0 -146
  261. data/app/pb_kits/playbook/pb_user_badge/docs/_user_badge_size_dark.html.erb +0 -21
  262. data/app/pb_kits/playbook/pb_user_badge/docs/_user_badge_size_dark.jsx +0 -36
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dffed3e006461af113cc39ab74386183174482f0b3d8e09edcc4b949c902337c
4
- data.tar.gz: 5649ab75ec8a4fcb3ac31bcb24b0704bd79ebbff7ad815c7311524b248486e94
3
+ metadata.gz: ba7ca0e1a8dbb832e4553d4ca3c0c8c328ead105c57d691a0181ca169197b53a
4
+ data.tar.gz: a8c51729b2dfcfb7dc54d448abc6a305cb89fb367933b4a01893a8a455dd0fcb
5
5
  SHA512:
6
- metadata.gz: e97c430113baa7ac7abb804064f92a5a05711934c4dd2df9a0bde80ed2a2be2cc36ff97e1dcb8565a3198af3d692c5d347c74ac6584e9a3451d6378dcf876a20
7
- data.tar.gz: 7e1acd754c7c84a69f706756b9b948e023685d90c9923be9f21e46f8ec9ca56cfb83b4194bf7ea1adf10a92209f40ee3bdf8444269815bff853a389d9ce18731
6
+ metadata.gz: e2ff1660024fbfc09a674433414caf39bc8b1c50220f51dc642c76d5de7d11f2b8056ae70ab924944c2828ee362f7b9986d1e5226672e9feda680606fc4ba7c2
7
+ data.tar.gz: 01b2ae4f1a7abed5972b1394f9a2b13ac31de8814050adef4f78ca81cab284c82fab7b966a88428b94c326f6319b72774443f00894c29e273773279d97388696
@@ -4,7 +4,7 @@ module Playbook
4
4
  module PbSampleHelper
5
5
  def kits_used(sample)
6
6
  code = get_raw_code(sample, "rails")
7
- kits_array = code.scan(/pb_rails\("(\w+)(?:"|\/)/)
7
+ kits_array = code.scan(%r{pb_rails\("(\w+)(?:"|/)})
8
8
  kits_array.uniq
9
9
  end
10
10
 
@@ -1,11 +1,11 @@
1
- @import 'tokens/fonts';
2
- @import 'pb_background/background';
3
- @import 'pb_body/body';
4
- @import 'pb_button/button';
1
+ @import "tokens/fonts";
2
+ @import "pb_background/background";
3
+ @import "pb_body/body";
4
+ @import "pb_button/button";
5
5
  @import 'pb_button_toolbar/button_toolbar';
6
- @import 'pb_caption/caption';
7
- @import 'pb_card/card';
8
- @import 'pb_title/title';
6
+ @import "pb_caption/caption";
7
+ @import "pb_card/card";
8
+ @import "pb_title/title";
9
9
  @import 'pb_avatar/avatar';
10
10
  @import 'pb_avatar_action_button/avatar_action_button';
11
11
  @import 'pb_badge/badge';
@@ -13,7 +13,6 @@
13
13
  @import 'pb_checkbox/checkbox';
14
14
  @import 'pb_circle_chart/circle_chart';
15
15
  @import 'pb_circle_icon_button/circle_icon_button';
16
- @import 'pb_collapsible/collapsible';
17
16
  @import 'pb_contact/contact';
18
17
  @import 'pb_currency/currency';
19
18
  @import 'pb_dashboard_value/dashboard_value';
@@ -90,3 +89,4 @@
90
89
  @import 'pb_time_stacked/time_stacked';
91
90
  @import 'pb_weekday_stacked/weekday_stacked';
92
91
  @import './utilities/spacing';
92
+ @import './utilities/max_width';
@@ -8,7 +8,6 @@ kits:
8
8
  - circle_icon_button
9
9
  - card
10
10
  - checkbox
11
- - collapsible
12
11
  - charts_and_graphs:
13
12
  - bar_graph
14
13
  - circle_chart
@@ -17,7 +17,6 @@ export Card from './pb_card/_card.jsx'
17
17
  export Checkbox from './pb_checkbox/_checkbox.jsx'
18
18
  export CircleChart from './pb_circle_chart/_circle_chart.jsx'
19
19
  export CircleIconButton from './pb_circle_icon_button/_circle_icon_button.jsx'
20
- export Collapsible from './pb_collapsible/_collapsible.jsx'
21
20
  export Contact from './pb_contact/_contact.jsx'
22
21
  export Currency from './pb_currency/_currency.jsx'
23
22
  export DashboardValue from './pb_dashboard_value/_dashboard_value.jsx'
@@ -109,7 +108,8 @@ export dashboardValueSettings from './pb_dashboard_value/dashboardValueSettings'
109
108
  // Other JS/Plugins
110
109
  export pbChart from './plugins/pb_chart.js'
111
110
  export datePickerHelper from './pb_date_picker/date_picker_helper.js'
112
- export PbTypeahead from './pb_typeahead'
113
111
  export PbPopover from './pb_popover'
114
112
  export PbTable from './pb_table'
113
+ export PbTextarea from './pb_textarea'
115
114
  export PbTooltip from './pb_tooltip'
115
+ export PbTypeahead from './pb_typeahead'
@@ -3,10 +3,8 @@
3
3
  data: object.data.merge(initials: object.initials),
4
4
  class: object.classname,
5
5
  aria: object.aria) do %>
6
- <%= content_tag(:div,
7
- data: { initials: object.initials },
8
- class: "avatar_wrapper") do %>
9
- <%= pb_rails("image", props: { url: object.image_url }) if object.image_url.present? %>
10
- <% end %>
11
- <%= pb_rails("online_status", props: object.online_status_props) if object.status %>
6
+ <%= content_tag(:div, data: { initials: object.initials }, class: "avatar_wrapper") do %>
7
+ <%= pb_rails("image", props: { url: object.image_url, on_error: object.handle_img_error }) if object.image_url.present? %>
8
+ <% end %>
9
+ <%= pb_rails("online_status", props: object.online_status_props) if object.status %>
12
10
  <% end %>
@@ -1,6 +1,6 @@
1
1
  /* @flow */
2
2
 
3
- import React from 'react'
3
+ import React, { useState } from 'react'
4
4
  import classnames from 'classnames'
5
5
  import { map } from 'lodash'
6
6
 
@@ -39,6 +39,9 @@ const Avatar = (props: AvatarProps) => {
39
39
  const initials = name && firstTwoInitials(name)
40
40
  dataProps['data-initials'] = initials
41
41
 
42
+ const [error, setError] = useState(false)
43
+ const handleError = () => setError(true)
44
+
42
45
  return (
43
46
  <div
44
47
  {...ariaProps}
@@ -50,9 +53,10 @@ const Avatar = (props: AvatarProps) => {
50
53
  className="avatar_wrapper"
51
54
  data-initials={initials}
52
55
  >
53
- <If condition={imageUrl}>
56
+ <If condition={imageUrl && !error}>
54
57
  <Image
55
58
  alt={name}
59
+ onError={handleError}
56
60
  url={imageUrl}
57
61
  />
58
62
  </If>
@@ -25,6 +25,10 @@ module Playbook
25
25
  def online_status_props
26
26
  { status: status, classname: "size_#{size}" }
27
27
  end
28
+
29
+ def handle_img_error
30
+ "this.style.display = 'none'"
31
+ end
28
32
  end
29
33
  end
30
34
  end
@@ -0,0 +1,5 @@
1
+ <%= pb_rails("avatar", props: { image_url: true, name: "Terry Johnson", size: "xs" }) %>
2
+ <%= pb_rails("avatar", props: { image_url: 4, name: "Terry Johnson", size: "sm" }) %>
3
+ <%= pb_rails("avatar", props: { image_url: "https://google.com", name: "Terry Johnson", size: "md" }) %>
4
+ <%= pb_rails("avatar", props: { image_url: "", name: "Terry Johnson", size: "lg" }) %>
5
+ <%= pb_rails("avatar", props: { image_url: "https://randomuser.me/api/portraits/men/notapicture.jpg", name: "Terry Johnson", size: "xl" }) %>
@@ -0,0 +1,41 @@
1
+ import React from 'react'
2
+ import { Avatar } from '../../'
3
+
4
+ const AvatarNoImage = (props) => {
5
+ return (
6
+ <div>
7
+ <Avatar
8
+ imageUrl="Just some text here"
9
+ name="Terry Johnson"
10
+ size="xs"
11
+ {...props}
12
+ />
13
+ <Avatar
14
+ imageUrl={4}
15
+ name="Terry Johnson"
16
+ size="sm"
17
+ {...props}
18
+ />
19
+ <Avatar
20
+ imageUrl="https://google.com"
21
+ name="Terry Johnson"
22
+ size="md"
23
+ {...props}
24
+ />
25
+ <Avatar
26
+ imageUrl=""
27
+ name="Terry Johnson"
28
+ size="lg"
29
+ {...props}
30
+ />
31
+ <Avatar
32
+ imageUrl="https://randomuser.me/api/portraits/men/notapicture.jpg"
33
+ name="Terry Johnson"
34
+ size="xl"
35
+ {...props}
36
+ />
37
+ </div>
38
+ )
39
+ }
40
+
41
+ export default AvatarNoImage
@@ -0,0 +1,2 @@
1
+
2
+ A monagram is used as a fallback when an invalid or missing image url is provided.
@@ -2,8 +2,10 @@ examples:
2
2
  rails:
3
3
  - avatar_default: Default
4
4
  - avatar_monogram: Monogram
5
+ - avatar_no_image: "Bad Image Link"
5
6
  - avatar_status: Status
6
7
  react:
7
8
  - avatar_default: Default
8
9
  - avatar_monogram: Monogram
10
+ - avatar_no_image: "Bad Image Link"
9
11
  - avatar_status: Status
@@ -1,3 +1,4 @@
1
1
  export { default as AvatarDefault } from './_avatar_default.jsx'
2
2
  export { default as AvatarMonogram } from './_avatar_monogram.jsx'
3
3
  export { default as AvatarStatus } from './_avatar_status.jsx'
4
+ export { default as AvatarNoImage } from './_avatar_no_image.jsx'
@@ -3,13 +3,11 @@ examples:
3
3
  rails:
4
4
  - background_light: Light
5
5
  - background_white: White
6
- - background_dark: Dark
7
6
  - background_gradient: Gradient
8
7
  - background_image: Image
9
8
 
10
9
  react:
11
10
  - background_light: Light
12
11
  - background_white: White
13
- - background_dark: Dark
14
12
  - background_gradient: Gradient
15
13
  - background_image: Image
@@ -1,6 +1,5 @@
1
1
  export { default as BackgroundLight } from './_background_light.jsx'
2
2
  export { default as BackgroundWhite } from './_background_white.jsx'
3
- export { default as BackgroundDark } from './_background_dark.jsx'
4
3
  export { default as BackgroundGradient } from './_background_gradient.jsx'
5
4
  export { default as BackgroundImage } from './_background_image.jsx'
6
5
 
@@ -8,6 +8,7 @@ import { globalProps } from '../utilities/globalProps.js'
8
8
 
9
9
  type CardPropTypes = {
10
10
  borderNone?: boolean,
11
+ borderRadius?: "xs" | "sm" | "md" | "lg" | "xl" | "none" | "rounded",
11
12
  children: array<React.ReactNode> | React.ReactNode,
12
13
  className?: string,
13
14
  highlight?: {
@@ -62,6 +63,7 @@ const Body = (props: CardBodyProps) => {
62
63
  const Card = (props: CardPropTypes) => {
63
64
  const {
64
65
  borderNone = false,
66
+ borderRadius = 'md',
65
67
  children,
66
68
  className,
67
69
  highlight = {},
@@ -70,7 +72,7 @@ const Card = (props: CardPropTypes) => {
70
72
  padding = 'md',
71
73
  } = props
72
74
  const borderCSS = borderNone == true ? 'border_none' : ''
73
- const cardCss = buildCss('pb_card_kit', `shadow_${shadow}`, `${borderCSS}`, {
75
+ const cardCss = buildCss('pb_card_kit', `shadow_${shadow}`, `${borderCSS}`, `border_radius_${borderRadius}`, {
74
76
  selected,
75
77
  deselected: !selected,
76
78
  [`highlight_${highlight.position}`]: highlight.position,
@@ -26,7 +26,7 @@
26
26
  flex-basis: auto;
27
27
  min-height: 1px;
28
28
  border: 0;
29
- border-radius: $pb_card_header_border_radius $pb_card_header_border_radius 0px 0px;
29
+ border-radius: $pb_card_header_border_radius $pb_card_header_border_radius 0px 0px;
30
30
  @each $color_name, $color_value in $pb_card_header_colors {
31
31
  &[class*=_#{$color_name}] {
32
32
  @include pb_card_header_color($color_value);
@@ -44,7 +44,7 @@
44
44
  min-height: 1px;
45
45
  border: 0;
46
46
  }
47
-
47
+
48
48
  @each $name, $shadow in $box_shadows {
49
49
  &[class*=_#{$name}] {
50
50
  box-shadow: $shadow;
@@ -50,6 +50,12 @@ $pb_card_padding:(
50
50
  box-shadow: $shadow;
51
51
  }
52
52
  }
53
+
54
+ @each $name, $radius in $border_radius {
55
+ &[class*=_#{$name}] {
56
+ border-radius: $radius;
57
+ }
58
+ }
53
59
  }
54
60
 
55
61
  @mixin pb_card_dark {
@@ -15,6 +15,9 @@ module Playbook
15
15
  default: {}
16
16
  prop :border_none, type: Playbook::Props::Boolean,
17
17
  default: false
18
+ prop :border_radius, type: Playbook::Props::Enum,
19
+ values: %w[xs sm md lg xl none rounded],
20
+ default: "md"
18
21
 
19
22
  def classname
20
23
  generate_classname("pb_card_kit",
@@ -22,7 +25,8 @@ module Playbook
22
25
  shadow_class,
23
26
  highlight_position_class,
24
27
  highlight_color_class,
25
- border_class)
28
+ border_class,
29
+ border_radius_class)
26
30
  end
27
31
 
28
32
  def body_padding
@@ -55,6 +59,10 @@ module Playbook
55
59
  def border_class
56
60
  border_none == true ? "border_none" : nil
57
61
  end
62
+
63
+ def border_radius_class
64
+ border_radius != "md" ? "border_radius_#{border_radius}" : nil
65
+ end
58
66
  end
59
67
  end
60
68
  end
@@ -0,0 +1,53 @@
1
+ <%= pb_rails("card", props: {
2
+ border_radius: "rounded"
3
+ }) do %>
4
+ Rounded (1000px)
5
+ <% end %>
6
+
7
+ <br>
8
+
9
+ <%= pb_rails("card", props: {
10
+ border_radius: "xl"
11
+ }) do %>
12
+ Extra large (16px)
13
+ <% end %>
14
+
15
+ <br>
16
+
17
+ <%= pb_rails("card", props: {
18
+ border_radius: "lg"
19
+ }) do %>
20
+ Large (8px)
21
+ <% end %>
22
+
23
+ <br>
24
+
25
+ <%= pb_rails("card", props: {
26
+ border_radius: "md"
27
+ }) do %>
28
+ Medium (6px)
29
+ <% end %>
30
+
31
+ <br>
32
+
33
+ <%= pb_rails("card", props: {
34
+ border_radius: "sm"
35
+ }) do %>
36
+ Small (4px)
37
+ <% end %>
38
+
39
+ <br>
40
+
41
+ <%= pb_rails("card", props: {
42
+ border_radius: "xs"
43
+ }) do %>
44
+ Extra small (4px)
45
+ <% end %>
46
+
47
+ <br>
48
+
49
+ <%= pb_rails("card", props: {
50
+ border_radius: "none"
51
+ }) do %>
52
+ None
53
+ <% end %>
@@ -0,0 +1,71 @@
1
+ import React from 'react'
2
+ import Card from '../_card.jsx'
3
+
4
+ const CardLight = (props) => {
5
+ return (
6
+ <div>
7
+ <Card
8
+ borderRadius="rounded"
9
+ {...props}
10
+ >
11
+ {'Rounded (1000px)'}
12
+ </Card>
13
+
14
+ <br />
15
+
16
+ <Card
17
+ borderRadius="xl"
18
+ {...props}
19
+ >
20
+ {'Extra large (16px)'}
21
+ </Card>
22
+
23
+ <br />
24
+
25
+ <Card
26
+ borderRadius="lg"
27
+ {...props}
28
+ >
29
+ {'Large (8px)'}
30
+ </Card>
31
+
32
+ <br />
33
+
34
+ <Card
35
+ borderRadius="md"
36
+ {...props}
37
+ >
38
+ {'Medium (6px)'}
39
+ </Card>
40
+
41
+ <br />
42
+
43
+ <Card
44
+ borderRadius="sm"
45
+ {...props}
46
+ >
47
+ {'Small (4px)'}
48
+ </Card>
49
+
50
+ <br />
51
+
52
+ <Card
53
+ borderRadius="xs"
54
+ {...props}
55
+ >
56
+ {'Extra small (4px)'}
57
+ </Card>
58
+
59
+ <br />
60
+
61
+ <Card
62
+ borderRadius="none"
63
+ {...props}
64
+ >
65
+ {'None'}
66
+ </Card>
67
+ </div>
68
+ )
69
+ }
70
+
71
+ export default CardLight