@uoguelph/react-components 1.0.0-rc.0
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.
- package/README.md +3 -0
- package/dist/accordion-button.d.ts +16 -0
- package/dist/accordion-button.js +42 -0
- package/dist/accordion-content.d.ts +15 -0
- package/dist/accordion-content.js +14 -0
- package/dist/accordion-context.d.ts +9 -0
- package/dist/accordion-context.js +5 -0
- package/dist/accordion.d.ts +42 -0
- package/dist/accordion.js +16 -0
- package/dist/alert-footer.d.ts +16 -0
- package/dist/alert-footer.js +10 -0
- package/dist/alert-message.d.ts +16 -0
- package/dist/alert-message.js +13 -0
- package/dist/alert-subtitle.d.ts +16 -0
- package/dist/alert-subtitle.js +10 -0
- package/dist/alert-title.d.ts +22 -0
- package/dist/alert-title.js +50 -0
- package/dist/alert.d.ts +70 -0
- package/dist/alert.js +18 -0
- package/dist/blockquote.d.ts +22 -0
- package/dist/blockquote.js +43 -0
- package/dist/breadcrumb-home.d.ts +32 -0
- package/dist/breadcrumb-home.js +21 -0
- package/dist/breadcrumb.d.ts +32 -0
- package/dist/breadcrumb.js +30 -0
- package/dist/breadcrumbs.d.ts +54 -0
- package/dist/breadcrumbs.js +15 -0
- package/dist/button.d.ts +51 -0
- package/dist/button.js +218 -0
- package/dist/card-content.d.ts +15 -0
- package/dist/card-content.js +20 -0
- package/dist/card-context.d.ts +10 -0
- package/dist/card-context.js +5 -0
- package/dist/card-footer.d.ts +16 -0
- package/dist/card-footer.js +20 -0
- package/dist/card-image.d.ts +40 -0
- package/dist/card-image.js +45 -0
- package/dist/card-title.d.ts +16 -0
- package/dist/card-title.js +20 -0
- package/dist/card.d.ts +105 -0
- package/dist/card.js +45 -0
- package/dist/carousel.d.ts +25 -0
- package/dist/carousel.js +113 -0
- package/dist/checkbox.d.ts +39 -0
- package/dist/checkbox.js +99 -0
- package/dist/contact-email.d.ts +17 -0
- package/dist/contact-email.js +21 -0
- package/dist/contact-name.d.ts +16 -0
- package/dist/contact-name.js +10 -0
- package/dist/contact-phone.d.ts +19 -0
- package/dist/contact-phone.js +25 -0
- package/dist/contact-title.d.ts +16 -0
- package/dist/contact-title.js +10 -0
- package/dist/contact.d.ts +73 -0
- package/dist/contact.js +18 -0
- package/dist/container.d.ts +32 -0
- package/dist/container.js +25 -0
- package/dist/divider.d.ts +6 -0
- package/dist/divider.js +30 -0
- package/dist/embedded-video-context.d.ts +10 -0
- package/dist/embedded-video-context.js +5 -0
- package/dist/embedded-video-modal-button.d.ts +54 -0
- package/dist/embedded-video-modal-button.js +25 -0
- package/dist/embedded-video.d.ts +81 -0
- package/dist/embedded-video.js +108 -0
- package/dist/hero-caption.d.ts +15 -0
- package/dist/hero-caption.js +8 -0
- package/dist/hero-content.d.ts +20 -0
- package/dist/hero-content.js +47 -0
- package/dist/hero-context.d.ts +9 -0
- package/dist/hero-context.js +5 -0
- package/dist/hero-link.d.ts +29 -0
- package/dist/hero-link.js +26 -0
- package/dist/hero-title.d.ts +24 -0
- package/dist/hero-title.js +26 -0
- package/dist/hero-video.d.ts +22 -0
- package/dist/hero-video.js +27 -0
- package/dist/hero.d.ts +141 -0
- package/dist/hero.js +52 -0
- package/dist/image-overlay.d.ts +66 -0
- package/dist/image-overlay.js +144 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +33 -0
- package/dist/info.d.ts +19 -0
- package/dist/info.js +24 -0
- package/dist/link-carousel-content.d.ts +11 -0
- package/dist/link-carousel-content.js +20 -0
- package/dist/link-carousel-context.d.ts +30 -0
- package/dist/link-carousel-context.js +5 -0
- package/dist/link-carousel-item.d.ts +15 -0
- package/dist/link-carousel-item.js +21 -0
- package/dist/link-carousel-link.d.ts +34 -0
- package/dist/link-carousel-link.js +39 -0
- package/dist/link-carousel-links.d.ts +11 -0
- package/dist/link-carousel-links.js +24 -0
- package/dist/link-carousel.d.ts +83 -0
- package/dist/link-carousel.js +57 -0
- package/dist/link.d.ts +30 -0
- package/dist/link.js +28 -0
- package/dist/list-item.d.ts +17 -0
- package/dist/list-item.js +9 -0
- package/dist/list.d.ts +39 -0
- package/dist/list.js +31 -0
- package/dist/loading-indicator.d.ts +23 -0
- package/dist/loading-indicator.js +75 -0
- package/dist/math-utils-BwzyIQRL.js +50 -0
- package/dist/media-caption.d.ts +110 -0
- package/dist/media-caption.js +129 -0
- package/dist/modal.d.ts +18 -0
- package/dist/modal.js +39 -0
- package/dist/navigation-link.d.ts +29 -0
- package/dist/navigation-link.js +40 -0
- package/dist/navigation.d.ts +40 -0
- package/dist/navigation.js +15 -0
- package/dist/radio-context.d.ts +9 -0
- package/dist/radio-context.js +5 -0
- package/dist/radio-group.d.ts +28 -0
- package/dist/radio-group.js +37 -0
- package/dist/radio.d.ts +13 -0
- package/dist/radio.js +36 -0
- package/dist/regular-CYeGUuiO.js +91 -0
- package/dist/solid-DM6GVhkF.js +80 -0
- package/dist/typography.d.ts +29 -0
- package/dist/typography.js +31 -0
- package/package.json +76 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
import { ElementType } from 'react';
|
|
3
|
+
import { JSX } from 'react/jsx-runtime';
|
|
4
|
+
import { PropsWithChildren } from 'react';
|
|
5
|
+
|
|
6
|
+
declare const defaultElement = "img";
|
|
7
|
+
|
|
8
|
+
/** A component to display content over an image. */
|
|
9
|
+
export declare function ImageOverlay<T extends ImageOverlayElementType = typeof defaultElement>({ as, src, width, height, alt, children, className, verticalAlignment, horizontalAlignment, overlay, blurred, ...rest }: ImageOverlayProps<T>): JSX.Element;
|
|
10
|
+
|
|
11
|
+
export declare namespace ImageOverlay {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
declare type ImageOverlayElementType = ElementType<{
|
|
16
|
+
src: string;
|
|
17
|
+
alt: string;
|
|
18
|
+
height?: number;
|
|
19
|
+
width?: number;
|
|
20
|
+
className?: string;
|
|
21
|
+
}, 'img'>;
|
|
22
|
+
|
|
23
|
+
export declare type ImageOverlayProps<T extends ImageOverlayElementType = typeof defaultElement> = PropsWithChildren<{
|
|
24
|
+
/**
|
|
25
|
+
* The element type to render as.
|
|
26
|
+
*
|
|
27
|
+
* @default 'img'
|
|
28
|
+
*/
|
|
29
|
+
as?: T;
|
|
30
|
+
/** The image source. */
|
|
31
|
+
src: string;
|
|
32
|
+
/** The image alt text. */
|
|
33
|
+
alt: string;
|
|
34
|
+
/** The image width in pixels. */
|
|
35
|
+
width?: number;
|
|
36
|
+
/** The image height in pixels. */
|
|
37
|
+
height?: number;
|
|
38
|
+
/** Additional classes to apply to the image. */
|
|
39
|
+
className?: string;
|
|
40
|
+
/**
|
|
41
|
+
* The vertical alignment of the content in the overlay.
|
|
42
|
+
*
|
|
43
|
+
* @default 'center'
|
|
44
|
+
*/
|
|
45
|
+
verticalAlignment: 'top' | 'center' | 'bottom';
|
|
46
|
+
/**
|
|
47
|
+
* The horizontal alignment of the content in the overlay.
|
|
48
|
+
*
|
|
49
|
+
* @default 'center'
|
|
50
|
+
*/
|
|
51
|
+
horizontalAlignment: 'left' | 'center' | 'right';
|
|
52
|
+
/**
|
|
53
|
+
* A color overlay to apply to the image.
|
|
54
|
+
*
|
|
55
|
+
* @default 'none'
|
|
56
|
+
*/
|
|
57
|
+
overlay: 'dark' | 'light' | 'dark-gradient' | 'light-gradient' | 'none';
|
|
58
|
+
/**
|
|
59
|
+
* Whether the image should be blurred.
|
|
60
|
+
*
|
|
61
|
+
* @default false
|
|
62
|
+
*/
|
|
63
|
+
blurred: boolean;
|
|
64
|
+
} & ComponentPropsWithoutRef<T>>;
|
|
65
|
+
|
|
66
|
+
export { }
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { jsxs as a, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { twMerge as A } from "tailwind-merge";
|
|
3
|
+
import { tv as k } from "tailwind-variants";
|
|
4
|
+
const z = "img";
|
|
5
|
+
function x({
|
|
6
|
+
as: r,
|
|
7
|
+
src: l,
|
|
8
|
+
width: n,
|
|
9
|
+
height: i,
|
|
10
|
+
alt: o,
|
|
11
|
+
children: g,
|
|
12
|
+
className: w,
|
|
13
|
+
verticalAlignment: s = "center",
|
|
14
|
+
horizontalAlignment: c = "center",
|
|
15
|
+
overlay: e = "none",
|
|
16
|
+
blurred: m = !1,
|
|
17
|
+
...v
|
|
18
|
+
}) {
|
|
19
|
+
const d = r ?? z, f = k({
|
|
20
|
+
slots: {
|
|
21
|
+
base: "tw:min-h-[50rem] tw:relative tw:flex tw:h-fit tw:w-full tw:flex-col",
|
|
22
|
+
imageWrapper: "tw:absolute tw:z-10 tw:h-full tw:w-full",
|
|
23
|
+
image: "tw:h-full tw:w-full tw:object-cover",
|
|
24
|
+
overlay: "tw:absolute tw:top-0 tw:left-0 tw:h-full tw:w-full",
|
|
25
|
+
container: "tw:relative tw:z-20 tw:flex tw:flex-1 tw:flex-col tw:p-0"
|
|
26
|
+
},
|
|
27
|
+
variants: {
|
|
28
|
+
blurred: {
|
|
29
|
+
true: {
|
|
30
|
+
image: "tw:blur-sm"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
overlay: {
|
|
34
|
+
dark: {
|
|
35
|
+
overlay: "tw:bg-black/60"
|
|
36
|
+
},
|
|
37
|
+
light: {
|
|
38
|
+
overlay: "tw:bg-white/60"
|
|
39
|
+
},
|
|
40
|
+
"dark-gradient": {
|
|
41
|
+
overlay: "tw:from-black/50 tw:via-30% tw:via-black/20 tw:to-transparent"
|
|
42
|
+
},
|
|
43
|
+
"light-gradient": {
|
|
44
|
+
overlay: "tw:from-white/50 tw:via-30% tw:via-white/20 tw:to-transparent"
|
|
45
|
+
},
|
|
46
|
+
none: {
|
|
47
|
+
overlay: "tw:hidden"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
verticalAlignment: {
|
|
51
|
+
top: {
|
|
52
|
+
container: "tw:justify-start"
|
|
53
|
+
},
|
|
54
|
+
center: {
|
|
55
|
+
container: "tw:justify-center"
|
|
56
|
+
},
|
|
57
|
+
bottom: {
|
|
58
|
+
container: "tw:justify-end"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
horizontalAlignment: {
|
|
62
|
+
left: {
|
|
63
|
+
container: "tw:items-start"
|
|
64
|
+
},
|
|
65
|
+
center: {
|
|
66
|
+
container: "tw:items-center"
|
|
67
|
+
},
|
|
68
|
+
right: {
|
|
69
|
+
container: "tw:items-end"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
compoundVariants: [
|
|
74
|
+
{
|
|
75
|
+
overlay: ["dark-gradient", "light-gradient"],
|
|
76
|
+
verticalAlignment: "bottom",
|
|
77
|
+
horizontalAlignment: ["left", "center", "right"],
|
|
78
|
+
class: {
|
|
79
|
+
overlay: "tw:bg-gradient-to-t"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
overlay: ["dark-gradient", "light-gradient"],
|
|
84
|
+
verticalAlignment: "top",
|
|
85
|
+
horizontalAlignment: ["left", "center", "right"],
|
|
86
|
+
class: {
|
|
87
|
+
overlay: "tw:bg-gradient-to-b"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
overlay: ["dark-gradient", "light-gradient"],
|
|
92
|
+
verticalAlignment: "center",
|
|
93
|
+
horizontalAlignment: "center",
|
|
94
|
+
class: {
|
|
95
|
+
overlay: "tw:bg-radial"
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
overlay: ["dark-gradient", "light-gradient"],
|
|
100
|
+
verticalAlignment: "center",
|
|
101
|
+
horizontalAlignment: "left",
|
|
102
|
+
class: {
|
|
103
|
+
overlay: "tw:bg-gradient-to-r"
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
overlay: ["dark-gradient", "light-gradient"],
|
|
108
|
+
verticalAlignment: "center",
|
|
109
|
+
horizontalAlignment: "right",
|
|
110
|
+
class: {
|
|
111
|
+
overlay: "tw:bg-gradient-to-l"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
}), {
|
|
116
|
+
base: h,
|
|
117
|
+
imageWrapper: y,
|
|
118
|
+
image: b,
|
|
119
|
+
overlay: u,
|
|
120
|
+
container: p
|
|
121
|
+
} = f({ blurred: m, overlay: e, verticalAlignment: s, horizontalAlignment: c });
|
|
122
|
+
return /* @__PURE__ */ a("div", { className: h(), children: [
|
|
123
|
+
/* @__PURE__ */ a("div", { className: y(), children: [
|
|
124
|
+
/* @__PURE__ */ t(
|
|
125
|
+
d,
|
|
126
|
+
{
|
|
127
|
+
...v,
|
|
128
|
+
className: A(b(), w),
|
|
129
|
+
src: l,
|
|
130
|
+
width: n,
|
|
131
|
+
height: i,
|
|
132
|
+
alt: o,
|
|
133
|
+
sizes: "100vw"
|
|
134
|
+
}
|
|
135
|
+
),
|
|
136
|
+
e !== "none" && /* @__PURE__ */ t("div", { className: u() })
|
|
137
|
+
] }),
|
|
138
|
+
/* @__PURE__ */ t("div", { className: p(), children: g })
|
|
139
|
+
] });
|
|
140
|
+
}
|
|
141
|
+
x.displayName = "ImageOverlay";
|
|
142
|
+
export {
|
|
143
|
+
x as ImageOverlay
|
|
144
|
+
};
|
package/dist/index.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.0.9 | MIT License | https://tailwindcss.com */@layer theme;@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--tw-max-content-width:137rem;font-size:62.5%}body{margin:0;padding:0;font-size:1.6rem}}@layer components;@layer utilities{.tw\:pointer-events-none{pointer-events:none}.tw\:invisible{visibility:hidden}.tw\:sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tw\:absolute{position:absolute}.tw\:fixed{position:fixed}.tw\:relative{position:relative}.tw\:inset-0{inset:calc(var(--tw-spacing,.4rem)*0)}.tw\:top-0{top:calc(var(--tw-spacing,.4rem)*0)}.tw\:top-1\/2{top:50%}.tw\:right-0{right:calc(var(--tw-spacing,.4rem)*0)}.tw\:bottom-0{bottom:calc(var(--tw-spacing,.4rem)*0)}.tw\:left-0{left:calc(var(--tw-spacing,.4rem)*0)}.tw\:left-1\/2{left:50%}.tw\:z-0{z-index:0}.tw\:z-10{z-index:10}.tw\:z-20{z-index:20}.tw\:z-50{z-index:50}.tw\:col-start-1{grid-column-start:1}.tw\:col-start-2{grid-column-start:2}.tw\:row-start-1{grid-row-start:1}.tw\:container{width:100%}@media (width>=40rem){.tw\:container{max-width:40rem}}@media (width>=48rem){.tw\:container{max-width:48rem}}@media (width>=64rem){.tw\:container{max-width:64rem}}@media (width>=80rem){.tw\:container{max-width:80rem}}@media (width>=96rem){.tw\:container{max-width:96rem}}.tw\:mx-auto{margin-inline:auto}.tw\:my-2{margin-block:calc(var(--tw-spacing,.4rem)*2)}.tw\:my-7{margin-block:calc(var(--tw-spacing,.4rem)*7)}.tw\:mt-3\.75{margin-top:calc(var(--tw-spacing,.4rem)*3.75)}.tw\:mt-7\.5{margin-top:calc(var(--tw-spacing,.4rem)*7.5)}.tw\:mr-\[0\.3em\]{margin-right:.3em}.tw\:mr-auto{margin-right:auto}.tw\:mb-0{margin-bottom:calc(var(--tw-spacing,.4rem)*0)}.tw\:mb-1{margin-bottom:calc(var(--tw-spacing,.4rem)*1)}.tw\:mb-2{margin-bottom:calc(var(--tw-spacing,.4rem)*2)}.tw\:mb-3\.75{margin-bottom:calc(var(--tw-spacing,.4rem)*3.75)}.tw\:mb-4{margin-bottom:calc(var(--tw-spacing,.4rem)*4)}.tw\:ml-4{margin-left:calc(var(--tw-spacing,.4rem)*4)}.tw\:ml-\[0\.25em\]{margin-left:.25em}.tw\:ml-auto{margin-left:auto}.tw\:block{display:block}.tw\:contents{display:contents}.tw\:flex{display:flex}.tw\:grid{display:grid}.tw\:hidden{display:none}.tw\:inline-block{display:inline-block}.tw\:inline-flex{display:inline-flex}.tw\:aspect-\[16\/9\]{aspect-ratio:16/9}.tw\:aspect-square{aspect-ratio:1}.tw\:aspect-video{aspect-ratio:var(--tw-aspect-video,16/9)}.tw\:size-4{width:calc(var(--tw-spacing,.4rem)*4);height:calc(var(--tw-spacing,.4rem)*4)}.tw\:h-1{height:calc(var(--tw-spacing,.4rem)*1)}.tw\:h-2{height:calc(var(--tw-spacing,.4rem)*2)}.tw\:h-5{height:calc(var(--tw-spacing,.4rem)*5)}.tw\:h-9{height:calc(var(--tw-spacing,.4rem)*9)}.tw\:h-16{height:calc(var(--tw-spacing,.4rem)*16)}.tw\:h-\[\.75em\]{height:.75em}.tw\:h-\[1\.5em\]{height:1.5em}.tw\:h-\[1em\]{height:1em}.tw\:h-auto{height:auto}.tw\:h-fit{height:fit-content}.tw\:h-full{height:100%}.tw\:max-h-\[80vh\]{max-height:80vh}.tw\:max-h-\[calc\(85vh-14rem\)\]{max-height:calc(85vh - 14rem)}.tw\:min-h-\[7rem\]{min-height:7rem}.tw\:min-h-\[50rem\]{min-height:50rem}.tw\:w-2{width:calc(var(--tw-spacing,.4rem)*2)}.tw\:w-3\/4{width:75%}.tw\:w-5{width:calc(var(--tw-spacing,.4rem)*5)}.tw\:w-16{width:calc(var(--tw-spacing,.4rem)*16)}.tw\:w-24{width:calc(var(--tw-spacing,.4rem)*24)}.tw\:w-\[1em\]{width:1em}.tw\:w-fit{width:fit-content}.tw\:w-full{width:100%}.tw\:w-screen{width:100vw}.tw\:max-w-6xl{max-width:var(--tw-container-6xl,72rem)}.tw\:max-w-\[--tw-max-content-width\]{max-width:--tw-max-content-width}.tw\:flex-1{flex:1}.tw\:-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.tw\:-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.tw\:rotate-90{rotate:90deg}.tw\:animate-fade-in{animation:var(--tw-animate-fade-in,fade .25s ease-in-out 1 normal forwards)}.tw\:animate-spin{animation:var(--tw-animate-spin,spin 1s linear infinite)}.tw\:cursor-not-allowed{cursor:not-allowed}.tw\:cursor-pointer{cursor:pointer}.tw\:list-inside{list-style-position:inside}.tw\:list-decimal{list-style-type:decimal}.tw\:list-disc{list-style-type:disc}.tw\:grid-cols-\[1fr_1fr\]{grid-template-columns:1fr 1fr}.tw\:grid-cols-\[1fr_2fr\]{grid-template-columns:1fr 2fr}.tw\:grid-cols-\[1fr_4fr\]{grid-template-columns:1fr 4fr}.tw\:grid-cols-\[2fr_1fr\]{grid-template-columns:2fr 1fr}.tw\:grid-cols-\[4fr_1fr\]{grid-template-columns:4fr 1fr}.tw\:grid-cols-\[repeat\(var\(--items\)\,calc\(100\%\/var\(--display\)\)\)\]{grid-template-columns:repeat(var(--items),calc(100%/var(--display)))}.tw\:flex-col{flex-direction:column}.tw\:flex-col-reverse{flex-direction:column-reverse}.tw\:flex-row{flex-direction:row}.tw\:flex-row-reverse{flex-direction:row-reverse}.tw\:flex-wrap{flex-wrap:wrap}.tw\:items-center{align-items:center}.tw\:items-end{align-items:flex-end}.tw\:items-start{align-items:flex-start}.tw\:justify-between{justify-content:space-between}.tw\:justify-center{justify-content:center}.tw\:justify-end{justify-content:flex-end}.tw\:justify-start{justify-content:flex-start}.tw\:gap-0\.5{gap:calc(var(--tw-spacing,.4rem)*.5)}.tw\:gap-1{gap:calc(var(--tw-spacing,.4rem)*1)}.tw\:gap-2{gap:calc(var(--tw-spacing,.4rem)*2)}.tw\:gap-4{gap:calc(var(--tw-spacing,.4rem)*4)}.tw\:gap-5{gap:calc(var(--tw-spacing,.4rem)*5)}.tw\:gap-\[1em\]{gap:1em}.tw\:overflow-hidden{overflow:hidden}.tw\:overflow-x-hidden{overflow-x:hidden}.tw\:rounded{border-radius:.25rem}.tw\:rounded-full{border-radius:3.40282e38px}.tw\:rounded-t-sm{border-top-left-radius:var(--tw-radius-sm,.25rem);border-top-right-radius:var(--tw-radius-sm,.25rem)}.tw\:border{border-style:var(--tw-border-style);border-width:1px}.tw\:border-0{border-style:var(--tw-border-style);border-width:0}.tw\:border-2{border-style:var(--tw-border-style);border-width:2px}.tw\:border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.tw\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tw\:border-b-4{border-bottom-style:var(--tw-border-style);border-bottom-width:4px}.tw\:border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.tw\:border-black{border-color:var(--tw-color-black,#000)}.tw\:border-blue{border-color:var(--tw-color-blue,#187bb4)}.tw\:border-dark-grey{border-color:var(--tw-color-dark-grey,#747676)}.tw\:border-green{border-color:var(--tw-color-green,#318738)}.tw\:border-light-grey{border-color:var(--tw-color-light-grey,#d8d8d8)}.tw\:border-red{border-color:var(--tw-color-red,#e51937)}.tw\:border-white{border-color:var(--tw-color-white,#fff)}.tw\:border-white\/40{border-color:color-mix(in oklab,var(--tw-color-white,#fff)40%,transparent)}.tw\:border-yellow{border-color:var(--tw-color-yellow,#ffc429)}.tw\:border-l-black{border-left-color:var(--tw-color-black,#000)}.tw\:border-l-blue{border-left-color:var(--tw-color-blue,#187bb4)}.tw\:border-l-dark-grey{border-left-color:var(--tw-color-dark-grey,#747676)}.tw\:border-l-green{border-left-color:var(--tw-color-green,#318738)}.tw\:border-l-light-grey{border-left-color:var(--tw-color-light-grey,#d8d8d8)}.tw\:border-l-red{border-left-color:var(--tw-color-red,#e51937)}.tw\:border-l-white{border-left-color:var(--tw-color-white,#fff)}.tw\:border-l-yellow{border-left-color:var(--tw-color-yellow,#ffc429)}.tw\:bg-black{background-color:var(--tw-color-black,#000)}.tw\:bg-black\/30{background-color:color-mix(in oklab,var(--tw-color-black,#000)30%,transparent)}.tw\:bg-black\/40{background-color:color-mix(in oklab,var(--tw-color-black,#000)40%,transparent)}.tw\:bg-black\/60{background-color:color-mix(in oklab,var(--tw-color-black,#000)60%,transparent)}.tw\:bg-blue{background-color:var(--tw-color-blue,#187bb4)}.tw\:bg-dark-grey{background-color:var(--tw-color-dark-grey,#747676)}.tw\:bg-dark-grey-bg{background-color:var(--tw-color-dark-grey-bg,#222)}.tw\:bg-green{background-color:var(--tw-color-green,#318738)}.tw\:bg-light-grey{background-color:var(--tw-color-light-grey,#d8d8d8)}.tw\:bg-light-grey-bg{background-color:var(--tw-color-light-grey-bg,#f5f5f5)}.tw\:bg-red{background-color:var(--tw-color-red,#e51937)}.tw\:bg-transparent{background-color:#0000}.tw\:bg-white{background-color:var(--tw-color-white,#fff)}.tw\:bg-white\/60{background-color:color-mix(in oklab,var(--tw-color-white,#fff)60%,transparent)}.tw\:bg-yellow{background-color:var(--tw-color-yellow,#ffc429)}.tw\:bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.tw\:bg-gradient-to-l{--tw-gradient-position:to left in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.tw\:bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.tw\:bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.tw\:bg-radial{--tw-gradient-position:in oklab;background-image:radial-gradient(var(--tw-gradient-stops))}.tw\:from-black\/50{--tw-gradient-from:color-mix(in oklab,var(--tw-color-black,#000)50%,transparent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.tw\:from-white\/50{--tw-gradient-from:color-mix(in oklab,var(--tw-color-white,#fff)50%,transparent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.tw\:via-black\/20{--tw-gradient-via:color-mix(in oklab,var(--tw-color-black,#000)20%,transparent);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.tw\:via-white\/20{--tw-gradient-via:color-mix(in oklab,var(--tw-color-white,#fff)20%,transparent);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.tw\:via-30\%{--tw-gradient-via-position:30%}.tw\:to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.tw\:fill-black{fill:var(--tw-color-black,#000)}.tw\:object-cover{object-fit:cover}.tw\:p-0{padding:calc(var(--tw-spacing,.4rem)*0)}.tw\:p-1{padding:calc(var(--tw-spacing,.4rem)*1)}.tw\:p-1\.5{padding:calc(var(--tw-spacing,.4rem)*1.5)}.tw\:p-2\.5{padding:calc(var(--tw-spacing,.4rem)*2.5)}.tw\:p-3{padding:calc(var(--tw-spacing,.4rem)*3)}.tw\:p-4{padding:calc(var(--tw-spacing,.4rem)*4)}.tw\:p-5{padding:calc(var(--tw-spacing,.4rem)*5)}.tw\:p-6{padding:calc(var(--tw-spacing,.4rem)*6)}.tw\:p-7{padding:calc(var(--tw-spacing,.4rem)*7)}.tw\:px-0{padding-inline:calc(var(--tw-spacing,.4rem)*0)}.tw\:px-4{padding-inline:calc(var(--tw-spacing,.4rem)*4)}.tw\:px-5{padding-inline:calc(var(--tw-spacing,.4rem)*5)}.tw\:px-6{padding-inline:calc(var(--tw-spacing,.4rem)*6)}.tw\:py-0{padding-block:calc(var(--tw-spacing,.4rem)*0)}.tw\:py-2{padding-block:calc(var(--tw-spacing,.4rem)*2)}.tw\:py-3{padding-block:calc(var(--tw-spacing,.4rem)*3)}.tw\:py-4{padding-block:calc(var(--tw-spacing,.4rem)*4)}.tw\:pt-2{padding-top:calc(var(--tw-spacing,.4rem)*2)}.tw\:pt-8{padding-top:calc(var(--tw-spacing,.4rem)*8)}.tw\:pb-4{padding-bottom:calc(var(--tw-spacing,.4rem)*4)}.tw\:pl-4{padding-left:calc(var(--tw-spacing,.4rem)*4)}.tw\:pl-5{padding-left:calc(var(--tw-spacing,.4rem)*5)}.tw\:text-center{text-align:center}.tw\:text-left{text-align:left}.tw\:font-serif{font-family:var(--tw-font-serif,"Bitter",ui-serif,Georgia,Cambria,"Times New Roman",Times,serif)}.tw\:text-2xl{font-size:var(--tw-text-2xl,2.5rem);line-height:var(--tw-leading,var(--tw-text-2xl--line-height,1.4))}.tw\:text-3xl{font-size:var(--tw-text-3xl,3rem);line-height:var(--tw-leading,var(--tw-text-3xl--line-height,1.4))}.tw\:text-4xl{font-size:var(--tw-text-4xl,4rem);line-height:var(--tw-leading,var(--tw-text-4xl--line-height,1.4))}.tw\:text-6xl{font-size:var(--tw-text-6xl,6rem);line-height:var(--tw-leading,var(--tw-text-6xl--line-height,1.6))}.tw\:text-9xl{font-size:var(--tw-text-9xl,12.8rem);line-height:var(--tw-leading,var(--tw-text-9xl--line-height,1.6))}.tw\:text-base{font-size:var(--tw-text-base,1.6rem);line-height:var(--tw-leading,var(--tw-text-base--line-height,1.4))}.tw\:text-lg{font-size:var(--tw-text-lg,1.8rem);line-height:var(--tw-leading,var(--tw-text-lg--line-height,1.4))}.tw\:text-sm{font-size:var(--tw-text-sm,1.4rem);line-height:var(--tw-leading,var(--tw-text-sm--line-height,1.4))}.tw\:text-xl{font-size:var(--tw-text-xl,2rem);line-height:var(--tw-leading,var(--tw-text-xl--line-height,1.4))}.tw\:leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.tw\:leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.tw\:font-bold{--tw-font-weight:var(--tw-font-weight-bold,700);font-weight:var(--tw-font-weight-bold,700)}.tw\:font-light{--tw-font-weight:var(--tw-font-weight-light,300);font-weight:var(--tw-font-weight-light,300)}.tw\:font-medium{--tw-font-weight:var(--tw-font-weight-medium,500);font-weight:var(--tw-font-weight-medium,500)}.tw\:font-normal{--tw-font-weight:var(--tw-font-weight-normal,400);font-weight:var(--tw-font-weight-normal,400)}.tw\:text-black{color:var(--tw-color-black,#000)}.tw\:text-black-contrast{color:var(--tw-color-black-contrast,#fff)}.tw\:text-blue{color:var(--tw-color-blue,#187bb4)}.tw\:text-blue-contrast{color:var(--tw-color-blue-contrast,#fff)}.tw\:text-blue-on-light{color:var(--tw-color-blue-on-light,#1775ab)}.tw\:text-body-copy{color:var(--tw-color-body-copy,#555)}.tw\:text-body-copy-bold{color:var(--tw-color-body-copy-bold,#333)}.tw\:text-body-copy-link{color:var(--tw-color-body-copy-link,#187bb4)}.tw\:text-body-copy-link-on-dark{color:var(--tw-color-body-copy-link-on-dark,#1d93d7)}.tw\:text-body-copy-link-on-light{color:var(--tw-color-body-copy-link-on-light,#166ea2)}.tw\:text-body-copy-on-dark{color:var(--tw-color-body-copy-on-dark,#ccc)}.tw\:text-dark-grey{color:var(--tw-color-dark-grey,#747676)}.tw\:text-dark-grey-contrast{color:var(--tw-color-dark-grey-contrast,#fff)}.tw\:text-green{color:var(--tw-color-green,#318738)}.tw\:text-green-contrast{color:var(--tw-color-green-contrast,#fff)}.tw\:text-light-grey{color:var(--tw-color-light-grey,#d8d8d8)}.tw\:text-light-grey-contrast{color:var(--tw-color-light-grey-contrast,#000)}.tw\:text-red{color:var(--tw-color-red,#e51937)}.tw\:text-red-contrast{color:var(--tw-color-red-contrast,#fff)}.tw\:text-white{color:var(--tw-color-white,#fff)}.tw\:text-white-contrast{color:var(--tw-color-white-contrast,#000)}.tw\:text-yellow{color:var(--tw-color-yellow,#ffc429)}.tw\:text-yellow-contrast{color:var(--tw-color-yellow-contrast,#000)}.tw\:italic{font-style:italic}.tw\:no-underline{text-decoration-line:none}.tw\:underline{text-decoration-line:underline}.tw\:decoration-current{text-decoration-color:currentColor}.tw\:decoration-transparent{text-decoration-color:#0000}.tw\:decoration-1{text-decoration-thickness:1px}.tw\:opacity-0{opacity:0}.tw\:opacity-50{opacity:.5}.tw\:opacity-60{opacity:.6}.tw\:shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:blur-sm{--tw-blur:blur(var(--tw-blur-sm,8px));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.tw\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--tw-default-transition-duration,.15s))}.tw\:transition-\[transform\,color\,opacity\,visibility\]{transition-property:transform,color,opacity,visibility;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--tw-default-transition-duration,.15s))}.tw\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--tw-default-transition-duration,.15s))}.tw\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--tw-default-transition-duration,.15s))}.tw\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--tw-default-transition-timing-function,cubic-bezier(.4,0,.2,1)));transition-duration:var(--tw-duration,var(--tw-default-transition-duration,.15s))}.tw\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tw\:duration-300{--tw-duration:.3s;transition-duration:.3s}.tw\:ease-in-out{--tw-ease:var(--tw-ease-in-out,cubic-bezier(.4,0,.2,1));transition-timing-function:var(--tw-ease-in-out,cubic-bezier(.4,0,.2,1))}.tw\:ease-out{--tw-ease:var(--tw-ease-out,cubic-bezier(0,0,.2,1));transition-timing-function:var(--tw-ease-out,cubic-bezier(0,0,.2,1))}@media (hover:hover){.tw\:group-hover\:scale-110:is(:where(.tw\:group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.tw\:group-hover\:bg-yellow:is(:where(.tw\:group):hover *){background-color:var(--tw-color-yellow,#ffc429)}}.tw\:group-ui-checked\:opacity-100:is(:where(.tw\:group)[data-headlessui-state~=checked] *),.tw\:group-ui-checked\:opacity-100:is(:where([data-headlessui-state~=checked]) :where(.tw\:group) *){opacity:1}.tw\:group-hocus-visible\:bg-yellow:is(:is(:where(.tw\:group):hover,:where(.tw\:group):focus-visible) *){background-color:var(--tw-color-yellow,#ffc429)}.tw\:group-hocus-visible\:text-blue-contrast:is(:is(:where(.tw\:group):hover,:where(.tw\:group):focus-visible) *){color:var(--tw-color-blue-contrast,#fff)}.tw\:group-hocus-visible\:text-yellow-contrast:is(:is(:where(.tw\:group):hover,:where(.tw\:group):focus-visible) *){color:var(--tw-color-yellow-contrast,#000)}@media (hover:hover){.tw\:hover\:bg-red:hover{background-color:var(--tw-color-red,#e51937)}.tw\:hover\:bg-red\/30:hover{background-color:color-mix(in oklab,var(--tw-color-red,#e51937)30%,transparent)}.tw\:hover\:decoration-transparent:hover{text-decoration-color:#0000}}.tw\:focus\:bg-red\/30:focus{background-color:color-mix(in oklab,var(--tw-color-red,#e51937)30%,transparent)}.tw\:focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.tw\:focus-visible\:-translate-x-1:focus-visible{--tw-translate-x:calc(var(--tw-spacing,.4rem)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.tw\:focus-visible\:translate-x-1:focus-visible{--tw-translate-x:calc(var(--tw-spacing,.4rem)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.tw\:focus-visible\:text-black:focus-visible{color:var(--tw-color-black,#000)}.tw\:focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentColor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tw\:focus-visible\:ring-black:focus-visible{--tw-ring-color:var(--tw-color-black,#000)}.tw\:focus-visible\:ring-blue:focus-visible{--tw-ring-color:var(--tw-color-blue,#187bb4)}.tw\:focus-visible\:ring-body-copy-link:focus-visible{--tw-ring-color:var(--tw-color-body-copy-link,#187bb4)}.tw\:focus-visible\:ring-body-copy-link-on-light:focus-visible{--tw-ring-color:var(--tw-color-body-copy-link-on-light,#166ea2)}.tw\:focus-visible\:ring-dark-grey:focus-visible{--tw-ring-color:var(--tw-color-dark-grey,#747676)}.tw\:focus-visible\:ring-green:focus-visible{--tw-ring-color:var(--tw-color-green,#318738)}.tw\:focus-visible\:ring-light-grey:focus-visible{--tw-ring-color:var(--tw-color-light-grey,#d8d8d8)}.tw\:focus-visible\:ring-red:focus-visible{--tw-ring-color:var(--tw-color-red,#e51937)}.tw\:focus-visible\:ring-white:focus-visible{--tw-ring-color:var(--tw-color-white,#fff)}.tw\:focus-visible\:ring-yellow:focus-visible{--tw-ring-color:var(--tw-color-yellow,#ffc429)}.tw\:focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.tw\:focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.tw\:has-\[strong\]\:text-body-copy-bold:has(:is(strong)){color:var(--tw-color-body-copy-bold,#333)}.tw\:data-\[closed\]\:opacity-0[data-closed]{opacity:0}@media (width>=40rem){.tw\:sm\:px-16{padding-inline:calc(var(--tw-spacing,.4rem)*16)}.tw\:sm\:text-6xl{font-size:var(--tw-text-6xl,6rem);line-height:var(--tw-leading,var(--tw-text-6xl--line-height,1.6))}}@media (width>=48rem){.tw\:md\:sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tw\:md\:absolute{position:absolute}.tw\:md\:z-20{z-index:20}.tw\:md\:block{display:block}.tw\:md\:contents{display:contents}.tw\:md\:grid{display:grid}.tw\:md\:aspect-\[2\.625\]{aspect-ratio:2.625}.tw\:md\:w-1\/3{width:33.3333%}.tw\:md\:w-9{width:calc(var(--tw-spacing,.4rem)*9)}.tw\:md\:flex-row{flex-direction:row}.tw\:md\:rounded-full{border-radius:3.40282e38px}.tw\:md\:bg-black\/70{background-color:color-mix(in oklab,var(--tw-color-black,#000)70%,transparent)}.tw\:md\:p-4{padding:calc(var(--tw-spacing,.4rem)*4)}.tw\:md\:px-4{padding-inline:calc(var(--tw-spacing,.4rem)*4)}.tw\:md\:text-4xl{font-size:var(--tw-text-4xl,4rem);line-height:var(--tw-leading,var(--tw-text-4xl--line-height,1.4))}}@media (width>=64rem){.tw\:lg\:absolute{position:absolute}.tw\:lg\:bottom-0{bottom:calc(var(--tw-spacing,.4rem)*0)}.tw\:lg\:left-1\/2{left:50%}.tw\:lg\:container{width:100%}@media (width>=40rem){.tw\:lg\:container{max-width:40rem}}@media (width>=48rem){.tw\:lg\:container{max-width:48rem}}.tw\:lg\:container{max-width:64rem}@media (width>=80rem){.tw\:lg\:container{max-width:80rem}}@media (width>=96rem){.tw\:lg\:container{max-width:96rem}}.tw\:lg\:mx-auto{margin-inline:auto}.tw\:lg\:ml-auto{margin-left:auto}.tw\:lg\:max-w-7xl{max-width:var(--tw-container-7xl,80rem)}.tw\:lg\:max-w-\[50\%\]{max-width:50%}.tw\:lg\:-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.tw\:lg\:items-center{align-items:center}.tw\:lg\:items-end{align-items:flex-end}.tw\:lg\:bg-black\/80{background-color:color-mix(in oklab,var(--tw-color-black,#000)80%,transparent)}.tw\:lg\:p-4{padding:calc(var(--tw-spacing,.4rem)*4)}.tw\:lg\:text-center{text-align:center}.tw\:lg\:text-right{text-align:right}.tw\:lg\:backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}}.tw\:ui-checked\:bg-black[data-headlessui-state~=checked],:where([data-headlessui-state~=checked]) .tw\:ui-checked\:bg-black{background-color:var(--tw-color-black,#000)}.tw\:ui-checked\:bg-blue[data-headlessui-state~=checked],:where([data-headlessui-state~=checked]) .tw\:ui-checked\:bg-blue{background-color:var(--tw-color-blue,#187bb4)}.tw\:ui-checked\:bg-dark-grey[data-headlessui-state~=checked],:where([data-headlessui-state~=checked]) .tw\:ui-checked\:bg-dark-grey{background-color:var(--tw-color-dark-grey,#747676)}.tw\:ui-checked\:bg-green[data-headlessui-state~=checked],:where([data-headlessui-state~=checked]) .tw\:ui-checked\:bg-green{background-color:var(--tw-color-green,#318738)}.tw\:ui-checked\:bg-light-grey[data-headlessui-state~=checked],:where([data-headlessui-state~=checked]) .tw\:ui-checked\:bg-light-grey{background-color:var(--tw-color-light-grey,#d8d8d8)}.tw\:ui-checked\:bg-red[data-headlessui-state~=checked],:where([data-headlessui-state~=checked]) .tw\:ui-checked\:bg-red{background-color:var(--tw-color-red,#e51937)}.tw\:ui-checked\:bg-white[data-headlessui-state~=checked],:where([data-headlessui-state~=checked]) .tw\:ui-checked\:bg-white{background-color:var(--tw-color-white,#fff)}.tw\:ui-checked\:bg-yellow[data-headlessui-state~=checked],:where([data-headlessui-state~=checked]) .tw\:ui-checked\:bg-yellow{background-color:var(--tw-color-yellow,#ffc429)}.tw\:hocus-visible\:-translate-x-1:hover,.tw\:hocus-visible\:-translate-x-1:focus-visible{--tw-translate-x:calc(var(--tw-spacing,.4rem)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.tw\:hocus-visible\:translate-x-1:hover,.tw\:hocus-visible\:translate-x-1:focus-visible{--tw-translate-x:calc(var(--tw-spacing,.4rem)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.tw\:hocus-visible\:bg-black:hover,.tw\:hocus-visible\:bg-black:focus-visible{background-color:var(--tw-color-black,#000)}.tw\:hocus-visible\:bg-black-focus:hover,.tw\:hocus-visible\:bg-black-focus:focus-visible{background-color:var(--tw-color-black-focus,#444)}.tw\:hocus-visible\:bg-blue:hover,.tw\:hocus-visible\:bg-blue:focus-visible{background-color:var(--tw-color-blue,#187bb4)}.tw\:hocus-visible\:bg-blue-focus:hover,.tw\:hocus-visible\:bg-blue-focus:focus-visible{background-color:var(--tw-color-blue-focus,#135f8b)}.tw\:hocus-visible\:bg-dark-grey:hover,.tw\:hocus-visible\:bg-dark-grey:focus-visible{background-color:var(--tw-color-dark-grey,#747676)}.tw\:hocus-visible\:bg-dark-grey-focus:hover,.tw\:hocus-visible\:bg-dark-grey-focus:focus-visible{background-color:var(--tw-color-dark-grey-focus,#63625f)}.tw\:hocus-visible\:bg-green:hover,.tw\:hocus-visible\:bg-green:focus-visible{background-color:var(--tw-color-green,#318738)}.tw\:hocus-visible\:bg-green-focus:hover,.tw\:hocus-visible\:bg-green-focus:focus-visible{background-color:var(--tw-color-green-focus,#27682c)}.tw\:hocus-visible\:bg-light-grey:hover,.tw\:hocus-visible\:bg-light-grey:focus-visible{background-color:var(--tw-color-light-grey,#d8d8d8)}.tw\:hocus-visible\:bg-light-grey-focus:hover,.tw\:hocus-visible\:bg-light-grey-focus:focus-visible{background-color:var(--tw-color-light-grey-focus,#bfbfbf)}.tw\:hocus-visible\:bg-red:hover,.tw\:hocus-visible\:bg-red:focus-visible{background-color:var(--tw-color-red,#e51937)}.tw\:hocus-visible\:bg-red-focus:hover,.tw\:hocus-visible\:bg-red-focus:focus-visible{background-color:var(--tw-color-red-focus,#b3142c)}.tw\:hocus-visible\:bg-white:hover,.tw\:hocus-visible\:bg-white:focus-visible{background-color:var(--tw-color-white,#fff)}.tw\:hocus-visible\:bg-white-focus:hover,.tw\:hocus-visible\:bg-white-focus:focus-visible{background-color:var(--tw-color-white-focus,#ddd)}.tw\:hocus-visible\:bg-yellow:hover,.tw\:hocus-visible\:bg-yellow:focus-visible{background-color:var(--tw-color-yellow,#ffc429)}.tw\:hocus-visible\:bg-yellow-focus:hover,.tw\:hocus-visible\:bg-yellow-focus:focus-visible{background-color:var(--tw-color-yellow-focus,#ffe299)}.tw\:hocus-visible\:text-black:hover,.tw\:hocus-visible\:text-black:focus-visible{color:var(--tw-color-black,#000)}.tw\:hocus-visible\:text-black-contrast:hover,.tw\:hocus-visible\:text-black-contrast:focus-visible{color:var(--tw-color-black-contrast,#fff)}.tw\:hocus-visible\:text-blue-contrast:hover,.tw\:hocus-visible\:text-blue-contrast:focus-visible{color:var(--tw-color-blue-contrast,#fff)}.tw\:hocus-visible\:text-dark-grey-contrast:hover,.tw\:hocus-visible\:text-dark-grey-contrast:focus-visible{color:var(--tw-color-dark-grey-contrast,#fff)}.tw\:hocus-visible\:text-green-contrast:hover,.tw\:hocus-visible\:text-green-contrast:focus-visible{color:var(--tw-color-green-contrast,#fff)}.tw\:hocus-visible\:text-light-grey-contrast:hover,.tw\:hocus-visible\:text-light-grey-contrast:focus-visible{color:var(--tw-color-light-grey-contrast,#000)}.tw\:hocus-visible\:text-red-contrast:hover,.tw\:hocus-visible\:text-red-contrast:focus-visible{color:var(--tw-color-red-contrast,#fff)}.tw\:hocus-visible\:text-white-contrast:hover,.tw\:hocus-visible\:text-white-contrast:focus-visible{color:var(--tw-color-white-contrast,#000)}.tw\:hocus-visible\:text-yellow-contrast:hover,.tw\:hocus-visible\:text-yellow-contrast:focus-visible{color:var(--tw-color-yellow-contrast,#000)}.tw\:hocus-visible\:decoration-black:hover,.tw\:hocus-visible\:decoration-black:focus-visible{-webkit-text-decoration-color:var(--tw-color-black,#000);text-decoration-color:var(--tw-color-black,#000)}.tw\:hocus-visible\:decoration-transparent:hover,.tw\:hocus-visible\:decoration-transparent:focus-visible{text-decoration-color:#0000}.tw\:\[\&_p\:last-child\]\:mb-0 p:last-child{margin-bottom:calc(var(--tw-spacing,.4rem)*0)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}to{opacity:1}}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function bezier(delta: number, cx1: number, cy1: number, cx2: number, cy2: number): number;
|
|
2
|
+
|
|
3
|
+
export declare function clamp(value: number, min: number, max: number): number;
|
|
4
|
+
|
|
5
|
+
export declare function lerp(a: number, b: number, delta: number): number;
|
|
6
|
+
|
|
7
|
+
export declare function mod(n: number, m: number): number;
|
|
8
|
+
|
|
9
|
+
export declare const toTitleCase: (str: string) => string;
|
|
10
|
+
|
|
11
|
+
export { }
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { b as l, c as b, l as u, m as C } from "./math-utils-BwzyIQRL.js";
|
|
2
|
+
const c = (e) => {
|
|
3
|
+
var a, i, n;
|
|
4
|
+
const t = [
|
|
5
|
+
"a",
|
|
6
|
+
"an",
|
|
7
|
+
"the",
|
|
8
|
+
"and",
|
|
9
|
+
"but",
|
|
10
|
+
"or",
|
|
11
|
+
"for",
|
|
12
|
+
"nor",
|
|
13
|
+
"on",
|
|
14
|
+
"at",
|
|
15
|
+
"to",
|
|
16
|
+
"by",
|
|
17
|
+
"of",
|
|
18
|
+
"in",
|
|
19
|
+
"with"
|
|
20
|
+
], s = {
|
|
21
|
+
"co-op": "Co-op",
|
|
22
|
+
"thesis-based": "Thesis-based",
|
|
23
|
+
"course-based": "Course-based"
|
|
24
|
+
};
|
|
25
|
+
return e in s ? s[e] : ((n = (i = (a = e == null ? void 0 : e.toLowerCase()) == null ? void 0 : a.split(/\s+|-|_+/)) == null ? void 0 : i.map((o) => t.includes(o) ? o : o.charAt(0).toUpperCase() + o.slice(1))) == null ? void 0 : n.join(" ")) ?? "";
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
l as bezier,
|
|
29
|
+
b as clamp,
|
|
30
|
+
u as lerp,
|
|
31
|
+
C as mod,
|
|
32
|
+
c as toTitleCase
|
|
33
|
+
};
|
package/dist/info.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { JSX } from 'react/jsx-runtime';
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
3
|
+
|
|
4
|
+
export declare function Info({ children, color }: InfoProps): JSX.Element;
|
|
5
|
+
|
|
6
|
+
export declare namespace Info {
|
|
7
|
+
var displayName: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export declare type InfoProps = PropsWithChildren<{
|
|
11
|
+
/**
|
|
12
|
+
* The color of the left border in the info component.
|
|
13
|
+
*
|
|
14
|
+
* @default 'red'
|
|
15
|
+
*/
|
|
16
|
+
color?: 'red' | 'yellow' | 'blue' | 'green' | 'light-grey' | 'dark-grey' | 'black' | 'white';
|
|
17
|
+
}>;
|
|
18
|
+
|
|
19
|
+
export { }
|
package/dist/info.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { tv as o } from "tailwind-variants";
|
|
3
|
+
function w({ children: r, color: e = "red" }) {
|
|
4
|
+
const l = o({
|
|
5
|
+
base: "tw:flex tw:flex-col tw:gap-1 tw:border-l-4 tw:pl-4",
|
|
6
|
+
variants: {
|
|
7
|
+
color: {
|
|
8
|
+
red: "tw:border-l-red",
|
|
9
|
+
yellow: "tw:border-l-yellow",
|
|
10
|
+
blue: "tw:border-l-blue",
|
|
11
|
+
green: "tw:border-l-green",
|
|
12
|
+
"light-grey": "tw:border-l-light-grey",
|
|
13
|
+
"dark-grey": "tw:border-l-dark-grey",
|
|
14
|
+
black: "tw:border-l-black",
|
|
15
|
+
white: "tw:border-l-white"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return /* @__PURE__ */ t("div", { className: l({ color: e }), children: r });
|
|
20
|
+
}
|
|
21
|
+
w.displayName = "Info";
|
|
22
|
+
export {
|
|
23
|
+
w as Info
|
|
24
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { JSX } from 'react/jsx-runtime';
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
3
|
+
|
|
4
|
+
export declare function LinkCarouselContent({ children, className }: LinkCarouselContentProps): JSX.Element;
|
|
5
|
+
|
|
6
|
+
export declare type LinkCarouselContentProps = PropsWithChildren<{
|
|
7
|
+
/** Additional classes to apply to the link carousel content container. */
|
|
8
|
+
className?: string;
|
|
9
|
+
}>;
|
|
10
|
+
|
|
11
|
+
export { }
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { useContext as s } from "react";
|
|
3
|
+
import { twMerge as l } from "tailwind-merge";
|
|
4
|
+
import { tv as a } from "tailwind-variants";
|
|
5
|
+
import { LinkCarouselContext as i } from "./link-carousel-context.js";
|
|
6
|
+
function w({ children: o, className: e }) {
|
|
7
|
+
const t = s(i), r = a({
|
|
8
|
+
base: "tw:relative tw:h-full tw:hidden tw:md:block",
|
|
9
|
+
variants: {
|
|
10
|
+
stack: {
|
|
11
|
+
true: "tw:w-full",
|
|
12
|
+
false: "tw:flex-1"
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return /* @__PURE__ */ n("div", { className: `uofg-link-carousel-content ${l(r({ stack: t == null ? void 0 : t.stack }), e)}`, children: o });
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
w as LinkCarouselContent
|
|
20
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Context } from 'react';
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
3
|
+
|
|
4
|
+
export declare const LinkCarouselContext: Context<LinkCarouselContextValue | null>;
|
|
5
|
+
|
|
6
|
+
export declare type LinkCarouselContextValue = {
|
|
7
|
+
previousActiveId: LinkCarouselId | null;
|
|
8
|
+
clearPreviousActiveId: () => void;
|
|
9
|
+
activeId: LinkCarouselId | null;
|
|
10
|
+
setActiveId: (id: LinkCarouselId) => void;
|
|
11
|
+
stack: LinkCarouselProps['stack'];
|
|
12
|
+
direction: LinkCarouselProps['direction'];
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export declare type LinkCarouselId = string | number;
|
|
16
|
+
|
|
17
|
+
declare type LinkCarouselProps = PropsWithChildren<{
|
|
18
|
+
/** Additional classes to apply to the link carousel. */
|
|
19
|
+
className?: string;
|
|
20
|
+
/** Whether the carousel links should stack on top of the content, rather than beside it. */
|
|
21
|
+
stack?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* The side of the carousel that the links should be displayed on.
|
|
24
|
+
*
|
|
25
|
+
* @default 'left'
|
|
26
|
+
*/
|
|
27
|
+
direction?: 'left' | 'right';
|
|
28
|
+
}>;
|
|
29
|
+
|
|
30
|
+
export { }
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { JSX } from 'react/jsx-runtime';
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
3
|
+
|
|
4
|
+
declare type LinkCarouselId = string | number;
|
|
5
|
+
|
|
6
|
+
export declare function LinkCarouselItem({ id, children, className }: LinkCarouselItemProps): JSX.Element;
|
|
7
|
+
|
|
8
|
+
export declare type LinkCarouselItemProps = PropsWithChildren<{
|
|
9
|
+
/** The unique identifier for the link carousel item. */
|
|
10
|
+
id: LinkCarouselId;
|
|
11
|
+
/** Additional classes to apply to the link carousel item */
|
|
12
|
+
className?: string;
|
|
13
|
+
}>;
|
|
14
|
+
|
|
15
|
+
export { }
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as i, Fragment as w } from "react/jsx-runtime";
|
|
2
|
+
import { useContext as l } from "react";
|
|
3
|
+
import { twMerge as m } from "tailwind-merge";
|
|
4
|
+
import { tv as n } from "tailwind-variants";
|
|
5
|
+
import { LinkCarouselContext as c } from "./link-carousel-context.js";
|
|
6
|
+
function k({ id: e, children: r, className: o }) {
|
|
7
|
+
const t = l(c), s = n({
|
|
8
|
+
base: "tw:w-full tw:hidden tw:bg-white",
|
|
9
|
+
variants: {
|
|
10
|
+
isActive: { true: "tw:block tw:relative tw:animate-fade-in tw:z-10" },
|
|
11
|
+
wasActive: { true: "tw:block tw:absolute tw:z-0 tw:top-0 tw:left-0" }
|
|
12
|
+
}
|
|
13
|
+
}), a = m(
|
|
14
|
+
s({ isActive: (t == null ? void 0 : t.activeId) === e, wasActive: (t == null ? void 0 : t.previousActiveId) === e }),
|
|
15
|
+
o
|
|
16
|
+
);
|
|
17
|
+
return /* @__PURE__ */ i(w, { children: /* @__PURE__ */ i("div", { className: `uofg-link-carousel-item ${a}`, children: r }) });
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
k as LinkCarouselItem
|
|
21
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
2
|
+
import { JSX } from 'react/jsx-runtime';
|
|
3
|
+
import { PropsWithChildren } from 'react';
|
|
4
|
+
|
|
5
|
+
declare const defaultElement = "a";
|
|
6
|
+
|
|
7
|
+
declare type LinkCarouselId = string | number;
|
|
8
|
+
|
|
9
|
+
export declare function LinkCarouselLink<T extends LinkCarouselLinkElementType = typeof defaultElement>({ as, id, children, className, href, ...rest }: LinkCarouselLinkProps<T>): JSX.Element;
|
|
10
|
+
|
|
11
|
+
export declare namespace LinkCarouselLink {
|
|
12
|
+
var displayName: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export declare type LinkCarouselLinkElementType = ElementType<{
|
|
16
|
+
href?: string;
|
|
17
|
+
}, 'a'>;
|
|
18
|
+
|
|
19
|
+
export declare type LinkCarouselLinkProps<T extends LinkCarouselLinkElementType = typeof defaultElement> = PropsWithChildren<{
|
|
20
|
+
/**
|
|
21
|
+
* The element type to render as.
|
|
22
|
+
*
|
|
23
|
+
* @default 'a'
|
|
24
|
+
*/
|
|
25
|
+
as?: T;
|
|
26
|
+
/** The id of the link, this is used to determine which carousel item is controlled by this link. */
|
|
27
|
+
id: LinkCarouselId;
|
|
28
|
+
/** The URL this links to. */
|
|
29
|
+
href: string;
|
|
30
|
+
/** Additional classes to apply to the link. */
|
|
31
|
+
className?: string;
|
|
32
|
+
}>;
|
|
33
|
+
|
|
34
|
+
export { }
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { useContext as c } from "react";
|
|
3
|
+
import { twMerge as k } from "tailwind-merge";
|
|
4
|
+
import { tv as u } from "tailwind-variants";
|
|
5
|
+
import { LinkCarouselContext as w } from "./link-carousel-context.js";
|
|
6
|
+
const f = "a";
|
|
7
|
+
function p({
|
|
8
|
+
as: e,
|
|
9
|
+
id: o,
|
|
10
|
+
children: r,
|
|
11
|
+
className: s,
|
|
12
|
+
href: n,
|
|
13
|
+
...a
|
|
14
|
+
}) {
|
|
15
|
+
const i = e ?? f, t = c(w), l = u({
|
|
16
|
+
base: "tw:w-full tw:flex-1 tw:text-xl tw:bg-black tw:flex tw:items-center tw:justify-center tw:text-black-contrast tw:p-6",
|
|
17
|
+
variants: {
|
|
18
|
+
stack: {
|
|
19
|
+
true: "tw:md:bg-black/70"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
return /* @__PURE__ */ m(
|
|
24
|
+
i,
|
|
25
|
+
{
|
|
26
|
+
...a,
|
|
27
|
+
href: n,
|
|
28
|
+
className: k(l({ stack: t == null ? void 0 : t.stack }), s),
|
|
29
|
+
onMouseEnter: () => {
|
|
30
|
+
t == null || t.setActiveId(o);
|
|
31
|
+
},
|
|
32
|
+
children: r
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
p.displayName = "LinkCarouselLink";
|
|
37
|
+
export {
|
|
38
|
+
p as LinkCarouselLink
|
|
39
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { JSX } from 'react/jsx-runtime';
|
|
2
|
+
import { PropsWithChildren } from 'react';
|
|
3
|
+
|
|
4
|
+
export declare function LinkCarouselLinks({ children, className }: LinkCarouselLinksProps): JSX.Element;
|
|
5
|
+
|
|
6
|
+
export declare type LinkCarouselLinksProps = PropsWithChildren<{
|
|
7
|
+
/** Additional classes to apply to the link carousel links. */
|
|
8
|
+
className?: string;
|
|
9
|
+
}>;
|
|
10
|
+
|
|
11
|
+
export { }
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { useContext as e } from "react";
|
|
3
|
+
import { twMerge as l } from "tailwind-merge";
|
|
4
|
+
import { tv as a } from "tailwind-variants";
|
|
5
|
+
import { LinkCarouselContext as n } from "./link-carousel-context.js";
|
|
6
|
+
function p({ children: o, className: r }) {
|
|
7
|
+
const t = e(n), s = a({
|
|
8
|
+
base: "tw:flex tw:flex-col tw:gap-2 tw:w-full tw:top-0 tw:md:w-1/3 tw:md:z-20",
|
|
9
|
+
variants: {
|
|
10
|
+
stack: {
|
|
11
|
+
true: "tw:md:absolute tw:h-full",
|
|
12
|
+
false: "tw:h-auto"
|
|
13
|
+
},
|
|
14
|
+
direction: {
|
|
15
|
+
left: "tw:left-0",
|
|
16
|
+
right: "tw:right-0"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
})({ stack: t == null ? void 0 : t.stack, direction: t == null ? void 0 : t.direction });
|
|
20
|
+
return /* @__PURE__ */ i("div", { className: `uofg-link-carousel-links ${l(s, r)}`, children: o });
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
p as LinkCarouselLinks
|
|
24
|
+
};
|