playbook_ui 14.25.0 → 15.0.0.pre.alpha.play1986inlineloadingsolidvariant10321

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 (249) 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/_date_picker.tsx +19 -0
  41. data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +1 -0
  42. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +12 -12
  43. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +2 -2
  44. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +6 -5
  45. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +29 -23
  46. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
  47. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.scss +1 -1
  48. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
  49. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +66 -26
  50. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +1 -1
  51. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
  52. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +8 -15
  53. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +6 -7
  54. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -14
  55. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
  56. data/app/pb_kits/playbook/pb_detail/_detail.scss +86 -21
  57. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +330 -123
  58. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +16 -2
  59. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +10 -7
  60. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
  61. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
  62. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
  63. data/app/pb_kits/playbook/pb_dropdown/index.js +3 -3
  64. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
  65. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +20 -9
  66. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
  67. data/app/pb_kits/playbook/pb_filter/_filter.scss +8 -8
  68. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +65 -29
  69. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -2
  70. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +3 -2
  71. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
  72. data/app/pb_kits/playbook/pb_flex/_flex.scss +106 -100
  73. data/app/pb_kits/playbook/pb_flex/_flex.tsx +38 -28
  74. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +146 -51
  75. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +19 -8
  76. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb +12 -1
  77. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +26 -1
  78. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_rails.md +11 -0
  79. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_react.md +11 -0
  80. data/app/pb_kits/playbook/pb_flex/flex.rb +22 -28
  81. data/app/pb_kits/playbook/pb_flex/flex_item.rb +6 -6
  82. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +1 -1
  83. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +381 -344
  84. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
  85. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +8 -7
  86. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +9 -2
  87. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +5 -5
  88. data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -1
  89. data/app/pb_kits/playbook/pb_highlight/_highlight.scss +1 -1
  90. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  91. data/app/pb_kits/playbook/pb_icon/_icon.scss +4 -0
  92. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
  93. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +40 -39
  94. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  95. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
  96. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +16 -15
  97. data/app/pb_kits/playbook/pb_image/_image.scss +41 -36
  98. data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +1 -1
  99. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +3 -2
  100. data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
  101. data/app/pb_kits/playbook/pb_layout/_layout.scss +336 -305
  102. data/app/pb_kits/playbook/pb_layout/_layout.tsx +14 -11
  103. data/app/pb_kits/playbook/pb_layout/item.rb +1 -7
  104. data/app/pb_kits/playbook/pb_layout/layout.rb +16 -25
  105. data/app/pb_kits/playbook/pb_layout/layout.test.js +3 -3
  106. data/app/pb_kits/playbook/pb_legend/_legend.scss +66 -16
  107. data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
  108. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
  109. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  110. data/app/pb_kits/playbook/pb_link/_link.scss +113 -19
  111. data/app/pb_kits/playbook/pb_list/_list.scss +1 -1
  112. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +13 -11
  113. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +3 -1
  114. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.html.erb +5 -0
  115. data/app/pb_kits/playbook/pb_loading_inline/docs/_loading_inline_variant.jsx +24 -0
  116. data/app/pb_kits/playbook/pb_loading_inline/docs/example.yml +2 -0
  117. data/app/pb_kits/playbook/pb_loading_inline/docs/index.js +1 -0
  118. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.html.erb +1 -1
  119. data/app/pb_kits/playbook/pb_loading_inline/loading_inline.rb +11 -0
  120. data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
  121. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  122. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  123. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  124. data/app/pb_kits/playbook/pb_message/_message.scss +21 -16
  125. data/app/pb_kits/playbook/pb_message/_message.tsx +1 -0
  126. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +5 -12
  127. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
  128. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +6 -3
  129. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +16 -15
  130. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +1 -1
  131. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -1
  132. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
  133. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +19 -15
  134. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  135. data/app/pb_kits/playbook/pb_online_status/online_status.rb +5 -4
  136. data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
  137. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
  138. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
  139. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +5 -2
  140. data/app/pb_kits/playbook/pb_person/_person.scss +1 -1
  141. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
  142. data/app/pb_kits/playbook/pb_pill/_pill.scss +23 -21
  143. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +15 -13
  144. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +108 -33
  145. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +1 -1
  146. data/app/pb_kits/playbook/pb_radio/_radio.scss +71 -52
  147. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  148. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +0 -3
  149. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +4 -4
  150. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +81 -70
  151. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +9 -1
  152. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
  153. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +3 -1
  154. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +7 -1
  155. data/app/pb_kits/playbook/pb_select/_select.scss +4 -4
  156. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -2
  157. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +17 -8
  158. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +39 -29
  159. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +2 -0
  160. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +8 -11
  161. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +2 -3
  162. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
  163. data/app/pb_kits/playbook/pb_source/_source.scss +8 -8
  164. data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
  165. data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
  166. data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +2 -2
  167. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +5 -5
  168. data/app/pb_kits/playbook/pb_text_input/text_input.rb +15 -0
  169. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +6 -6
  170. data/app/pb_kits/playbook/pb_time/_time.scss +44 -17
  171. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +44 -23
  172. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +1 -1
  173. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +5 -8
  174. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +16 -10
  175. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +1 -4
  176. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
  177. data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +2 -2
  178. data/app/pb_kits/playbook/pb_title/_title.scss +44 -39
  179. data/app/pb_kits/playbook/pb_title/_title.tsx +17 -8
  180. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
  181. data/app/pb_kits/playbook/pb_title/title.rb +20 -10
  182. data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
  183. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +19 -8
  184. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +10 -11
  185. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +4 -1
  186. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +3 -4
  187. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
  188. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
  189. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +1 -1
  190. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +1 -1
  191. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.html.erb +1 -22
  192. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +1 -1
  193. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_without_pills.html.erb +2 -2
  194. data/app/pb_kits/playbook/pb_user/_user.scss +83 -33
  195. data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +14 -7
  196. data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
  197. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +23 -8
  198. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
  199. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
  200. data/app/pb_kits/playbook/utilities/_gap.scss +12 -24
  201. data/app/pb_kits/playbook/utilities/globalPropNames.mjs +2 -0
  202. data/app/pb_kits/playbook/utilities/globalProps.ts +28 -4
  203. data/dist/chunks/{_line_graph-BvTZR440.js → _line_graph-CApw7aQD.js} +1 -1
  204. data/dist/chunks/_typeahead-J1_avqdO.js +6 -0
  205. data/dist/chunks/_weekday_stacked-BvW0QnF8.js +37 -0
  206. data/dist/chunks/{lib-DgtxnJqa.js → lib-CY5ZPzic.js} +2 -2
  207. data/dist/chunks/{pb_form_validation-_NsOWfBS.js → pb_form_validation-D3b0JKHH.js} +1 -1
  208. data/dist/chunks/vendor.js +1 -1
  209. data/dist/menu.yml +0 -6
  210. data/dist/playbook-doc.js +2 -2
  211. data/dist/playbook-rails-react-bindings.js +1 -1
  212. data/dist/playbook-rails.js +1 -1
  213. data/dist/playbook.css +1 -1
  214. data/lib/playbook/classnames.rb +2 -0
  215. data/lib/playbook/spacing.rb +53 -1
  216. data/lib/playbook/version.rb +2 -2
  217. metadata +12 -37
  218. data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +0 -25
  219. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +0 -381
  220. data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +0 -231
  221. data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +0 -3
  222. data/app/pb_kits/playbook/pb_drawer/context.ts +0 -11
  223. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +0 -8
  224. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +0 -41
  225. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +0 -33
  226. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +0 -78
  227. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +0 -3
  228. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +0 -26
  229. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +0 -20
  230. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +0 -59
  231. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +0 -24
  232. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +0 -61
  233. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +0 -24
  234. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +0 -21
  235. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +0 -54
  236. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +0 -1
  237. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +0 -49
  238. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +0 -99
  239. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -20
  240. data/app/pb_kits/playbook/pb_drawer/docs/index.js +0 -7
  241. data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +0 -20
  242. data/app/pb_kits/playbook/pb_drawer/drawer.rb +0 -56
  243. data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +0 -81
  244. data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +0 -60
  245. data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +0 -21
  246. data/app/pb_kits/playbook/pb_drawer/index.js +0 -257
  247. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.md +0 -9
  248. data/dist/chunks/_typeahead-BtNEotfH.js +0 -6
  249. data/dist/chunks/_weekday_stacked-qhZxDWNu.js +0 -37
@@ -20,7 +20,7 @@ $pb_dark_title_colors: (
20
20
 
21
21
  @mixin title_colors {
22
22
  @each $name, $color in $pb_title_colors {
23
- &[class*=_#{$name}] {
23
+ &.pb_title_#{$name} {
24
24
  color: $color
25
25
  }
26
26
  }
@@ -28,4 +28,4 @@ $pb_dark_title_colors: (
28
28
 
29
29
  @mixin title_dark {
30
30
  color: $text_dk_default;
31
- }
31
+ }
@@ -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
  });
@@ -1,29 +1,17 @@
1
1
  @import "spacing";
2
2
 
3
- .gap_none {
4
- gap: 0;
5
- }
3
+ $gap_values: (
4
+ none: 0,
5
+ xxs: $space_xxs,
6
+ xs: $space_xs,
7
+ sm: $space_sm,
8
+ md: $space_md,
9
+ lg: $space_lg,
10
+ xl: $space_xl,
11
+ );
6
12
 
7
- .gap_xxs {
8
- gap: $space_xxs;
9
- }
13
+ @include global_props_responsive_css($gap_values, 'gap', 'gap');
10
14
 
11
- .gap_xs {
12
- gap: $space_xs;
13
- }
15
+ @include global_props_responsive_css($gap_values, 'column_gap', 'column-gap');
14
16
 
15
- .gap_sm {
16
- gap: $space_sm;
17
- }
18
-
19
- .gap_md {
20
- gap: $space_md;
21
- }
22
-
23
- .gap_lg {
24
- gap: $space_lg;
25
- }
26
-
27
- .gap_xl {
28
- gap: $space_xl;
29
- }
17
+ @include global_props_responsive_css($gap_values, 'row_gap', 'row-gap');
@@ -27,6 +27,8 @@ export default [
27
27
  "overflow",
28
28
  "order",
29
29
  "numberSpacing",
30
+ "rowGap",
31
+ "columnGap",
30
32
  "gap",
31
33
  "maxWidth",
32
34
  "minWidth",