playbook_ui 14.25.0.pre.alpha.testingcss9713 → 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 (169) 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_checkbox/_checkbox.scss +11 -2
  19. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +6 -6
  20. data/app/pb_kits/playbook/pb_circle_icon_button/circle_icon_button.test.js +1 -1
  21. data/app/pb_kits/playbook/pb_collapsible/_collapsible.scss +1 -1
  22. data/app/pb_kits/playbook/pb_copy_button/copy_button.test.jsx +19 -19
  23. data/app/pb_kits/playbook/pb_currency/_currency.scss +118 -33
  24. data/app/pb_kits/playbook/pb_dashboard_value/_dashboard_value.scss +16 -6
  25. data/app/pb_kits/playbook/pb_date/_date.scss +14 -16
  26. data/app/pb_kits/playbook/pb_date_picker/sass_partials/_inline_styles.scss +10 -10
  27. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.scss +25 -19
  28. data/app/pb_kits/playbook/pb_date_range_inline/_date_range_inline.tsx +1 -1
  29. data/app/pb_kits/playbook/pb_date_range_stacked/date_range_stacked.test.js +2 -2
  30. data/app/pb_kits/playbook/pb_date_stacked/_date_stacked.scss +66 -26
  31. data/app/pb_kits/playbook/pb_date_stacked/date_stacked.test.js +2 -2
  32. data/app/pb_kits/playbook/pb_date_time/_date_time.scss +5 -12
  33. data/app/pb_kits/playbook/pb_date_time_stacked/_date_time_stacked.scss +2 -3
  34. data/app/pb_kits/playbook/pb_date_year_stacked/_date_year_stacked.scss +17 -14
  35. data/app/pb_kits/playbook/pb_date_year_stacked/date_year_stacked.test.js +1 -1
  36. data/app/pb_kits/playbook/pb_detail/_detail.scss +86 -21
  37. data/app/pb_kits/playbook/pb_dialog/_dialog.scss +463 -65
  38. data/app/pb_kits/playbook/pb_dialog/docs/_dialog_loading.html.erb +16 -2
  39. data/app/pb_kits/playbook/pb_distribution_bar/_distribution_bar.scss +10 -7
  40. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +2 -2
  41. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +6 -6
  42. data/app/pb_kits/playbook/pb_empty_state/_empty_state.scss +4 -4
  43. data/app/pb_kits/playbook/pb_file_upload/_file_upload.scss +20 -9
  44. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +1 -1
  45. data/app/pb_kits/playbook/pb_filter/_filter.scss +3 -3
  46. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.scss +65 -29
  47. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/_fixed_confirmation_toast.tsx +1 -2
  48. data/app/pb_kits/playbook/pb_fixed_confirmation_toast/fixed_confirmation_toast.test.js +1 -1
  49. data/app/pb_kits/playbook/pb_flex/_flex_item.tsx +1 -1
  50. data/app/pb_kits/playbook/pb_form_group/_error_state_mixin.scss +1 -1
  51. data/app/pb_kits/playbook/pb_form_group/_form_group.scss +48 -48
  52. data/app/pb_kits/playbook/pb_form_pill/_form_pill.scss +381 -344
  53. data/app/pb_kits/playbook/pb_form_pill/_form_pill.test.jsx +4 -4
  54. data/app/pb_kits/playbook/pb_form_pill/_form_pill.tsx +8 -7
  55. data/app/pb_kits/playbook/pb_form_pill/form_pill.rb +9 -2
  56. data/app/pb_kits/playbook/pb_home_address_street/home_adress_street.test.js +2 -2
  57. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +4 -4
  58. data/app/pb_kits/playbook/pb_icon_circle/_icon_circle.scss +40 -39
  59. data/app/pb_kits/playbook/pb_icon_circle/icon_circle.rb +1 -1
  60. data/app/pb_kits/playbook/pb_icon_stat_value/_icon_stat_value.scss +15 -15
  61. data/app/pb_kits/playbook/pb_icon_stat_value/icon_stat_value.test.js +1 -1
  62. data/app/pb_kits/playbook/pb_icon_value/_icon_value.scss +16 -15
  63. data/app/pb_kits/playbook/pb_image/_image.scss +41 -36
  64. data/app/pb_kits/playbook/pb_label_value/_label_value.scss +3 -2
  65. data/app/pb_kits/playbook/pb_label_value/label_value.test.js +2 -2
  66. data/app/pb_kits/playbook/pb_legend/_legend.scss +66 -16
  67. data/app/pb_kits/playbook/pb_legend/legend.test.js +1 -1
  68. data/app/pb_kits/playbook/pb_lightbox/lightbox.scss +4 -4
  69. data/app/pb_kits/playbook/pb_lightbox/lightbox.test.jsx +1 -1
  70. data/app/pb_kits/playbook/pb_link/_link.scss +113 -19
  71. data/app/pb_kits/playbook/pb_list/_list.scss +9 -9
  72. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.scss +13 -11
  73. data/app/pb_kits/playbook/pb_map/_map.scss +1 -1
  74. data/app/pb_kits/playbook/pb_map/docs/_map_default.jsx +1 -1
  75. data/app/pb_kits/playbook/pb_map/docs/_map_with_custom_button.jsx +1 -1
  76. data/app/pb_kits/playbook/pb_map/docs/_map_with_plugin.jsx +1 -1
  77. data/app/pb_kits/playbook/pb_message/_message.scss +20 -15
  78. data/app/pb_kits/playbook/pb_message/_message.tsx +1 -0
  79. data/app/pb_kits/playbook/pb_message/_message_mixins.scss +5 -12
  80. data/app/pb_kits/playbook/pb_message/message.html.erb +1 -1
  81. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +4 -1
  82. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +16 -15
  83. data/app/pb_kits/playbook/pb_multiple_users_stacked/_multiple_users_stacked.scss +10 -10
  84. data/app/pb_kits/playbook/pb_nav/_bold_mixin.scss +9 -9
  85. data/app/pb_kits/playbook/pb_nav/_collapsible_nav.scss +1 -1
  86. data/app/pb_kits/playbook/pb_online_status/_online_status.scss +19 -15
  87. data/app/pb_kits/playbook/pb_online_status/_online_status.tsx +1 -1
  88. data/app/pb_kits/playbook/pb_online_status/online_status.rb +5 -4
  89. data/app/pb_kits/playbook/pb_online_status/online_status.test.js +2 -2
  90. data/app/pb_kits/playbook/pb_overlay/_overlay.scss +1 -1
  91. data/app/pb_kits/playbook/pb_overlay/overlay.rb +1 -1
  92. data/app/pb_kits/playbook/pb_passphrase/_passphrase.scss +5 -2
  93. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.scss +1 -1
  94. data/app/pb_kits/playbook/pb_pill/_pill.scss +23 -21
  95. data/app/pb_kits/playbook/pb_progress_pills/_progress_pills.scss +12 -10
  96. data/app/pb_kits/playbook/pb_progress_simple/_progress_simple.scss +106 -31
  97. data/app/pb_kits/playbook/pb_progress_step/_progress_step.scss +37 -37
  98. data/app/pb_kits/playbook/pb_radio/_radio.scss +71 -52
  99. data/app/pb_kits/playbook/pb_radio/_radio.tsx +1 -1
  100. data/app/pb_kits/playbook/pb_radio/docs/_radio_react_hook.jsx +0 -3
  101. data/app/pb_kits/playbook/pb_section_separator/_section_separator.scss +80 -69
  102. data/app/pb_kits/playbook/pb_section_separator/_section_separator.tsx +9 -1
  103. data/app/pb_kits/playbook/pb_section_separator/_section_separator_mixin.scss +1 -1
  104. data/app/pb_kits/playbook/pb_section_separator/docs/_section_separator_color.jsx +3 -1
  105. data/app/pb_kits/playbook/pb_section_separator/section_separator.rb +7 -1
  106. data/app/pb_kits/playbook/pb_select/_select.scss +2 -2
  107. data/app/pb_kits/playbook/pb_selectable_card/_selectable_card.scss +6 -2
  108. data/app/pb_kits/playbook/pb_selectable_card_icon/_selectable_card_icon.scss +13 -4
  109. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.scss +39 -29
  110. data/app/pb_kits/playbook/pb_selectable_list/_item.tsx +2 -0
  111. data/app/pb_kits/playbook/pb_selectable_list/_selectable_list.scss +8 -11
  112. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.test.js +24 -25
  113. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +2 -2
  114. data/app/pb_kits/playbook/pb_source/_source.scss +5 -5
  115. data/app/pb_kits/playbook/pb_star_rating/star_rating.test.js +1 -1
  116. data/app/pb_kits/playbook/pb_stat_value/_stat_value.scss +1 -1
  117. data/app/pb_kits/playbook/pb_table/styles/_alignment.scss +1 -1
  118. data/app/pb_kits/playbook/pb_table/styles/_content.scss +1 -1
  119. data/app/pb_kits/playbook/pb_table/styles/_desktop_collapse.scss +1 -1
  120. data/app/pb_kits/playbook/pb_table/styles/_headers.scss +1 -1
  121. data/app/pb_kits/playbook/pb_table/styles/_hover.scss +1 -1
  122. data/app/pb_kits/playbook/pb_table/styles/_mobile.scss +1 -1
  123. data/app/pb_kits/playbook/pb_table/styles/_mobile_collapse.scss +1 -1
  124. data/app/pb_kits/playbook/pb_table/styles/_outer_padding.scss +1 -1
  125. data/app/pb_kits/playbook/pb_table/styles/_reset.scss +1 -1
  126. data/app/pb_kits/playbook/pb_table/styles/_scroll.scss +12 -12
  127. data/app/pb_kits/playbook/pb_table/styles/_side_highlight.scss +2 -2
  128. data/app/pb_kits/playbook/pb_table/styles/_single-line.scss +1 -1
  129. data/app/pb_kits/playbook/pb_table/styles/_striped.scss +1 -1
  130. data/app/pb_kits/playbook/pb_table/styles/_structure.scss +1 -1
  131. data/app/pb_kits/playbook/pb_table/styles/_table-card.scss +1 -1
  132. data/app/pb_kits/playbook/pb_table/styles/_table-dark.scss +2 -2
  133. data/app/pb_kits/playbook/pb_table/styles/_table_header.scss +4 -4
  134. data/app/pb_kits/playbook/pb_table/styles/_tablet_collapse.scss +1 -1
  135. data/app/pb_kits/playbook/pb_table/styles/_vertical_border.scss +1 -1
  136. data/app/pb_kits/playbook/pb_text_input/_text_input.scss +4 -4
  137. data/app/pb_kits/playbook/pb_textarea/_textarea.scss +5 -5
  138. data/app/pb_kits/playbook/pb_time/_time.scss +43 -16
  139. data/app/pb_kits/playbook/pb_time_range_inline/_time_range_inline.scss +14 -14
  140. data/app/pb_kits/playbook/pb_time_stacked/_time_stacked.scss +5 -8
  141. data/app/pb_kits/playbook/pb_timeline/_timeline.scss +41 -41
  142. data/app/pb_kits/playbook/pb_timestamp/_timestamp.scss +4 -4
  143. data/app/pb_kits/playbook/pb_title/_title.scss +41 -38
  144. data/app/pb_kits/playbook/pb_title/_title.tsx +17 -8
  145. data/app/pb_kits/playbook/pb_title/_title_mixin.scss +2 -2
  146. data/app/pb_kits/playbook/pb_title/title.rb +20 -10
  147. data/app/pb_kits/playbook/pb_title/title.test.js +4 -4
  148. data/app/pb_kits/playbook/pb_title_count/_title_count.scss +19 -8
  149. data/app/pb_kits/playbook/pb_title_detail/_title_detail.scss +10 -11
  150. data/app/pb_kits/playbook/pb_toggle/_toggle.scss +1 -1
  151. data/app/pb_kits/playbook/pb_tooltip/_tooltip.scss +1 -1
  152. data/app/pb_kits/playbook/pb_typeahead/_typeahead.scss +10 -10
  153. data/app/pb_kits/playbook/pb_typeahead/_typeahead.test.jsx +3 -3
  154. data/app/pb_kits/playbook/pb_user/_user.scss +13 -13
  155. data/app/pb_kits/playbook/pb_user/user.test.js +1 -1
  156. data/app/pb_kits/playbook/pb_user_badge/_user_badge.scss +23 -8
  157. data/app/pb_kits/playbook/pb_weekday_stacked/_weekday_stacked.scss +10 -10
  158. data/app/pb_kits/playbook/pb_weekday_stacked/weekday_stacked.test.jsx +3 -3
  159. data/dist/chunks/{_line_graph-0Y0wuiB9.js → _line_graph-Dv_ODxW3.js} +1 -1
  160. data/dist/chunks/_typeahead-CD5RAaaP.js +6 -0
  161. data/dist/chunks/{_weekday_stacked-Dblcf2V8.js → _weekday_stacked-Bv6tOPKC.js} +2 -2
  162. data/dist/chunks/vendor.js +1 -1
  163. data/dist/playbook-doc.js +2 -2
  164. data/dist/playbook-rails-react-bindings.js +1 -1
  165. data/dist/playbook-rails.js +1 -1
  166. data/dist/playbook.css +1 -1
  167. data/lib/playbook/version.rb +1 -1
  168. metadata +5 -5
  169. data/dist/chunks/_typeahead-B2gV75O0.js +0 -6
@@ -3,7 +3,8 @@
3
3
  @import "../tokens/typography";
4
4
  @import "../tokens/border_radius";
5
5
 
6
- .pb_link_kit{
6
+ // Base styles
7
+ .pb_link_kit {
7
8
  @include pb_link($primary);
8
9
  &:hover {
9
10
  color: $text_lt_default;
@@ -25,42 +26,135 @@
25
26
  color: $text_dk_default;
26
27
  }
27
28
  }
28
- @each $color_name, $color_value in $pb_link_colors {
29
- &[class*=_#{"" + $color_name}] {
30
- @include pb_link($color_value);
29
+ }
31
30
 
31
+ // Color variants
32
+ @each $color_name, $color_value in $pb_link_colors {
33
+ @if $color_name != "default" {
34
+ .pb_link_kit_#{$color_name} {
35
+ @include pb_link($color_value);
32
36
  &:hover {
33
37
  color: map-get($pb_link_hover_colors, $color_name);
34
38
  }
35
-
36
39
  &:visited {
37
40
  color: darken($primary_action, 10%);
38
41
  }
42
+ &:focus {
43
+ outline: none;
44
+ }
45
+ &:focus-visible {
46
+ border-radius: $border_rad_light;
47
+ outline: 1px solid $primary;
48
+ outline-offset: 2px;
49
+ }
39
50
  }
40
51
  }
52
+ }
41
53
 
42
- @each $dark_color_name, $dark_color_value in $pb_dark_link_colors{
43
- &[class*=_#{$dark_color_name}].dark{
44
- @include pb_link($dark_color_value);
45
-
54
+ // Dark mode color variants
55
+ @each $dark_color_name, $dark_color_value in $pb_dark_link_colors {
56
+ .pb_link_kit_#{$dark_color_name}.dark {
57
+ @include pb_link($dark_color_value);
58
+ &:hover {
59
+ color: map-get($pb_dark_link_hover_colors, $dark_color_name);
60
+ }
61
+ &:visited {
62
+ color: darken($primary_action, 10%);
63
+ }
64
+ }
65
+ }
66
+
67
+ // Underline modifier
68
+ .pb_link_kit_underline,
69
+ .pb_link_kit_body_underline,
70
+ .pb_link_kit_muted_underline,
71
+ .pb_link_kit_destructive_underline,
72
+ .pb_link_kit_underline_disabled,
73
+ .pb_link_kit_body_underline_disabled,
74
+ .pb_link_kit_muted_underline_disabled,
75
+ .pb_link_kit_destructive_underline_disabled {
76
+ text-decoration: underline;
77
+ }
78
+
79
+ // Disabled modifier
80
+ .pb_link_kit_disabled,
81
+ .pb_link_kit_body_disabled,
82
+ .pb_link_kit_muted_disabled,
83
+ .pb_link_kit_destructive_disabled,
84
+ .pb_link_kit_underline_disabled,
85
+ .pb_link_kit_body_underline_disabled,
86
+ .pb_link_kit_muted_underline_disabled,
87
+ .pb_link_kit_destructive_underline_disabled {
88
+ pointer-events: none;
89
+ cursor: default;
90
+ color: $text_lt_lighter;
91
+ }
92
+
93
+ // Color + underline combinations
94
+ @each $color_name, $color_value in $pb_link_colors {
95
+ @if $color_name != "default" {
96
+ .pb_link_kit_#{$color_name}_underline {
97
+ @include pb_link($color_value);
46
98
  &:hover {
47
- color: map-get($pb_dark_link_hover_colors, $dark_color_name);
99
+ color: map-get($pb_link_hover_colors, $color_name);
48
100
  }
49
-
50
101
  &:visited {
51
102
  color: darken($primary_action, 10%);
52
103
  }
104
+ &:focus {
105
+ outline: none;
106
+ }
107
+ &:focus-visible {
108
+ border-radius: $border_rad_light;
109
+ outline: 1px solid $primary;
110
+ outline-offset: 2px;
111
+ }
53
112
  }
54
113
  }
114
+ }
55
115
 
56
- &._underline {
57
- text-decoration: underline;
116
+ // Color + disabled combinations
117
+ @each $color_name, $color_value in $pb_link_colors {
118
+ @if $color_name != "default" {
119
+ .pb_link_kit_#{$color_name}_disabled {
120
+ @include pb_link($color_value);
121
+ &:hover {
122
+ color: map-get($pb_link_hover_colors, $color_name);
123
+ }
124
+ &:visited {
125
+ color: darken($primary_action, 10%);
126
+ }
127
+ &:focus {
128
+ outline: none;
129
+ }
130
+ &:focus-visible {
131
+ border-radius: $border_rad_light;
132
+ outline: 1px solid $primary;
133
+ outline-offset: 2px;
134
+ }
135
+ }
58
136
  }
137
+ }
59
138
 
60
- &._disabled {
61
- pointer-events: none;
62
- cursor: default;
63
- color: $text_lt_lighter;
139
+ // Color + underline + disabled combinations
140
+ @each $color_name, $color_value in $pb_link_colors {
141
+ @if $color_name != "default" {
142
+ .pb_link_kit_#{$color_name}_underline_disabled {
143
+ @include pb_link($color_value);
144
+ &:hover {
145
+ color: map-get($pb_link_hover_colors, $color_name);
146
+ }
147
+ &:visited {
148
+ color: darken($primary_action, 10%);
149
+ }
150
+ &:focus {
151
+ outline: none;
152
+ }
153
+ &:focus-visible {
154
+ border-radius: $border_rad_light;
155
+ outline: 1px solid $primary;
156
+ outline-offset: 2px;
157
+ }
158
+ }
64
159
  }
65
-
66
- }
160
+ }
@@ -1,31 +1,31 @@
1
1
  @import "list_mixin";
2
2
 
3
- .pb_list_kit {
3
+ [class*=pb_list_kit] {
4
4
  @include pb_list;
5
5
  }
6
6
 
7
- .pb_list_kit {
8
- &._dark li {
7
+ [class^=pb_list_kit] {
8
+ &[class*=_dark] li {
9
9
  @include pb_list_dark;
10
10
  }
11
11
 
12
- &._large li {
12
+ &[class*=_large] li {
13
13
  @include pb_list_large;
14
14
  }
15
15
 
16
- &._xpadding li {
16
+ &[class*=_xpadding] li {
17
17
  @include pb_list_x_padding;
18
18
  }
19
19
 
20
- &._borderless li {
20
+ &[class*=_borderless] li {
21
21
  @include pb_list_borderless;
22
22
  }
23
23
 
24
- &._layout_left li {
24
+ &[class*=_layout_left] li {
25
25
  @include pb_list_layout_left;
26
26
  }
27
27
 
28
- &._layout_right li {
28
+ &[class*=_layout_right] li {
29
29
  @include pb_list_layout_right;
30
30
  }
31
- }
31
+ }
@@ -1,19 +1,21 @@
1
1
  @import "../pb_body/body";
2
2
  @import "../pb_icon/icon";
3
3
 
4
- .pb_loading_inline_kit {
4
+ .pb_loading_inline_kit_left,
5
+ .pb_loading_inline_kit_center,
6
+ .pb_loading_inline_kit_right {
5
7
  display: flex;
6
8
  align-items: baseline;
9
+ }
7
10
 
8
- &._center {
9
- justify-content: center;
10
- }
11
-
12
- &._left {
13
- justify-content: flex-start;
14
- }
11
+ .pb_loading_inline_kit_center {
12
+ justify-content: center;
13
+ }
15
14
 
16
- &._right {
17
- justify-content: flex-end;
18
- }
15
+ .pb_loading_inline_kit_left {
16
+ justify-content: flex-start;
19
17
  }
18
+
19
+ .pb_loading_inline_kit_right {
20
+ justify-content: flex-end;
21
+ }
@@ -4,7 +4,7 @@
4
4
  @import "../tokens/border_radius";
5
5
  @import "./_pb_map_button_mixin.scss";
6
6
 
7
- [class*="pb_map"] {
7
+ .pb_map {
8
8
  .pb_map-custom-button {
9
9
  @include pb_map_button;
10
10
  position: relative;
@@ -26,7 +26,7 @@ const MapDefault = (props) => {
26
26
  new maplibregl.Marker({
27
27
  color: mapTheme.marker,
28
28
  }).setLngLat(defaultPosition)
29
- .setPopup(new maplibregl.Popup({closeButton: false}).setHTML(`<h4 class="pb_title_kit_size_4">Hello World!</h4>`)) // add popup
29
+ .setPopup(new maplibregl.Popup({closeButton: false}).setHTML(`<h4 class="pb_title_kit pb_title_4">Hello World!</h4>`)) // add popup
30
30
  .addTo(map);
31
31
 
32
32
  // disable map zoom when using scroll
@@ -29,7 +29,7 @@ const MapWithCustomButton = (props) => {
29
29
  new maplibregl.Marker({
30
30
  color: mapTheme.marker,
31
31
  }).setLngLat(defaultPosition)
32
- .setPopup(new maplibregl.Popup({closeButton: false}).setHTML(`<h4 class="pb_title_kit_size_4">Hello World!</h4>`)) // add popup
32
+ .setPopup(new maplibregl.Popup({closeButton: false}).setHTML(`<h4 class="pb_title_kit pb_title_4">Hello World!</h4>`)) // add popup
33
33
  .addTo(map);
34
34
 
35
35
  // disable map zoom when using scroll
@@ -26,7 +26,7 @@ const MapWithPlugin = (props) => {
26
26
  new maplibregl.Marker({
27
27
  color: mapTheme.marker,
28
28
  }).setLngLat(defaultPosition)
29
- .setPopup(new maplibregl.Popup({className: 'map_popup', closeButton: false}).setHTML(`<h4 class="pb_title_kit_size_4">Hello World!</h4>`)) // add popup
29
+ .setPopup(new maplibregl.Popup({closeButton: false}).setHTML(`<h4 class="pb_title_kit pb_title_4">Hello World!</h4>`)) // add popup
30
30
  .addTo(map);
31
31
 
32
32
  //add maplibre default zoom controls
@@ -8,20 +8,25 @@ $mention_bg_color_yellow: rgba(249, 187, 0, 0.2);
8
8
  $mention_bg_color_blue: #e5eefa;
9
9
 
10
10
  .pb_message_kit {
11
- @include pb_message;
11
+ @include pb_message(false);
12
+ }
13
+
14
+ .pb_message_kit_avatar {
15
+ @include pb_message(true);
16
+ }
12
17
 
13
- .pb_message_mention {
14
- border-radius: $space_xxs;
15
- color: $primary;
16
- display: inline;
17
- padding: $space_xxs;
18
-
19
- &._user {
20
- background-color: $mention_bg_color_blue;
21
- }
22
-
23
- &._self {
24
- background-color: $mention_bg_color_yellow;
25
- }
26
- }
18
+ .pb_message_mention_user,
19
+ .pb_message_mention_self {
20
+ border-radius: $space_xxs;
21
+ color: $primary;
22
+ display: inline;
23
+ padding: $space_xxs;
27
24
  }
25
+
26
+ .pb_message_mention_user {
27
+ background-color: $mention_bg_color_blue;
28
+ }
29
+
30
+ .pb_message_mention_self {
31
+ background-color: $mention_bg_color_yellow;
32
+ }
@@ -84,6 +84,7 @@ const Message = (props: MessageProps) => {
84
84
  <Flex
85
85
  justify={alignTimestamp === 'left' ? 'none' : 'between'}
86
86
  orientation="row"
87
+ width="100%"
87
88
  >
88
89
  {label &&
89
90
  <Title
@@ -1,19 +1,18 @@
1
1
  @import "../tokens/spacing";
2
2
 
3
- @mixin pb_message {
3
+ @mixin pb_message($with_avatar: false) {
4
4
  display: flex;
5
5
  justify-content: flex-start;
6
6
 
7
7
  .content_wrapper {
8
8
  width: 100%;
9
9
  font-size: $font_base - 1;
10
-
11
- .pull-left {
10
+ @if $with_avatar {
12
11
  margin-left: $space-xs;
13
12
  }
14
13
 
15
- .pb_flex_ {
16
- width: 100%;
14
+ .pull-left {
15
+ margin-left: $space-xs;
17
16
  }
18
17
 
19
18
  .message_text {
@@ -25,12 +24,6 @@
25
24
  }
26
25
  }
27
26
 
28
- &._avatar {
29
- .content_wrapper {
30
- margin-left: $space-xs;
31
- }
32
- }
33
-
34
27
  .pb_message_body {
35
28
  font-size: 15px;
36
29
  }
@@ -48,4 +41,4 @@
48
41
  display: none;
49
42
  }
50
43
  }
51
- }
44
+ }
@@ -9,7 +9,7 @@
9
9
  }) %>
10
10
  <% end %>
11
11
  <div class="content_wrapper">
12
- <%= pb_rails("flex", props: { orientation: "row", justify: object.align_timestamp == "left" ? "none" : "between" }) do %>
12
+ <%= pb_rails("flex", props: { orientation: "row", justify: object.align_timestamp == "left" ? "none" : "between", width:"100%" }) do %>
13
13
  <% if object.label.present? %>
14
14
  <%= pb_rails("title", props: {
15
15
  size: 4,
@@ -85,7 +85,10 @@
85
85
  .pb_checkbox_kit {
86
86
  align-items: center;
87
87
  }
88
- .pb_button_kit_link_inline_enabled {
88
+ .pb_button_kit,
89
+ .pb_button_link,
90
+ .pb_button_inline,
91
+ .pb_button_enabled {
89
92
  color: $charcoal;
90
93
  &:hover {
91
94
  color: $primary;
@@ -8,7 +8,8 @@ $pb_multiple_users_border_size: 1px;
8
8
  $pb_multiple_users_size: map-get($avatar-sizes, "xs");
9
9
  $pb_multiple_users_size_xxs: map-get($avatar-sizes, "xxs");
10
10
 
11
- .pb_multiple_users_kit {
11
+ .pb_multiple_users_kit,
12
+ .pb_multiple_users_kit_reverse {
12
13
  display: inline-flex;
13
14
 
14
15
  .multiple_users_badge_xs,
@@ -53,23 +54,23 @@ $pb_multiple_users_size_xxs: map-get($avatar-sizes, "xxs");
53
54
  border: $pb_multiple_users_border_size solid $white;
54
55
  }
55
56
 
56
- @each $item in [1, 2, 3, 4, 5] {
57
- &:nth-child(#{$item}) {
58
- z-index: #{$item - 1};
59
- }
60
- }
57
+ &:nth-child(1) { z-index: 0; }
58
+ &:nth-child(2) { z-index: 1; }
59
+ &:nth-child(3) { z-index: 2; }
60
+ &:nth-child(4) { z-index: 3; }
61
+ &:nth-child(5) { z-index: 4; }
61
62
  }
63
+ }
62
64
 
63
- &._reverse {
64
- flex-direction: row-reverse;
65
+ .pb_multiple_users_kit_reverse {
66
+ flex-direction: row-reverse;
65
67
 
66
- .pb_multiple_users_item {
67
- margin-left: 0;
68
- margin-right: $pb_multiple_users_overlap;
68
+ .pb_multiple_users_item {
69
+ margin-left: 0;
70
+ margin-right: $pb_multiple_users_overlap;
69
71
 
70
- &:first-of-type {
71
- margin-right: 0;
72
- }
72
+ &:first-of-type {
73
+ margin-right: 0;
73
74
  }
74
75
  }
75
- }
76
+ }
@@ -89,7 +89,7 @@ $positions: (
89
89
  }
90
90
  }
91
91
 
92
- .pb_multiple_users_stacked_kit {
92
+ [class^=pb_multiple_users_stacked_kit] {
93
93
  $container_size: map-get($avatar-sizes, "xs");
94
94
  $bubble_container_size: map-get($avatar-sizes, "sm");
95
95
  $overlap: -15px;
@@ -103,7 +103,7 @@ $positions: (
103
103
  position: relative;
104
104
  flex-shrink: 0;
105
105
  flex-grow: 0;
106
- .pb_avatar_kit.pb_multiple_users_stacked_item {
106
+ [class^=pb_avatar_kit].pb_multiple_users_stacked_item {
107
107
  @include avatar-size($stacked_size);
108
108
  &.dark {
109
109
  .avatar_wrapper {
@@ -117,10 +117,10 @@ $positions: (
117
117
  }
118
118
  }
119
119
  }
120
- &._single .pb_multiple_users_stacked_item {
120
+ &[class*=_single] .pb_multiple_users_stacked_item {
121
121
  @include avatar-size(28px);
122
122
  }
123
- .pb_avatar_kit.second_item, .pb_badge_kit.second_item {
123
+ [class^=pb_avatar_kit].second_item, [class^=pb_badge_kit].second_item {
124
124
  @include position((bottom: 0, right: 0));
125
125
  z-index: 2;
126
126
  background: tint($primary, 90%);
@@ -143,7 +143,7 @@ $positions: (
143
143
 
144
144
  // Iterate over each size to adjust the bubble container only when class contains "_bubble_"
145
145
  @each $size_name, $size_value in $avatar-sizes {
146
- &._bubble_[class*=_size_#{$size_name}] {
146
+ &[class*=_bubble_][class*=_size_#{$size_name}] {
147
147
  // Set bubble container size based on the class
148
148
  $bubble_container_size: $size_value;
149
149
  $container_size: $size_value;
@@ -161,7 +161,7 @@ $positions: (
161
161
  background-color: $card_dark;
162
162
  }
163
163
 
164
- .pb_avatar_kit.pb_multiple_users_stacked_item {
164
+ [class^=pb_avatar_kit].pb_multiple_users_stacked_item {
165
165
  @include avatar-size($bubble_container_size * 0.45); // Adjust the size of stacked avatars
166
166
 
167
167
  &.dark {
@@ -175,7 +175,7 @@ $positions: (
175
175
  }
176
176
  }
177
177
 
178
- .pb_avatar_kit {
178
+ [class^=pb_avatar_kit] {
179
179
  // First Item
180
180
  &.first_item {
181
181
  @include position(map-get(map-get($positions, 'first-item-double'), $size_name));
@@ -235,12 +235,12 @@ $positions: (
235
235
  }
236
236
  }
237
237
 
238
- &._single_bubble {
239
- .pb_avatar_kit.first_item {
238
+ &[class*=_single_bubble] {
239
+ [class^=pb_avatar_kit].first_item {
240
240
  @include position((top: 0, left: 0));
241
241
  @include avatar-size($bubble_container_size);
242
242
  }
243
243
  }
244
244
  }
245
245
  }
246
- }
246
+ }
@@ -1,21 +1,21 @@
1
1
  @mixin bold {
2
2
  @include subtle;
3
3
 
4
- .pb_nav_list_kit_item.pb_nav_list_item{
5
- &._link {
6
- &._active {
4
+ [class*=pb_nav_list_kit_item][class*=pb_nav_list_item]{
5
+ &[class*=_link] {
6
+ &[class*=_active] {
7
7
  background-color: $primary;
8
8
  color: $white;
9
9
  box-shadow: $shadow_deep;
10
10
  @media (hover:hover) {
11
11
  &:hover {
12
12
  background-color: darken($primary, 4%);
13
- ._text,._icon {
13
+ [class*=_text],[class*=_icon] {
14
14
  color: $white;
15
15
  }
16
16
  }
17
17
  }
18
- ._text,._icon {
18
+ [class*=_text],[class*=_icon] {
19
19
  font-weight: $bolder;
20
20
  }
21
21
  }
@@ -23,12 +23,12 @@
23
23
  }
24
24
 
25
25
  .dark & {
26
- .pb_nav_list_kit_item.pb_nav_list_item {
27
- &._link {
28
- &._active {
26
+ [class*=pb_nav_list_kit_item][class*=pb_nav_list_item] {
27
+ &[class*=_link] {
28
+ &[class*=_active] {
29
29
  box-shadow: 0 2px 10px 0 $shadow_dark;
30
30
  }
31
31
  }
32
32
  }
33
33
  }
34
- }
34
+ }
@@ -272,4 +272,4 @@
272
272
  }
273
273
  }
274
274
  }
275
- }
275
+ }
@@ -20,7 +20,8 @@ $pb_online_status_statuses: (
20
20
  primary: $primary,
21
21
  );
22
22
 
23
- .pb_online_status_kit {
23
+ .pb_online_status_kit,
24
+ .pb_online_status_kit_no_border {
24
25
  box-sizing: content-box;
25
26
  width: $pb_online_status_size;
26
27
  height: $pb_online_status_size;
@@ -36,23 +37,26 @@ $pb_online_status_statuses: (
36
37
  &.dark {
37
38
  border-color: $bg_dark;
38
39
  }
40
+ }
39
41
 
40
- @each $status_name, $status_value in $pb_online_status_statuses {
41
- &[class*=_#{$status_name}] {
42
- background: $status_value;
43
- }
42
+ // Status colors
43
+ @each $status_name, $status_value in $pb_online_status_statuses {
44
+ .pb_online_status_#{$status_name} {
45
+ background: $status_value;
44
46
  }
47
+ }
45
48
 
46
- @each $size, $value in $pb_online_status_sizes {
47
- &[class*=_size_#{$size}] {
48
- width: $value;
49
- height: $value;
50
- flex-basis: $value;
51
- }
49
+ // Sizes
50
+ @each $size, $value in $pb_online_status_sizes {
51
+ .pb_online_status_size_#{$size} {
52
+ width: $value;
53
+ height: $value;
54
+ flex-basis: $value;
52
55
  }
56
+ }
53
57
 
54
- &._no_border {
55
- border-width: 0;
56
- border-style: none;
57
- }
58
+ // No border
59
+ .pb_online_status_kit_no_border {
60
+ border-width: 0;
61
+ border-style: none;
58
62
  }
@@ -33,7 +33,7 @@ const OnlineStatus = (props: OnlineStatusProps) => {
33
33
  const dataProps = buildDataProps(data)
34
34
  const htmlProps = buildHtmlProps(htmlOptions)
35
35
  const getBorder = noBorder ? 'no_border' : ''
36
- const classes = classnames(buildCss('pb_online_status_kit', status, getBorder, "size", size), globalProps(props), className)
36
+ const classes = classnames(buildCss('pb_online_status_kit', getBorder ), `${size && "pb_online_status_size_" + size}`, `pb_online_status_${status && status}`,globalProps(props), className)
37
37
 
38
38
  return (
39
39
  <div
@@ -14,11 +14,12 @@ module Playbook
14
14
  prop :no_border, type: Playbook::Props::Boolean, default: false
15
15
 
16
16
  def classname
17
- generate_classname("pb_online_status_kit", status, is_no_border, "size", size)
18
- end
17
+ class_names = ["pb_online_status_kit"]
18
+ class_names << "pb_online_status_no_border" if no_border
19
+ class_names << "pb_online_status_size_#{size}" if size
20
+ class_names << "pb_online_status_#{status}" if status
19
21
 
20
- def is_no_border
21
- no_border ? "no_border" : nil
22
+ generate_classname(class_names.compact.join(" "), separator: " ")
22
23
  end
23
24
  end
24
25
  end
@@ -11,7 +11,7 @@ test('renders online status with defaults', () => {
11
11
  )
12
12
 
13
13
  const kit = screen.getByTestId(testId)
14
- expect(kit).toHaveClass('pb_online_status_kit_offline_size_sm')
14
+ expect(kit).toHaveClass('pb_online_status_kit pb_online_status_size_sm pb_online_status_offline')
15
15
  })
16
16
 
17
17
  test('renders online status with props', () => {
@@ -27,5 +27,5 @@ test('renders online status with props', () => {
27
27
  )
28
28
 
29
29
  const kit = screen.getByTestId(testId)
30
- expect(kit).toHaveClass('pb_online_status_kit_online_no_border_size_lg dark additional_class')
30
+ expect(kit).toHaveClass('pb_online_status_kit_no_border pb_online_status_size_lg pb_online_status_online dark additional_class')
31
31
  })
@@ -138,7 +138,7 @@ $overlay_colors: (
138
138
 
139
139
  @each $key, $value in $opacity {
140
140
  &.#{$key} {
141
- .overlay {
141
+ [class^=overlay] {
142
142
  opacity: $value;
143
143
  }
144
144
  }