playbook_ui 14.25.0.pre.alpha.PLAY2419dialogaccessibility10271 → 14.25.0.pre.alpha.PLAY2422fixedconftoastaccessibility9840

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 (233) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +1 -0
  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 +65 -60
  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 +29 -135
  9. data/app/pb_kits/playbook/pb_body/_body.scss +35 -108
  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 +30 -17
  12. data/app/pb_kits/playbook/pb_button/_button.scss +31 -39
  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 +18 -11
  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 +73 -82
  18. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +33 -32
  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 +17 -100
  22. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +8 -1
  23. data/app/pb_kits/playbook/pb_card/_card.scss +79 -116
  24. data/app/pb_kits/playbook/pb_card/_card.tsx +11 -26
  25. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +1 -1
  26. data/app/pb_kits/playbook/pb_card/card.rb +7 -8
  27. data/app/pb_kits/playbook/pb_card/card_header.rb +2 -6
  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 +2 -11
  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 -2
  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 +39 -124
  36. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +6 -16
  37. data/app/pb_kits/playbook/pb_date/_date.scss +18 -16
  38. data/app/pb_kits/playbook/pb_date_picker/_date_picker.scss +1 -1
  39. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +12 -12
  40. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_input_styles.scss +2 -2
  41. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_time_selection_styles.scss +5 -6
  42. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +23 -29
  43. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
  44. data/app/pb_kits/playbook/pb_date_range_stacked/_date_range_stacked.scss +1 -1
  45. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
  46. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +26 -66
  47. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +1 -1
  48. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
  49. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +15 -8
  50. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +7 -6
  51. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +14 -17
  52. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
  53. data/app/pb_kits/playbook/pb_detail/_detail.scss +21 -86
  54. data/app/pb_kits/playbook/pb_dialog/_close_icon.tsx +1 -5
  55. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +123 -330
  56. data/app/pb_kits/playbook/pb_dialog/_dialog.tsx +1 -1
  57. data/app/pb_kits/playbook/pb_dialog/dialog.html.erb +1 -1
  58. data/app/pb_kits/playbook/pb_dialog/dialog_header.html.erb +2 -2
  59. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +2 -16
  60. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +7 -10
  61. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
  62. data/app/pb_kits/playbook/pb_drawer/_close_icon.tsx +25 -0
  63. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +381 -0
  64. data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +231 -0
  65. data/app/pb_kits/playbook/pb_drawer/_drawer_context.tsx +3 -0
  66. data/app/pb_kits/playbook/pb_drawer/context.ts +11 -0
  67. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.html.erb +8 -0
  68. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +41 -0
  69. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.html.erb +33 -0
  70. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +78 -0
  71. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.html.erb +3 -0
  72. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +26 -0
  73. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.html.erb +20 -0
  74. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +59 -0
  75. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.html.erb +24 -0
  76. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +61 -0
  77. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +24 -0
  78. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.html.erb +21 -0
  79. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +54 -0
  80. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.md +1 -0
  81. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.html.erb +49 -0
  82. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +99 -0
  83. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +20 -0
  84. data/app/pb_kits/playbook/pb_drawer/docs/index.js +7 -0
  85. data/app/pb_kits/playbook/pb_drawer/drawer.html.erb +20 -0
  86. data/app/pb_kits/playbook/pb_drawer/drawer.rb +56 -0
  87. data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +81 -0
  88. data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +60 -0
  89. data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +21 -0
  90. data/app/pb_kits/playbook/pb_drawer/index.js +257 -0
  91. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +1 -1
  92. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
  93. data/app/pb_kits/playbook/pb_dropdown/index.js +3 -3
  94. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
  95. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +9 -20
  96. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
  97. data/app/pb_kits/playbook/pb_filter/_filter.scss +8 -8
  98. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +29 -65
  99. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +17 -1
  100. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/docs/_fixed_confirmation_toast_props_swift.md +2 -3
  101. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.html.erb +3 -3
  102. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
  103. data/app/pb_kits/playbook/pb_flex/_flex.scss +100 -106
  104. data/app/pb_kits/playbook/pb_flex/_flex.tsx +25 -32
  105. data/app/pb_kits/playbook/pb_flex/_flex_item.scss +51 -146
  106. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +8 -19
  107. data/app/pb_kits/playbook/pb_flex/flex.rb +16 -16
  108. data/app/pb_kits/playbook/pb_flex/flex_item.rb +6 -6
  109. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +1 -1
  110. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +344 -381
  111. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
  112. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +7 -8
  113. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +2 -9
  114. data/app/pb_kits/playbook/pb_gauge/_gauge.scss +5 -5
  115. data/app/pb_kits/playbook/pb_hashtag/_hashtag.scss +1 -1
  116. data/app/pb_kits/playbook/pb_highlight/_highlight.scss +1 -1
  117. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  118. data/app/pb_kits/playbook/pb_icon/_icon.tsx +2 -13
  119. data/app/pb_kits/playbook/pb_icon/icon.rb +1 -9
  120. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
  121. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +39 -40
  122. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.html.erb +1 -1
  123. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  124. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
  125. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +15 -16
  126. data/app/pb_kits/playbook/pb_image/_image.scss +36 -41
  127. data/app/pb_kits/playbook/pb_label_pill/_label_pill.scss +1 -1
  128. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +2 -3
  129. data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
  130. data/app/pb_kits/playbook/pb_layout/_layout.scss +305 -336
  131. data/app/pb_kits/playbook/pb_layout/_layout.tsx +11 -14
  132. data/app/pb_kits/playbook/pb_layout/item.rb +7 -1
  133. data/app/pb_kits/playbook/pb_layout/layout.rb +25 -16
  134. data/app/pb_kits/playbook/pb_layout/layout.test.js +3 -3
  135. data/app/pb_kits/playbook/pb_legend/_legend.scss +16 -66
  136. data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
  137. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
  138. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  139. data/app/pb_kits/playbook/pb_link/_link.scss +19 -113
  140. data/app/pb_kits/playbook/pb_list/_list.scss +1 -1
  141. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +11 -13
  142. data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
  143. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  144. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  145. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  146. data/app/pb_kits/playbook/pb_message/_message.scss +16 -21
  147. data/app/pb_kits/playbook/pb_message/_message.tsx +0 -1
  148. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +12 -5
  149. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
  150. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +3 -6
  151. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +15 -16
  152. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +1 -1
  153. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +1 -1
  154. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
  155. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +15 -19
  156. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  157. data/app/pb_kits/playbook/pb_online_status/online_status.rb +4 -5
  158. data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
  159. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
  160. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
  161. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +2 -5
  162. data/app/pb_kits/playbook/pb_person/_person.scss +1 -1
  163. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
  164. data/app/pb_kits/playbook/pb_pill/_pill.scss +21 -23
  165. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +13 -15
  166. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +33 -108
  167. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +1 -1
  168. data/app/pb_kits/playbook/pb_radio/_radio.scss +52 -71
  169. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  170. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +3 -0
  171. data/app/pb_kits/playbook/pb_rich_text_editor/_rich_text_editor.scss +4 -4
  172. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +70 -81
  173. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +1 -9
  174. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
  175. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +1 -3
  176. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +1 -7
  177. data/app/pb_kits/playbook/pb_select/_select.scss +4 -4
  178. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +2 -6
  179. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +8 -17
  180. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +29 -39
  181. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +0 -2
  182. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +11 -8
  183. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +3 -2
  184. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
  185. data/app/pb_kits/playbook/pb_source/_source.scss +8 -8
  186. data/app/pb_kits/playbook/pb_star_rating/_star_rating.scss +1 -1
  187. data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
  188. data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +2 -2
  189. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +5 -5
  190. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +6 -6
  191. data/app/pb_kits/playbook/pb_time/_time.scss +17 -44
  192. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +23 -44
  193. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +1 -1
  194. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +8 -5
  195. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +10 -16
  196. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +4 -1
  197. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
  198. data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +2 -2
  199. data/app/pb_kits/playbook/pb_title/_title.scss +39 -44
  200. data/app/pb_kits/playbook/pb_title/_title.tsx +8 -17
  201. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
  202. data/app/pb_kits/playbook/pb_title/title.rb +10 -20
  203. data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
  204. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +8 -19
  205. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +11 -10
  206. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +1 -4
  207. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +4 -3
  208. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
  209. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
  210. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.html.erb +1 -1
  211. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills.jsx +1 -1
  212. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.html.erb +22 -1
  213. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_with_pills_color.jsx +1 -1
  214. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_without_pills.html.erb +2 -2
  215. data/app/pb_kits/playbook/pb_user/_user.scss +33 -83
  216. data/app/pb_kits/playbook/pb_user/docs/_user_props_table.md +7 -14
  217. data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
  218. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +8 -23
  219. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
  220. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
  221. data/dist/chunks/{_line_graph-pjRvO-Xb.js → _line_graph-CiVc-Cod.js} +1 -1
  222. data/dist/chunks/_typeahead-BQnvz-Ks.js +6 -0
  223. data/dist/chunks/{_weekday_stacked-CXuGHKcc.js → _weekday_stacked-CIrRrYKI.js} +2 -2
  224. data/dist/chunks/vendor.js +1 -1
  225. data/dist/menu.yml +6 -0
  226. data/dist/playbook-doc.js +2 -2
  227. data/dist/playbook-rails-react-bindings.js +1 -1
  228. data/dist/playbook-rails.js +1 -1
  229. data/dist/playbook.css +1 -1
  230. data/lib/playbook/version.rb +1 -1
  231. metadata +34 -6
  232. data/app/pb_kits/playbook/pb_date/date.test.js +0 -506
  233. data/dist/chunks/_typeahead-CZo22jaG.js +0 -6
@@ -19,6 +19,7 @@ const RadioReactHook = () => {
19
19
  paddingRight="lg"
20
20
  >
21
21
  <Radio
22
+ alignment="left"
22
23
  label="Small"
23
24
  marginBottom='sm'
24
25
  name="size"
@@ -27,6 +28,7 @@ const RadioReactHook = () => {
27
28
  />
28
29
  <br />
29
30
  <Radio
31
+ alignment="left"
30
32
  label="Medium"
31
33
  marginBottom='sm'
32
34
  name="size"
@@ -35,6 +37,7 @@ const RadioReactHook = () => {
35
37
  />
36
38
  <br />
37
39
  <Radio
40
+ alignment="left"
38
41
  label="Large"
39
42
  marginBottom='sm'
40
43
  name="size"
@@ -10,7 +10,7 @@
10
10
  @import "./trix_styles";
11
11
  @import "./tiptap_styles";
12
12
 
13
- .pb_rich_text_editor_kit {
13
+ [class^=pb_rich_text_editor_kit] {
14
14
  // Disables File Attatchment Button in Toolbar
15
15
  trix-toolbar [data-trix-button-group="file-tools"] {
16
16
  display: none;
@@ -126,7 +126,7 @@
126
126
  }
127
127
  // Trix doesn't provide customization to their icons.
128
128
  // https://github.com/basecamp/trix/issues/464#issuecomment-564683997
129
- &.dark {
129
+ &[class*=dark] {
130
130
  // Dark SVG Icon Styles
131
131
  .trix-button--icon-bold::before {
132
132
  background-image: url("data:image/svg+xml,%3Csvg width='11px' height='14px' viewBox='0 0 11 14' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg id='Symbols' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' fill-opacity='0.6'%3E%3Cg id='Rich-Text/Dark/Field-Only/Empty' transform='translate(-19.000000, -17.000000)' fill='%23FFFFFF' fill-rule='nonzero'%3E%3Cg id='Styling1' transform='translate(7.000000, 7.000000)'%3E%3Cpath d='M20.6,16.79 C21.565,16.115 22.25,15.025 22.25,14 C22.25,11.745 20.505,10 18.25,10 L12,10 L12,24 L19.04,24 C21.135,24 22.75,22.3 22.75,20.21 C22.75,18.69 21.885,17.395 20.6,16.79 Z M15,12.5 L18,12.5 C18.83,12.5 19.5,13.17 19.5,14 C19.5,14.83 18.83,15.5 18,15.5 L15,15.5 L15,12.5 L15,12.5 Z M18.5,21.5 L15,21.5 L15,18.5 L18.5,18.5 C19.33,18.5 20,19.17 20,20 C20,20.83 19.33,21.5 18.5,21.5 Z' id='Shape'%3E%3C/path%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
@@ -291,14 +291,14 @@
291
291
  background-color: $focus_input_light;
292
292
  }
293
293
  }
294
- &.dark:hover {
294
+ &[class*=dark]:hover {
295
295
  .trix-button-row,
296
296
  trix-editor {
297
297
  background-color: rgba($white, 0.1);
298
298
  border-color: rgba($white, 0.15);
299
299
  }
300
300
  }
301
- &.dark:focus-within {
301
+ &[class*=dark]:focus-within {
302
302
  .trix-button-row,
303
303
  trix-editor {
304
304
  background-color: rgba($white, 0.03);
@@ -18,7 +18,7 @@ $section_colors_dark: (
18
18
  card: tint($bg_dark,10),
19
19
  );
20
20
 
21
- .pb_section_separator_kit {
21
+ [class^=pb_section_separator_kit] {
22
22
  display: flex;
23
23
  justify-content: center;
24
24
  align-items: center;
@@ -26,7 +26,7 @@ $section_colors_dark: (
26
26
  span {
27
27
  padding: 0;
28
28
  display: flex;
29
- .pb_caption_kit_md {
29
+ [class*="pb_caption_kit"] {
30
30
  padding: 0 $space_xs;
31
31
  }
32
32
  }
@@ -42,107 +42,96 @@ $section_colors_dark: (
42
42
  flex: 1;
43
43
  @include section_separator_horizontal;
44
44
  }
45
- }
46
-
47
- // Horizontal orientation (default)
48
- .pb_section_separator_horizontal {
49
- justify-content: center;
50
- }
51
-
52
- // Vertical orientation
53
- .pb_section_separator_vertical {
54
- margin-left: $space_xs;
55
- margin-right: $space_xs;
56
- &::before {
57
- display: none;
58
- }
59
- &::after {
60
- @include section_separator_vertical(false);
61
- }
62
- }
63
-
64
- // Dashed line style
65
- .pb_section_separator_dashed {
66
- &::before, &::after {
67
- @include section_separator_dashed(false);
68
- }
69
- }
70
-
71
- // Color variations
72
- @each $color_name, $color_value in $section_selector_colors {
73
- .pb_section_separator_color_#{$color_name} {
74
- &::before, &::after {
75
- background: $color_value;
76
- }
77
-
78
- &.pb_section_separator_vertical {
79
- &::after {
80
- background: $color_value;
81
- }
82
- }
83
-
84
- &.pb_section_separator_dashed {
45
+ @each $color_name, $color_value in $section_selector_colors {
46
+ &[class*="color_#{$color_name}"] {
85
47
  &::before, &::after {
86
- border: 1px dashed $color_value;
87
- background: none;
48
+ background: $color_value;
88
49
  }
89
- &.pb_section_separator_vertical {
50
+
51
+ &[class*=_vertical] {
90
52
  &::after {
53
+ background: $color_value;
54
+ }
55
+ }
56
+ &[class*=_dashed] {
57
+ &::before, &::after {
91
58
  border: 1px dashed $color_value;
92
- background: none;
59
+ }
60
+ &[class*=_vertical] {
61
+ &::after {
62
+ border: 1px dashed $color_value;
63
+ background: none;
64
+ }
93
65
  }
94
66
  }
95
67
  }
96
68
  }
97
- }
98
69
 
99
- // Dark mode styles
100
- .pb_section_separator_kit.dark {
101
- &::before {
102
- @include section_separator_horizontal(true);
103
- }
104
- &::after {
105
- @include section_separator_horizontal(true);
70
+ &[class*=_horizontal] {
71
+ justify-content: center;
106
72
  }
107
-
108
- &.pb_section_separator_vertical {
73
+ &[class*=_vertical] {
74
+ margin-left: $space_xs;
75
+ margin-right: $space_xs;
76
+ &::before {
77
+ display: none;
78
+ }
109
79
  &::after {
110
- @include section_separator_vertical(true);
80
+ @include section_separator_vertical(false);
111
81
  }
112
82
  }
113
-
114
- &.pb_section_separator_dashed {
83
+
84
+ &[class*=_dashed] {
115
85
  &::before, &::after {
116
- @include section_separator_dashed(true);
86
+ @include section_separator_dashed(false);
117
87
  }
118
88
  }
119
- }
120
89
 
121
- // Dark mode color variations
122
- @each $color_name, $color_value in $section_selector_colors {
123
- .pb_section_separator_kit.dark.pb_section_separator_color_#{$color_name} {
124
- &::before, &::after {
125
- background: $color_value;
126
- }
90
+ // Dark =========================
91
+
92
+ &.dark {
93
+ @each $color_name, $color_value in $section_selector_colors {
94
+ &[class*="color_#{$color_name}"] {
95
+ &::before, &::after {
96
+ background: $color_value;
97
+ }
98
+
99
+ &[class*=_vertical] {
100
+ &::after {
101
+ @include section_separator_vertical(false);
102
+ background: $color_value;
103
+ }
104
+ }
127
105
 
128
- &.pb_section_separator_vertical {
106
+ &[class*=_dashed] {
107
+ &::before, &::after {
108
+ border: 1px dashed $color_value;
109
+ background: none;
110
+ }
111
+ &[class*=_vertical] {
112
+ &::after {
113
+ border: 1px dashed $color_value;
114
+ background: none;
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
120
+ &::before {
121
+ @include section_separator_horizontal(true);
122
+ }
123
+ &::after {
124
+ @include section_separator_horizontal(true);
125
+ }
126
+ &[class*=_vertical] {
129
127
  &::after {
130
- @include section_separator_vertical(false);
131
- background: $color_value;
128
+ @include section_separator_vertical(true);
132
129
  }
133
130
  }
134
-
135
- &.pb_section_separator_dashed {
131
+ &[class*=_dashed] {
136
132
  &::before, &::after {
137
- border: 1px dashed $color_value;
138
- background: none;
139
- }
140
- &.pb_section_separator_vertical {
141
- &::after {
142
- border: 1px dashed $color_value;
143
- background: none;
144
- }
133
+ @include section_separator_dashed(true);
145
134
  }
146
135
  }
147
136
  }
148
- }
137
+ }
@@ -39,15 +39,7 @@ const SectionSeparator = (props: SectionSeparatorProps): React.ReactElement => {
39
39
  const ariaProps = buildAriaProps(aria)
40
40
  const dataProps = buildDataProps(data)
41
41
  const htmlProps = buildHtmlProps(htmlOptions)
42
- const classes = classnames(
43
- 'pb_section_separator_kit',
44
- `pb_section_separator_${variant}`,
45
- `pb_section_separator_${orientation}`,
46
- lineStyle === "dashed" ? 'pb_section_separator_dashed' : 'pb_section_separator_solid',
47
- color !== "default" ? `pb_section_separator_color_${color}` : 'pb_section_separator_color_default',
48
- globalProps(props),
49
- className
50
- )
42
+ const classes = classnames(buildCss('pb_section_separator_kit', variant, orientation, lineStyle === "dashed" ? lineStyle : "", color !== "default" ? `color_${color}` : ''), globalProps(props), className)
51
43
  const dynamicInlineProps = globalInlineProps(props)
52
44
 
53
45
  return (
@@ -30,4 +30,4 @@
30
30
  border: 1px dashed $border_dark;
31
31
  background: none;
32
32
  }
33
- }
33
+ }
@@ -5,9 +5,7 @@ import Detail from '../../pb_detail/_detail'
5
5
  import Icon from '../../pb_icon/_icon'
6
6
 
7
7
  const children = (
8
- <Flex alignItems="center"
9
- padding="xs"
10
- >
8
+ <Flex padding="xs">
11
9
  <Icon color="primary"
12
10
  icon="arrow-down"
13
11
  />
@@ -20,13 +20,7 @@ module Playbook
20
20
  default: "solid"
21
21
 
22
22
  def classname
23
- class_names = ["pb_section_separator_kit"]
24
- class_names << "pb_section_separator_#{variant}"
25
- class_names << "pb_section_separator_#{orientation}"
26
- class_names << "pb_section_separator_#{line_style}"
27
- class_names << "pb_section_separator_color_#{color}"
28
-
29
- generate_classname(class_names.join(" "), separator: " ")
23
+ generate_classname("pb_section_separator_kit", variant, orientation, line_style == "dashed" ? "dashed" : nil, color != "default" ? "color_#{color}" : nil)
30
24
  end
31
25
 
32
26
  private
@@ -4,7 +4,7 @@
4
4
  @import "../tokens/colors";
5
5
  @import "../tokens/spacing";
6
6
 
7
- .pb_select {
7
+ [class^=pb_select] {
8
8
  select {
9
9
  @include pb_textarea_light;
10
10
  @include pb_body_light;
@@ -80,7 +80,7 @@
80
80
  position: relative;
81
81
  display: block;
82
82
  &.error {
83
- > .pb_body_kit_negative {
83
+ [class*=pb_body_kit] {
84
84
  margin-top: $space_xs / 2;
85
85
  }
86
86
  > select:first-child {
@@ -157,7 +157,7 @@
157
157
  }
158
158
  }
159
159
 
160
- .pb_select.dark {
160
+ [class^=pb_select].dark {
161
161
  select {
162
162
  @include pb_textarea_dark;
163
163
  @include pb_body_light_dark;
@@ -260,4 +260,4 @@
260
260
  }
261
261
  }
262
262
  }
263
- }
263
+ }
@@ -28,11 +28,7 @@ $pb_selectable_paddings: (
28
28
  py: ("padding-top", "padding-bottom")
29
29
  );
30
30
 
31
- .pb_selectable_card_kit,
32
- .pb_selectable_card_kit_checked_disabled,
33
- .pb_selectable_card_kit_checked_enabled,
34
- .pb_selectable_card_kit_disabled,
35
- .pb_selectable_card_kit_enabled {
31
+ [class^=pb_selectable_card_kit] {
36
32
  display: block;
37
33
  margin-bottom: 0;
38
34
 
@@ -216,4 +212,4 @@ $pb_selectable_paddings: (
216
212
  background: $error;
217
213
  }
218
214
  }
219
- }
215
+ }
@@ -1,13 +1,9 @@
1
- .pb_selectable_card_icon_kit,
2
- .pb_selectable_card_icon_kit_checked_disabled,
3
- .pb_selectable_card_icon_kit_checked_enabled,
4
- .pb_selectable_card_icon_kit_disabled,
5
- .pb_selectable_card_icon_kit_enabled {
1
+ [class^=pb_selectable_card_icon_kit] {
6
2
 
7
3
  text-align: center;
8
4
  user-select: none;
9
5
 
10
- .buffer > .pb_selectable_icon_kit::before {
6
+ .buffer > [class*=pb_selectable_icon_kit]::before {
11
7
  content: '';
12
8
  position: absolute;
13
9
  width: 100%;
@@ -16,7 +12,7 @@
16
12
  left: 0;
17
13
  }
18
14
 
19
- .buffer > .pb_selectable_icon_kit {
15
+ .buffer > [class*=pb_selectable_icon_kit] {
20
16
  @media (hover:hover) {
21
17
  &:hover * {
22
18
  transition: transform $transition_short ease;
@@ -46,8 +42,7 @@
46
42
  }
47
43
  }
48
44
 
49
- &.pb_selectable_card_icon_kit_disabled,
50
- &.pb_selectable_card_icon_kit_checked_disabled {
45
+ &[class*=_disabled] {
51
46
  opacity: $opacity_6;
52
47
  cursor: not-allowed;
53
48
 
@@ -84,19 +79,15 @@
84
79
  }
85
80
  }
86
81
 
87
- .pb_selectable_icon_kit {
82
+ [class^=pb_selectable_icon_kit] {
88
83
  margin-bottom: 0px;
89
84
  }
90
85
 
91
- .pb_body_kit_light {
86
+ [class^=pb_body_kit_light] {
92
87
  margin-top: $space_xs;
93
88
  }
94
89
 
95
- .pb_selectable_card_kit,
96
- .pb_selectable_card_kit_checked_disabled,
97
- .pb_selectable_card_kit_checked_enabled,
98
- .pb_selectable_card_kit_disabled,
99
- .pb_selectable_card_kit_enabled {
90
+ [class^=pb_selectable_card_kit] {
100
91
  margin-bottom: 0px !important;
101
92
  }
102
- }
93
+ }
@@ -1,11 +1,6 @@
1
1
  @import "../tokens/transition";
2
2
 
3
- .pb_selectable_icon_kit,
4
- .pb_selectable_icon_kit_checked,
5
- .pb_selectable_icon_kit_enabled,
6
- .pb_selectable_icon_kit_disabled,
7
- .pb_selectable_icon_kit_checked_enabled,
8
- .pb_selectable_icon_kit_checked_disabled {
3
+ [class^=pb_selectable_icon] {
9
4
 
10
5
  text-align: center;
11
6
  cursor: pointer;
@@ -32,6 +27,14 @@
32
27
  transition: color $transition_short ease;
33
28
  }
34
29
 
30
+ &[class*=_disabled] {
31
+ opacity: $opacity_6;
32
+ cursor: not-allowed;
33
+ * {
34
+ cursor: not-allowed;
35
+ }
36
+ }
37
+
35
38
  input[type="checkbox"],
36
39
  input[type="radio"] {
37
40
  -webkit-appearance: none;
@@ -51,46 +54,33 @@
51
54
 
52
55
  }
53
56
  }
54
- }
55
57
 
56
- .pb_selectable_icon_kit_disabled,
57
- .pb_selectable_icon_kit_checked_disabled {
58
- opacity: $opacity_6;
59
- cursor: not-allowed;
60
- * {
61
- cursor: not-allowed;
62
- }
63
- }
64
58
 
65
- .pb_selectable_icon_kit.dark,
66
- .pb_selectable_icon_kit_checked.dark,
67
- .pb_selectable_icon_kit_enabled.dark,
68
- .pb_selectable_icon_kit_disabled.dark,
69
- .pb_selectable_icon_kit_checked_enabled.dark,
70
- .pb_selectable_icon_kit_checked_disabled.dark {
71
- input[type="checkbox"],
72
- input[type="radio"] {
73
- -webkit-appearance: none;
74
- -moz-appearance: none;
75
- display: none;
76
- appearance: none;
77
- transition: color $transition_short ease;
78
-
79
- &:checked ~ label * {
59
+ &.dark {
60
+ input[type="checkbox"],
61
+ input[type="radio"] {
62
+ -webkit-appearance: none;
63
+ -moz-appearance: none;
64
+ display: none;
65
+ appearance: none;
80
66
  transition: color $transition_short ease;
81
- color: $active_dark !important;
82
- }
83
67
 
84
- &:not(:checked) ~ label {
85
- transition: color $transition_short ease;
86
- color: $text_dk_lighter;
87
-
88
- h4 {
68
+ &:checked ~ label * {
69
+ transition: color $transition_short ease;
70
+ color: $active_dark !important;
71
+ }
72
+
73
+ &:not(:checked) ~ label {
89
74
  transition: color $transition_short ease;
90
- color: $text_dk_default;
75
+ color: $text_dk_lighter;
76
+
77
+ h4 {
78
+ transition: color $transition_short ease;
79
+ color: $text_dk_default;
80
+ }
91
81
  }
92
82
  }
93
- }
83
+ }
94
84
  }
95
85
 
96
86
 
@@ -82,7 +82,6 @@ const SelectableListItem = ({
82
82
  <Checkbox
83
83
  checked={checkedState}
84
84
  id={id}
85
- marginLeft="xs"
86
85
  name={name}
87
86
  onChange={handleChecked}
88
87
  // eslint suppressor, text is needed to display on screen
@@ -99,7 +98,6 @@ const SelectableListItem = ({
99
98
  {variant == "radio" && (
100
99
  <>
101
100
  <Radio
102
- className="ml_xs"
103
101
  defaultChecked={defaultChecked}
104
102
  id={id}
105
103
  label={label}
@@ -1,17 +1,20 @@
1
1
  @import "../tokens/colors";
2
2
  @import "../tokens/spacing";
3
3
 
4
- .pb_selectable_list_kit {
4
+ [class^=pb_selectable_list]{
5
5
  margin-bottom: 0px;
6
-
7
- .pb_item_kit,
8
- .pb_item_kit_checked_item {
6
+ [class^=pb_item_kit] {
9
7
  &:hover {
10
8
  background-color: $bg_light;
11
9
  }
10
+ &[class*=checked_item] {
11
+ background-color: $active_light;
12
+ }
12
13
  }
13
-
14
- .checked_item {
15
- background-color: $active_light;
14
+ [class^=pb_radio_kit] {
15
+ margin-left: $space_xs;
16
+ }
17
+ [class^=pb_checkbox_kit] {
18
+ margin-left: $space_xs;
16
19
  }
17
- }
20
+ }
@@ -35,6 +35,7 @@ const SelectableListRadio = () => {
35
35
  value="1"
36
36
  />
37
37
  <SelectableList.Item
38
+ defaultChecked
38
39
  label="Medium"
39
40
  name="radio"
40
41
  value="2"
@@ -61,7 +62,7 @@ test("renders variant checkbox", () => {
61
62
  test("renders variant radio", () => {
62
63
  render(<SelectableListRadio />)
63
64
  const kit = screen.getByTestId("selectable-list-test")
64
- const radio = kit.querySelector("input[type='radio']")
65
- expect(radio).toBeInTheDocument()
65
+ const checkbox = kit.querySelector(".pb_radio_kit")
66
+ expect(checkbox).toBeInTheDocument()
66
67
 
67
68
  })
@@ -12,12 +12,12 @@
12
12
  </span>
13
13
  <% end %>
14
14
  <% if object.variant == "radio"%>
15
- <%= pb_rails("radio", props: { margin_left:"xs", text: object.text, checked: object.checked, input_options: object.input_options } ) %>
15
+ <%= pb_rails("radio", props: { text: object.text, checked: object.checked, input_options: object.input_options } ) %>
16
16
  <% if content.present? %>
17
17
  <%= content %>
18
18
  <% end %>
19
19
  <% else %>
20
- <%= pb_rails("checkbox", props: { margin_left:"xs", text: object.text, checked: object.checked, input_options: object.input_options } ) %>
20
+ <%= pb_rails("checkbox", props: { text: object.text, checked: object.checked, input_options: object.input_options } ) %>
21
21
  <% if content.present? %>
22
22
  <%= content %>
23
23
  <% end %>
@@ -1,29 +1,29 @@
1
1
  @import "../tokens/spacing";
2
2
 
3
- .pb_source_kit {
4
- .pb__source_layout {
3
+ [class^=pb_source] {
4
+ [class^=pb__source_layout] {
5
5
  display: flex;
6
6
  justify-content: flex-start;
7
7
  align-items: flex-start;
8
8
  }
9
9
 
10
- .pb_icon_circle_kit_size_sm_default,
11
- .pb_avatar_kit_size_sm {
10
+ [class^=pb_icon_circle],
11
+ [class^=pb_avatar] {
12
12
  margin-right: $space-sm;
13
13
  }
14
14
 
15
- .pb__source_content {
15
+ [class^=pb__source_content] {
16
16
  display: block;
17
17
  flex-grow: 1;
18
18
 
19
- .pb__source_value {
19
+ [class^=pb__source_value] {
20
20
  display: flex;
21
21
  justify-content: flex-start;
22
22
  align-items: baseline;
23
23
 
24
- .pb_body_kit {
24
+ [class^=pb_body] {
25
25
  margin-right: $space-xs;
26
26
  }
27
27
  }
28
28
  }
29
- }
29
+ }
@@ -3,7 +3,7 @@
3
3
  @import "../tokens/spacing";
4
4
 
5
5
 
6
- .pb_star_rating_kit {
6
+ [class*=pb_star_rating_kit] {
7
7
  display: flex;
8
8
  align-items: flex-end;
9
9
  justify-content: flex-start;
@@ -65,7 +65,7 @@ describe("Star Rating Kit", () => {
65
65
  const stars = highlight.querySelectorAll(".pb_star_lg")
66
66
  const count = stars.length
67
67
 
68
- expect(title.className).toBe("pb_title_kit pb_title_2 pb_title_light pb_title_thin pr_sm pb_star_rating_number_lg")
68
+ expect(title.className).toBe("pb_title_kit_size_2_light_thin pr_sm pb_star_rating_number_lg")
69
69
  expect(count).toBe(5)
70
70
  })
71
71
  })
@@ -1,7 +1,7 @@
1
1
  @import "../pb_title/title";
2
2
 
3
- .pb_stat_value_kit {
4
- .pb_stat_value_wrapper {
3
+ [class^=pb_stat_value_kit]{
4
+ [class^=pb_stat_value_wrapper] {
5
5
  display: flex;
6
6
  justify-content: flex-start;
7
7
  align-items: baseline;