playbook_ui 14.25.0.pre.alpha.PLAY2425textinputaccessibility9851 → 14.25.0.pre.alpha.PLAY2431fixextragap10276

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -1
  3. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +6 -6
  4. data/app/pb_kits/playbook/pb_advanced_table/advanced_table.test.jsx +1 -1
  5. data/app/pb_kits/playbook/pb_avatar/_avatar.scss +60 -65
  6. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +1 -1
  7. data/app/pb_kits/playbook/pb_background/_background.scss +3 -3
  8. data/app/pb_kits/playbook/pb_badge/_badge.scss +135 -29
  9. data/app/pb_kits/playbook/pb_body/_body.scss +108 -35
  10. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -1
  11. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +17 -30
  12. data/app/pb_kits/playbook/pb_button/_button.scss +39 -31
  13. data/app/pb_kits/playbook/pb_button/_button.tsx +12 -12
  14. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +1 -1
  15. data/app/pb_kits/playbook/pb_button/button.rb +11 -18
  16. data/app/pb_kits/playbook/pb_button/button.test.js +3 -3
  17. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +82 -73
  18. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +32 -33
  19. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +1 -1
  20. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +2 -2
  21. data/app/pb_kits/playbook/pb_caption/_caption.scss +100 -17
  22. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +1 -8
  23. data/app/pb_kits/playbook/pb_card/_card.scss +116 -79
  24. data/app/pb_kits/playbook/pb_card/_card.tsx +26 -11
  25. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -1
  26. data/app/pb_kits/playbook/pb_card/card.rb +8 -7
  27. data/app/pb_kits/playbook/pb_card/card_header.rb +6 -2
  28. data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -1
  29. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +11 -2
  30. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +7 -7
  31. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +1 -1
  32. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +1 -1
  33. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +4 -4
  34. data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +1 -1
  35. data/app/pb_kits/playbook/pb_currency/_currency.scss +124 -39
  36. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +16 -6
  37. data/app/pb_kits/playbook/pb_date/_date.scss +16 -18
  38. data/app/pb_kits/playbook/pb_date/date.test.js +506 -0
  39. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +1 -1
  40. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +12 -12
  41. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +2 -2
  42. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +6 -5
  43. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +29 -23
  44. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
  45. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.scss +1 -1
  46. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
  47. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +66 -26
  48. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +1 -1
  49. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
  50. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +8 -15
  51. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +6 -7
  52. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -14
  53. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
  54. data/app/pb_kits/playbook/pb_detail/_detail.scss +86 -21
  55. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +330 -123
  56. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +16 -2
  57. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +10 -7
  58. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
  59. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
  60. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
  61. data/app/pb_kits/playbook/pb_dropdown/index.js +3 -3
  62. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
  63. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +20 -9
  64. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
  65. data/app/pb_kits/playbook/pb_filter/_filter.scss +8 -8
  66. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +65 -29
  67. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -2
  68. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +3 -2
  69. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
  70. data/app/pb_kits/playbook/pb_flex/_flex.scss +106 -100
  71. data/app/pb_kits/playbook/pb_flex/_flex.tsx +32 -25
  72. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +146 -51
  73. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +19 -8
  74. data/app/pb_kits/playbook/pb_flex/flex.rb +16 -16
  75. data/app/pb_kits/playbook/pb_flex/flex_item.rb +6 -6
  76. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +1 -1
  77. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +381 -344
  78. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
  79. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +8 -7
  80. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +9 -2
  81. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +5 -5
  82. data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -1
  83. data/app/pb_kits/playbook/pb_highlight/_highlight.scss +1 -1
  84. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  85. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
  86. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +40 -39
  87. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  88. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
  89. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +16 -15
  90. data/app/pb_kits/playbook/pb_image/_image.scss +41 -36
  91. data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +1 -1
  92. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +3 -2
  93. data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
  94. data/app/pb_kits/playbook/pb_layout/_layout.scss +336 -305
  95. data/app/pb_kits/playbook/pb_layout/_layout.tsx +14 -11
  96. data/app/pb_kits/playbook/pb_layout/item.rb +1 -7
  97. data/app/pb_kits/playbook/pb_layout/layout.rb +16 -25
  98. data/app/pb_kits/playbook/pb_layout/layout.test.js +3 -3
  99. data/app/pb_kits/playbook/pb_legend/_legend.scss +66 -16
  100. data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
  101. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
  102. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  103. data/app/pb_kits/playbook/pb_link/_link.scss +113 -19
  104. data/app/pb_kits/playbook/pb_list/_list.scss +1 -1
  105. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +13 -11
  106. data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
  107. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  108. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  109. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  110. data/app/pb_kits/playbook/pb_message/_message.scss +21 -16
  111. data/app/pb_kits/playbook/pb_message/_message.tsx +1 -0
  112. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +5 -12
  113. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
  114. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +6 -3
  115. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +16 -15
  116. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +1 -1
  117. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -1
  118. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
  119. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +19 -15
  120. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  121. data/app/pb_kits/playbook/pb_online_status/online_status.rb +5 -4
  122. data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
  123. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
  124. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
  125. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +5 -2
  126. data/app/pb_kits/playbook/pb_person/_person.scss +1 -1
  127. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
  128. data/app/pb_kits/playbook/pb_pill/_pill.scss +23 -21
  129. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +15 -13
  130. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +108 -33
  131. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +1 -1
  132. data/app/pb_kits/playbook/pb_radio/_radio.scss +71 -52
  133. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  134. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +0 -3
  135. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +4 -4
  136. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +81 -70
  137. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +9 -1
  138. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
  139. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +3 -1
  140. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +7 -1
  141. data/app/pb_kits/playbook/pb_select/_select.scss +4 -4
  142. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -2
  143. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +17 -8
  144. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +39 -29
  145. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +2 -0
  146. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +8 -11
  147. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +2 -3
  148. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
  149. data/app/pb_kits/playbook/pb_source/_source.scss +8 -8
  150. data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
  151. data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
  152. data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +2 -2
  153. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +5 -5
  154. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +6 -14
  155. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.html.erb +4 -8
  156. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.jsx +0 -5
  157. data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +1 -3
  158. data/app/pb_kits/playbook/pb_text_input/text_input.rb +0 -6
  159. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +6 -6
  160. data/app/pb_kits/playbook/pb_time/_time.scss +44 -17
  161. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +44 -23
  162. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +1 -1
  163. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +5 -8
  164. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +16 -10
  165. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +1 -4
  166. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
  167. data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +2 -2
  168. data/app/pb_kits/playbook/pb_title/_title.scss +44 -39
  169. data/app/pb_kits/playbook/pb_title/_title.tsx +17 -8
  170. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
  171. data/app/pb_kits/playbook/pb_title/title.rb +20 -10
  172. data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
  173. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +19 -8
  174. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +10 -11
  175. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +4 -1
  176. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +3 -4
  177. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
  178. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
  179. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +1 -1
  180. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +1 -1
  181. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.html.erb +1 -22
  182. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +1 -1
  183. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_without_pills.html.erb +2 -2
  184. data/app/pb_kits/playbook/pb_user/_user.scss +83 -33
  185. data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +14 -7
  186. data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
  187. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +23 -8
  188. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
  189. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
  190. data/app/pb_kits/playbook/utilities/_gap.scss +2 -2
  191. data/app/pb_kits/playbook/utilities/globalProps.ts +4 -4
  192. data/dist/chunks/{_line_graph-D94iS5fa.js → _line_graph-CUooRbut.js} +1 -1
  193. data/dist/chunks/_typeahead-Bj9K0Txs.js +6 -0
  194. data/dist/chunks/{_weekday_stacked-DEe6-ZrA.js → _weekday_stacked-C5IaQoRI.js} +2 -2
  195. data/dist/chunks/vendor.js +1 -1
  196. data/dist/menu.yml +0 -6
  197. data/dist/playbook-doc.js +2 -2
  198. data/dist/playbook-rails-react-bindings.js +1 -1
  199. data/dist/playbook-rails.js +1 -1
  200. data/dist/playbook.css +1 -1
  201. data/lib/playbook/spacing.rb +6 -6
  202. data/lib/playbook/version.rb +1 -1
  203. metadata +6 -35
  204. data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +0 -25
  205. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +0 -381
  206. data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +0 -231
  207. data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +0 -3
  208. data/app/pb_kits/playbook/pb_drawer/context.ts +0 -11
  209. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +0 -8
  210. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +0 -41
  211. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +0 -33
  212. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +0 -78
  213. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +0 -3
  214. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +0 -26
  215. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +0 -20
  216. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +0 -59
  217. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +0 -24
  218. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +0 -61
  219. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +0 -24
  220. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +0 -21
  221. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +0 -54
  222. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +0 -1
  223. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +0 -49
  224. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +0 -99
  225. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -20
  226. data/app/pb_kits/playbook/pb_drawer/docs/index.js +0 -7
  227. data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +0 -20
  228. data/app/pb_kits/playbook/pb_drawer/drawer.rb +0 -56
  229. data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +0 -81
  230. data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +0 -60
  231. data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +0 -21
  232. data/app/pb_kits/playbook/pb_drawer/index.js +0 -257
  233. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_default.md +0 -1
  234. data/dist/chunks/_typeahead-Du4IsS-P.js +0 -6
@@ -21,36 +21,46 @@ module Playbook
21
21
  default: nil
22
22
 
23
23
  def classname
24
+ title_classes = ["pb_title_kit"]
25
+
24
26
  if is_size_responsive
25
- generate_classname("pb_title_kit", variant, color, is_bold) + generate_responsive_size_classname
27
+ title_classes << "pb_title_#{variant}" if variant.present?
28
+ title_classes << "pb_title_#{color}" if color.present?
29
+ title_classes << "pb_title_#{is_bold}" if is_bold.present?
30
+ title_classes += generate_responsive_size_classes
26
31
  else
27
- generate_classname("pb_title_kit", size, variant, color, is_bold) + generate_display_size
32
+ title_classes << "pb_title_#{size}" if size.present?
33
+ title_classes << "pb_title_#{variant}" if variant.present?
34
+ title_classes << "pb_title_#{color}" if color.present?
35
+ title_classes << "pb_title_#{is_bold}" if is_bold.present?
36
+ title_classes += generate_display_size_classes
28
37
  end
38
+
39
+ generate_classname(title_classes.compact.join(" "), separator: " ")
29
40
  end
30
41
 
31
42
  def is_bold
32
43
  bold ? nil : "thin"
33
44
  end
34
45
 
35
- def generate_display_size
36
- return "" if display_size.nil?
46
+ def generate_display_size_classes
47
+ return [] if display_size.nil?
37
48
 
38
- " pb_title_kit_dynamic_#{display_size}"
49
+ ["pb_title_dynamic_#{display_size}"]
39
50
  end
40
51
 
41
52
  def is_size_responsive
42
53
  try(:size).is_a?(::Hash)
43
54
  end
44
55
 
45
- def generate_responsive_size_classname
46
- css = ""
56
+ def generate_responsive_size_classes
57
+ classes = []
47
58
  if is_size_responsive
48
59
  size.each do |key, value|
49
- css += " pb_title_kit_#{key}_#{value}"
60
+ classes << "pb_title_#{key}_#{value}"
50
61
  end
51
62
  end
52
-
53
- css unless css.blank?
63
+ classes
54
64
  end
55
65
  end
56
66
  end
@@ -12,7 +12,7 @@ test('returns namespaced class name', () => {
12
12
  )
13
13
 
14
14
  const kit = screen.getByTestId('primary-test')
15
- expect(kit).toHaveClass('pb_title_kit_size_3')
15
+ expect(kit).toHaveClass('pb_title_kit pb_title_3')
16
16
  })
17
17
 
18
18
  test('with thin font weight', () => {
@@ -25,7 +25,7 @@ test('with thin font weight', () => {
25
25
  )
26
26
 
27
27
  const kit = screen.getByTestId('primary-test')
28
- expect(kit).toHaveClass('pb_title_kit_size_3_thin')
28
+ expect(kit).toHaveClass('pb_title_kit pb_title_3 pb_title_thin')
29
29
  })
30
30
 
31
31
  test('with colors', () => {
@@ -38,7 +38,7 @@ test('with colors', () => {
38
38
  )
39
39
 
40
40
  const kit = screen.getByTestId('primary-test')
41
- expect(kit).toHaveClass('pb_title_kit_size_3_success')
41
+ expect(kit).toHaveClass('pb_title_kit pb_title_3 pb_title_success')
42
42
  })
43
43
 
44
44
  test('with responsive title', () => {
@@ -51,5 +51,5 @@ test('with responsive title', () => {
51
51
  )
52
52
 
53
53
  const kit = screen.getByTestId('primary-test')
54
- expect(kit).toHaveClass('pb_title_kit pb_title_kit_xs_3 pb_title_kit_sm_2 pb_title_kit_md_1')
54
+ expect(kit).toHaveClass('pb_title_kit pb_title_xs_3 pb_title_sm_2 pb_title_md_1')
55
55
  })
@@ -1,20 +1,31 @@
1
1
  @import "../pb_title/title";
2
2
  @import "../pb_body/body";
3
3
 
4
- [class^=pb_title_count_kit] {
4
+ .pb_title_count_kit_left_lg,
5
+ .pb_title_count_kit_left_sm,
6
+ .pb_title_count_kit_center_lg,
7
+ .pb_title_count_kit_center_sm,
8
+ .pb_title_count_kit_right_lg,
9
+ .pb_title_count_kit_right_sm {
5
10
  display: flex;
6
- justify-content: flex-start;
7
11
  align-items: baseline;
8
12
 
9
13
  & > .pb_title_count_text {
10
14
  padding-right: $space-xs;
11
15
  }
16
+ }
12
17
 
13
- &[class*=_center] {
14
- justify-content: center;
15
- }
18
+ .pb_title_count_kit_left_lg,
19
+ .pb_title_count_kit_left_sm {
20
+ justify-content: flex-start;
21
+ }
16
22
 
17
- &[class*=_right] {
18
- justify-content: flex-end;
19
- }
23
+ .pb_title_count_kit_center_lg,
24
+ .pb_title_count_kit_center_sm {
25
+ justify-content: center;
20
26
  }
27
+
28
+ .pb_title_count_kit_right_lg,
29
+ .pb_title_count_kit_right_sm {
30
+ justify-content: flex-end;
31
+ }
@@ -1,17 +1,16 @@
1
1
  @import "../pb_title/title";
2
2
  @import "../pb_body/body";
3
3
 
4
- [class^=pb_title_detail_kit]{
5
- &[class*=_center] {
6
- & > [class^=pb_title],
7
- & > [class^=pb_body] {
8
- text-align: center;
9
- }
4
+ .pb_title_detail_kit_center {
5
+ & > .pb_title_kit,
6
+ & > .pb_body_kit_light {
7
+ text-align: center;
10
8
  }
11
- &[class*=_right] {
12
- & > [class^=pb_title],
13
- & > [class^=pb_body] {
14
- text-align: right;
15
- }
9
+ }
10
+
11
+ .pb_title_detail_kit_right {
12
+ & > .pb_title_kit,
13
+ & > .pb_body_kit_light {
14
+ text-align: right !important;
16
15
  }
17
16
  }
@@ -5,7 +5,10 @@ $color_checkbox_default: $border_light;
5
5
  $color_disabled: darken($border_light, 20%);
6
6
  $transition: .2s ease-in-out;
7
7
 
8
- [class^=pb_toggle_kit] {
8
+ .pb_toggle_kit_sm_on,
9
+ .pb_toggle_kit_sm_off,
10
+ .pb_toggle_kit_md_on,
11
+ .pb_toggle_kit_md_off {
9
12
  position: relative;
10
13
  $width: 44px;
11
14
  $height: $width / 2;
@@ -22,7 +22,7 @@ $tooltip_shadow: rgba(60, 106, 172, 0.18);
22
22
  }
23
23
  }
24
24
 
25
- [class^="pb_tooltip_kit"] {
25
+ .pb_tooltip_kit {
26
26
  ~ .tooltip_tooltip,
27
27
  .tooltip_tooltip {
28
28
  display: block;
@@ -103,8 +103,7 @@ $tooltip_shadow: rgba(60, 106, 172, 0.18);
103
103
  }
104
104
  }
105
105
 
106
- &.dark,
107
- &[class*=_dark]{
106
+ &.dark {
108
107
  ~.tooltip_tooltip,
109
108
  .tooltip_tooltip {
110
109
  //react
@@ -136,7 +135,7 @@ $tooltip_shadow: rgba(60, 106, 172, 0.18);
136
135
  }
137
136
 
138
137
  // Right
139
- [class^="pb_tooltip_kit"] .tooltip_tooltip {
138
+ .pb_tooltip_kit .tooltip_tooltip {
140
139
  $arrow_vertical_offset: calc(50% - #{$space_xs * 1.2});
141
140
 
142
141
  &[data-popper-placement="right"] {
@@ -26,7 +26,7 @@ module Playbook
26
26
  prop :width
27
27
 
28
28
  def classname
29
- generate_classname("pb_tooltip_kit", dark_class)
29
+ generate_classname("pb_tooltip_kit")
30
30
  end
31
31
 
32
32
  def remove_height_properties(combined_html_options_style)
@@ -63,7 +63,7 @@ test('typeahead with pills', () => {
63
63
  )
64
64
 
65
65
  const kit = screen.getByTestId('pills-test')
66
- const pill = kit.querySelector(".pb_form_pill_kit_primary")
66
+ const pill = kit.querySelector(".pb_form_pill_kit.pb_form_pill_primary")
67
67
  expect(pill).toBeInTheDocument()
68
68
  })
69
69
 
@@ -89,7 +89,7 @@ test('typeahead multi select with badges and small pills', () => {
89
89
  )
90
90
 
91
91
  const kit = screen.getByTestId('small-pill-test')
92
- const badge = kit.querySelector(".pb_form_pill_kit_primary.mr_xs.small")
92
+ const badge = kit.querySelector(".pb_form_pill_kit.pb_form_pill_primary.mr_xs.pb_form_pill_small")
93
93
  expect(badge).toBeInTheDocument()
94
94
  })
95
95
 
@@ -135,6 +135,6 @@ test('typeahead with colored pills', () => {
135
135
  )
136
136
 
137
137
  const kit = screen.getByTestId('pills-color-test')
138
- const pill = kit.querySelector(".pb_form_pill_kit_neutral")
138
+ const pill = kit.querySelector(".pb_form_pill_kit.pb_form_pill_neutral")
139
139
  expect(pill).toBeInTheDocument()
140
140
  })
@@ -7,7 +7,7 @@
7
7
  ]
8
8
  %>
9
9
 
10
- <%= pb_rails("typeahead", props: { id: "typeahead-pills-example1", default_options: [options.first], options: options, label: "Colors", name: :foo, pills: true }) %>
10
+ <%= pb_rails("typeahead", props: { id: "typeahead-pills-example1", default_options: [options.first], options: options, label: "Products", name: :foo, pills: true }) %>
11
11
 
12
12
  <%= pb_rails("button", props: {id: "clear-pills", text: "Clear All Options", variant: "secondary"}) %>
13
13
 
@@ -13,7 +13,7 @@ const TypeaheadWithPills = (props) => {
13
13
  <>
14
14
  <Typeahead
15
15
  isMulti
16
- label="Colors"
16
+ label="Products"
17
17
  options={options}
18
18
  placeholder=""
19
19
  {...props}
@@ -7,25 +7,4 @@
7
7
  ]
8
8
  %>
9
9
 
10
- <%= pb_rails("typeahead", props: { id: "typeahead-pills-example1", pill_color: "neutral", default_options: [options.first], options: options, label: "Colors", name: :foo, pills: true }) %>
11
-
12
- <%= pb_rails("button", props: {id: "clear-pills", text: "Clear All Options", variant: "secondary"}) %>
13
-
14
- <!-- This section is an example of the available JavaScript event hooks -->
15
- <%= javascript_tag defer: "defer" do %>
16
- document.addEventListener("pb-typeahead-kit-typeahead-pills-example1-result-option-select", function(event) {
17
- console.log('Option selected')
18
- console.dir(event.detail)
19
- })
20
- document.addEventListener("pb-typeahead-kit-typeahead-pills-example1-result-option-remove", function(event) {
21
- console.log('Option removed')
22
- console.dir(event.detail)
23
- })
24
- document.addEventListener("pb-typeahead-kit-typeahead-pills-example1-result-clear", function() {
25
- console.log('All options cleared')
26
- })
27
-
28
- document.querySelector('#clear-pills').addEventListener('click', function() {
29
- document.dispatchEvent(new CustomEvent('pb-typeahead-kit-typeahead-pills-example1:clear'))
30
- })
31
- <% end %>
10
+ <%= pb_rails("typeahead", props: { id: "typeahead-pills-example2", pill_color: "neutral", options: options, label: "Products", name: :foo, pills: true }) %>
@@ -13,7 +13,7 @@ const TypeaheadWithPills = (props) => {
13
13
  <>
14
14
  <Typeahead
15
15
  isMulti
16
- label="Colors"
16
+ label="Products"
17
17
  options={options}
18
18
  pillColor="neutral"
19
19
  placeholder=""
@@ -9,9 +9,9 @@
9
9
 
10
10
  <%= pb_rails("typeahead", props: {
11
11
  id: "typeahead-without-pills-example1",
12
- placeholder: "All Colors",
12
+ placeholder: "All Products",
13
13
  options: options,
14
- label: "Colors",
14
+ label: "Products",
15
15
  name: :foo,
16
16
  is_multi: false
17
17
  })
@@ -3,52 +3,102 @@
3
3
  @import "../pb_avatar/avatar";
4
4
  @import "../tokens/spacing";
5
5
 
6
- [class^=pb_user_kit]{
6
+ // Base user kit styles
7
+ .pb_user_kit_left_horizontal_sm,
8
+ .pb_user_kit_left_horizontal_md,
9
+ .pb_user_kit_left_horizontal_lg,
10
+ .pb_user_kit_center_horizontal_sm,
11
+ .pb_user_kit_center_horizontal_md,
12
+ .pb_user_kit_center_horizontal_lg,
13
+ .pb_user_kit_right_horizontal_sm,
14
+ .pb_user_kit_right_horizontal_md,
15
+ .pb_user_kit_right_horizontal_lg,
16
+ .pb_user_kit_left_vertical_sm,
17
+ .pb_user_kit_left_vertical_md,
18
+ .pb_user_kit_left_vertical_lg,
19
+ .pb_user_kit_center_vertical_sm,
20
+ .pb_user_kit_center_vertical_md,
21
+ .pb_user_kit_center_vertical_lg,
22
+ .pb_user_kit_right_vertical_sm,
23
+ .pb_user_kit_right_vertical_md,
24
+ .pb_user_kit_right_vertical_lg {
7
25
  display: flex;
8
26
  justify-content: flex-start;
9
27
  align-items: flex-start;
10
28
  flex-direction: row;
29
+ }
11
30
 
12
- // Orientation =============
13
- &[class*=_vertical] {
14
- flex-direction: column;
31
+ // Vertical orientation
32
+ .pb_user_kit_left_vertical_sm,
33
+ .pb_user_kit_left_vertical_md,
34
+ .pb_user_kit_left_vertical_lg,
35
+ .pb_user_kit_center_vertical_sm,
36
+ .pb_user_kit_center_vertical_md,
37
+ .pb_user_kit_center_vertical_lg,
38
+ .pb_user_kit_right_vertical_sm,
39
+ .pb_user_kit_right_vertical_md,
40
+ .pb_user_kit_right_vertical_lg {
41
+ flex-direction: column;
15
42
 
16
- &[class*=_center] {
17
- align-items: center;
43
+ .pb_avatar_kit_size_sm,
44
+ .pb_avatar_kit_size_md,
45
+ .pb_avatar_kit_size_lg,
46
+ .pb_avatar_kit_size_xl {
47
+ margin-bottom: $space-xs;
48
+ }
49
+ }
18
50
 
19
- [class^=pb_title],
20
- [class^=pb_body] {
21
- text-align: center;
22
- }
23
- }
51
+ .pb_user_kit_center_vertical_sm,
52
+ .pb_user_kit_center_vertical_md,
53
+ .pb_user_kit_center_vertical_lg {
54
+ align-items: center;
24
55
 
25
- &[class*=_right] {
26
- align-items: flex-end;
56
+ .pb_title_kit,
57
+ .pb_body_kit {
58
+ text-align: center;
59
+ }
60
+ }
27
61
 
28
- [class^=pb_title],
29
- [class^=pb_body] {
30
- text-align: right;
31
- }
32
- }
62
+ // Vertical right alignment
63
+ .pb_user_kit_right_vertical_sm,
64
+ .pb_user_kit_right_vertical_md,
65
+ .pb_user_kit_right_vertical_lg {
66
+ align-items: flex-end;
33
67
 
34
- [class^=pb_avatar] {
35
- margin-bottom: $space-xs;
36
- }
68
+ .pb_title_kit,
69
+ .pb_body_kit {
70
+ text-align: right;
37
71
  }
72
+ }
38
73
 
39
- &[class*=_horizontal] {
40
- align-items: center;
74
+ // Horizontal orientation
75
+ .pb_user_kit_left_horizontal_sm,
76
+ .pb_user_kit_left_horizontal_md,
77
+ .pb_user_kit_left_horizontal_lg,
78
+ .pb_user_kit_center_horizontal_sm,
79
+ .pb_user_kit_center_horizontal_md,
80
+ .pb_user_kit_center_horizontal_lg,
81
+ .pb_user_kit_right_horizontal_sm,
82
+ .pb_user_kit_right_horizontal_md,
83
+ .pb_user_kit_right_horizontal_lg {
84
+ align-items: center;
41
85
 
42
- &[class*=_center] {
43
- justify-content: center;
44
- }
86
+ .pb_avatar_kit_size_lg,
87
+ .pb_avatar_kit_size_md,
88
+ .pb_avatar_kit_size_sm,
89
+ .pb_avatar_kit_size_xl {
90
+ margin-right: $space-sm;
91
+ }
92
+ }
45
93
 
46
- &[class*=_right] {
47
- justify-content: flex-end;
48
- }
94
+ .pb_user_kit_center_horizontal_sm,
95
+ .pb_user_kit_center_horizontal_md,
96
+ .pb_user_kit_center_horizontal_lg {
97
+ justify-content: center;
98
+ }
49
99
 
50
- [class^=pb_avatar] {
51
- margin-right: $space-sm;
52
- }
53
- }
100
+ .pb_user_kit_right_horizontal_sm,
101
+ .pb_user_kit_right_horizontal_md,
102
+ .pb_user_kit_right_horizontal_lg {
103
+ justify-content: flex-end;
54
104
  }
@@ -1,11 +1,18 @@
1
1
  ### Props
2
2
  | Name | Type | Description | Default | Values |
3
3
  | --- | ----------- | --------- | --------- | --------- |
4
- | **name** | `String` | Sets the User's name | | |
4
+ | **name** | `String` | Sets the User's name | `""` | |
5
+ | **nameFont** | `Typography` | Font styling for the user's name | `.init(font: .title4, variant: .bold)` | |
6
+ | **image** | `Image?` | Sets image for the avatar | `nil` | |
7
+ | **orientation** | `Orientation` | Changes the orientation of the User | `.horizontal` | `.horizontal` `.vertical` |
8
+ | **size** | `Size` | Changes the size of the User | `.medium` | `.xxSmall` `.xSmall` `.small` `.medium` `.large` `.xLarge` |
9
+ | **territory** | `String?` | Adds the User's territory | `nil` | |
10
+ | **title** | `String?` | Adds a title | `nil` | |
11
+ | **subtitle** | `AnyView?` | Adds a subtitle view | `nil` | |
12
+ | **status** | `PBOnlineStatus.Status?` | An indicator for the current status of the user | `nil` | `.online` `.away` `.offline` |
5
13
  | **displayAvatar** | `Bool` | Displays the User's avatar | `true` | `true` `false` |
6
- | **image** | `Image` | Sets image for the avatar | | |
7
- | **orientation** | `Orientation` | Changes the orientation of the User | `.horizontal` | `.horizontal` `.verticle` |
8
- | **size** | `UserAvatarSize` | Changes the size of the User | `.medium` | `.small` `.medium` `.large` |
9
- | **territory** | `String` | Adds the User's territory | | |
10
- | **title** | `String` | Adds a title | | |
11
- | **status** | `PBAvatar.PresenceStatus?` | An idicator for the current status of the user | `.none` | `.online` `.away` `.offline` |
14
+ | **territoryTitleFont** | `PBFont` | Font for territory and title text | `.subcaption` | `.title1` `.body` `.caption` `.subcaption` `.badgeText` `.title4` |
15
+ | **isActive** | `Bool` | Sets whether the user is active | `true` | `true` `false` |
16
+ | **hasInactiveBadge** | `Bool` | Shows inactive badge when user is not active | `false` | `true` `false` |
17
+ | **spacing** | `CGFloat` | Controls spacing between elements | `Spacing.small` | `.none` `.xxSmall` `.xSmall` `.small` `.medium` `.large` `.xLarge` |
18
+
@@ -38,7 +38,7 @@ test('bold prop applies correct styling when false', () => {
38
38
  const titleElement = screen.getByText("Anna Black")
39
39
  expect(titleElement).toBeInTheDocument()
40
40
 
41
- expect(titleElement).toHaveClass('pb_title_kit_size_4_thin')
41
+ expect(titleElement).toHaveClass('pb_title_kit pb_title_4 pb_title_thin')
42
42
  })
43
43
 
44
44
  test('align prop adds desired class', () => {
@@ -4,7 +4,10 @@ $badge-sizes: (
4
4
  "lg": 36px
5
5
  );
6
6
 
7
- [class^=pb_user_badge_kit] {
7
+ .pb_user_badge_kit,
8
+ .pb_user_badge_kit_sm,
9
+ .pb_user_badge_kit_md,
10
+ .pb_user_badge_kit_lg {
8
11
  .pb_user_badge_wrapper {
9
12
  svg,
10
13
  img {
@@ -12,13 +15,25 @@ $badge-sizes: (
12
15
  height: 100%;
13
16
  }
14
17
  }
18
+ }
15
19
 
16
- @each $name, $size in $badge-sizes {
17
- &[class*=_#{$name}] {
18
- .pb_user_badge_wrapper {
19
- width: $size;
20
- height: $size;
21
- }
22
- }
20
+ .pb_user_badge_kit_sm {
21
+ .pb_user_badge_wrapper {
22
+ width: 16px;
23
+ height: 16px;
24
+ }
25
+ }
26
+
27
+ .pb_user_badge_kit_md {
28
+ .pb_user_badge_wrapper {
29
+ width: 26px;
30
+ height: 26px;
31
+ }
32
+ }
33
+
34
+ .pb_user_badge_kit_lg {
35
+ .pb_user_badge_wrapper {
36
+ width: 36px;
37
+ height: 36px;
23
38
  }
24
39
  }
@@ -1,11 +1,11 @@
1
- [class^='pb_weekday_stacked'] {
2
- &[class*='_left'] {
3
- text-align: left;
4
- }
5
- &[class*='_center'] {
6
- text-align: center;
7
- }
8
- &[class*='_right'] {
9
- text-align: right;
10
- }
1
+ .pb_weekday_stacked_kit_left {
2
+ text-align: left;
3
+ }
4
+
5
+ .pb_weekday_stacked_kit_center {
6
+ text-align: center;
7
+ }
8
+
9
+ .pb_weekday_stacked_kit_right {
10
+ text-align: right;
11
11
  }
@@ -48,7 +48,7 @@ describe("WeekdayStacked Kit", () => {
48
48
  );
49
49
 
50
50
  const kit = screen.getByTestId(testId);
51
- const text = kit.querySelector(".pb_title_kit_size_4");
51
+ const text = kit.querySelector(".pb_title_kit.pb_title_4");
52
52
  expect(text.textContent).toEqual("1/1")
53
53
  });
54
54
 
@@ -86,7 +86,7 @@ describe("WeekdayStacked Kit", () => {
86
86
  );
87
87
 
88
88
  const kit = screen.getByTestId(testId);
89
- const text = kit.querySelector(".pb_title_kit_size_4");
89
+ const text = kit.querySelector(".pb_title_4");
90
90
  expect(text.textContent).toEqual("1")
91
91
  });
92
92
 
@@ -99,7 +99,7 @@ describe("WeekdayStacked Kit", () => {
99
99
  );
100
100
 
101
101
  const kit = screen.getByTestId(testId);
102
- const text = kit.querySelector(".pb_title_kit_size_4");
102
+ const text = kit.querySelector(".pb_title_4");
103
103
  expect(text.textContent).toEqual("Jan 1")
104
104
  });
105
105
  });
@@ -12,6 +12,6 @@ $gap_values: (
12
12
 
13
13
  @include global_props_responsive_css($gap_values, 'gap', 'gap');
14
14
 
15
- @include global_props_responsive_css($gap_values, 'column_gap', 'column-gap');
15
+ @include global_props_responsive_css($gap_values, 'columnGap', 'column-gap');
16
16
 
17
- @include global_props_responsive_css($gap_values, 'row_gap', 'row-gap');
17
+ @include global_props_responsive_css($gap_values, 'rowGap', 'row-gap');
@@ -393,16 +393,16 @@ const PROP_CATEGORIES: {[key:string]: (props: {[key: string]: any}) => string} =
393
393
  },
394
394
  columnGapProps: ({ columnGap }: ColumnGap) => {
395
395
  if (typeof columnGap === 'object') {
396
- return getResponsivePropClasses(columnGap, 'column_gap')
396
+ return getResponsivePropClasses(columnGap, 'columnGap')
397
397
  } else {
398
- return columnGap ? `column_gap_${columnGap}` : ''
398
+ return columnGap ? `columnGap_${columnGap}` : ''
399
399
  }
400
400
  },
401
401
  rowGapProps: ({ rowGap }: RowGap) => {
402
402
  if (typeof rowGap === 'object') {
403
- return getResponsivePropClasses(rowGap, 'row_gap')
403
+ return getResponsivePropClasses(rowGap, 'rowGap')
404
404
  } else {
405
- return rowGap ? `row_gap_${rowGap}` : ''
405
+ return rowGap ? `rowGap_${rowGap}` : ''
406
406
  }
407
407
  },
408
408
  minHeightProps: ({ minHeight }: MinHeight) => {