playbook_ui 14.11.1.pre.alpha.PLAY1751pbcontenttagpt25529 → 14.11.1.pre.alpha.PLAY17445539

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 (31) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_drawer/_drawer.scss +154 -177
  3. data/app/pb_kits/playbook/pb_drawer/_drawer.tsx +162 -264
  4. data/app/pb_kits/playbook/pb_drawer/context.ts +11 -0
  5. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_behavior.jsx +38 -0
  6. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_borders.jsx +3 -45
  7. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_breakpoints.jsx +0 -1
  8. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_default.jsx +9 -16
  9. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.jsx +44 -19
  10. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_menu.md +21 -3
  11. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_overlay.jsx +16 -21
  12. data/app/pb_kits/playbook/pb_drawer/docs/_drawer_sizes.jsx +2 -19
  13. data/app/pb_kits/playbook/pb_drawer/docs/example.yml +2 -1
  14. data/app/pb_kits/playbook/pb_drawer/docs/index.js +1 -0
  15. data/app/pb_kits/playbook/pb_drawer/drawer.test.jsx +5 -5
  16. data/app/pb_kits/playbook/pb_drawer/hooks/useBreakpoint.tsx +73 -0
  17. data/app/pb_kits/playbook/pb_drawer/hooks/useDrawerAnimation.tsx +21 -0
  18. data/app/pb_kits/playbook/pb_file_upload/file_upload.html.erb +6 -1
  19. data/app/pb_kits/playbook/pb_filter/filter.html.erb +5 -1
  20. data/app/pb_kits/playbook/pb_form_group/form_group.html.erb +6 -1
  21. data/app/pb_kits/playbook/pb_form_pill/form_pill.html.erb +1 -1
  22. data/dist/chunks/{_typeahead-TN5aDUj9.js → _typeahead-vFuUQM5F.js} +1 -1
  23. data/dist/chunks/_weekday_stacked-DG3A22sS.js +45 -0
  24. data/dist/chunks/vendor.js +1 -1
  25. data/dist/playbook-doc.js +1 -1
  26. data/dist/playbook-rails-react-bindings.js +1 -1
  27. data/dist/playbook-rails.js +1 -1
  28. data/dist/playbook.css +1 -1
  29. data/lib/playbook/version.rb +1 -1
  30. metadata +7 -3
  31. data/dist/chunks/_weekday_stacked-BcnpLG66.js +0 -45
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5e7aeb4eded2d7207beaad9aaac806a7287567e5fa319c711e37c0b6e7fb5a06
4
- data.tar.gz: af7059a43605656c61fea4ee409ae64a7adf807fb655aafdc760027c45b0afcf
3
+ metadata.gz: fc87bec1a3c8f7ff6d6e2ba75803628c9e58603b3cdeb99e594fbe848eef5744
4
+ data.tar.gz: 6ff0f99215db0507635fde51c622a3b958b5c7b838b7bc3ddc33dc274956263a
5
5
  SHA512:
6
- metadata.gz: 855ee14b770f338f48795930c8aa870974b3a524b6a2d87cafd20b8d397cc08343acc0005ff6a7e49cfa0b287dc6153154e7ef361ea01e26f050a7ee47eadf5b
7
- data.tar.gz: 7cf27552a3d85aa92fb440ee752fe8cf5b2b7cd153ee4ca558209ecb6821075e461f41e852ab1714ddbbf87d27c610c3da9d0b9765c666e03d4d0b1830764b96
6
+ metadata.gz: 166e0a325c792b7ca130740893dbb9e77af28360afb2371b88a240b3692fcff92f6a1499fff7c943b900c00a788e1db1605c94401b55377ace1ffd0e7d742af9
7
+ data.tar.gz: ac0c4fb79a12b76a1915ae45a5d3a6936003c5b40127fe1cc34f51b4f03e2831588f9baa3f3caaeaa7a09dd29ce85fde825e4ed3ae6002656c0431f88e14154b
@@ -13,10 +13,9 @@ $small: 200px;
13
13
  $medium: 250px;
14
14
  $large: 300px;
15
15
  $xlarge: 365px;
16
- $animation-duration: 0.4s;
16
+ $animation-duration: .25s;
17
17
  $z-index: $z_7;
18
18
 
19
- // Drawer animations
20
19
  @keyframes modalFadeInLeft {
21
20
  from {
22
21
  transform: translateX(-100%);
@@ -71,6 +70,62 @@ $z-index: $z_7;
71
70
  }
72
71
  }
73
72
 
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
+
74
129
  body.PBDrawer__Body--open {
75
130
  transition: margin-left $animation-duration ease-in, margin-right $animation-duration ease-in;
76
131
  }
@@ -94,34 +149,53 @@ body.PBDrawer__Body--close {
94
149
 
95
150
  // Drawer Styles
96
151
  .pb_drawer {
97
- will-change: transform;
98
- backface-visibility: hidden;
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_collapsing {
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
+ }
99
190
 
100
191
  .drawer {
101
192
  position: sticky;
102
193
  will-change: transform;
103
- backface-visibility: hidden;
104
194
  top: 0;
105
195
  background-color: $white;
106
196
  z-index: $z_9;
107
197
  }
108
198
 
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
-
125
199
  &[class*="_left"] {
126
200
  animation-name: modalFadeInLeft;
127
201
  }
@@ -129,17 +203,40 @@ body.PBDrawer__Body--close {
129
203
  &[class*="_left"][class*="_before_close"] {
130
204
  animation-name: modalFadeOutLeft;
131
205
  animation-duration: $animation-duration;
206
+ transform: translateX(-100%);
132
207
  }
133
208
 
134
209
  &[class*="_right"] {
135
210
  animation-name: modalFadeInRight;
211
+ justify-content: flex-end;
136
212
  }
137
213
 
138
214
  &[class*="_right"][class*="_before_close"] {
139
215
  animation-name: modalFadeOutRight;
140
216
  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
+ }
229
+
230
+ &[class*="_top"] {
231
+ animation-name: modalFadeUpIn;
141
232
  }
142
233
 
234
+ &[class*="_top"][class*="_before_close"] {
235
+ animation-name: modalFadeUpOut;
236
+ animation-duration: $animation-duration;
237
+ }
238
+
239
+
143
240
  &[class*="_xs_"] {
144
241
  width: $xsmall;
145
242
  max-width: $xsmall;
@@ -165,23 +262,25 @@ body.PBDrawer__Body--close {
165
262
  max-width: $xlarge;
166
263
  }
167
264
 
168
- &_body_open {
169
- overflow: hidden;
265
+ &[class*="_full_"] {
266
+ width: 100%;
267
+ max-width: 100%;
170
268
  }
171
269
 
172
- &_after_open {
270
+ &_body_open {
271
+ overflow: hidden;
173
272
  }
174
273
 
175
- &.drawer_border_full {
274
+ &.drawer_border-full {
176
275
  box-shadow: none;
177
276
  border: 2px solid #f3f7fb;
178
277
  }
179
278
 
180
- &.drawer_border_right {
279
+ &.drawer_border-right {
181
280
  border-right: 2px solid #f3f7fb;
182
281
  }
183
282
 
184
- &.drawer_border_left {
283
+ &.drawer_border-left {
185
284
  border-left: 2px solid #f3f7fb;
186
285
  }
187
286
 
@@ -200,78 +299,30 @@ body.PBDrawer__Body--close {
200
299
  right: 0;
201
300
  bottom: 0;
202
301
  display: flex;
203
- align-items: center;
204
- justify-content: center;
205
302
  background-color: rgba($bg_dark, $opacity_4);
206
303
  z-index: $z-index;
207
- animation-name: overlayFade;
208
- animation-duration: $animation-duration;
304
+ opacity: 0;
305
+ animation: overlayFade $animation-duration ease-in-out forwards;
306
+
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
+ }
209
318
 
210
319
  &_after_open {
320
+ opacity: 1;
211
321
  }
322
+
212
323
  &_before_close {
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
- }
324
+ animation: overlayFadeOut $animation-duration ease-in-out forwards;
325
+ opacity: 0;
275
326
  }
276
327
  }
277
328
 
@@ -281,99 +332,25 @@ body.PBDrawer__Body--close {
281
332
  left: 0;
282
333
  right: 0;
283
334
  bottom: 0;
284
- display: flex;
285
- align-items: center;
286
- justify-content: center;
287
335
  z-index: $z-index;
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
- }
336
+ opacity: 1;
337
+ animation: overlayFade $animation-duration ease-in-out forwards;
338
+ pointer-events: none;
297
339
 
298
340
  &_after_open {
299
- overflow: none; /* Ensure body remains scrollable */
300
- pointer-events: none; /* Allow interaction inside the drawer itself */
341
+ opacity: 1;
301
342
  }
343
+
302
344
  &_before_close {
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
- }
345
+ animation: overlayFadeOut $animation-duration ease-in-out forwards;
365
346
  }
366
347
  }
367
348
 
368
- [class*="drawer_body"] {
369
- padding: $space_sm;
370
- }
371
-
372
- [class*="drawer_header"] {
373
- padding: $space_sm;
349
+ &.pb_drawer_after_open {
350
+ transform: translateX(0);
374
351
  }
375
352
 
376
- [class*="drawer_footer"] {
377
- padding: $space_sm;
353
+ &.pb_drawer_before_close {
354
+ transform: translateX(-100%);
378
355
  }
379
356
  }