playbook_ui 14.25.0.pre.alpha.testingcss9713 → 14.25.0.pre.alpha.testingcss9752

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 (190) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_avatar/avatar.test.js +1 -1
  3. data/app/pb_kits/playbook/pb_badge/_badge.scss +120 -12
  4. data/app/pb_kits/playbook/pb_body/_body.scss +108 -35
  5. data/app/pb_kits/playbook/pb_body/_body_mixins.scss +1 -1
  6. data/app/pb_kits/playbook/pb_bread_crumbs/_bread_crumbs.scss +16 -29
  7. data/app/pb_kits/playbook/pb_button/_button.scss +39 -31
  8. data/app/pb_kits/playbook/pb_button/_button.tsx +12 -12
  9. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +2 -2
  10. data/app/pb_kits/playbook/pb_button/button.rb +11 -18
  11. data/app/pb_kits/playbook/pb_button/button.test.js +3 -3
  12. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar.scss +82 -73
  13. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_dark.scss +32 -33
  14. data/app/pb_kits/playbook/pb_button_toolbar/_button_toolbar_mixins.scss +1 -1
  15. data/app/pb_kits/playbook/pb_button_toolbar/button_toolbar.test.js +2 -2
  16. data/app/pb_kits/playbook/pb_caption/_caption.scss +100 -17
  17. data/app/pb_kits/playbook/pb_caption/_caption_mixin.scss +1 -8
  18. data/app/pb_kits/playbook/pb_card/_card.scss +99 -73
  19. data/app/pb_kits/playbook/pb_card/_card.tsx +26 -11
  20. data/app/pb_kits/playbook/pb_card/_card_mixin.scss +3 -3
  21. data/app/pb_kits/playbook/pb_card/card.rb +8 -7
  22. data/app/pb_kits/playbook/pb_card/card_header.rb +6 -2
  23. data/app/pb_kits/playbook/pb_card/docs/_card_header.html.erb +1 -1
  24. data/app/pb_kits/playbook/pb_checkbox/_checkbox.scss +11 -2
  25. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +6 -6
  26. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +1 -1
  27. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +1 -1
  28. data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +19 -19
  29. data/app/pb_kits/playbook/pb_currency/_currency.scss +118 -33
  30. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +16 -6
  31. data/app/pb_kits/playbook/pb_date/_date.scss +14 -16
  32. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +10 -10
  33. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +25 -19
  34. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
  35. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
  36. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +66 -26
  37. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.rb +1 -1
  38. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
  39. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +5 -12
  40. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +2 -3
  41. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -14
  42. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
  43. data/app/pb_kits/playbook/pb_detail/_detail.scss +86 -21
  44. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +463 -65
  45. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +16 -2
  46. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +10 -7
  47. data/app/pb_kits/playbook/pb_draggable/draggable.test.jsx +1 -1
  48. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +2 -2
  49. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
  50. data/app/pb_kits/playbook/pb_dropdown/index.js +3 -3
  51. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
  52. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +20 -9
  53. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
  54. data/app/pb_kits/playbook/pb_filter/_filter.scss +3 -3
  55. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +65 -29
  56. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -2
  57. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
  58. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +1 -1
  59. data/app/pb_kits/playbook/pb_form_group/_error_state_mixin.scss +1 -1
  60. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +48 -48
  61. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +381 -344
  62. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
  63. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +8 -7
  64. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +9 -2
  65. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  66. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
  67. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +40 -39
  68. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  69. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.scss +15 -15
  70. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
  71. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +16 -15
  72. data/app/pb_kits/playbook/pb_image/_image.scss +41 -36
  73. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +3 -2
  74. data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
  75. data/app/pb_kits/playbook/pb_layout/_layout.scss +14 -8
  76. data/app/pb_kits/playbook/pb_layout/body.rb +1 -1
  77. data/app/pb_kits/playbook/pb_layout/footer.rb +1 -1
  78. data/app/pb_kits/playbook/pb_layout/header.rb +1 -1
  79. data/app/pb_kits/playbook/pb_layout/item.rb +1 -1
  80. data/app/pb_kits/playbook/pb_layout/layout.rb +6 -6
  81. data/app/pb_kits/playbook/pb_layout/sidebar.rb +1 -1
  82. data/app/pb_kits/playbook/pb_legend/_legend.scss +66 -16
  83. data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
  84. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
  85. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  86. data/app/pb_kits/playbook/pb_link/_link.scss +113 -19
  87. data/app/pb_kits/playbook/pb_list/_list.scss +9 -9
  88. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +13 -11
  89. data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
  90. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  91. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  92. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  93. data/app/pb_kits/playbook/pb_message/_message.scss +20 -15
  94. data/app/pb_kits/playbook/pb_message/_message.tsx +1 -0
  95. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +5 -12
  96. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
  97. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +4 -1
  98. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +16 -15
  99. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +10 -10
  100. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +9 -9
  101. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
  102. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +19 -15
  103. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  104. data/app/pb_kits/playbook/pb_online_status/online_status.rb +5 -4
  105. data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
  106. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
  107. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
  108. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +5 -2
  109. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
  110. data/app/pb_kits/playbook/pb_pill/_pill.scss +23 -21
  111. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +12 -10
  112. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +106 -31
  113. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +37 -37
  114. data/app/pb_kits/playbook/pb_radio/_radio.scss +71 -52
  115. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  116. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +0 -3
  117. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +80 -69
  118. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +9 -1
  119. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
  120. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +3 -1
  121. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +7 -1
  122. data/app/pb_kits/playbook/pb_select/_select.scss +2 -2
  123. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -2
  124. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +13 -4
  125. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +39 -29
  126. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +2 -0
  127. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +8 -11
  128. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +24 -25
  129. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
  130. data/app/pb_kits/playbook/pb_source/_source.scss +5 -5
  131. data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
  132. data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +1 -1
  133. data/app/pb_kits/playbook/pb_table/styles/_alignment.scss +1 -1
  134. data/app/pb_kits/playbook/pb_table/styles/_content.scss +1 -1
  135. data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +1 -1
  136. data/app/pb_kits/playbook/pb_table/styles/_headers.scss +1 -1
  137. data/app/pb_kits/playbook/pb_table/styles/_hover.scss +1 -1
  138. data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +1 -1
  139. data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +1 -1
  140. data/app/pb_kits/playbook/pb_table/styles/_outer_padding.scss +1 -1
  141. data/app/pb_kits/playbook/pb_table/styles/_reset.scss +1 -1
  142. data/app/pb_kits/playbook/pb_table/styles/_scroll.scss +12 -12
  143. data/app/pb_kits/playbook/pb_table/styles/_side_highlight.scss +2 -2
  144. data/app/pb_kits/playbook/pb_table/styles/_single-line.scss +1 -1
  145. data/app/pb_kits/playbook/pb_table/styles/_striped.scss +1 -1
  146. data/app/pb_kits/playbook/pb_table/styles/_structure.scss +1 -1
  147. data/app/pb_kits/playbook/pb_table/styles/_table-card.scss +1 -1
  148. data/app/pb_kits/playbook/pb_table/styles/_table-dark.scss +2 -2
  149. data/app/pb_kits/playbook/pb_table/styles/_table_header.scss +4 -4
  150. data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +1 -1
  151. data/app/pb_kits/playbook/pb_table/styles/_vertical_border.scss +1 -1
  152. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +4 -4
  153. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +5 -5
  154. data/app/pb_kits/playbook/pb_time/_time.scss +43 -16
  155. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +40 -19
  156. data/app/pb_kits/playbook/pb_time_range_inline/time_range_inline.rb +1 -1
  157. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +5 -8
  158. data/app/pb_kits/playbook/pb_timeline/_timeline.scss +41 -41
  159. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +16 -10
  160. data/app/pb_kits/playbook/pb_timestamp/_timestamp.tsx +1 -4
  161. data/app/pb_kits/playbook/pb_timestamp/timestamp.rb +1 -1
  162. data/app/pb_kits/playbook/pb_timestamp/timestamp.test.js +2 -2
  163. data/app/pb_kits/playbook/pb_title/_title.scss +42 -38
  164. data/app/pb_kits/playbook/pb_title/_title.tsx +17 -8
  165. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
  166. data/app/pb_kits/playbook/pb_title/title.rb +20 -10
  167. data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
  168. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +19 -8
  169. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +10 -11
  170. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +4 -1
  171. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +3 -4
  172. data/app/pb_kits/playbook/pb_tooltip/tooltip.rb +1 -1
  173. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +10 -10
  174. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
  175. data/app/pb_kits/playbook/pb_user/_user.scss +83 -33
  176. data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
  177. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +23 -8
  178. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
  179. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
  180. data/dist/chunks/{_line_graph-0Y0wuiB9.js → _line_graph-CApw7aQD.js} +1 -1
  181. data/dist/chunks/_typeahead-J1_avqdO.js +6 -0
  182. data/dist/chunks/{_weekday_stacked-Dblcf2V8.js → _weekday_stacked-BWNmT-C6.js} +2 -2
  183. data/dist/chunks/vendor.js +1 -1
  184. data/dist/playbook-doc.js +2 -2
  185. data/dist/playbook-rails-react-bindings.js +1 -1
  186. data/dist/playbook-rails.js +1 -1
  187. data/dist/playbook.css +1 -1
  188. data/lib/playbook/version.rb +1 -1
  189. metadata +5 -5
  190. data/dist/chunks/_typeahead-B2gV75O0.js +0 -6
@@ -43,14 +43,14 @@ $gap_lg: $height_from_top + $space_lg;
43
43
  flex-direction: $flex_direction;
44
44
  }
45
45
 
46
- .pb_timeline_kit {
47
- &._horizontal {
46
+ [class^=pb_timeline_kit] {
47
+ &[class*=_horizontal] {
48
48
  @include flex_wrapper(row);
49
49
  width: 100%;
50
50
  >div {
51
51
  &:last-child {
52
52
  flex-basis: auto !important;
53
- .pb_timeline_item_step {
53
+ [class^=pb_timeline_item_step] {
54
54
  [class=pb_timeline_item_connector] {
55
55
  opacity: 0;
56
56
  }
@@ -63,10 +63,10 @@ $gap_lg: $height_from_top + $space_lg;
63
63
  }
64
64
  }
65
65
  }
66
- .pb_timeline_item_kit {
67
- &._solid {
66
+ [class*=pb_timeline_item_kit] {
67
+ &[class*=_solid] {
68
68
  flex-basis: 100%;
69
- .pb_timeline_item_step {
69
+ [class^=pb_timeline_item_step] {
70
70
  @include flex_wrapper(row);
71
71
  align-items: center;
72
72
  margin-top: $space_xs;
@@ -76,9 +76,9 @@ $gap_lg: $height_from_top + $space_lg;
76
76
  }
77
77
  }
78
78
  }
79
- &._dotted {
79
+ &[class*=_dotted] {
80
80
  flex-basis: 100%;
81
- .pb_timeline_item_step {
81
+ [class^=pb_timeline_item_step] {
82
82
  @include flex_wrapper(row);
83
83
  align-items: center;
84
84
  margin-top: $space_xs;
@@ -89,13 +89,13 @@ $gap_lg: $height_from_top + $space_lg;
89
89
  }
90
90
  }
91
91
  }
92
- &._with_date {
92
+ &[class*=_with_date] {
93
93
  @include flex_wrapper(row);
94
94
  width: 100%;
95
95
  >div {
96
96
  &:last-child {
97
97
  flex-basis: auto !important;
98
- .pb_timeline_item_step {
98
+ [class^=pb_timeline_item_step] {
99
99
  [class=pb_timeline_item_connector] {
100
100
  opacity: 0;
101
101
  }
@@ -108,8 +108,8 @@ $gap_lg: $height_from_top + $space_lg;
108
108
  }
109
109
  }
110
110
  }
111
- .pb_timeline_item_kit {
112
- &._solid {
111
+ [class*=pb_timeline_item_kit] {
112
+ &[class*=_solid] {
113
113
  flex-basis: 100%;
114
114
  [class=pb_timeline_item_left_block] {
115
115
  display: flex;
@@ -125,7 +125,7 @@ $gap_lg: $height_from_top + $space_lg;
125
125
  }
126
126
  }
127
127
  }
128
- .pb_timeline_item_step {
128
+ [class^=pb_timeline_item_step] {
129
129
  @include flex_wrapper(row);
130
130
  margin-top: $space_xs;
131
131
  margin-bottom: $space_xs;
@@ -134,7 +134,7 @@ $gap_lg: $height_from_top + $space_lg;
134
134
  }
135
135
  }
136
136
  }
137
- &._dotted {
137
+ &[class*=_dotted] {
138
138
  flex-basis: 100%;
139
139
  [class=pb_timeline_item_left_block] {
140
140
  height: 55px;
@@ -149,7 +149,7 @@ $gap_lg: $height_from_top + $space_lg;
149
149
  }
150
150
  }
151
151
  }
152
- .pb_timeline_item_step {
152
+ [class^=pb_timeline_item_step] {
153
153
  @include flex_wrapper(row);
154
154
  margin-top: $space_xs;
155
155
  margin-bottom: $space_xs;
@@ -161,22 +161,22 @@ $gap_lg: $height_from_top + $space_lg;
161
161
  }
162
162
  }
163
163
  }
164
- &._vertical {
164
+ &[class*=_vertical] {
165
165
  @include flex_wrapper(column);
166
166
  align-items: flex-start;
167
167
  align-self: auto;
168
168
  >div:last-child {
169
- .pb_timeline_item_step {
169
+ [class^=pb_timeline_item_step] {
170
170
  [class=pb_timeline_item_connector] {
171
171
  opacity: 0;
172
172
  }
173
173
  }
174
174
  }
175
- .pb_timeline_item_kit {
175
+ [class*=pb_timeline_item_kit] {
176
176
  @include flex_wrapper(row);
177
- &._solid {
177
+ &[class*=_solid] {
178
178
  flex-basis: 100%;
179
- .pb_timeline_item_step {
179
+ [class^=pb_timeline_item_step] {
180
180
  @include flex_wrapper(column);
181
181
  align-items: center;
182
182
  align-content: flex-start;
@@ -195,9 +195,9 @@ $gap_lg: $height_from_top + $space_lg;
195
195
  margin-bottom: $space_lg;
196
196
  }
197
197
  }
198
- &._dotted {
198
+ &[class*=_dotted] {
199
199
  flex-basis: 100%;
200
- .pb_timeline_item_step {
200
+ [class^=pb_timeline_item_step] {
201
201
  @include flex_wrapper(column);
202
202
  align-items: center;
203
203
  margin-right: $space_sm;
@@ -216,22 +216,22 @@ $gap_lg: $height_from_top + $space_lg;
216
216
  }
217
217
  }
218
218
  }
219
- &._with_date {
219
+ &[class*=_with_date] {
220
220
  @include flex_wrapper(column);
221
221
  align-items: flex-start;
222
222
  align-self: auto;
223
223
  >div:last-child {
224
- .pb_timeline_item_step {
224
+ [class^=pb_timeline_item_step] {
225
225
  [class=pb_timeline_item_connector] {
226
226
  opacity: 0;
227
227
  }
228
228
  }
229
229
  }
230
- .pb_timeline_item_kit {
230
+ [class*=pb_timeline_item_kit] {
231
231
  @include flex_wrapper(row);
232
- &._solid {
232
+ &[class*=_solid] {
233
233
  flex-basis: 100%;
234
- .pb_timeline_item_step {
234
+ [class^=pb_timeline_item_step] {
235
235
  @include flex_wrapper(column);
236
236
  align-items: center;
237
237
  align-content: flex-start;
@@ -250,9 +250,9 @@ $gap_lg: $height_from_top + $space_lg;
250
250
  margin-bottom: $space_lg;
251
251
  }
252
252
  }
253
- &._dotted {
253
+ &[class*=_dotted] {
254
254
  flex-basis: 100%;
255
- .pb_timeline_item_step {
255
+ [class^=pb_timeline_item_step] {
256
256
  @include flex_wrapper(column);
257
257
  align-items: center;
258
258
  margin-right: $space_sm;
@@ -272,36 +272,36 @@ $gap_lg: $height_from_top + $space_lg;
272
272
  }
273
273
  }
274
274
  }
275
- &._gap_xs {
276
- .pb_timeline_item_kit {
277
- .pb_timeline_item_step {
275
+ &[class*=_gap_xs] {
276
+ [class*=pb_timeline_item_kit] {
277
+ [class^=pb_timeline_item_step] {
278
278
  [class=pb_timeline_item_connector] {
279
279
  height: $gap_xs !important;
280
280
  }
281
281
  }
282
282
  }
283
283
  }
284
- &._gap_sm {
285
- .pb_timeline_item_kit {
286
- .pb_timeline_item_step {
284
+ &[class*=_gap_sm] {
285
+ [class*=pb_timeline_item_kit] {
286
+ [class^=pb_timeline_item_step] {
287
287
  [class=pb_timeline_item_connector] {
288
288
  height: $gap_sm !important;
289
289
  }
290
290
  }
291
291
  }
292
292
  }
293
- &._gap_md {
294
- .pb_timeline_item_kit {
295
- .pb_timeline_item_step {
293
+ &[class*=_gap_md] {
294
+ [class*=pb_timeline_item_kit] {
295
+ [class^=pb_timeline_item_step] {
296
296
  [class=pb_timeline_item_connector] {
297
297
  height: $gap_md !important;
298
298
  }
299
299
  }
300
300
  }
301
301
  }
302
- &._gap_lg {
303
- .pb_timeline_item_kit {
304
- .pb_timeline_item_step {
302
+ &[class*=_gap_lg] {
303
+ [class*=pb_timeline_item_kit] {
304
+ [class^=pb_timeline_item_step] {
305
305
  [class=pb_timeline_item_connector] {
306
306
  height: $gap_lg !important;
307
307
  }
@@ -1,16 +1,22 @@
1
1
  @import "timestamp-mixins";
2
2
  @import "../tokens/colors";
3
3
 
4
- .pb_timestamp_kit{
4
+ .pb_timestamp_kit_left,
5
+ .pb_timestamp_kit_center,
6
+ .pb_timestamp_kit_right {
5
7
  @include pb_timestamp;
8
+ }
9
+
10
+ .pb_timestamp_kit_center {
11
+ text-align: center;
12
+ }
13
+
14
+ .pb_timestamp_kit_right {
15
+ text-align: right;
16
+ }
6
17
 
7
- &._center {
8
- text-align: center;
9
- }
10
- &._right {
11
- text-align: right;
12
- }
13
- &._dark {
14
- color: $text_dk_default;
15
- }
18
+ .pb_timestamp_kit_left.dark,
19
+ .pb_timestamp_kit_center.dark,
20
+ .pb_timestamp_kit_right.dark {
21
+ color: $text_dk_default;
16
22
  }
@@ -49,10 +49,7 @@ const Timestamp = (props: TimestampProps): React.ReactElement => {
49
49
  const dataProps = buildDataProps(data)
50
50
  const htmlProps = buildHtmlProps(htmlOptions)
51
51
  const classes = classnames(
52
- buildCss('pb_timestamp_kit', align, {
53
- dark: dark,
54
- variant: variant,
55
- }),
52
+ buildCss('pb_timestamp_kit', align),
56
53
  globalProps(props),
57
54
  className
58
55
  )
@@ -40,7 +40,7 @@ module Playbook
40
40
  SECS_PER_CENT = 100 * SECS_PER_YEAR # 3,153,600,000 seconds
41
41
 
42
42
  def classname
43
- generate_classname("pb_timestamp_kit", variant_class, align)
43
+ generate_classname("pb_timestamp_kit", align)
44
44
  end
45
45
 
46
46
  def timestamp_text
@@ -36,7 +36,7 @@ describe("Timestamp Kit", () => {
36
36
  );
37
37
 
38
38
  const kit = screen.getByTestId(testId);
39
- expect(kit).toHaveClass("pb_timestamp_kit_left_variant");
39
+ expect(kit).toHaveClass("pb_timestamp_kit_left");
40
40
  });
41
41
 
42
42
  test("renders Timestamp time", () => {
@@ -79,7 +79,7 @@ describe("Timestamp Kit", () => {
79
79
  );
80
80
 
81
81
  const kit = screen.getByTestId(testId);
82
- expect(kit).toHaveClass("pb_timestamp_kit_center_variant");
82
+ expect(kit).toHaveClass("pb_timestamp_kit_center");
83
83
  });
84
84
 
85
85
  test("renders Timestamp timezone", () => {
@@ -1,73 +1,77 @@
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
7
  .pb_title_kit {
7
- &._1 {
8
+ // Base title styles - default to title 3 styling
9
+ @include pb_title_3;
10
+
11
+ // Size-based styles (these will override the base)
12
+ &.pb_title_1 {
8
13
  @include pb_title_1;
9
- @include title_colors;
10
14
  @include pb_title_bold;
11
15
  }
12
16
 
13
- &._2 {
17
+ &.pb_title_2 {
14
18
  @include pb_title_2;
15
- @include title_colors;
16
19
  @include pb_title_bold;
17
20
  }
18
21
 
19
- &._3 {
22
+ &.pb_title_3 {
20
23
  @include pb_title_3;
21
- @include title_colors;
22
24
  @include pb_title_bold;
23
25
  }
24
26
 
25
- &._4 {
27
+ &.pb_title_4 {
26
28
  @include pb_title_4;
27
- @include title_colors;
28
29
  }
29
30
 
30
- &._thin {
31
+ &.pb_title_thin {
31
32
  @include pb_title_thin;
32
33
  }
33
34
 
34
- &._display {
35
+ // Color classes
36
+ @include title_colors;
37
+
38
+ // Display sizes
39
+ &.pb_title_display {
35
40
  font-size: clamp(24px, calc(1.25vw + 5.3vw), 128px);
41
+ font-weight: $bold;
36
42
  }
37
43
 
38
- &._dynamic {
39
- &._xs {
40
- font-size: min(2vw, 80vw / 16);
41
- }
42
-
43
- &._sm {
44
- font-size: min(2.5vw, 96vw / 16);
45
- }
46
-
47
- &._md {
48
- font-size: min(4vw, 160vw / 16);
49
- }
50
-
51
- &._lg {
52
- font-size: min(5vw, 192vw / 16);
53
- }
54
-
55
- &._xl {
56
- font-size: min(6vw, 224vw / 16);
57
- }
58
-
59
- &._xxl {
60
- font-size: min(8vw, 256vw / 16);
61
- }
44
+ // Dynamic sizes
45
+ &.pb_title_dynamic_xs {
46
+ font-size: min(2vw, 80vw / 16);
47
+ }
48
+
49
+ &.pb_title_dynamic_sm {
50
+ font-size: min(2.5vw, 96vw / 16);
51
+ }
52
+
53
+ &.pb_title_dynamic_md {
54
+ font-size: min(4vw, 160vw / 16);
62
55
  }
63
-
64
56
 
57
+ &.pb_title_dynamic_lg {
58
+ font-size: min(5vw, 192vw / 16);
59
+ }
60
+
61
+ &.pb_title_dynamic_xl {
62
+ font-size: min(6vw, 224vw / 16);
63
+ }
64
+
65
+ &.pb_title_dynamic_xxl {
66
+ font-size: min(8vw, 256vw / 16);
67
+ }
65
68
 
69
+ // Responsive breakpoint classes
66
70
  @each $size, $size_value in $breakpoints_grid {
67
71
  @for $title_size_value from 1 through 4 {
68
72
  $min_size: map-get($size_value, "min");
69
73
  $max_size: map-get($size_value, "max");
70
- &[class*=_#{$size}_#{$title_size_value}] {
74
+ &.pb_title_#{$size}_#{$title_size_value} {
71
75
  @include break_on($min_size, $max_size) {
72
76
  @if $title_size_value == 1 { @include pb_title_1; }
73
77
  @else if $title_size_value == 2 { @include pb_title_2; }
@@ -83,9 +87,9 @@
83
87
  &.dark {
84
88
  @include title_dark;
85
89
  @each $name, $color in $pb_dark_title_colors {
86
- &[class*="_#{$name}"] {
90
+ &.pb_title_#{$name} {
87
91
  color: $color;
88
92
  }
89
93
  }
90
94
  }
91
- }
95
+ }
@@ -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
- .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
- &._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
- &._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
- .pb_title_detail_kit{
5
- &._center {
6
- & > .pb_title,
7
- & > .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
- &._right {
12
- & > .pb_title,
13
- & > .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
- .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;