playbook_ui 14.25.0.pre.alpha.testingcss9700 → 14.25.0.pre.alpha.testingcss9751

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 (228) 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 +79 -68
  24. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +4 -4
  25. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +11 -2
  26. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +7 -7
  27. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +1 -1
  28. data/app/pb_kits/playbook/pb_collapsible/__snapshots__/collapsible.test.js.snap +1 -1
  29. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +4 -4
  30. data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +19 -19
  31. data/app/pb_kits/playbook/pb_currency/_currency.scss +124 -39
  32. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +16 -6
  33. data/app/pb_kits/playbook/pb_date/_date.scss +16 -18
  34. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +1 -1
  35. data/app/pb_kits/playbook/pb_date_picker/_date_picker.tsx +19 -0
  36. data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +1 -0
  37. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +12 -12
  38. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +2 -2
  39. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +5 -5
  40. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +29 -23
  41. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
  42. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.scss +1 -1
  43. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
  44. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +66 -26
  45. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
  46. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +8 -15
  47. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +6 -7
  48. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -14
  49. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
  50. data/app/pb_kits/playbook/pb_detail/_detail.scss +86 -21
  51. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +330 -123
  52. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +16 -2
  53. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +10 -7
  54. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
  55. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
  56. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
  57. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +20 -9
  58. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
  59. data/app/pb_kits/playbook/pb_filter/_filter.scss +8 -8
  60. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +65 -29
  61. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -2
  62. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
  63. data/app/pb_kits/playbook/pb_flex/_flex.scss +106 -100
  64. data/app/pb_kits/playbook/pb_flex/_flex.tsx +38 -28
  65. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +146 -51
  66. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +19 -8
  67. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.html.erb +12 -1
  68. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.jsx +26 -1
  69. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_rails.md +11 -0
  70. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap_react.md +11 -0
  71. data/app/pb_kits/playbook/pb_flex/flex.rb +73 -39
  72. data/app/pb_kits/playbook/pb_flex/flex_item.rb +51 -6
  73. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +1 -1
  74. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +381 -344
  75. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
  76. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +8 -7
  77. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +9 -2
  78. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +5 -5
  79. data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -1
  80. data/app/pb_kits/playbook/pb_highlight/_highlight.scss +1 -1
  81. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  82. data/app/pb_kits/playbook/pb_icon/_icon.scss +4 -0
  83. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
  84. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +40 -39
  85. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  86. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
  87. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +16 -15
  88. data/app/pb_kits/playbook/pb_image/_image.scss +41 -36
  89. data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +1 -1
  90. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +3 -2
  91. data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
  92. data/app/pb_kits/playbook/pb_layout/_layout.scss +330 -305
  93. data/app/pb_kits/playbook/pb_layout/_layout.tsx +14 -11
  94. data/app/pb_kits/playbook/pb_layout/body.rb +1 -1
  95. data/app/pb_kits/playbook/pb_layout/footer.rb +1 -1
  96. data/app/pb_kits/playbook/pb_layout/header.rb +1 -1
  97. data/app/pb_kits/playbook/pb_layout/item.rb +1 -7
  98. data/app/pb_kits/playbook/pb_layout/layout.rb +16 -25
  99. data/app/pb_kits/playbook/pb_layout/layout.test.js +3 -3
  100. data/app/pb_kits/playbook/pb_layout/sidebar.rb +1 -1
  101. data/app/pb_kits/playbook/pb_legend/_legend.scss +66 -16
  102. data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
  103. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
  104. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  105. data/app/pb_kits/playbook/pb_link/_link.scss +113 -19
  106. data/app/pb_kits/playbook/pb_list/_list.scss +1 -1
  107. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +13 -11
  108. data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
  109. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  110. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  111. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  112. data/app/pb_kits/playbook/pb_message/_message.scss +21 -16
  113. data/app/pb_kits/playbook/pb_message/_message.tsx +1 -0
  114. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +5 -12
  115. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
  116. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +6 -3
  117. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +16 -15
  118. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +1 -1
  119. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -1
  120. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
  121. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +19 -15
  122. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  123. data/app/pb_kits/playbook/pb_online_status/online_status.rb +5 -4
  124. data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
  125. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
  126. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
  127. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +5 -2
  128. data/app/pb_kits/playbook/pb_person/_person.scss +1 -1
  129. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
  130. data/app/pb_kits/playbook/pb_pill/_pill.scss +23 -21
  131. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +15 -13
  132. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +108 -33
  133. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +1 -1
  134. data/app/pb_kits/playbook/pb_radio/_radio.scss +71 -52
  135. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  136. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +0 -3
  137. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +4 -4
  138. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +81 -70
  139. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +9 -1
  140. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
  141. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +3 -1
  142. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +7 -1
  143. data/app/pb_kits/playbook/pb_select/_select.scss +4 -4
  144. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -2
  145. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +17 -8
  146. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +39 -29
  147. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +2 -0
  148. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +8 -11
  149. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +24 -25
  150. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
  151. data/app/pb_kits/playbook/pb_source/_source.scss +8 -8
  152. data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
  153. data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
  154. data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +2 -2
  155. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +5 -5
  156. data/app/pb_kits/playbook/pb_text_input/text_input.rb +15 -0
  157. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +6 -6
  158. data/app/pb_kits/playbook/pb_time/_time.scss +44 -17
  159. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +1 -1
  160. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +5 -8
  161. data/app/pb_kits/playbook/pb_title/_title.scss +42 -39
  162. data/app/pb_kits/playbook/pb_title/_title.tsx +17 -8
  163. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
  164. data/app/pb_kits/playbook/pb_title/title.rb +20 -10
  165. data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
  166. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +19 -8
  167. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +10 -11
  168. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
  169. data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
  170. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +23 -8
  171. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
  172. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
  173. data/app/pb_kits/playbook/utilities/_gap.scss +12 -24
  174. data/app/pb_kits/playbook/utilities/globalPropNames.mjs +2 -0
  175. data/app/pb_kits/playbook/utilities/globalProps.ts +28 -4
  176. data/dist/chunks/_line_graph-Dv_ODxW3.js +1 -0
  177. data/dist/chunks/_typeahead-CD5RAaaP.js +6 -0
  178. data/dist/chunks/_weekday_stacked-Bv6tOPKC.js +37 -0
  179. data/dist/chunks/lazysizes-B7xYodB-.js +1 -0
  180. data/dist/chunks/lib-CY5ZPzic.js +29 -0
  181. data/dist/chunks/pb_form_validation-D3b0JKHH.js +1 -0
  182. data/dist/chunks/vendor.js +1 -11
  183. data/dist/menu.yml +0 -6
  184. data/dist/playbook-doc.js +3 -67243
  185. data/dist/playbook-rails-react-bindings.js +1 -112
  186. data/dist/playbook-rails.js +1 -2464
  187. data/dist/playbook.css +2 -92354
  188. data/dist/reset.css +1 -89
  189. data/lib/playbook/classnames.rb +2 -0
  190. data/lib/playbook/spacing.rb +53 -1
  191. data/lib/playbook/version.rb +1 -1
  192. metadata +10 -38
  193. data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +0 -25
  194. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +0 -381
  195. data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +0 -231
  196. data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +0 -3
  197. data/app/pb_kits/playbook/pb_drawer/context.ts +0 -11
  198. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +0 -8
  199. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +0 -41
  200. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +0 -33
  201. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +0 -78
  202. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +0 -3
  203. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +0 -26
  204. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +0 -20
  205. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +0 -59
  206. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +0 -24
  207. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +0 -61
  208. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +0 -24
  209. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +0 -21
  210. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +0 -54
  211. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +0 -1
  212. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +0 -49
  213. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +0 -99
  214. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +0 -20
  215. data/app/pb_kits/playbook/pb_drawer/docs/index.js +0 -7
  216. data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +0 -20
  217. data/app/pb_kits/playbook/pb_drawer/drawer.rb +0 -56
  218. data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +0 -81
  219. data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +0 -60
  220. data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +0 -21
  221. data/app/pb_kits/playbook/pb_drawer/index.js +0 -257
  222. data/app/pb_kits/playbook/pb_flex/docs/_flex_gap.md +0 -9
  223. data/dist/chunks/_line_graph-DPTwfQR-.js +0 -544
  224. data/dist/chunks/_typeahead-CEqlHw0H.js +0 -30978
  225. data/dist/chunks/_weekday_stacked-D3dG14OB.js +0 -20894
  226. data/dist/chunks/lazysizes-BUUj27EF.js +0 -611
  227. data/dist/chunks/lib-CIetbXpr.js +0 -9609
  228. data/dist/chunks/pb_form_validation-D_g9rOE9.js +0 -60
@@ -13,7 +13,7 @@ test('should render classname', () => {
13
13
  )
14
14
 
15
15
  const kit = screen.getByTestId(testId)
16
- expect(kit).toHaveClass('pb_form_pill_kit_primary none')
16
+ expect(kit).toHaveClass('pb_form_pill_kit pb_form_pill_primary pb_form_pill_none')
17
17
  });
18
18
 
19
19
  test('displays text content', () => {
@@ -37,7 +37,7 @@ test('displays color variant', () => {
37
37
  />
38
38
  )
39
39
  const kit = screen.getByTestId(testId)
40
- expect(kit).toHaveClass(`pb_form_pill_kit_neutral none`)
40
+ expect(kit).toHaveClass(`pb_form_pill_kit pb_form_pill_neutral pb_form_pill_none`)
41
41
  });
42
42
 
43
43
  test('displays size variant', () => {
@@ -49,7 +49,7 @@ test('displays size variant', () => {
49
49
  />
50
50
  )
51
51
  const kit = screen.getByTestId('formpill')
52
- expect(kit).toHaveClass(`pb_form_pill_kit_primary small none`)
52
+ expect(kit).toHaveClass(`pb_form_pill_kit pb_form_pill_small pb_form_pill_primary pb_form_pill_none`)
53
53
  });
54
54
 
55
55
  test('displays icon', () => {
@@ -60,5 +60,5 @@ test('displays icon', () => {
60
60
  />
61
61
  )
62
62
  const kit = screen.getByTestId('formpill')
63
- expect(kit).toHaveClass(`pb_form_pill_kit_primary_icon none`)
63
+ expect(kit).toHaveClass(`pb_form_pill_kit_icon pb_form_pill_primary pb_form_pill_none`)
64
64
  });
@@ -48,7 +48,7 @@ const FormPill = (props: FormPillProps): React.ReactElement => {
48
48
  icon = "",
49
49
  } = props
50
50
 
51
- const iconClass = icon ? "_icon" : ""
51
+ const iconClass = icon ? "icon" : ""
52
52
  const closeIconSize = size === "small" ? "xs" : "sm"
53
53
  const wrappedClass = wrapped ? "wrapped" : ""
54
54
 
@@ -56,12 +56,13 @@ const FormPill = (props: FormPillProps): React.ReactElement => {
56
56
  delete filteredProps.truncate
57
57
 
58
58
  const css = classnames(
59
- `pb_form_pill_kit_${color}${iconClass}`,
60
- globalProps(filteredProps),
61
- wrappedClass,
62
- className,
63
- size === 'small' ? 'small' : null,
64
- textTransform,
59
+ icon ? 'pb_form_pill_kit_icon' : 'pb_form_pill_kit',
60
+ wrapped ? 'pb_form_pill_wrapped' : null,
61
+ size === 'small' ? 'pb_form_pill_small' : null,
62
+ `pb_form_pill_${color}`,
63
+ `pb_form_pill_${textTransform}`,
64
+ globalProps(filteredProps),
65
+ className,
65
66
  )
66
67
 
67
68
  const dataProps = buildDataProps(data)
@@ -20,7 +20,14 @@ module Playbook
20
20
  default: false
21
21
 
22
22
  def classname
23
- generate_classname("pb_form_pill_kit", color, icon_class, name, text, text_transform, wrapped_class)
23
+ classes = []
24
+ classes << (icon ? "pb_form_pill_kit_icon" : "pb_form_pill_kit")
25
+ classes << "pb_form_pill_wrapped" if wrapped
26
+ classes << "pb_form_pill_small" if size == "small"
27
+ classes << "pb_form_pill_#{color}"
28
+ classes << "pb_form_pill_#{text_transform}"
29
+ classes.join(" ")
30
+ generate_classname(classes.join(" "), separator: " ")
24
31
  end
25
32
 
26
33
  def display_text
@@ -32,7 +39,7 @@ module Playbook
32
39
  end
33
40
 
34
41
  def icon_class
35
- icon ? "icon" : nil
42
+ icon ? "icon" : ""
36
43
  end
37
44
 
38
45
  def close_icon_size
@@ -1,12 +1,12 @@
1
1
  @import "../tokens/colors";
2
2
 
3
- [class^=pb_gauge_kit] {
3
+ .pb_gauge_kit {
4
4
 
5
5
  .fix {
6
6
  fill: $text_lt_default;
7
7
  stroke: none;
8
8
 
9
- &[class*=dark] {
9
+ &.dark {
10
10
  fill: $text_dk_default;
11
11
  }
12
12
  }
@@ -16,7 +16,7 @@
16
16
  stroke: none;
17
17
  font: $regular $font_larger $font_family_base;
18
18
 
19
- &[class*=dark] {
19
+ &.dark {
20
20
  fill: $text_dk_light;
21
21
  }
22
22
  }
@@ -25,7 +25,7 @@
25
25
  stroke: none;
26
26
  font: $regular $font_base $font_family_base;
27
27
 
28
- &[class*=dark] {
28
+ &.dark {
29
29
  fill: $text_dk_light;
30
30
  }
31
31
  }
@@ -38,7 +38,7 @@
38
38
  stroke-linejoin: round;
39
39
  }
40
40
 
41
- &[class*=dark] {
41
+ &.dark {
42
42
  color: $text_dk_default;
43
43
 
44
44
  .pb_title_kit_size_1,
@@ -1,3 +1,3 @@
1
- [class^=pb_hastag_kit] {
1
+ .pb_hastag_kit {
2
2
  display: inline-block;
3
3
  }
@@ -1,4 +1,4 @@
1
- [class^=pb_highlight_kit] {
1
+ .pb_highlight_kit {
2
2
  background-color: rgba($yellow,$opacity_2);
3
3
 
4
4
  mark {
@@ -38,14 +38,14 @@ function HomeAdressStreetTest(props) {
38
38
 
39
39
  test("emphasize street by not setting a prop", () => {
40
40
  const { container } = render(<HomeAdressStreetTest />);
41
- expect(container.getElementsByClassName("pb_title_kit_size_4 pb_home_address_street_address")[0]).toHaveTextContent(address);
41
+ expect(container.querySelector(".pb_title_kit.pb_title_4.pb_home_address_street_address")).toHaveTextContent(address);
42
42
 
43
43
  cleanup()
44
44
  });
45
45
 
46
46
  test("emphasize city", () => {
47
47
  const { container } = render(<HomeAdressStreetTest emphasis="city" />);
48
- expect(container.getElementsByClassName("pb_title_kit_size_4 pb_home_address_street_address")[0]).toHaveTextContent(city);
48
+ expect(container.querySelector(".pb_title_kit.pb_title_4.pb_home_address_street_address")).toHaveTextContent(city);
49
49
 
50
50
  cleanup()
51
51
  });
@@ -242,4 +242,8 @@ svg {
242
242
  animation: fa-spin 1s infinite linear;
243
243
  }
244
244
  }
245
+
246
+ &.dark {
247
+ color: white;
248
+ }
245
249
  }
@@ -15,7 +15,7 @@ $icon_colors: (
15
15
  height: fit-content;
16
16
 
17
17
  &:hover {
18
- [class*="pb_button_kit"] {
18
+ .pb_button_kit {
19
19
  background-color: $bg_light;
20
20
  }
21
21
  .icon_button_icon {
@@ -24,7 +24,7 @@ $icon_colors: (
24
24
  }
25
25
 
26
26
  &:active {
27
- [class*="pb_button_kit"] {
27
+ .pb_button_kit {
28
28
  background-color: $bg_light;
29
29
  }
30
30
  .icon_button_icon {
@@ -33,7 +33,7 @@ $icon_colors: (
33
33
  }
34
34
 
35
35
  &:hover:active {
36
- [class*="pb_button_kit"] {
36
+ .pb_button_kit {
37
37
  background-color: $bg_light;
38
38
  }
39
39
  .icon_button_icon {
@@ -46,7 +46,7 @@ $icon_colors: (
46
46
  border-radius: 8px;
47
47
  }
48
48
 
49
- [class*="pb_button_kit"] {
49
+ .pb_button_kit {
50
50
  min-height: 0;
51
51
  background: none;
52
52
  position: relative;
@@ -14,55 +14,56 @@ $pb_icon_circle_sizes: (
14
14
  "xl": 100px,
15
15
  );
16
16
 
17
- [class^=pb_icon_circle_kit] {
18
- display: flex;
19
- justify-content: center;
20
- align-items: center;
21
- object-fit: cover;
22
- overflow: hidden;
23
- position: relative;
24
- // font-family set to sans-serif ONLY for emojis.
25
- //Needed to fix misalignment issue caused by Proxima font
26
- .icon_circle_emoji {
27
- font-family: monospace;
28
- }
29
-
30
- i,
31
- svg {
32
- &[class^=pb_icon_kit] {
33
- width: 100%;
34
- height: 100%;
35
- display: block;
36
- text-align: center;
37
- text-transform: uppercase;
17
+ // All icon circle variations with complete styling
18
+ @each $size_name, $size_value in $pb_icon_circle_sizes {
19
+ @each $color_name, $color_value in $colors {
20
+ .pb_icon_circle_kit_size_#{$size_name}_#{$color_name} {
21
+ // Base styles
22
+ display: flex;
23
+ justify-content: center;
24
+ align-items: center;
25
+ object-fit: cover;
26
+ overflow: hidden;
38
27
  position: relative;
39
- z-index: 0;
40
- }
41
- }
42
-
43
- @each $name, $size in $pb_icon_circle_sizes {
44
- &[class*=_size_#{$name}] {
45
- width: $size;
46
- height: $size;
47
- border-radius: $size/2;
28
+
29
+ // Size-specific styles
30
+ width: $size_value;
31
+ height: $size_value;
32
+ border-radius: $size_value/2;
48
33
  background: $silver;
49
34
  color: $text_lt_light;
50
- font-size: if($name == "xxs", $size - 6px, $size * 0.38);
51
- line-height: $size;
35
+ font-size: if($size_name == "xxs", $size_value - 6px, $size_value * 0.38);
36
+ line-height: $size_value;
52
37
  flex-shrink: 0;
53
38
  flex-grow: 0;
54
- flex-basis: $size;
55
- }
56
- }
57
-
58
- @each $color_name, $color_value in $colors {
59
- &[class*=_#{"" + $color_name}] {
39
+ flex-basis: $size_value;
40
+
41
+ // Color/variant-specific styles
60
42
  color: $color_value;
61
43
  background: rgba(mix($bg_dark, $color_value, 10%), $opacity_1);
44
+
45
+ // font-family set to sans-serif ONLY for emojis.
46
+ // Needed to fix misalignment issue caused by Proxima font
47
+ .icon_circle_emoji {
48
+ font-family: monospace;
49
+ }
50
+
51
+ i,
52
+ svg {
53
+ &[class^=pb_icon_kit] {
54
+ width: 100%;
55
+ height: 100%;
56
+ display: block;
57
+ text-align: center;
58
+ text-transform: uppercase;
59
+ position: relative;
60
+ z-index: 0;
61
+ }
62
+ }
63
+
62
64
  &.dark {
63
65
  background: rgba(mix($bg_dark, $color_value, 10%), $opacity_2);
64
66
  }
65
67
  }
66
68
  }
67
69
  }
68
-
@@ -11,7 +11,7 @@ module Playbook
11
11
  default: "md"
12
12
  prop :variant, type: Playbook::Props::Enum,
13
13
  values: %w[default royal blue orange purple teal red yellow green orange lighter],
14
- default: "lighter"
14
+ default: "default"
15
15
 
16
16
  def classname
17
17
  generate_classname("pb_icon_circle_kit", "size_#{size}", variant)
@@ -81,7 +81,7 @@ describe("IconStatValue Kit", () => {
81
81
  )
82
82
 
83
83
  const kit = screen.getByTestId(testId)
84
- const value = kit.querySelector(".pb_title_kit_size_3")
84
+ const value = kit.querySelector(".pb_title_kit.pb_title_3")
85
85
  expect(value.textContent).toEqual("64.18")
86
86
  })
87
87
 
@@ -3,33 +3,34 @@
3
3
  @import "../pb_icon/icon";
4
4
  @import "../pb_body/body";
5
5
 
6
- [class^=pb_icon_value_kit] {
6
+ .pb_icon_value_kit_left,
7
+ .pb_icon_value_kit_center,
8
+ .pb_icon_value_kit_right {
7
9
  display: flex;
8
10
  align-items: center;
9
11
 
10
- [class^=pb_body_kit] {
12
+ .pb_body_kit_light {
11
13
  font-size: $font-small !important;
12
14
  display: inline-flex;
13
15
  justify-content: flex-start;
14
16
  align-items: center;
15
17
 
16
- [class*=pb_icon_kit] {
18
+ svg {
17
19
  font-size: $font-large !important;
18
20
  margin-right: $space-xs !important;
19
21
  flex-shrink: 0;
20
22
  }
21
- &.dark {
22
-
23
- }
24
23
  }
24
+ }
25
25
 
26
- &[class*=_left] {
27
- justify-content: flex-start;
28
- }
29
- &[class*=_center] {
30
- justify-content: center;
31
- }
32
- &[class*=_right] {
33
- justify-content: flex-end;
34
- }
26
+ .pb_icon_value_kit_left {
27
+ justify-content: flex-start;
28
+ }
29
+
30
+ .pb_icon_value_kit_center {
31
+ justify-content: center;
35
32
  }
33
+
34
+ .pb_icon_value_kit_right {
35
+ justify-content: flex-end;
36
+ }
@@ -9,50 +9,55 @@ $image-sizes: (
9
9
  "xl": 140px,
10
10
  );
11
11
 
12
- [class^=pb_image_kit] {
12
+ .pb_image_kit,
13
+ .pb_image_kit_size_xs,
14
+ .pb_image_kit_size_sm,
15
+ .pb_image_kit_size_md,
16
+ .pb_image_kit_size_lg,
17
+ .pb_image_kit_size_xl {
13
18
  position: relative;
14
19
  object-fit: cover;
15
20
 
16
- @each $name, $size in $image-sizes {
17
- &[class*=size_#{$name}] {
18
- width: $size;
19
- height: $size;
20
- object-fit: cover;
21
- position: relative;
22
- flex-shrink: 0;
23
- flex-grow: 0;
24
- flex-basis: $size;
25
- }
26
-
27
- &[class*= rounded] {
28
- border-radius: $border-rad-heaviest;
29
- }
21
+ &.rounded {
22
+ border-radius: $border-rad-heaviest;
23
+ }
30
24
 
31
- &.fade {
32
- opacity: 0;
33
- &.lazyloaded {
34
- opacity: 1;
35
- transition: opacity 300ms ease-in;
36
- }
25
+ &.fade {
26
+ opacity: 0;
27
+ &.lazyloaded {
28
+ opacity: 1;
29
+ transition: opacity 300ms ease-in;
37
30
  }
31
+ }
38
32
 
39
- &.blur {
40
- filter: blur(5px);
41
- &.lazyloaded {
42
- -webkit-filter: blur(0);
43
- filter: blur(0);
44
- transition: filter 300ms ease-in;
45
- }
33
+ &.blur {
34
+ filter: blur(5px);
35
+ &.lazyloaded {
36
+ -webkit-filter: blur(0);
37
+ filter: blur(0);
38
+ transition: filter 300ms ease-in;
46
39
  }
40
+ }
47
41
 
48
- &.scale {
49
- opacity: 0;
50
- transform: scale(0.9);
51
- &.lazyloaded {
52
- opacity: 1;
53
- transform: scale(1);
54
- transition: 700ms ease-in;
55
- }
42
+ &.scale {
43
+ opacity: 0;
44
+ transform: scale(0.9);
45
+ &.lazyloaded {
46
+ opacity: 1;
47
+ transform: scale(1);
48
+ transition: 700ms ease-in;
56
49
  }
57
50
  }
58
51
  }
52
+
53
+ @each $name, $size in $image-sizes {
54
+ .pb_image_kit_size_#{$name} {
55
+ width: $size;
56
+ height: $size;
57
+ object-fit: cover;
58
+ position: relative;
59
+ flex-shrink: 0;
60
+ flex-grow: 0;
61
+ flex-basis: $size;
62
+ }
63
+ }
@@ -1,7 +1,7 @@
1
1
  @import "../pb_caption/caption";
2
2
  @import "../pb_pill/pill";
3
3
 
4
- [class^=pb_label_pill_kit] {
4
+ .pb_label_pill_kit {
5
5
  display: flex;
6
6
  justify-content: flex-start;
7
7
  align-items: center;
@@ -1,7 +1,8 @@
1
1
  @import "../tokens/spacing";
2
2
 
3
- [class^=pb_label_value_kit] {
4
- [class^=pb_caption_kit] {
3
+ .pb_label_value_kit,
4
+ .pb_label_value_kit_details {
5
+ .pb_caption_kit_md {
5
6
  margin-bottom: $space-xs/1.5;
6
7
  }
7
8
  }
@@ -71,7 +71,7 @@ describe("LabelValue Kit", () => {
71
71
  />
72
72
  )
73
73
  const kit = screen.getByTestId(testId)
74
- const text = kit.querySelector(".pb_title_kit_size_4")
74
+ const text = kit.querySelector(".pb_title_kit.pb_title_4")
75
75
  expect(text.textContent).toEqual("JD Installations LLC")
76
76
  })
77
77
 
@@ -103,7 +103,7 @@ describe("LabelValue Kit", () => {
103
103
  />
104
104
  )
105
105
  const kit = screen.getByTestId(testId)
106
- const activeProp = kit.querySelector(".pb_title_kit_size_4_link")
106
+ const activeProp = kit.querySelector(".pb_title_kit.pb_title_4.pb_title_link")
107
107
  expect(activeProp).toBeInTheDocument()
108
108
  })
109
109
  })