playbook_ui 14.25.0.pre.alpha.PLAY2361datepickerarrownav9708 → 14.25.0.pre.alpha.PLAY2369textinputautocompleteprop10269

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 (250) 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/date_picker_helper.ts +3 -15
  43. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +12 -12
  44. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +2 -2
  45. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +6 -5
  46. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +29 -23
  47. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
  48. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.scss +1 -1
  49. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
  50. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +66 -26
  51. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +1 -1
  52. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
  53. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +8 -15
  54. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +6 -7
  55. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -14
  56. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
  57. data/app/pb_kits/playbook/pb_detail/_detail.scss +86 -21
  58. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +330 -123
  59. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +16 -2
  60. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +10 -7
  61. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
  62. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
  63. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
  64. data/app/pb_kits/playbook/pb_dropdown/index.js +3 -3
  65. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
  66. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +20 -9
  67. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
  68. data/app/pb_kits/playbook/pb_filter/_filter.scss +8 -8
  69. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +65 -29
  70. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -2
  71. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +3 -2
  72. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
  73. data/app/pb_kits/playbook/pb_flex/_flex.scss +106 -100
  74. data/app/pb_kits/playbook/pb_flex/_flex.tsx +38 -28
  75. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +146 -51
  76. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +19 -8
  77. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb +12 -1
  78. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +26 -1
  79. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_rails.md +11 -0
  80. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_react.md +11 -0
  81. data/app/pb_kits/playbook/pb_flex/flex.rb +22 -28
  82. data/app/pb_kits/playbook/pb_flex/flex_item.rb +6 -6
  83. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +1 -1
  84. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +381 -344
  85. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
  86. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +8 -7
  87. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +9 -2
  88. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +5 -5
  89. data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -1
  90. data/app/pb_kits/playbook/pb_highlight/_highlight.scss +1 -1
  91. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  92. data/app/pb_kits/playbook/pb_icon/_icon.scss +4 -0
  93. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
  94. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +40 -39
  95. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  96. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
  97. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +16 -15
  98. data/app/pb_kits/playbook/pb_image/_image.scss +41 -36
  99. data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +1 -1
  100. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +3 -2
  101. data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
  102. data/app/pb_kits/playbook/pb_layout/_layout.scss +336 -305
  103. data/app/pb_kits/playbook/pb_layout/_layout.tsx +14 -11
  104. data/app/pb_kits/playbook/pb_layout/item.rb +1 -7
  105. data/app/pb_kits/playbook/pb_layout/layout.rb +16 -25
  106. data/app/pb_kits/playbook/pb_layout/layout.test.js +3 -3
  107. data/app/pb_kits/playbook/pb_legend/_legend.scss +66 -16
  108. data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
  109. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
  110. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  111. data/app/pb_kits/playbook/pb_link/_link.scss +113 -19
  112. data/app/pb_kits/playbook/pb_list/_list.scss +1 -1
  113. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +13 -11
  114. data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
  115. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  116. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  117. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  118. data/app/pb_kits/playbook/pb_message/_message.scss +21 -16
  119. data/app/pb_kits/playbook/pb_message/_message.tsx +1 -0
  120. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +5 -12
  121. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
  122. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +6 -3
  123. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +16 -15
  124. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +1 -1
  125. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -1
  126. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
  127. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +19 -15
  128. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  129. data/app/pb_kits/playbook/pb_online_status/online_status.rb +5 -4
  130. data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
  131. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
  132. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
  133. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +5 -2
  134. data/app/pb_kits/playbook/pb_person/_person.scss +1 -1
  135. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
  136. data/app/pb_kits/playbook/pb_pill/_pill.scss +23 -21
  137. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +15 -13
  138. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +108 -33
  139. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +1 -1
  140. data/app/pb_kits/playbook/pb_radio/_radio.scss +71 -52
  141. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  142. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +0 -3
  143. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +4 -4
  144. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +81 -70
  145. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +9 -1
  146. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
  147. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +3 -1
  148. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +7 -1
  149. data/app/pb_kits/playbook/pb_select/_select.scss +4 -4
  150. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -2
  151. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +17 -8
  152. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +39 -29
  153. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +2 -0
  154. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +8 -11
  155. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +2 -3
  156. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
  157. data/app/pb_kits/playbook/pb_source/_source.scss +8 -8
  158. data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
  159. data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
  160. data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +2 -2
  161. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +5 -5
  162. data/app/pb_kits/playbook/pb_text_input/_text_input.tsx +3 -0
  163. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.html.erb +41 -0
  164. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.jsx +80 -0
  165. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_autocomplete.md +1 -0
  166. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +3 -0
  167. data/app/pb_kits/playbook/pb_text_input/docs/index.js +1 -0
  168. data/app/pb_kits/playbook/pb_text_input/text_input.rb +17 -3
  169. data/app/pb_kits/playbook/pb_text_input/text_input.test.js +38 -0
  170. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +6 -6
  171. data/app/pb_kits/playbook/pb_time/_time.scss +44 -17
  172. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +44 -23
  173. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +1 -1
  174. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +5 -8
  175. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +16 -10
  176. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +1 -4
  177. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
  178. data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +2 -2
  179. data/app/pb_kits/playbook/pb_title/_title.scss +44 -39
  180. data/app/pb_kits/playbook/pb_title/_title.tsx +17 -8
  181. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
  182. data/app/pb_kits/playbook/pb_title/title.rb +20 -10
  183. data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
  184. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +19 -8
  185. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +10 -11
  186. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +4 -1
  187. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +3 -4
  188. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
  189. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
  190. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +1 -1
  191. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +1 -1
  192. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.html.erb +1 -22
  193. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +1 -1
  194. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_without_pills.html.erb +2 -2
  195. data/app/pb_kits/playbook/pb_user/_user.scss +83 -33
  196. data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +14 -7
  197. data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
  198. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +23 -8
  199. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
  200. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
  201. data/app/pb_kits/playbook/utilities/_gap.scss +12 -24
  202. data/app/pb_kits/playbook/utilities/globalPropNames.mjs +2 -0
  203. data/app/pb_kits/playbook/utilities/globalProps.ts +28 -4
  204. data/dist/chunks/{_line_graph-Ccznc59K.js → _line_graph-CTpWU06n.js} +1 -1
  205. data/dist/chunks/_typeahead-DmVCLhQz.js +6 -0
  206. data/dist/chunks/_weekday_stacked-DvnT8mDi.js +37 -0
  207. data/dist/chunks/{lib-C43ywQsO.js → lib-CY5ZPzic.js} +1 -1
  208. data/dist/chunks/{pb_form_validation-Cqj3itLG.js → pb_form_validation-D3b0JKHH.js} +1 -1
  209. data/dist/chunks/vendor.js +1 -1
  210. data/dist/menu.yml +0 -6
  211. data/dist/playbook-doc.js +2 -2
  212. data/dist/playbook-rails-react-bindings.js +1 -1
  213. data/dist/playbook-rails.js +1 -1
  214. data/dist/playbook.css +1 -1
  215. data/lib/playbook/classnames.rb +2 -0
  216. data/lib/playbook/spacing.rb +53 -1
  217. data/lib/playbook/version.rb +1 -1
  218. metadata +13 -37
  219. data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +0 -25
  220. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +0 -381
  221. data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +0 -231
  222. data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +0 -3
  223. data/app/pb_kits/playbook/pb_drawer/context.ts +0 -11
  224. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +0 -8
  225. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +0 -41
  226. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +0 -33
  227. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +0 -78
  228. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +0 -3
  229. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +0 -26
  230. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +0 -20
  231. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +0 -59
  232. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +0 -24
  233. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +0 -61
  234. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +0 -24
  235. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +0 -21
  236. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +0 -54
  237. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +0 -1
  238. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +0 -49
  239. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +0 -99
  240. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -20
  241. data/app/pb_kits/playbook/pb_drawer/docs/index.js +0 -7
  242. data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +0 -20
  243. data/app/pb_kits/playbook/pb_drawer/drawer.rb +0 -56
  244. data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +0 -81
  245. data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +0 -60
  246. data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +0 -21
  247. data/app/pb_kits/playbook/pb_drawer/index.js +0 -257
  248. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.md +0 -9
  249. data/dist/chunks/_typeahead-QdrWudzd.js +0 -6
  250. data/dist/chunks/_weekday_stacked-DG1VCDDN.js +0 -37
@@ -1,73 +1,78 @@
1
1
  @import "../tokens/titles";
2
2
  @import "../tokens/colors";
3
+ @import "../tokens/typography";
3
4
  @import "../tokens/screen_sizes";
4
5
  @import './title_mixin';
5
6
 
6
- [class^=pb_title_kit] {
7
- &[class*=_1] {
7
+ .pb_title_kit {
8
+ // Base title styles - default to title 3 styling
9
+ @include pb_title_3;
10
+ @include pb_title_bold;
11
+
12
+ // Size-based styles (these will override the base)
13
+ &.pb_title_1 {
8
14
  @include pb_title_1;
9
- @include title_colors;
10
15
  @include pb_title_bold;
11
16
  }
12
17
 
13
- &[class*=_2] {
18
+ &.pb_title_2 {
14
19
  @include pb_title_2;
15
- @include title_colors;
16
20
  @include pb_title_bold;
17
21
  }
18
22
 
19
- &[class*=_3] {
23
+ &.pb_title_3 {
20
24
  @include pb_title_3;
21
- @include title_colors;
22
25
  @include pb_title_bold;
23
26
  }
24
27
 
25
- &[class*=_4] {
28
+ &.pb_title_4 {
26
29
  @include pb_title_4;
27
- @include title_colors;
28
30
  }
29
31
 
30
- &[class*=_thin] {
32
+ &.pb_title_thin {
31
33
  @include pb_title_thin;
32
34
  }
33
35
 
34
- &[class*=_display] {
36
+ // Color classes
37
+ @include title_colors;
38
+
39
+ // Display sizes
40
+ &.pb_title_display {
35
41
  font-size: clamp(24px, calc(1.25vw + 5.3vw), 128px);
42
+ font-weight: $bold;
36
43
  }
37
44
 
38
- &[class*=_dynamic] {
39
- &[class*=_xs] {
40
- font-size: min(2vw, 80vw / 16);
41
- }
42
-
43
- &[class*=_sm] {
44
- font-size: min(2.5vw, 96vw / 16);
45
- }
46
-
47
- &[class*=_md] {
48
- font-size: min(4vw, 160vw / 16);
49
- }
50
-
51
- &[class*=_lg] {
52
- font-size: min(5vw, 192vw / 16);
53
- }
54
-
55
- &[class*=_xl] {
56
- font-size: min(6vw, 224vw / 16);
57
- }
58
-
59
- &[class*=_xxl] {
60
- font-size: min(8vw, 256vw / 16);
61
- }
45
+ // Dynamic sizes
46
+ &.pb_title_dynamic_xs {
47
+ font-size: min(2vw, 80vw / 16);
48
+ }
49
+
50
+ &.pb_title_dynamic_sm {
51
+ font-size: min(2.5vw, 96vw / 16);
52
+ }
53
+
54
+ &.pb_title_dynamic_md {
55
+ font-size: min(4vw, 160vw / 16);
62
56
  }
63
-
64
57
 
58
+ &.pb_title_dynamic_lg {
59
+ font-size: min(5vw, 192vw / 16);
60
+ }
61
+
62
+ &.pb_title_dynamic_xl {
63
+ font-size: min(6vw, 224vw / 16);
64
+ }
65
+
66
+ &.pb_title_dynamic_xxl {
67
+ font-size: min(8vw, 256vw / 16);
68
+ }
65
69
 
70
+ // Responsive breakpoint classes
66
71
  @each $size, $size_value in $breakpoints_grid {
67
72
  @for $title_size_value from 1 through 4 {
68
73
  $min_size: map-get($size_value, "min");
69
74
  $max_size: map-get($size_value, "max");
70
- &[class*=_#{$size}_#{$title_size_value}] {
75
+ &.pb_title_#{$size}_#{$title_size_value} {
71
76
  @include break_on($min_size, $max_size) {
72
77
  @if $title_size_value == 1 { @include pb_title_1; }
73
78
  @else if $title_size_value == 2 { @include pb_title_2; }
@@ -83,9 +88,9 @@
83
88
  &.dark {
84
89
  @include title_dark;
85
90
  @each $name, $color in $pb_dark_title_colors {
86
- &[class*="_#{$name}"] {
91
+ &.pb_title_#{$name} {
87
92
  color: $color;
88
93
  }
89
94
  }
90
95
  }
91
- }
96
+ }
@@ -43,32 +43,41 @@ const Title = (props: TitleProps): React.ReactElement => {
43
43
  const ariaProps: {[key: string]: string | number} = buildAriaProps(aria)
44
44
  const dataProps: {[key: string]: string | number} = buildDataProps(data)
45
45
  const htmlProps = buildHtmlProps(htmlOptions)
46
- const getBold = bold ? '' : 'thin'
47
46
  const isSizeNumberOrString = typeof size === "number" || typeof size === "string"
48
47
 
49
48
  const buildResponsiveSizeCss = () => {
50
- let css = ''
49
+ const classes: string[] = []
51
50
 
52
51
  if (!isSizeNumberOrString) {
53
52
  Object.entries(size).forEach((sizeObj) => {
54
- css += `pb_title_kit_${sizeObj[0]}_${sizeObj[1]} `
53
+ classes.push(`pb_title_${sizeObj[0]}_${sizeObj[1]}`)
55
54
  })
56
55
  }
57
56
 
58
- return css.trim()
57
+ return classes
59
58
  }
60
59
 
61
60
  const buildDisplaySize = () => {
62
61
  if (displaySize) {
63
- return `pb_title_kit_dynamic_${displaySize}`
62
+ return [`pb_title_dynamic_${displaySize}`]
64
63
  }
64
+ return []
65
65
  }
66
66
 
67
+ const titleClasses = ['pb_title_kit']
68
+
69
+ if (isSizeNumberOrString) {
70
+ titleClasses.push(`pb_title_${size}`)
71
+ }
72
+ if (variant) titleClasses.push(`pb_title_${variant}`)
73
+ if (color) titleClasses.push(`pb_title_${color}`)
74
+ if (!bold) titleClasses.push('pb_title_thin')
75
+ titleClasses.push(...buildDisplaySize())
76
+ titleClasses.push(...buildResponsiveSizeCss())
77
+
67
78
  const classes = classnames(
68
- buildCss('pb_title_kit', isSizeNumberOrString ? `size_${size}` : "", variant, color, getBold),
79
+ titleClasses.join(' '),
69
80
  globalProps(props),
70
- buildDisplaySize(),
71
- buildResponsiveSizeCss(),
72
81
  className
73
82
  )
74
83
  const Tag: React.ReactElement | any = `${tag}`
@@ -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
+