playbook_ui 14.11.1.pre.alpha.PBNTR440enableglobalpropspbformwith5624 → 14.11.1.pre.alpha.PBNTR573datepickerinvestigation5355

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +0 -2
  3. data/app/pb_kits/playbook/pb_advanced_table/Components/CustomCell.tsx +2 -18
  4. data/app/pb_kits/playbook/pb_advanced_table/Components/TableHeaderCell.tsx +5 -27
  5. data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableBody.tsx +2 -17
  6. data/app/pb_kits/playbook/pb_advanced_table/SubKits/TableHeader.tsx +1 -23
  7. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.scss +0 -29
  8. data/app/pb_kits/playbook/pb_advanced_table/_advanced_table.tsx +4 -61
  9. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination.jsx +0 -1
  10. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_pagination_with_props.jsx +0 -1
  11. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_sort_control.md +2 -2
  12. data/app/pb_kits/playbook/pb_advanced_table/docs/example.yml +0 -5
  13. data/app/pb_kits/playbook/pb_advanced_table/docs/index.js +1 -6
  14. data/app/pb_kits/playbook/pb_button/button.html.erb +3 -2
  15. data/app/pb_kits/playbook/pb_checkbox/checkbox.html.erb +6 -1
  16. data/app/pb_kits/playbook/pb_collapsible/collapsible.html.erb +1 -3
  17. data/app/pb_kits/playbook/pb_collapsible/collapsible.rb +0 -3
  18. data/app/pb_kits/playbook/pb_date_picker/date_picker.html.erb +26 -23
  19. data/app/pb_kits/playbook/pb_date_picker/date_picker.rb +2 -2
  20. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default.html.erb +12 -1
  21. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_default_date.md +1 -1
  22. data/app/pb_kits/playbook/pb_date_picker/docs/example.yml +0 -1
  23. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list_rails.html.erb +9 -3
  24. data/app/pb_kits/playbook/pb_draggable/docs/example.yml +0 -1
  25. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +183 -145
  26. data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +268 -158
  27. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +45 -3
  28. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +1 -0
  29. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +16 -9
  30. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +19 -44
  31. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +3 -21
  32. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +21 -16
  33. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +19 -2
  34. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +1 -2
  35. data/app/pb_kits/playbook/pb_drawer/docs/index.js +0 -1
  36. data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +5 -5
  37. data/app/pb_kits/playbook/pb_dropdown/docs/_dropdown_subtle_variant.md +1 -1
  38. data/app/pb_kits/playbook/pb_dropdown/dropdown.html.erb +12 -7
  39. data/app/pb_kits/playbook/pb_dropdown/dropdown_container.html.erb +14 -9
  40. data/app/pb_kits/playbook/pb_dropdown/dropdown_option.html.erb +11 -6
  41. data/app/pb_kits/playbook/pb_dropdown/dropdown_trigger.html.erb +14 -8
  42. data/app/pb_kits/playbook/pb_list/item.html.erb +8 -30
  43. data/app/pb_kits/playbook/pb_list/item.rb +0 -7
  44. data/app/pb_kits/playbook/pb_list/list.html.erb +11 -31
  45. data/app/pb_kits/playbook/pb_list/list.rb +0 -4
  46. data/app/pb_kits/playbook/pb_loading_inline/_loading_inline.tsx +1 -6
  47. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.scss +0 -4
  48. data/app/pb_kits/playbook/pb_multiple_users/_multiple_users.tsx +0 -1
  49. data/app/pb_kits/playbook/pb_multiple_users/multiple_users.html.erb +1 -1
  50. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +12 -30
  51. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +1 -3
  52. data/app/pb_kits/playbook/pb_phone_number_input/docs/index.js +0 -1
  53. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.rb +0 -3
  54. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.test.js +1 -20
  55. data/app/pb_kits/playbook/pb_radio/_radio.scss +8 -12
  56. data/app/pb_kits/playbook/pb_radio/docs/_radio_custom_children.jsx +3 -8
  57. data/app/pb_kits/playbook/pb_select/_select.scss +5 -3
  58. data/app/pb_kits/playbook/pb_select/_select.tsx +1 -5
  59. data/app/pb_kits/playbook/pb_select/select.html.erb +2 -2
  60. data/app/pb_kits/playbook/pb_selectable_icon/_selectable_icon.tsx +1 -9
  61. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_default.jsx +1 -4
  62. data/app/pb_kits/playbook/pb_selectable_icon/docs/_selectable_icon_single_select.jsx +1 -4
  63. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.html.erb +3 -17
  64. data/app/pb_kits/playbook/pb_selectable_list/selectable_list.rb +0 -3
  65. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.html.erb +4 -11
  66. data/app/pb_kits/playbook/pb_selectable_list/selectable_list_item.rb +0 -3
  67. data/app/pb_kits/playbook/pb_table/_table.tsx +3 -2
  68. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_left_columns_rails.md +2 -2
  69. data/app/pb_kits/playbook/pb_table/docs/example.yml +0 -3
  70. data/app/pb_kits/playbook/pb_table/index.ts +88 -187
  71. data/app/pb_kits/playbook/pb_table/styles/_collapsible.scss +0 -12
  72. data/app/pb_kits/playbook/pb_table/styles/_scroll.scss +5 -6
  73. data/app/pb_kits/playbook/pb_table/table.html.erb +1 -1
  74. data/app/pb_kits/playbook/pb_table/table.rb +2 -17
  75. data/app/pb_kits/playbook/pb_table/table_row.html.erb +1 -20
  76. data/app/pb_kits/playbook/pb_table/table_row.rb +0 -5
  77. data/app/pb_kits/playbook/pb_text_input/docs/example.yml +1 -2
  78. data/app/pb_kits/playbook/pb_text_input/text_input.html.erb +0 -4
  79. data/app/pb_kits/playbook/pb_text_input/text_input.rb +3 -33
  80. data/app/pb_kits/playbook/pb_timeline/_timeline.scss +30 -30
  81. data/app/pb_kits/playbook/pb_typeahead/docs/example.yml +0 -2
  82. data/app/pb_kits/playbook/pb_typeahead/docs/index.js +0 -1
  83. data/dist/chunks/_typeahead-BNULwihE.js +36 -0
  84. data/dist/chunks/_weekday_stacked-BKWemDAe.js +45 -0
  85. data/dist/chunks/{lib-kMuhBuU7.js → lib-B7sgJtGS.js} +2 -2
  86. data/dist/chunks/{pb_form_validation-DBJ0wZuS.js → pb_form_validation-C5Cc0-1v.js} +1 -1
  87. data/dist/chunks/vendor.js +1 -1
  88. data/dist/menu.yml +0 -6
  89. data/dist/playbook-doc.js +1 -1
  90. data/dist/playbook-rails-react-bindings.js +1 -1
  91. data/dist/playbook-rails.js +1 -1
  92. data/dist/playbook.css +1 -1
  93. data/lib/playbook/pb_forms_helper.rb +4 -13
  94. data/lib/playbook/version.rb +1 -1
  95. metadata +7 -63
  96. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_no_subrows.jsx +0 -50
  97. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.jsx +0 -60
  98. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows.md +0 -5
  99. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions.jsx +0 -78
  100. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_actions.md +0 -1
  101. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header.jsx +0 -53
  102. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_header.md +0 -1
  103. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows.jsx +0 -52
  104. data/app/pb_kits/playbook/pb_advanced_table/docs/_advanced_table_selectable_rows_no_subrows.md +0 -1
  105. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data_no_subrows.json +0 -42
  106. data/app/pb_kits/playbook/pb_advanced_table/docs/advanced_table_mock_data_with_id.json +0 -299
  107. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_turbo_frames.html.erb +0 -13
  108. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_turbo_frames_rails.md +0 -3
  109. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_list_rails.md +0 -5
  110. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list_rails.html.erb +0 -38
  111. data/app/pb_kits/playbook/pb_draggable/docs/_draggable_with_selectable_list_rails.md +0 -3
  112. data/app/pb_kits/playbook/pb_drawer/context.ts +0 -11
  113. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +0 -38
  114. data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +0 -60
  115. data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +0 -21
  116. data/app/pb_kits/playbook/pb_icon_button/_icon_button.scss +0 -78
  117. data/app/pb_kits/playbook/pb_icon_button/docs/_icon_button_default.html.erb +0 -3
  118. data/app/pb_kits/playbook/pb_icon_button/docs/example.yml +0 -7
  119. data/app/pb_kits/playbook/pb_icon_button/icon_button.html.erb +0 -16
  120. data/app/pb_kits/playbook/pb_icon_button/icon_button.rb +0 -22
  121. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_format.html.erb +0 -15
  122. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_format.jsx +0 -24
  123. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_format.md +0 -1
  124. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns.html.erb +0 -74
  125. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_columns_rails.md +0 -3
  126. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns.html.erb +0 -74
  127. data/app/pb_kits/playbook/pb_table/docs/_table_sticky_right_columns_rails.md +0 -3
  128. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible.html.erb +0 -47
  129. data/app/pb_kits/playbook/pb_table/docs/_table_with_collapsible_rails.md +0 -2
  130. data/app/pb_kits/playbook/pb_table/utilities/addDataTitle.ts +0 -22
  131. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask.html.erb +0 -46
  132. data/app/pb_kits/playbook/pb_text_input/docs/_text_input_mask_rails.md +0 -3
  133. data/app/pb_kits/playbook/pb_text_input/index.js +0 -103
  134. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.html.erb +0 -19
  135. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.jsx +0 -27
  136. data/app/pb_kits/playbook/pb_typeahead/docs/_typeahead_truncated_text.md +0 -1
  137. data/dist/chunks/_typeahead-BWwaAo_0.js +0 -36
  138. data/dist/chunks/_weekday_stacked-zyBCd1s8.js +0 -45
  139. data/lib/playbook/pb_forms_global_props_helper.rb +0 -136
  140. /data/app/pb_kits/playbook/pb_table/docs/{_table_with_collapsible_react.md → _table_with_collapsible.md} +0 -0
@@ -1 +1,12 @@
1
- <%= pb_rails("date_picker", props: { picker_id: "date-picker-default"}) %>
1
+ <%= pb_rails("date_picker", props: { picker_id: "date-picker-default", custom_event_listener: "datePickerLoader" }) %>
2
+ <%= pb_rails("button", props: { id: "date-picker-loader", text: "Load Custom Event" }) %>
3
+
4
+ <script>
5
+ document.getElementById("date-picker-loader").addEventListener("click", () => {
6
+ window.document.dispatchEvent(
7
+ new CustomEvent("datePickerLoader", {
8
+ bubbles: true,
9
+ })
10
+ );
11
+ });
12
+ </script>
@@ -2,4 +2,4 @@ The `defaultDate`/`default_date` prop has a null or empty string value by defaul
2
2
 
3
3
  If you use a Date object without UTC time standardization the Date Picker kit may misinterpret that date as yesterdays date (consequence of timezone differentials and the Javascript Date Object constructor). See [this GitHub issue for more information](https://github.com/powerhome/playbook/issues/1167) and the anti-pattern examples below.
4
4
 
5
- You can leverage the `defaultDate`/`default_date` prop with custom logic in your filter or controller files where the determination of the default value changes based on user interaction. The page can load with an initial default date picker value or placeholder text, then after filter submission save the submitted values as the "new default" (via state or params).
5
+
@@ -28,7 +28,6 @@ examples:
28
28
  - date_picker_time: Time Selection
29
29
  - date_picker_positions: Custom Positions
30
30
  - date_picker_positions_element: Custom Position (based on element)
31
- - date_picker_turbo_frames: Within Turbo Frames
32
31
 
33
32
  react:
34
33
  - date_picker_default: Default
@@ -6,8 +6,14 @@
6
6
 
7
7
  ] %>
8
8
 
9
- <%= pb_rails("list", props: { enable_drag: true, items: initial_items }) do %>
10
- <% initial_items.each do |item| %>
11
- <%= pb_rails("list/item", props:{drag_id: item[:id]}) do %><%= item[:name] %><% end %>
9
+ <%= pb_rails("draggable", props: {initial_items: initial_items}) do %>
10
+ <%= pb_rails("draggable/draggable_container") do %>
11
+ <%= pb_rails("list", props: {ordered: false}) do %>
12
+ <% initial_items.each do |item| %>
13
+ <%= pb_rails("draggable/draggable_item", props:{drag_id: item[:id]}) do %>
14
+ <%= pb_rails("list/item") do %><%= item[:name] %><% end %>
15
+ <% end %>
16
+ <% end %>
17
+ <% end %>
12
18
  <% end %>
13
19
  <% end %>
@@ -11,7 +11,6 @@ examples:
11
11
  rails:
12
12
  - draggable_default_rails: Default
13
13
  - draggable_with_list_rails: Draggable with List Kit
14
- - draggable_with_selectable_list_rails: Draggable with SelectableList Kit
15
14
  - draggable_with_cards_rails: Draggable with Cards
16
15
 
17
16
 
@@ -13,9 +13,10 @@ $small: 200px;
13
13
  $medium: 250px;
14
14
  $large: 300px;
15
15
  $xlarge: 365px;
16
- $animation-duration: .25s;
16
+ $animation-duration: 0.4s;
17
17
  $z-index: $z_7;
18
18
 
19
+ // Drawer animations
19
20
  @keyframes modalFadeInLeft {
20
21
  from {
21
22
  transform: translateX(-100%);
@@ -70,62 +71,6 @@ $z-index: $z_7;
70
71
  }
71
72
  }
72
73
 
73
- @keyframes overlayFade {
74
- from {
75
- opacity: 0;
76
- transform: translateY(0);
77
- }
78
- to {
79
- opacity: 1;
80
- transform: translateY(0);
81
- }
82
- }
83
-
84
- @keyframes overlayFadeOut {
85
- from {
86
- opacity: 1;
87
- }
88
- to {
89
- opacity: 0;
90
- }
91
- }
92
-
93
- @keyframes modalFadeDownIn {
94
- from {
95
- transform: translateY(-100%);
96
- }
97
- to {
98
- transform: translateY(0);
99
- }
100
- }
101
-
102
- @keyframes modalFadeDownOut {
103
- from {
104
- transform: translateY(0);
105
- }
106
- to {
107
- transform: translateY(-100%);
108
- }
109
- }
110
-
111
- @keyframes modalFadeUpIn {
112
- from {
113
- transform: translateY(100%);
114
- }
115
- to {
116
- transform: translateY(0);
117
- }
118
- }
119
-
120
- @keyframes modalFadeUpOut {
121
- from {
122
- transform: translateY(0);
123
- }
124
- to {
125
- transform: translateY(100%);
126
- }
127
- }
128
-
129
74
  body.PBDrawer__Body--open {
130
75
  transition: margin-left $animation-duration ease-in, margin-right $animation-duration ease-in;
131
76
  }
@@ -149,53 +94,34 @@ body.PBDrawer__Body--close {
149
94
 
150
95
  // Drawer Styles
151
96
  .pb_drawer {
152
- background-color: $white;
153
- z-index: $z-index;
154
- border: 0;
155
- height: 100%;
156
- overflow: auto;
157
- animation-duration: $animation-duration;
158
- outline: none;
159
-
160
- &.pb_drawer_within_element {
161
- position: relative;
162
- width: 100%;
163
- display: block;
164
- background-color: $white;
165
- overflow: hidden;
166
- transition: height $animation-duration ease-in-out;
167
- height: var(--drawer-height);
168
- z-index: 1;
169
-
170
- &.pb_drawer_before_close {
171
- height: 0;
172
- }
173
-
174
- &::before {
175
- content: '';
176
- position: absolute;
177
- top: 0;
178
- left: 0;
179
- right: 0;
180
- bottom: 0;
181
- background-color: inherit;
182
- z-index: -1;
183
- }
184
- }
185
-
186
- .toggle-content.is-visible {
187
- display: block;
188
- height: auto;
189
- }
97
+ will-change: transform;
98
+ backface-visibility: hidden;
190
99
 
191
100
  .drawer {
192
101
  position: sticky;
193
102
  will-change: transform;
103
+ backface-visibility: hidden;
194
104
  top: 0;
195
105
  background-color: $white;
196
106
  z-index: $z_9;
197
107
  }
198
108
 
109
+ // @include pb_card;
110
+ background-color: $white;
111
+ border: 0;
112
+ box-shadow: $shadow_deepest; // border class here
113
+ max-height: calc(100vh - #{$gutter * 2});
114
+ max-width: calc(100vw - #{$gutter * 2});
115
+ overflow: auto;
116
+ animation-duration: $animation-duration;
117
+ outline: none;
118
+
119
+ // General _before_close styles
120
+ &[class*="_before_close"] {
121
+ animation-name: modalFadeOut;
122
+ animation-duration: $animation-duration;
123
+ }
124
+
199
125
  &[class*="_left"] {
200
126
  animation-name: modalFadeInLeft;
201
127
  }
@@ -203,40 +129,17 @@ body.PBDrawer__Body--close {
203
129
  &[class*="_left"][class*="_before_close"] {
204
130
  animation-name: modalFadeOutLeft;
205
131
  animation-duration: $animation-duration;
206
- transform: translateX(-100%);
207
132
  }
208
133
 
209
134
  &[class*="_right"] {
210
135
  animation-name: modalFadeInRight;
211
- justify-content: flex-end;
212
136
  }
213
137
 
214
138
  &[class*="_right"][class*="_before_close"] {
215
139
  animation-name: modalFadeOutRight;
216
140
  animation-duration: $animation-duration;
217
- transform: translateX(100%);
218
- }
219
-
220
- &[class*="_bottom"] {
221
- animation: none;
222
- transform: none;
223
- }
224
-
225
- &[class*="_bottom"][class*="_before_close"] {
226
- animation: none;
227
- transform: none;
228
141
  }
229
142
 
230
- &[class*="_top"] {
231
- animation-name: modalFadeUpIn;
232
- }
233
-
234
- &[class*="_top"][class*="_before_close"] {
235
- animation-name: modalFadeUpOut;
236
- animation-duration: $animation-duration;
237
- }
238
-
239
-
240
143
  &[class*="_xs_"] {
241
144
  width: $xsmall;
242
145
  max-width: $xsmall;
@@ -262,21 +165,23 @@ body.PBDrawer__Body--close {
262
165
  max-width: $xlarge;
263
166
  }
264
167
 
265
- &[class*="_full_"] {
266
- width: 100%;
267
- max-width: 100%;
168
+ &_body_open {
169
+ overflow: hidden;
170
+ }
171
+
172
+ &_after_open {
268
173
  }
269
174
 
270
- &.drawer_border-full {
175
+ &.drawer_border_full {
271
176
  box-shadow: none;
272
177
  border: 2px solid #f3f7fb;
273
178
  }
274
179
 
275
- &.drawer_border-right {
180
+ &.drawer_border_right {
276
181
  border-right: 2px solid #f3f7fb;
277
182
  }
278
183
 
279
- &.drawer_border-left {
184
+ &.drawer_border_left {
280
185
  border-left: 2px solid #f3f7fb;
281
186
  }
282
187
 
@@ -295,27 +200,78 @@ body.PBDrawer__Body--close {
295
200
  right: 0;
296
201
  bottom: 0;
297
202
  display: flex;
203
+ align-items: center;
204
+ justify-content: center;
298
205
  background-color: rgba($bg_dark, $opacity_4);
299
206
  z-index: $z-index;
300
- opacity: 0;
301
- animation: overlayFade $animation-duration ease-in-out forwards;
302
-
303
- &[class*="_left"]{
304
- justify-content: flex-start;
305
- }
306
-
307
- &[class*="_center"]{
308
- justify-content: center;
309
- }
207
+ animation-name: overlayFade;
208
+ animation-duration: $animation-duration;
310
209
 
311
- &[class*="_right"]{
312
- justify-content: flex-end;
210
+ &_after_open {
313
211
  }
314
-
315
212
  &_before_close {
316
- animation: overlayFadeOut $animation-duration ease-in-out forwards;
317
- opacity: 0;
318
- // height: 0;
213
+ animation-name: overlayFadeOut;
214
+ animation-duration: $animation-duration;
215
+ }
216
+ &[class*="full_height"] {
217
+ &[class*="_left"]{
218
+ justify-content: flex-start;
219
+ }
220
+
221
+ &[class*="_center"]{
222
+ justify-content: center;
223
+ }
224
+
225
+ &[class*="_right"]{
226
+ justify-content: flex-end;
227
+ }
228
+
229
+ .pb_drawer {
230
+ height: 100%;
231
+ max-height: 100%;
232
+ max-width: none;
233
+ // This empty div only has height when drawer is full height
234
+ // Fix for drawer body content disappearing behind sticky footer
235
+ .drawer-pseudo-footer {
236
+ height: $space_xl * 2;
237
+ }
238
+ .drawer_footer {
239
+ position: fixed;
240
+ bottom: 0;
241
+ background-color: $white;
242
+ max-width: 100%;
243
+ }
244
+ &[class*="_xs_"] {
245
+ width: $xsmall;
246
+ .dialog_footer {
247
+ width: $xsmall;
248
+ }
249
+ }
250
+ &[class*="_sm_"] {
251
+ width: $small;
252
+ .dialog_footer {
253
+ width: $small;
254
+ }
255
+ }
256
+ &[class*="_md_"] {
257
+ width: $medium;
258
+ .dialog_footer {
259
+ width: $medium;
260
+ }
261
+ }
262
+ &[class*="_lg_"] {
263
+ width: $large;
264
+ .dialog_footer {
265
+ width: $large;
266
+ }
267
+ }
268
+ &[class*="_xl_"] {
269
+ width: $xlarge;
270
+ .dialog_footer {
271
+ width: $xlarge;
272
+ }
273
+ }
274
+ }
319
275
  }
320
276
  }
321
277
 
@@ -325,17 +281,99 @@ body.PBDrawer__Body--close {
325
281
  left: 0;
326
282
  right: 0;
327
283
  bottom: 0;
284
+ display: flex;
285
+ align-items: center;
286
+ justify-content: center;
328
287
  z-index: $z-index;
329
- opacity: 1;
330
- pointer-events: none;
288
+ animation-name: overlayFade;
289
+ animation-duration: $animation-duration;
290
+ overflow: none; /* Ensure body remains scrollable */
291
+ pointer-events: none; /* Allow interaction inside the drawer itself */
292
+
293
+ body.PBDrawer--open {
294
+ overflow: none; /* Ensure body remains scrollable */
295
+ pointer-events: none; /* Allow interaction inside the drawer itself */
296
+ }
331
297
 
298
+ &_after_open {
299
+ overflow: none; /* Ensure body remains scrollable */
300
+ pointer-events: none; /* Allow interaction inside the drawer itself */
301
+ }
332
302
  &_before_close {
333
- height: 0;
303
+ animation-name: overlayFadeOut;
304
+ animation-duration: $animation-duration;
305
+ }
306
+ &[class*="full_height"] {
307
+ &[class*="_left"]{
308
+ justify-content: flex-start;
309
+ }
310
+
311
+ &[class*="_center"]{
312
+ justify-content: center;
313
+ }
314
+
315
+ &[class*="_right"]{
316
+ justify-content: flex-end;
317
+ }
318
+
319
+ .pb_drawer {
320
+ height: 100%;
321
+ max-height: 100%;
322
+ max-width: none;
323
+ // This empty div only has height when drawer is full height
324
+ // Fix for drawer body content disappearing behind sticky footer
325
+ .drawer-pseudo-footer {
326
+ height: $space_xl * 2;
327
+ }
328
+ .drawer_footer {
329
+ position: fixed;
330
+ bottom: 0;
331
+ background-color: $white;
332
+ max-width: 100%;
333
+ }
334
+ &[class*="_xs_"] {
335
+ width: $xsmall;
336
+ .dialog_footer {
337
+ width: $xsmall;
338
+ }
339
+ }
340
+ &[class*="_sm_"] {
341
+ width: $small;
342
+ .dialog_footer {
343
+ width: $small;
344
+ }
345
+ }
346
+ &[class*="_md_"] {
347
+ width: $medium;
348
+ .dialog_footer {
349
+ width: $medium;
350
+ }
351
+ }
352
+ &[class*="_lg_"] {
353
+ width: $large;
354
+ .dialog_footer {
355
+ width: $large;
356
+ }
357
+ }
358
+ &[class*="_xl_"] {
359
+ width: $xlarge;
360
+ .dialog_footer {
361
+ width: $xlarge;
362
+ }
363
+ }
364
+ }
334
365
  }
335
366
  }
336
367
 
368
+ [class*="drawer_body"] {
369
+ padding: $space_sm;
370
+ }
371
+
372
+ [class*="drawer_header"] {
373
+ padding: $space_sm;
374
+ }
337
375
 
338
- &.pb_drawer_before_close {
339
- transform: translateX(-100%);
376
+ [class*="drawer_footer"] {
377
+ padding: $space_sm;
340
378
  }
341
379
  }