@@ -98,7 +98,7 @@ function NotesTab() {
98
98
return (
99
99
< div className = "bg-sec-light p-4" >
100
100
< h3 className = "typography-h3" > Important Notes</ h3 >
101
- < ul className = "mt-2 list-disc space-y-2 pl-6" >
101
+ < ul className = "mt-4 list-disc space-y-2 pl-6" >
102
102
< li >
103
103
All speakers are required to adhere to our{ " " }
104
104
< Link
@@ -147,7 +147,7 @@ function NotesTab() {
147
147
the best submission possible. To get started, here are three things that
148
148
you should consider before submitting your proposal:
149
149
</ p >
150
- < ul className = "mb -4 list-disc space-y-2 pl-6" >
150
+ < ul className = "my -4 list-disc space-y-2 pl-6" >
151
151
< li > What are you hoping to get from your presentation?</ li >
152
152
< li > What do you expect the audience to gain from your presentation?</ li >
153
153
< li > How will your presentation help better the ecosystem?</ li >
@@ -192,30 +192,28 @@ function NotesTab() {
192
192
193
193
function TypesTab ( ) {
194
194
return (
195
- < div className = "md:p-8 lg:p-16" >
196
- < dl className = "divide-y divide-sec-dark border-neu-300 md:divide-neu-300 md:border md:shadow-[0px_0px_20px_0px_rgba(133,185,19,0.20)]" >
197
- < DefinitionListItem
198
- term = "Session Presentation"
199
- definition = "Typically 30 minutes in length, 1-2 speakers presenting on a topic"
200
- />
201
- < DefinitionListItem
202
- term = "Panel Discussion"
203
- definition = "Typically 30 minutes in length, 3-4 speakers presenting on a topic"
204
- />
205
- < DefinitionListItem
206
- term = "Birds of a Feather"
207
- definition = "Typically 45 minutes to 1 hour in length"
208
- />
209
- < DefinitionListItem
210
- term = "Lightning Talk"
211
- definition = "Typically 5-10 minutes in length"
212
- />
213
- < DefinitionListItem
214
- term = "Workshop"
215
- definition = "Typically 1-2 hours in length"
216
- />
217
- </ dl >
218
- </ div >
195
+ < DefinitionListBox >
196
+ < DefinitionListItem
197
+ term = "Session Presentation"
198
+ definition = "Typically 30 minutes in length, 1-2 speakers presenting on a topic"
199
+ />
200
+ < DefinitionListItem
201
+ term = "Panel Discussion"
202
+ definition = "Typically 30 minutes in length, 3-4 speakers presenting on a topic"
203
+ />
204
+ < DefinitionListItem
205
+ term = "Birds of a Feather"
206
+ definition = "Typically 45 minutes to 1 hour in length"
207
+ />
208
+ < DefinitionListItem
209
+ term = "Lightning Talk"
210
+ definition = "Typically 5-10 minutes in length"
211
+ />
212
+ < DefinitionListItem
213
+ term = "Workshop"
214
+ definition = "Typically 1-2 hours in length"
215
+ />
216
+ </ DefinitionListBox >
219
217
)
220
218
}
221
219
@@ -326,7 +324,7 @@ export function CallForProposals() {
326
324
className = "gql-conf-section gql-conf-container dark:text-neu-0"
327
325
>
328
326
< div className = "flex *:basis-1/2 max-md:flex-col" >
329
- < div className = "border-sec-dark bg-sec-light p-4 dark:border-sec-lighter md:border-r md:p-8 lg:p-16" >
327
+ < div className = "border-sec-dark bg-sec-light p-4 md:border-r md:p-8 lg:p-16" >
330
328
< h1 className = "typography-h2" > Call for Proposals</ h1 >
331
329
< p className = "mt-6 md:mt-10" >
332
330
Putting on an amazing conference depends on great content, which is
@@ -387,7 +385,7 @@ export function CallForProposals() {
387
385
/>
388
386
) ) }
389
387
</ div >
390
- < div className = "flex flex-1 justify-center max-md:flex-col md:items-center" >
388
+ < div className = "flex flex-1 justify-center overflow-hidden max-md:flex-col md:items-center" >
391
389
{ tabsInOrder . map ( tab => (
392
390
< >
393
391
< TabButton
@@ -430,14 +428,18 @@ function TabButton({
430
428
tabIndex,
431
429
activeTab,
432
430
setActiveTab,
431
+ className,
433
432
...props
434
433
} : TabButtonProps ) {
435
434
return (
436
435
< button
437
436
key = { tab }
438
437
tabIndex = { tabIndex }
439
438
aria-selected = { activeTab === tab }
440
- className = "gql-focus-visible flex items-center justify-between px-3 py-4 typography-body-lg hover:bg-sec-light focus:outline-none max-md:border-b max-md:border-sec-dark max-md:first:border-t md:[--collapsible:1] md:aria-selected:bg-sec-light"
439
+ className = { clsx (
440
+ "gql-focus-visible flex items-center justify-between px-3 py-4 typography-body-lg hover:bg-sec-light focus:outline-none max-md:border-b max-md:border-sec-dark max-md:first:border-t md:[--collapsible:1] md:aria-selected:bg-sec-light" ,
441
+ className ,
442
+ ) }
441
443
onFocus = { event => {
442
444
console . log ( "focus" )
443
445
setActiveTab ( tab )
@@ -467,10 +469,51 @@ function arrowsMoveSideways(event: React.KeyboardEvent<HTMLButtonElement>) {
467
469
468
470
function DefinitionListBox ( { children } : { children : React . ReactNode } ) {
469
471
return (
470
- < div className = "md:p-8 lg:p-16" >
472
+ < div className = "relative isolate md:p-8 lg:p-16" >
471
473
< dl className = "divide-y divide-sec-dark border-neu-300 md:divide-neu-300 md:border md:shadow-[0px_0px_20px_0px_rgba(133,185,19,0.20)]" >
472
474
{ children }
473
475
</ dl >
476
+ < Stripes />
477
+ </ div >
478
+ )
479
+ }
480
+
481
+ const maskEven =
482
+ "repeating-linear-gradient(to right, transparent, transparent 12px, black 12px, black 24px)"
483
+ const maskOdd =
484
+ "repeating-linear-gradient(to right, black, black 12px, transparent 12px, transparent 24px)"
485
+
486
+ function Stripes ( ) {
487
+ const mask = "linear-gradient(125deg, transparent 68%, hsl(0 0 0 / 0.8))"
488
+ return (
489
+ < div
490
+ role = "presentation"
491
+ className = "pointer-events-none absolute inset-0 bottom-[-20px] -z-10 translate-x-0.5 translate-y-12 ease-linear max-md:hidden"
492
+ style = { {
493
+ maskImage : mask ,
494
+ WebkitMaskImage : mask ,
495
+ } }
496
+ >
497
+ < div
498
+ className = "absolute inset-0"
499
+ style = { {
500
+ maskImage : maskOdd ,
501
+ WebkitMaskImage : maskOdd ,
502
+ maskPosition : "right" ,
503
+ backgroundImage :
504
+ "linear-gradient(0deg, hsl(var(--color-sec-lighter)) 0%, rgba(133, 185, 19, 0.00) 100%)" ,
505
+ } }
506
+ />
507
+ < div
508
+ className = "absolute inset-0"
509
+ style = { {
510
+ maskImage : maskEven ,
511
+ WebkitMaskImage : maskEven ,
512
+ maskPosition : "right" ,
513
+ backgroundImage :
514
+ "linear-gradient(0deg, hsl(var(--color-sec-dark)) 0%, hsl(var(--color-sec-base)) 100%)" ,
515
+ } }
516
+ />
474
517
</ div >
475
518
)
476
519
}
0 commit comments