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
@@ -3,8 +3,3 @@ export { default as PopoverList } from './_popover_list.jsx'
3
3
  export { default as PopoverClose } from './_popover_close.jsx'
4
4
  export { default as PopoverZIndex } from './_popover_z_index.jsx'
5
5
  export { default as PopoverScrollHeight } from './_popover_scroll_height.jsx'
6
- export { default as PopoverDark } from './_popover_dark.jsx'
7
- export { default as PopoverListDark } from './_popover_list_dark.jsx'
8
- export { default as PopoverCloseDark } from './_popover_close_dark.jsx'
9
- export { default as PopoverZIndexDark } from './_popover_z_index_dark.jsx'
10
- export { default as PopoverScrollHeightDark } from './_popover_scroll_height_dark.jsx'
@@ -11,6 +11,7 @@
11
11
  width: 22px;
12
12
  min-width: 22px;
13
13
  height: 22px;
14
+ box-sizing: border-box;
14
15
  border-radius: 1000px;
15
16
  border: 2px solid $border_light;
16
17
  margin-right: $space_xs;
@@ -12,6 +12,11 @@
12
12
  cursor: pointer;
13
13
  box-shadow: inset 0 -11px 20px rgba($primary, 0.05);
14
14
  padding-right: $space_xl;
15
+ color: transparent !important;
16
+ text-shadow: 0 0 0 $text_lt_default;
17
+ white-space: nowrap;
18
+ overflow: hidden;
19
+ text-overflow: ellipsis;
15
20
  @media (hover:hover) {
16
21
  &:hover, &:active, &:focus {
17
22
  background-color: $focus_input_light;
@@ -20,8 +25,6 @@
20
25
  &:disabled ~ .pb_select_kit_caret {
21
26
  opacity: 0.5;
22
27
  }
23
- color: transparent !important;
24
- text-shadow: 0 0 0 $text_lt_default;
25
28
  }
26
29
  option {
27
30
  color: $text_lt_default;
@@ -62,12 +65,12 @@
62
65
  @include pb_title_dark;
63
66
  background: $focus_input_dark;
64
67
  box-shadow: inset 0 -11px 20px rgba($white, 0.05);
68
+ text-shadow: 0 0 0 $text_dk_default;
65
69
  @media (hover:hover) {
66
70
  &:hover, &:active, &:focus {
67
71
  background-color: tint($focus_input_dark, 5%);
68
72
  }
69
73
  }
70
- text-shadow: 0 0 0 $text_dk_default;
71
74
  }
72
75
  .pb_select_kit_caret {
73
76
  color: $white;
@@ -82,5 +85,4 @@
82
85
  }
83
86
  }
84
87
  }
85
-
86
88
  }
@@ -9,17 +9,60 @@
9
9
  <%= radio_button_tag(object.name, object.value, object.checked, object.additional_input_options) %>
10
10
  <% end %>
11
11
 
12
- <label for="<%= object.input_id_present %>">
13
- <% if object.children.nil? %>
14
- <%= pb_rails("body", props: { text: object.text }) %>
15
- <% else %>
16
- <%= capture(&object.children) %>
17
- <% end %>
18
- <% if object.icon %>
19
- <div class="pb_selectable_card_circle">
20
- <%= pb_rails("icon", props: { icon: "check", fixed_width: true }) %>
21
- </div>
22
- <% end %>
12
+ <label class="<%= object.label_class %>" for="<%= object.input_id_present %>">
13
+ <div class="buffer">
14
+ <% if object.variant == "display_input" %>
15
+ <%= pb_rails("flex", props: { vertical: "center" }) do %>
16
+ <%= pb_rails("flex", props: {
17
+ orientation: "column",
18
+ padding: "sm",
19
+ padding_right: "xs",
20
+ vertical: "center",
21
+ }) do %>
22
+ <%= pb_rails(object.input, props: { text: "" }) do %>
23
+ <input <%= object.is_checked %> <%= object.is_disabled %> id="checkbox-styled" name="<%= object.name %>-display" type="<%= object.input %>">
24
+ <% end %>
25
+ <% end %>
26
+ <div class="separator"></div>
27
+ <%= pb_rails("card/card_body", props: { padding: "sm", status: object.status }) do %>
28
+ <% if object.children.nil? %>
29
+ <%= pb_rails("body", props: { text: object.text }) %>
30
+ <% else %>
31
+ <%= capture(&object.children) %>
32
+ <% end %>
33
+ <% end %>
34
+ <% end %>
35
+ <% else %>
36
+ <% if object.children.nil? %>
37
+ <%= pb_rails("body", props: { text: object.text }) %>
38
+ <% else %>
39
+ <%= capture(&object.children) %>
40
+ <% end %>
41
+ <% if object.icon %>
42
+ <div class="pb_selectable_card_circle">
43
+ <%= pb_rails("icon", props: { icon: "check", fixed_width: true }) %>
44
+ </div>
45
+ <% end %>
46
+ <% end %>
47
+ </div>
23
48
  </label>
24
49
 
50
+ <% if object.variant == "display_input" %>
51
+ <script>
52
+ var outerCheckbox = document.querySelector("input#<%= object.input_id || object.name %>")
53
+ var innerCheckbox = outerCheckbox.parentElement.querySelector("input#checkbox-styled")
54
+
55
+ outerCheckbox.addEventListener("change", () => {
56
+ const outerCheckbox = document.querySelector("input#<%= object.input_id || object.name %>")
57
+ const innerCheckbox = outerCheckbox.parentElement.querySelector("input#checkbox-styled")
58
+ innerCheckbox.checked = outerCheckbox.checked
59
+ })
60
+
61
+ innerCheckbox.addEventListener("change", () => {
62
+ const outerCheckbox = document.querySelector("input#<%= object.input_id || object.name %>")
63
+ const innerCheckbox = outerCheckbox.parentElement.querySelector("input#checkbox-styled")
64
+ outerCheckbox.checked = innerCheckbox.checked
65
+ })
66
+ </script>
67
+ <% end %>
25
68
  <% end %>
@@ -2,7 +2,7 @@
2
2
 
3
3
  import React from 'react'
4
4
  import classnames from 'classnames'
5
- import { Icon } from '../'
5
+ import { Card, Checkbox, Flex, Icon, Radio } from '../'
6
6
 
7
7
  import type { InputCallback } from '../types'
8
8
 
@@ -20,8 +20,10 @@ type SelectableCardProps = {
20
20
  checked: boolean,
21
21
  children?: array<React.ReactChild>,
22
22
  className?: string,
23
+ dark?: boolean,
23
24
  data: object,
24
25
  disabled?: boolean,
26
+ error?: boolean,
25
27
  icon?: boolean,
26
28
  id?: string,
27
29
  inputId?: string,
@@ -30,6 +32,7 @@ type SelectableCardProps = {
30
32
  onChange: InputCallback<HTMLInputElement>,
31
33
  text?: string,
32
34
  value?: string,
35
+ variant?: string,
33
36
  }
34
37
 
35
38
  const SelectableCard = ({
@@ -37,8 +40,10 @@ const SelectableCard = ({
37
40
  checked = false,
38
41
  children,
39
42
  className,
43
+ dark = false,
40
44
  data = {},
41
45
  disabled = false,
46
+ error = false,
42
47
  icon = false,
43
48
  inputId = null,
44
49
  multi = true,
@@ -46,16 +51,22 @@ const SelectableCard = ({
46
51
  onChange = noop,
47
52
  text,
48
53
  value,
54
+ variant = 'default',
49
55
  ...props
50
56
  }: SelectableCardProps) => {
51
57
  const ariaProps = buildAriaProps(aria)
52
58
  const dataProps = buildDataProps(data)
53
59
 
54
60
  const classes = classnames(buildCss('pb_selectable_card_kit',
55
- { 'checked': checked,
61
+ {
62
+ 'checked': checked,
56
63
  'disabled': disabled,
57
- 'enabled': !disabled }),
58
- globalProps(props), className)
64
+ 'enabled': !disabled,
65
+ }),
66
+ { error },
67
+ dark ? 'dark' : '',
68
+ className
69
+ )
59
70
 
60
71
  const displayIcon = () => {
61
72
  if (icon === true) {
@@ -70,9 +81,16 @@ const SelectableCard = ({
70
81
  }
71
82
  }
72
83
 
73
- const inputType = multi === false ? 'radio' : 'checkbox'
84
+ const inputRef = React.createRef()
85
+ // Delegate clicks to hidden input from visible one
86
+ const handleClick = () => {
87
+ inputRef.current.click()
88
+ }
74
89
 
90
+ const inputType = multi ? 'checkbox' : 'radio'
75
91
  const inputIdPresent = inputId !== null ? inputId : name
92
+ const Input = multi ? Checkbox : Radio
93
+ const labelProps = variant === 'displayInput' ? Object.assign(props, { padding: 'none' }) : props
76
94
 
77
95
  return (
78
96
  <div
@@ -87,15 +105,51 @@ const SelectableCard = ({
87
105
  id={inputIdPresent}
88
106
  name={name}
89
107
  onChange={onChange}
108
+ ref={inputRef}
90
109
  type={inputType}
91
110
  value={value}
92
111
  />
112
+
93
113
  <label
94
- className={globalProps(props)}
114
+ className={globalProps(labelProps)}
95
115
  htmlFor={inputIdPresent}
96
116
  >
97
- {text || children}
98
- {displayIcon()}
117
+ <div className="buffer">
118
+ <Choose>
119
+ <When condition={variant === 'displayInput'}>
120
+ <Flex vertical="center">
121
+ <Flex
122
+ orientation="column"
123
+ padding="sm"
124
+ paddingRight="xs"
125
+ vertical="center"
126
+ >
127
+ <Input dark={dark}>
128
+ <input
129
+ checked={checked}
130
+ disabled={disabled}
131
+ onClick={handleClick}
132
+ readOnly
133
+ type={inputType}
134
+ />
135
+ </Input>
136
+ </Flex>
137
+ <div className="separator" />
138
+ <Card.Body
139
+ dark={dark}
140
+ padding="sm"
141
+ status={error ? 'negative' : null}
142
+ >
143
+ {text || children}
144
+ </Card.Body>
145
+ </Flex>
146
+ </When>
147
+ <Otherwise>
148
+ {text || children}
149
+ </Otherwise>
150
+ </Choose>
151
+ {displayIcon()}
152
+ </div>
99
153
  </label>
100
154
  </div>
101
155
  )
@@ -14,9 +14,19 @@ $pb_selectable_card_border: 2px;
14
14
  display: block;
15
15
  margin-bottom: 0;
16
16
 
17
- label {
17
+ > label {
18
+ > .buffer {
19
+ display: inherit;
20
+ flex-direction: inherit;
21
+ padding: 1px;
22
+ transition-property: all;
23
+ transition-duration: $transition_short;
24
+ transition-timing-function: $easeIn;
25
+ }
26
+
18
27
  @include pb_card;
19
- padding: $space_sm + 1;
28
+ padding: $space_sm;
29
+ margin-bottom: $space_sm;
20
30
  cursor: pointer;
21
31
 
22
32
  @media (hover:hover) {
@@ -57,20 +67,32 @@ $pb_selectable_card_border: 2px;
57
67
  appearance: none;
58
68
  display: none;
59
69
 
60
- &:checked ~ label {
61
- position: relative;
62
- @include pb_card_selected;
63
- padding: $space_sm;
70
+ &:checked {
64
71
 
65
- .pb_selectable_card_circle {
66
- opacity: $opacity_10;
72
+ ~ label {
73
+ > .buffer {
74
+ padding: 0;
75
+ }
76
+
77
+ position: relative;
78
+ @include pb_card_selected;
79
+
80
+ .pb_selectable_card_circle {
81
+ opacity: $opacity_10;
82
+ }
83
+
84
+ .separator {
85
+ width: 2px;
86
+ margin-right: 0px;
87
+ background: $royal;
88
+ }
67
89
  }
68
90
  }
69
91
  }
70
92
 
71
93
  &.dark {
72
94
  color: $white;
73
- label {
95
+ > label {
74
96
  @include pb_card_dark;
75
97
  background: transparent;
76
98
 
@@ -87,5 +109,41 @@ $pb_selectable_card_border: 2px;
87
109
  background: transparent;
88
110
  }
89
111
  }
112
+
113
+ .separator {
114
+ background: $bg_dark;
115
+ }
116
+
117
+ &.error {
118
+ > label {
119
+ border-color: $error_dark;
120
+ }
121
+ .separator{
122
+ background: $error_dark;
123
+ width: 2px;
124
+ }
125
+ }
126
+ }
127
+
128
+ .separator {
129
+ align-self: stretch;
130
+ transition-property: all;
131
+ transition-duration: $transition_short;
132
+ transition-timing-function: $easeIn;
133
+ width: 1px;
134
+ margin-right: 1px;
135
+ margin-top: -1px;
136
+ margin-bottom: -1px;
137
+ background: $border_light;
138
+ }
139
+
140
+ &.error {
141
+ > label {
142
+ border-color: $error;
143
+ }
144
+ .separator {
145
+ background: $error;
146
+ width: 2px;
147
+ }
90
148
  }
91
149
  }
@@ -1,55 +1,52 @@
1
- import React from 'react'
2
- import {
3
- Body,
4
- SelectableCard,
5
- Title,
6
- } from '../../'
1
+ import React, { useState } from 'react'
2
+ import { Body, SelectableCard, Title } from '../../'
7
3
 
8
- class SelectableCardBlock extends React.Component {
9
- state = {
10
- block: true,
11
- tag: false,
12
- }
4
+ const SelectableCardBlock = (props) => {
5
+ const [block, setBlock] = useState(true)
6
+ const [tag, setTag] = useState(false)
13
7
 
14
- handleSelect = (event) => {
15
- this.setState({
16
- [event.target.id]: event.target.checked,
17
- })
8
+ const handleSelect = (event) => {
9
+ setBlock(event.target.checked)
18
10
  }
19
11
 
20
- render(props) {
21
- return (
22
- <div className="pb--doc-demo-row">
23
-
24
- <SelectableCard
25
- checked={this.state.block}
26
- inputId="block"
27
- name="block"
28
- onChange={this.handleSelect}
29
- value="block"
30
- {...props}
31
- >
32
- <Title
33
- size={4}
34
- text="Block"
35
- {...props}
36
- />
37
- <Body tag="span">{'This uses block'}</Body>
38
- </SelectableCard>
12
+ const handleTag = (event) => {
13
+ setTag(event.target.checked)
14
+ }
39
15
 
40
- <SelectableCard
41
- checked={this.state.tag}
42
- inputId="tag"
43
- name="tag"
44
- onChange={this.handleSelect}
45
- text="This passes text through the tag"
46
- value="tag"
16
+ return (
17
+ <div className="pb--doc-demo-row">
18
+ <SelectableCard
19
+ checked={block}
20
+ inputId="block"
21
+ name="block"
22
+ onChange={handleSelect}
23
+ value="block"
24
+ {...props}
25
+ >
26
+ <Title
27
+ size={4}
28
+ text="Block"
47
29
  {...props}
48
30
  />
31
+ <Body
32
+ tag="span"
33
+ {...props}
34
+ >
35
+ {'This uses block'}
36
+ </Body>
37
+ </SelectableCard>
49
38
 
50
- </div>
51
- )
52
- }
39
+ <SelectableCard
40
+ checked={tag}
41
+ inputId="tag"
42
+ name="tag"
43
+ onChange={handleTag}
44
+ text="This passes text through the tag"
45
+ value="tag"
46
+ {...props}
47
+ />
48
+ </div>
49
+ )
53
50
  }
54
51
 
55
52
  export default SelectableCardBlock