@timmbr/ui 1.4.2 → 1.5.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/dist/components/Accordion/Accordion.js +1 -1
- package/dist/components/Accordion/Accordion.styles.d.ts.map +1 -1
- package/dist/components/Accordion/Accordion.styles.js +3 -3
- package/dist/components/Alert/Alert.js +2 -2
- package/dist/components/Alert/Alert.styles.js +4 -4
- package/dist/components/AlertDialog/AlertDialog.styles.js +4 -4
- package/dist/components/AuthModal/AuthModal.d.ts +4 -0
- package/dist/components/AuthModal/AuthModal.d.ts.map +1 -0
- package/dist/components/AuthModal/AuthModal.js +89 -0
- package/dist/components/AuthModal/AuthModal.labels.d.ts +6 -0
- package/dist/components/AuthModal/AuthModal.labels.d.ts.map +1 -0
- package/dist/components/AuthModal/AuthModal.labels.js +52 -0
- package/dist/components/AuthModal/AuthModal.styles.d.ts +12 -0
- package/dist/components/AuthModal/AuthModal.styles.d.ts.map +1 -0
- package/dist/components/AuthModal/AuthModal.styles.js +38 -0
- package/dist/components/AuthModal/AuthModal.types.d.ts +158 -0
- package/dist/components/AuthModal/AuthModal.types.d.ts.map +1 -0
- package/dist/components/AuthModal/index.d.ts +6 -0
- package/dist/components/AuthModal/index.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalBanner.d.ts +11 -0
- package/dist/components/AuthModal/subcomponents/AuthModalBanner.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalBanner.js +58 -0
- package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.d.ts +11 -0
- package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.js +62 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOAuth.d.ts +11 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOAuth.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOAuth.js +19 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.d.ts +10 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.js +62 -0
- package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts +44 -0
- package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalParts.js +134 -0
- package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.d.ts +10 -0
- package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.js +54 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.d.ts +10 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.js +79 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSuccess.d.ts +10 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSuccess.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/AuthModalSuccess.js +26 -0
- package/dist/components/AuthModal/subcomponents/OAuthButton.d.ts +12 -0
- package/dist/components/AuthModal/subcomponents/OAuthButton.d.ts.map +1 -0
- package/dist/components/AuthModal/subcomponents/OAuthButton.js +38 -0
- package/dist/components/AuthModal/subcomponents/index.d.ts +9 -0
- package/dist/components/AuthModal/subcomponents/index.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.styles.js +11 -11
- package/dist/components/Badge/Badge.styles.js +8 -8
- package/dist/components/Button/Button.styles.js +7 -7
- package/dist/components/Card/Card.styles.d.ts.map +1 -1
- package/dist/components/Card/Card.styles.js +5 -5
- package/dist/components/Checkbox/Checkbox.js +4 -4
- package/dist/components/Checkbox/Checkbox.styles.js +1 -1
- package/dist/components/Chip/Chip.js +1 -1
- package/dist/components/Chip/Chip.styles.js +5 -5
- package/dist/components/DataList/DataList.styles.js +3 -3
- package/dist/components/Dialog/Dialog.styles.js +6 -6
- package/dist/components/Divider/Divider.js +1 -1
- package/dist/components/Drawer/Drawer.styles.js +2 -2
- package/dist/components/Dropdown/Dropdown.js +2 -2
- package/dist/components/Dropdown/Dropdown.styles.js +2 -2
- package/dist/components/EmptyState/EmptyState.js +2 -2
- package/dist/components/EmptyState/EmptyState.styles.js +3 -3
- package/dist/components/FormField/FormField.js +1 -1
- package/dist/components/Heading/Heading.styles.d.ts.map +1 -1
- package/dist/components/Heading/Heading.styles.js +12 -10
- package/dist/components/Icon/Icon.styles.js +6 -6
- package/dist/components/ImageUpload/ImageUpload.js +6 -6
- package/dist/components/ImageUpload/subcomponents/ImageUploadDropzone.js +10 -10
- package/dist/components/ImageUpload/subcomponents/ImageUploadModal.js +8 -8
- package/dist/components/ImageUpload/subcomponents/ImageUploadSinglePreview.js +7 -7
- package/dist/components/ImageUpload/subcomponents/ImageUploadThumbnailCard.js +10 -10
- package/dist/components/Input/Input.js +4 -4
- package/dist/components/Input/Input.styles.js +6 -6
- package/dist/components/Label/Label.styles.js +4 -4
- package/dist/components/LinkButton/LinkButton.styles.js +6 -6
- package/dist/components/List/List.js +1 -1
- package/dist/components/List/List.styles.js +3 -3
- package/dist/components/NavFooter/NavFooter.styles.js +9 -9
- package/dist/components/NavFooter/subcomponents/FooterBrand.js +3 -3
- package/dist/components/NavFooter/subcomponents/FooterLegalBar.js +1 -1
- package/dist/components/NavFooter/subcomponents/FooterNavSection.js +4 -4
- package/dist/components/NavFooter/subcomponents/FooterNewsletter.js +7 -7
- package/dist/components/NavFooter/subcomponents/FooterOffice.js +5 -5
- package/dist/components/NavFooter/subcomponents/FooterSocial.js +3 -3
- package/dist/components/NavHeader/NavHeader.d.ts.map +1 -1
- package/dist/components/NavHeader/NavHeader.js +11 -3
- package/dist/components/NavHeader/NavHeader.styles.js +16 -16
- package/dist/components/NavHeader/NavHeader.types.d.ts +19 -0
- package/dist/components/NavHeader/NavHeader.types.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.d.ts +4 -0
- package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.d.ts.map +1 -0
- package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.js +16 -0
- package/dist/components/NavHeader/subcomponents/NavActionOverflow.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavActionOverflow.js +6 -5
- package/dist/components/NavHeader/subcomponents/NavActions.d.ts +9 -0
- package/dist/components/NavHeader/subcomponents/NavActions.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavActions.js +51 -15
- package/dist/components/NavHeader/subcomponents/NavBrand.d.ts.map +1 -1
- package/dist/components/NavHeader/subcomponents/NavBrand.js +14 -15
- package/dist/components/NavHeader/subcomponents/NavItems.js +3 -3
- package/dist/components/NavHeader/subcomponents/NavItemsOverflow.js +7 -7
- package/dist/components/NavHeader/subcomponents/NavMobileSearchDrawer.js +5 -5
- package/dist/components/NavHeader/subcomponents/NavMobileTabSlider.js +2 -2
- package/dist/components/NavHeader/subcomponents/NavSearch.js +5 -5
- package/dist/components/NavHeader/subcomponents/OfferBanner.js +1 -1
- package/dist/components/OtpInput/OtpInput.d.ts +4 -0
- package/dist/components/OtpInput/OtpInput.d.ts.map +1 -0
- package/dist/components/OtpInput/OtpInput.js +114 -0
- package/dist/components/OtpInput/OtpInput.styles.d.ts +10 -0
- package/dist/components/OtpInput/OtpInput.styles.d.ts.map +1 -0
- package/dist/components/OtpInput/OtpInput.styles.js +49 -0
- package/dist/components/OtpInput/OtpInput.types.d.ts +40 -0
- package/dist/components/OtpInput/OtpInput.types.d.ts.map +1 -0
- package/dist/components/OtpInput/index.d.ts +4 -0
- package/dist/components/OtpInput/index.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.styles.js +3 -3
- package/dist/components/Popover/Popover.styles.js +1 -1
- package/dist/components/Progress/Progress.js +2 -2
- package/dist/components/Radio/Radio.js +4 -4
- package/dist/components/Radio/Radio.styles.js +1 -1
- package/dist/components/RangeSlider/RangeSlider.js +3 -3
- package/dist/components/RangeSlider/RangeSlider.styles.js +1 -1
- package/dist/components/Select/Select.js +2 -2
- package/dist/components/Select/Select.styles.js +8 -8
- package/dist/components/SideBarNavigation/SideBarNavigation.styles.js +8 -8
- package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.js +3 -3
- package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.js +1 -1
- package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.js +4 -4
- package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.js +9 -9
- package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.js +2 -2
- package/dist/components/Skeleton/Skeleton.styles.js +1 -1
- package/dist/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.js +9 -7
- package/dist/components/Spinner/Spinner.styles.d.ts +8 -2
- package/dist/components/Spinner/Spinner.styles.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.styles.js +27 -24
- package/dist/components/Spinner/Spinner.types.d.ts +9 -0
- package/dist/components/Spinner/Spinner.types.d.ts.map +1 -1
- package/dist/components/Stat/Stat.styles.js +4 -4
- package/dist/components/Switch/Switch.js +2 -2
- package/dist/components/Switch/Switch.styles.js +1 -1
- package/dist/components/Table/Table.js +1 -1
- package/dist/components/Table/Table.styles.js +5 -5
- package/dist/components/Table/TablePagination.js +4 -4
- package/dist/components/Tabs/Tabs.js +2 -2
- package/dist/components/Tabs/Tabs.styles.js +8 -8
- package/dist/components/Text/Text.styles.d.ts.map +1 -1
- package/dist/components/Text/Text.styles.js +17 -15
- package/dist/components/Textarea/Textarea.js +4 -4
- package/dist/components/Textarea/Textarea.styles.js +6 -6
- package/dist/components/Toast/Toast.js +3 -3
- package/dist/components/Toast/Toast.styles.js +5 -5
- package/dist/components/Toast/ToastContainer.js +1 -1
- package/dist/components/Tooltip/Tooltip.styles.js +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/package.json +7 -6
- package/dist/components/CrossZoneLink/CrossZoneLink.d.ts +0 -10
- package/dist/components/CrossZoneLink/CrossZoneLink.d.ts.map +0 -1
- package/dist/components/CrossZoneLink/CrossZoneLink.js +0 -111
- package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts +0 -8
- package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts.map +0 -1
- package/dist/components/CrossZoneLink/CrossZoneLink.styles.js +0 -33
- package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts +0 -31
- package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts.map +0 -1
- package/dist/components/CrossZoneLink/index.d.ts +0 -4
- package/dist/components/CrossZoneLink/index.d.ts.map +0 -1
|
@@ -5,18 +5,18 @@ const avatarRootVariants = cva(
|
|
|
5
5
|
{
|
|
6
6
|
variants: {
|
|
7
7
|
size: {
|
|
8
|
-
xs: "size-6 text-
|
|
9
|
-
sm: "size-8 text-
|
|
10
|
-
md: "size-10 text-
|
|
11
|
-
lg: "size-12 text-
|
|
12
|
-
xl: "size-16 text-
|
|
13
|
-
"2xl": "size-20 text-
|
|
8
|
+
xs: "size-6 text-caption",
|
|
9
|
+
sm: "size-8 text-body-3",
|
|
10
|
+
md: "size-10 text-body-2",
|
|
11
|
+
lg: "size-12 text-body-1",
|
|
12
|
+
xl: "size-16 text-h5",
|
|
13
|
+
"2xl": "size-20 text-h4"
|
|
14
14
|
},
|
|
15
15
|
variant: {
|
|
16
|
-
primary: "bg-primary text-
|
|
16
|
+
primary: "bg-primary text-grey-50",
|
|
17
17
|
secondary: "bg-secondary text-secondary-foreground",
|
|
18
18
|
subtle: "bg-bg-subtle text-foreground",
|
|
19
|
-
grey: "bg-grey-700 text-
|
|
19
|
+
grey: "bg-grey-700 text-grey-50",
|
|
20
20
|
outline: "bg-background border border-grey-300 dark:border-grey-700 text-foreground"
|
|
21
21
|
}
|
|
22
22
|
},
|
|
@@ -31,10 +31,10 @@ const avatarStatusVariants = cva(
|
|
|
31
31
|
{
|
|
32
32
|
variants: {
|
|
33
33
|
status: {
|
|
34
|
-
online: "bg-
|
|
34
|
+
online: "bg-success",
|
|
35
35
|
offline: "bg-grey-400",
|
|
36
|
-
busy: "bg-
|
|
37
|
-
away: "bg-
|
|
36
|
+
busy: "bg-destructive",
|
|
37
|
+
away: "bg-warning"
|
|
38
38
|
},
|
|
39
39
|
size: {
|
|
40
40
|
xs: "size-1.5",
|
|
@@ -5,19 +5,19 @@ const badgeVariants = cva(
|
|
|
5
5
|
{
|
|
6
6
|
variants: {
|
|
7
7
|
variant: {
|
|
8
|
-
primary: "bg-primary-300 text-
|
|
9
|
-
brand: "bg-primary text-
|
|
10
|
-
default: "bg-primary text-
|
|
8
|
+
primary: "bg-primary-300 text-grey-50",
|
|
9
|
+
brand: "bg-primary text-grey-50",
|
|
10
|
+
default: "bg-primary text-grey-50",
|
|
11
11
|
secondary: "bg-secondary text-secondary-foreground",
|
|
12
12
|
outline: "border border-grey-300 dark:border-grey-700 bg-transparent text-foreground",
|
|
13
13
|
subtle: "bg-bg-subtle text-foreground",
|
|
14
|
-
success: "bg-
|
|
15
|
-
destructive: "bg-destructive text-
|
|
14
|
+
success: "bg-success text-grey-50",
|
|
15
|
+
destructive: "bg-destructive text-grey-50"
|
|
16
16
|
},
|
|
17
17
|
size: {
|
|
18
|
-
sm: "px-1.5 py-0.5 text-
|
|
19
|
-
md: "px-2 py-1 text-
|
|
20
|
-
lg: "px-3 py-1.5 text-
|
|
18
|
+
sm: "px-1.5 py-0.5 text-body-3",
|
|
19
|
+
md: "px-2 py-1 text-body-2",
|
|
20
|
+
lg: "px-3 py-1.5 text-body-1 font-medium"
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
defaultVariants: {
|
|
@@ -5,19 +5,19 @@ const buttonVariants = cva(
|
|
|
5
5
|
{
|
|
6
6
|
variants: {
|
|
7
7
|
variant: {
|
|
8
|
-
default: "bg-primary text-
|
|
9
|
-
primary: "bg-primary text-
|
|
8
|
+
default: "bg-primary text-grey-50 hover:bg-primary-600 hover:brightness-105 hover:shadow-md active:bg-primary-700 active:brightness-95 shadow-sm",
|
|
9
|
+
primary: "bg-primary text-grey-50 hover:bg-primary-600 hover:brightness-105 hover:shadow-md active:bg-primary-700 active:brightness-95 shadow-sm",
|
|
10
10
|
secondary: "bg-secondary text-secondary-foreground hover:bg-bg-subtle hover:brightness-105 active:bg-secondary-foreground/10 active:brightness-95 shadow-xs hover:shadow-sm",
|
|
11
11
|
outline: "border border-grey-300 dark:border-grey-700 bg-transparent text-foreground hover:bg-grey-100 dark:hover:bg-grey-900 active:bg-grey-200 dark:active:bg-grey-800 hover:border-grey-400 dark:hover:border-grey-600",
|
|
12
12
|
ghost: "text-foreground hover:bg-grey-100 dark:hover:bg-grey-900 active:bg-grey-200 dark:active:bg-grey-800",
|
|
13
|
-
destructive: "bg-destructive text-
|
|
13
|
+
destructive: "bg-destructive text-grey-50 hover:bg-destructive/90 hover:brightness-105 hover:shadow-md active:brightness-95 shadow-sm",
|
|
14
14
|
link: "text-primary underline-offset-4 hover:underline p-0 h-auto active:scale-100 font-normal"
|
|
15
15
|
},
|
|
16
16
|
size: {
|
|
17
|
-
sm: "h-9 px-3 text-
|
|
18
|
-
default: "h-11 px-5 text-
|
|
19
|
-
md: "h-11 px-5 text-
|
|
20
|
-
lg: "h-[52px] px-6 text-
|
|
17
|
+
sm: "h-9 px-3 text-body-3",
|
|
18
|
+
default: "h-11 px-5 text-body-2",
|
|
19
|
+
md: "h-11 px-5 text-body-2",
|
|
20
|
+
lg: "h-[52px] px-6 text-body-1",
|
|
21
21
|
icon: "h-10 w-10 p-0 shrink-0"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,YAAY;;;8EA2BxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oFAAoC,CAAC;AACpE,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"Card.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Card/Card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,YAAY;;;8EA2BxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,oFAAoC,CAAC;AACpE,eAAO,MAAM,iBAAiB,oFAAwE,CAAC;AACvG,eAAO,MAAM,uBAAuB,oFAAgD,CAAC;AACrF,eAAO,MAAM,mBAAmB,oFAA6B,CAAC;AAC9D,eAAO,MAAM,kBAAkB,oFAAmG,CAAC;AAEnI,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC"}
|
|
@@ -5,10 +5,10 @@ const cardVariants = cva(
|
|
|
5
5
|
{
|
|
6
6
|
variants: {
|
|
7
7
|
variant: {
|
|
8
|
-
outline: "border border-grey-200 dark:border-grey-800 bg-
|
|
9
|
-
elevated: "border border-transparent bg-
|
|
8
|
+
outline: "border border-grey-200 dark:border-grey-800 bg-grey-50 dark:bg-grey-900 shadow-sm",
|
|
9
|
+
elevated: "border border-transparent bg-grey-50 dark:bg-grey-900 shadow-md hover:shadow-lg",
|
|
10
10
|
subtle: "border border-transparent bg-grey-50 dark:bg-grey-950",
|
|
11
|
-
interactive: "border border-grey-200 dark:border-grey-800 bg-
|
|
11
|
+
interactive: "border border-grey-200 dark:border-grey-800 bg-grey-50 dark:bg-grey-900 shadow-sm hover:border-primary hover:shadow-md cursor-pointer"
|
|
12
12
|
},
|
|
13
13
|
padding: {
|
|
14
14
|
none: "p-0",
|
|
@@ -25,8 +25,8 @@ const cardVariants = cva(
|
|
|
25
25
|
}
|
|
26
26
|
);
|
|
27
27
|
const cardHeaderVariants = cva("flex flex-col gap-1.5 mb-4");
|
|
28
|
-
const cardTitleVariants = cva("text-
|
|
29
|
-
const cardDescriptionVariants = cva("text-
|
|
28
|
+
const cardTitleVariants = cva("text-h6 font-bold text-foreground leading-tight tracking-tight");
|
|
29
|
+
const cardDescriptionVariants = cva("text-body-2 text-muted leading-relaxed");
|
|
30
30
|
const cardContentVariants = cva("flex flex-col gap-4");
|
|
31
31
|
const cardFooterVariants = cva("flex items-center justify-between pt-4 mt-4 border-t border-grey-100 dark:border-grey-800");
|
|
32
32
|
|
|
@@ -39,7 +39,7 @@ const Checkbox = React.forwardRef(
|
|
|
39
39
|
{
|
|
40
40
|
className: cn(checkboxIndicatorVariants({ size })),
|
|
41
41
|
children: [
|
|
42
|
-
/* @__PURE__ */ jsx("span", { className: "hidden [[data-state=indeterminate]_&]:block w-2.5 h-0.5 bg-
|
|
42
|
+
/* @__PURE__ */ jsx("span", { className: "hidden [[data-state=indeterminate]_&]:block w-2.5 h-0.5 bg-grey-50 rounded-full" }),
|
|
43
43
|
/* @__PURE__ */ jsx(Check, { className: "[[data-state=indeterminate]_&]:hidden w-full h-full stroke-[3]" })
|
|
44
44
|
]
|
|
45
45
|
}
|
|
@@ -68,16 +68,16 @@ const Checkbox = React.forwardRef(
|
|
|
68
68
|
{
|
|
69
69
|
htmlFor: id,
|
|
70
70
|
className: cn(
|
|
71
|
-
"text-
|
|
71
|
+
"text-body-2 font-medium text-foreground cursor-pointer select-none leading-snug",
|
|
72
72
|
disabled && "cursor-not-allowed"
|
|
73
73
|
),
|
|
74
74
|
children: label
|
|
75
75
|
}
|
|
76
76
|
),
|
|
77
|
-
description && /* @__PURE__ */ jsx("p", { className: "text-
|
|
77
|
+
description && /* @__PURE__ */ jsx("p", { className: "text-body-3 text-muted leading-normal mt-0.5", children: description })
|
|
78
78
|
] })
|
|
79
79
|
] }),
|
|
80
|
-
errorMessage && /* @__PURE__ */ jsx("p", { className: "text-
|
|
80
|
+
errorMessage && /* @__PURE__ */ jsx("p", { className: "text-body-3 text-destructive font-medium pl-7", children: errorMessage })
|
|
81
81
|
]
|
|
82
82
|
}
|
|
83
83
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { cva } from 'class-variance-authority';
|
|
2
2
|
|
|
3
3
|
const checkboxVariants = cva(
|
|
4
|
-
"peer shrink-0 rounded-[2px] border border-grey-300 dark:border-grey-600 bg-
|
|
4
|
+
"peer shrink-0 rounded-[2px] border border-grey-300 dark:border-grey-600 bg-grey-50 dark:bg-grey-900 transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:border-primary data-[state=checked]:text-grey-50 data-[state=indeterminate]:bg-primary data-[state=indeterminate]:border-primary data-[state=indeterminate]:text-grey-50 cursor-pointer flex items-center justify-center",
|
|
5
5
|
{
|
|
6
6
|
variants: {
|
|
7
7
|
size: {
|
|
@@ -60,7 +60,7 @@ const Chip = React.forwardRef(
|
|
|
60
60
|
tabIndex: -1,
|
|
61
61
|
onClick: handleRemove,
|
|
62
62
|
"aria-label": "Remove",
|
|
63
|
-
className: "shrink-0 -mr-1 size-4 rounded-full inline-flex items-center justify-center opacity-70 hover:opacity-100 hover:bg-
|
|
63
|
+
className: "shrink-0 -mr-1 size-4 rounded-full inline-flex items-center justify-center opacity-70 hover:opacity-100 hover:bg-grey-1000/10 dark:hover:bg-grey-50/20 transition-all cursor-pointer",
|
|
64
64
|
children: /* @__PURE__ */ jsx(X, { className: "size-3" })
|
|
65
65
|
}
|
|
66
66
|
)
|
|
@@ -6,7 +6,7 @@ const chipVariants = cva(
|
|
|
6
6
|
variants: {
|
|
7
7
|
variant: {
|
|
8
8
|
subtle: "bg-grey-100 dark:bg-grey-800 text-foreground border border-transparent",
|
|
9
|
-
filled: "bg-primary text-
|
|
9
|
+
filled: "bg-primary text-grey-50 border border-transparent shadow-xs",
|
|
10
10
|
outlined: "bg-transparent border border-grey-300 dark:border-grey-700 text-foreground"
|
|
11
11
|
},
|
|
12
12
|
color: {
|
|
@@ -17,16 +17,16 @@ const chipVariants = cva(
|
|
|
17
17
|
destructive: "bg-destructive/10 text-destructive border-destructive/20"
|
|
18
18
|
},
|
|
19
19
|
size: {
|
|
20
|
-
sm: "h-6 px-2.5 text-
|
|
21
|
-
default: "h-8 px-3 text-
|
|
22
|
-
lg: "h-9 px-4 text-
|
|
20
|
+
sm: "h-6 px-2.5 text-caption-lg",
|
|
21
|
+
default: "h-8 px-3 text-body-3",
|
|
22
|
+
lg: "h-9 px-4 text-body-2"
|
|
23
23
|
},
|
|
24
24
|
clickable: {
|
|
25
25
|
true: "cursor-pointer hover:brightness-95 active:scale-95 focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-1",
|
|
26
26
|
false: ""
|
|
27
27
|
},
|
|
28
28
|
selected: {
|
|
29
|
-
true: "bg-primary text-
|
|
29
|
+
true: "bg-primary text-grey-50 border-primary shadow-xs",
|
|
30
30
|
false: ""
|
|
31
31
|
}
|
|
32
32
|
},
|
|
@@ -7,9 +7,9 @@ const dataListVariants = cva("font-sans text-foreground", {
|
|
|
7
7
|
vertical: "flex flex-col"
|
|
8
8
|
},
|
|
9
9
|
size: {
|
|
10
|
-
sm: "text-
|
|
11
|
-
default: "text-
|
|
12
|
-
lg: "text-
|
|
10
|
+
sm: "text-body-3 gap-1.5",
|
|
11
|
+
default: "text-body-2 gap-2.5",
|
|
12
|
+
lg: "text-body-1 gap-3.5"
|
|
13
13
|
},
|
|
14
14
|
divided: {
|
|
15
15
|
true: "divide-y divide-grey-200 dark:divide-grey-800",
|
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { cva } from 'class-variance-authority';
|
|
2
2
|
|
|
3
3
|
const dialogOverlayVariants = cva(
|
|
4
|
-
"fixed inset-0 z-50 bg-
|
|
4
|
+
"fixed inset-0 z-50 bg-grey-1000/60 backdrop-blur-xs transition-opacity duration-200 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out"
|
|
5
5
|
);
|
|
6
6
|
const dialogContentVariants = cva(
|
|
7
|
-
"relative pointer-events-auto flex flex-col w-full max-w-lg max-h-[calc(100vh-2rem)] sm:max-h-[calc(100vh-4rem)] rounded-xl border border-grey-200 dark:border-grey-800 bg-
|
|
7
|
+
"relative pointer-events-auto flex flex-col w-full max-w-lg max-h-[calc(100vh-2rem)] sm:max-h-[calc(100vh-4rem)] rounded-xl border border-grey-200 dark:border-grey-800 bg-grey-50 dark:bg-grey-900 shadow-xl font-sans text-foreground overflow-hidden data-[state=open]:animate-dialog-scale-in data-[state=closed]:animate-dialog-scale-out"
|
|
8
8
|
);
|
|
9
9
|
const dialogHeaderVariants = cva(
|
|
10
|
-
"flex flex-col space-y-1.5 text-left p-6 pb-4 border-b border-grey-100 dark:border-grey-800/60 shrink-0 bg-
|
|
10
|
+
"flex flex-col space-y-1.5 text-left p-6 pb-4 border-b border-grey-100 dark:border-grey-800/60 shrink-0 bg-grey-50 dark:bg-grey-900 pr-12"
|
|
11
11
|
);
|
|
12
12
|
const dialogBodyVariants = cva(
|
|
13
13
|
"flex-1 overflow-y-auto p-6 min-h-0"
|
|
14
14
|
);
|
|
15
15
|
const dialogFooterVariants = cva(
|
|
16
|
-
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 gap-2 p-6 pt-4 border-t border-grey-100 dark:border-grey-800/60 shrink-0 bg-
|
|
16
|
+
"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2 gap-2 p-6 pt-4 border-t border-grey-100 dark:border-grey-800/60 shrink-0 bg-grey-50 dark:bg-grey-900"
|
|
17
17
|
);
|
|
18
18
|
const dialogTitleVariants = cva(
|
|
19
|
-
"text-
|
|
19
|
+
"text-h5 font-semibold leading-none tracking-tight text-foreground"
|
|
20
20
|
);
|
|
21
21
|
const dialogDescriptionVariants = cva(
|
|
22
|
-
"text-
|
|
22
|
+
"text-body-2 text-muted-foreground leading-relaxed"
|
|
23
23
|
);
|
|
24
24
|
|
|
25
25
|
export { dialogBodyVariants, dialogContentVariants, dialogDescriptionVariants, dialogFooterVariants, dialogHeaderVariants, dialogOverlayVariants, dialogTitleVariants };
|
|
@@ -41,7 +41,7 @@ const Divider = React.forwardRef(
|
|
|
41
41
|
"data-slot": "divider",
|
|
42
42
|
"data-testid": "timmbr-divider",
|
|
43
43
|
style,
|
|
44
|
-
className: cn("flex items-center w-full my-4 gap-3 text-
|
|
44
|
+
className: cn("flex items-center w-full my-4 gap-3 text-body-3 font-medium text-grey-500 dark:text-grey-400", className),
|
|
45
45
|
...props,
|
|
46
46
|
children: [
|
|
47
47
|
/* @__PURE__ */ jsx("div", { className: leftLineClass }),
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { cva } from 'class-variance-authority';
|
|
2
2
|
|
|
3
3
|
const drawerOverlayVariants = cva(
|
|
4
|
-
"fixed inset-0 z-50 bg-
|
|
4
|
+
"fixed inset-0 z-50 bg-grey-1000/60 backdrop-blur-xs transition-opacity duration-300 data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out"
|
|
5
5
|
);
|
|
6
6
|
const drawerContentVariants = cva(
|
|
7
|
-
"fixed z-50 gap-4 bg-
|
|
7
|
+
"fixed z-50 gap-4 bg-grey-50 dark:bg-grey-900 p-6 shadow-2xl transition ease-in-out duration-300 font-sans text-foreground border-grey-200 dark:border-grey-800",
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
side: {
|
|
@@ -98,7 +98,7 @@ const DropdownMenuLabel = React.forwardRef(({ className, inset, ...props }, ref)
|
|
|
98
98
|
ref,
|
|
99
99
|
"data-slot": "dropdown-label",
|
|
100
100
|
className: cn(
|
|
101
|
-
"px-2 py-1.5 text-
|
|
101
|
+
"px-2 py-1.5 text-body-3 font-semibold text-muted-foreground uppercase tracking-wider",
|
|
102
102
|
inset && "pl-8",
|
|
103
103
|
className
|
|
104
104
|
),
|
|
@@ -123,7 +123,7 @@ const DropdownMenuShortcut = ({
|
|
|
123
123
|
return /* @__PURE__ */ jsx(
|
|
124
124
|
"span",
|
|
125
125
|
{
|
|
126
|
-
className: cn("ml-auto text-
|
|
126
|
+
className: cn("ml-auto text-body-3 tracking-widest text-muted-foreground tabular-nums", className),
|
|
127
127
|
...props
|
|
128
128
|
}
|
|
129
129
|
);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { cva } from 'class-variance-authority';
|
|
2
2
|
|
|
3
3
|
const dropdownContentVariants = cva(
|
|
4
|
-
"z-50 min-w-[8rem] overflow-hidden rounded-md border border-grey-200 dark:border-grey-700 bg-
|
|
4
|
+
"z-50 min-w-[8rem] overflow-hidden rounded-md border border-grey-200 dark:border-grey-700 bg-grey-50 dark:bg-grey-900 p-1 text-foreground shadow-lg font-sans transition-all duration-150 data-[state=open]:animate-scale-in data-[state=closed]:animate-scale-out"
|
|
5
5
|
);
|
|
6
6
|
const dropdownItemVariants = cva(
|
|
7
|
-
"relative flex cursor-pointer select-none items-center rounded-sm px-2.5 py-1.5 text-
|
|
7
|
+
"relative flex cursor-pointer select-none items-center rounded-sm px-2.5 py-1.5 text-body-2 outline-none transition-colors hover:bg-grey-100 dark:hover:bg-grey-800 focus:bg-grey-100 dark:focus:bg-grey-800 focus:text-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50"
|
|
8
8
|
);
|
|
9
9
|
|
|
10
10
|
export { dropdownContentVariants, dropdownItemVariants };
|
|
@@ -47,7 +47,7 @@ const EmptyState = React.forwardRef(
|
|
|
47
47
|
title && /* @__PURE__ */ jsx(
|
|
48
48
|
"h3",
|
|
49
49
|
{
|
|
50
|
-
className: "text-
|
|
50
|
+
className: "text-h6 font-semibold text-foreground tracking-tight",
|
|
51
51
|
"data-slot": "empty-state-title",
|
|
52
52
|
children: title
|
|
53
53
|
}
|
|
@@ -55,7 +55,7 @@ const EmptyState = React.forwardRef(
|
|
|
55
55
|
description && /* @__PURE__ */ jsx(
|
|
56
56
|
"p",
|
|
57
57
|
{
|
|
58
|
-
className: "text-
|
|
58
|
+
className: "text-body-3 text-muted-foreground mt-1.5 max-w-sm leading-relaxed",
|
|
59
59
|
"data-slot": "empty-state-description",
|
|
60
60
|
children: description
|
|
61
61
|
}
|
|
@@ -26,9 +26,9 @@ const emptyStateIconWrapperVariants = cva(
|
|
|
26
26
|
{
|
|
27
27
|
variants: {
|
|
28
28
|
size: {
|
|
29
|
-
sm: "size-10 text-
|
|
30
|
-
default: "size-14 text-
|
|
31
|
-
lg: "size-20 text-
|
|
29
|
+
sm: "size-10 text-subtitle-1",
|
|
30
|
+
default: "size-14 text-h4",
|
|
31
|
+
lg: "size-20 text-h3"
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
defaultVariants: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Heading.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Heading/Heading.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"Heading.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Heading/Heading.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,eAAO,MAAM,eAAe;;;;;8EAuC1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { cva } from 'class-variance-authority';
|
|
2
2
|
|
|
3
|
-
const headingVariants = cva("transition-colors
|
|
3
|
+
const headingVariants = cva("transition-colors text-foreground", {
|
|
4
4
|
variants: {
|
|
5
5
|
level: {
|
|
6
|
-
1: "text-
|
|
7
|
-
2: "text-
|
|
8
|
-
3: "text-
|
|
9
|
-
4: "text-
|
|
10
|
-
5: "text-
|
|
11
|
-
6: "text-
|
|
6
|
+
1: "text-h1",
|
|
7
|
+
2: "text-h2",
|
|
8
|
+
3: "text-h3",
|
|
9
|
+
4: "text-h4",
|
|
10
|
+
5: "text-h5",
|
|
11
|
+
6: "text-h6"
|
|
12
12
|
},
|
|
13
13
|
font: {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
// The h* tokens already use the display font.
|
|
15
|
+
display: "",
|
|
16
|
+
// Override the token's family ("!" so it wins regardless of CSS order).
|
|
17
|
+
title: "font-title! font-bold"
|
|
16
18
|
},
|
|
17
19
|
foreground: {
|
|
18
20
|
default: "text-foreground",
|
|
@@ -21,7 +23,7 @@ const headingVariants = cva("transition-colors leading-[1.3] text-foreground", {
|
|
|
21
23
|
primary: "text-primary",
|
|
22
24
|
secondary: "text-secondary-foreground",
|
|
23
25
|
destructive: "text-destructive",
|
|
24
|
-
white: "text-
|
|
26
|
+
white: "text-grey-50",
|
|
25
27
|
inherit: "text-inherit"
|
|
26
28
|
},
|
|
27
29
|
weight: {
|
|
@@ -5,11 +5,11 @@ const iconVariants = cva(
|
|
|
5
5
|
{
|
|
6
6
|
variants: {
|
|
7
7
|
size: {
|
|
8
|
-
xs: "size-3 text-
|
|
9
|
-
sm: "size-4 text-
|
|
10
|
-
md: "size-5 text-
|
|
11
|
-
lg: "size-6 text-
|
|
12
|
-
xl: "size-8 text-
|
|
8
|
+
xs: "size-3 text-body-3",
|
|
9
|
+
sm: "size-4 text-body-2",
|
|
10
|
+
md: "size-5 text-body-1",
|
|
11
|
+
lg: "size-6 text-subtitle-1",
|
|
12
|
+
xl: "size-8 text-h4"
|
|
13
13
|
},
|
|
14
14
|
foreground: {
|
|
15
15
|
default: "text-foreground",
|
|
@@ -18,7 +18,7 @@ const iconVariants = cva(
|
|
|
18
18
|
primary: "text-primary",
|
|
19
19
|
secondary: "text-secondary-foreground",
|
|
20
20
|
destructive: "text-destructive",
|
|
21
|
-
white: "text-
|
|
21
|
+
white: "text-grey-50",
|
|
22
22
|
inherit: "text-inherit"
|
|
23
23
|
},
|
|
24
24
|
clickable: {
|
|
@@ -201,15 +201,15 @@ const ImageUpload = React.forwardRef(
|
|
|
201
201
|
...props,
|
|
202
202
|
children: [
|
|
203
203
|
(label || maxFiles || minFiles) && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 select-none", children: [
|
|
204
|
-
label && /* @__PURE__ */ jsxs("label", { className: "text-
|
|
204
|
+
label && /* @__PURE__ */ jsxs("label", { className: "text-body-3 font-semibold text-foreground tracking-wide flex items-center gap-1.5", children: [
|
|
205
205
|
/* @__PURE__ */ jsx("span", { children: label }),
|
|
206
|
-
minFiles && minFiles > 0 && /* @__PURE__ */ jsxs("span", { className: "text-
|
|
206
|
+
minFiles && minFiles > 0 && /* @__PURE__ */ jsxs("span", { className: "text-caption-lg text-muted font-normal", children: [
|
|
207
207
|
"(Min ",
|
|
208
208
|
minFiles,
|
|
209
209
|
")"
|
|
210
210
|
] })
|
|
211
211
|
] }),
|
|
212
|
-
multiple && /* @__PURE__ */ jsxs("span", { className: "text-
|
|
212
|
+
multiple && /* @__PURE__ */ jsxs("span", { className: "text-caption-lg font-medium text-muted", children: [
|
|
213
213
|
items.length,
|
|
214
214
|
maxFiles ? ` / ${maxFiles}` : "",
|
|
215
215
|
" uploaded"
|
|
@@ -284,7 +284,7 @@ const ImageUpload = React.forwardRef(
|
|
|
284
284
|
onDragLeave: handleDragLeave,
|
|
285
285
|
onDrop: handleDrop
|
|
286
286
|
}
|
|
287
|
-
) : /* @__PURE__ */ jsxs("div", { className: "w-full rounded-xl border border-dashed border-grey-300 dark:border-grey-700 bg-grey-50/50 dark:bg-grey-900/30 p-3 text-center text-
|
|
287
|
+
) : /* @__PURE__ */ jsxs("div", { className: "w-full rounded-xl border border-dashed border-grey-300 dark:border-grey-700 bg-grey-50/50 dark:bg-grey-900/30 p-3 text-center text-body-3 text-muted", children: [
|
|
288
288
|
"Maximum upload limit reached (",
|
|
289
289
|
maxFiles,
|
|
290
290
|
"/",
|
|
@@ -334,8 +334,8 @@ const ImageUpload = React.forwardRef(
|
|
|
334
334
|
"p",
|
|
335
335
|
{
|
|
336
336
|
className: cn(
|
|
337
|
-
"text-
|
|
338
|
-
isError ? "text-destructive font-medium" : minFilesWarning ? "text-
|
|
337
|
+
"text-body-3 mt-1 flex items-center gap-1.5 leading-normal",
|
|
338
|
+
isError ? "text-destructive font-medium" : minFilesWarning ? "text-warning dark:text-warning font-medium" : "text-muted"
|
|
339
339
|
),
|
|
340
340
|
children: [
|
|
341
341
|
(isError || minFilesWarning) && /* @__PURE__ */ jsx(AlertCircle, { className: "size-3.5 shrink-0", "aria-hidden": "true" }),
|
|
@@ -64,38 +64,38 @@ const ImageUploadDropzone = ({
|
|
|
64
64
|
),
|
|
65
65
|
children: isUploading ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-2", children: [
|
|
66
66
|
/* @__PURE__ */ jsx(Spinner, { size: "md" }),
|
|
67
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
67
|
+
/* @__PURE__ */ jsx("span", { className: "text-body-3 font-medium text-foreground", children: loadingText })
|
|
68
68
|
] }) : size === "compact" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-1.5 text-center pointer-events-none", children: [
|
|
69
|
-
/* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-
|
|
69
|
+
/* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-grey-50 dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-4 text-primary animate-bounce" }) : /* @__PURE__ */ jsx(Plus, { className: "size-4 text-primary" }) }),
|
|
70
70
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
71
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
71
|
+
/* @__PURE__ */ jsxs("span", { className: "text-body-3 font-medium text-foreground", children: [
|
|
72
72
|
/* @__PURE__ */ jsx("span", { className: "text-primary underline font-semibold", children: hasItems ? "Add more files" : "Click to upload" }),
|
|
73
73
|
" ",
|
|
74
74
|
"or drag & drop"
|
|
75
75
|
] }),
|
|
76
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
76
|
+
/* @__PURE__ */ jsxs("span", { className: "text-caption-lg text-muted", children: [
|
|
77
77
|
mediaType === "video" ? `MP4, WEBM, MOV (Max ${maxMb}MB)` : mediaType === "all" ? `Images & Videos (Max ${maxMb}MB each)` : `PNG, JPG, WEBP (Max ${maxMb}MB each)`,
|
|
78
78
|
maxFiles && ` • Up to ${maxFiles} items`
|
|
79
79
|
] })
|
|
80
80
|
] })
|
|
81
81
|
] }) : aspectRatio === "square" ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-1.5 text-center pointer-events-none p-1", children: [
|
|
82
|
-
/* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-
|
|
82
|
+
/* @__PURE__ */ jsx("div", { className: "size-8 rounded-lg bg-grey-50 dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-4 text-primary animate-bounce" }) : /* @__PURE__ */ jsx(ImageIcon, { className: "size-4 text-primary" }) }),
|
|
83
83
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
84
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
85
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
84
|
+
/* @__PURE__ */ jsx("span", { className: "text-body-3 font-semibold text-primary underline", children: "Upload" }),
|
|
85
|
+
/* @__PURE__ */ jsxs("span", { className: "text-caption text-muted", children: [
|
|
86
86
|
"Max ",
|
|
87
87
|
maxMb,
|
|
88
88
|
"MB"
|
|
89
89
|
] })
|
|
90
90
|
] })
|
|
91
91
|
] }) : /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center gap-2 text-center pointer-events-none", children: [
|
|
92
|
-
/* @__PURE__ */ jsx("div", { className: "size-10 rounded-xl bg-
|
|
92
|
+
/* @__PURE__ */ jsx("div", { className: "size-10 rounded-xl bg-grey-50 dark:bg-grey-800 border border-grey-200 dark:border-grey-700 shadow-xs flex items-center justify-center text-primary", children: isDragging ? /* @__PURE__ */ jsx(UploadCloudIcon, { className: "size-5 text-primary animate-bounce" }) : mediaType === "video" ? /* @__PURE__ */ jsx(FilmIcon, { className: "size-5 text-primary" }) : /* @__PURE__ */ jsx(ImageIcon, { className: "size-5 text-primary" }) }),
|
|
93
93
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
|
|
94
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
94
|
+
/* @__PURE__ */ jsxs("span", { className: "text-body-3 font-medium text-foreground", children: [
|
|
95
95
|
/* @__PURE__ */ jsx("span", { className: "text-primary underline font-semibold", children: "Click to upload" }),
|
|
96
96
|
" or drag and drop"
|
|
97
97
|
] }),
|
|
98
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
98
|
+
/* @__PURE__ */ jsx("span", { className: "text-caption-lg text-muted", children: mediaType === "video" ? `MP4, WEBM, MOV (Max ${maxMb}MB)` : mediaType === "all" ? `PNG, JPG, WEBP, MP4 (Max ${maxMb}MB)` : `PNG, JPG, or WEBP (Max ${maxMb}MB)` })
|
|
99
99
|
] })
|
|
100
100
|
] })
|
|
101
101
|
}
|
|
@@ -42,7 +42,7 @@ const ImageUploadModal = ({
|
|
|
42
42
|
animate: shouldAnimate ? { opacity: 1 } : void 0,
|
|
43
43
|
exit: shouldAnimate ? { opacity: 0 } : void 0,
|
|
44
44
|
transition: getTransition("fast"),
|
|
45
|
-
className: "fixed inset-0 z-[100] flex flex-col items-center justify-center p-4 sm:p-6 bg-
|
|
45
|
+
className: "fixed inset-0 z-[100] flex flex-col items-center justify-center p-4 sm:p-6 bg-grey-1000/60 backdrop-blur-xs",
|
|
46
46
|
onClick: onClose,
|
|
47
47
|
children: /* @__PURE__ */ jsxs(
|
|
48
48
|
motion.div,
|
|
@@ -51,14 +51,14 @@ const ImageUploadModal = ({
|
|
|
51
51
|
animate: shouldAnimate ? { scale: 1, opacity: 1 } : void 0,
|
|
52
52
|
exit: shouldAnimate ? { scale: 0.95, opacity: 0 } : void 0,
|
|
53
53
|
transition: getTransition("spring"),
|
|
54
|
-
className: "relative max-w-2xl max-h-[85vh] w-full bg-
|
|
54
|
+
className: "relative max-w-2xl max-h-[85vh] w-full bg-grey-50 dark:bg-grey-950 border border-grey-200 dark:border-grey-800 rounded-2xl overflow-hidden shadow-2xl flex flex-col",
|
|
55
55
|
onClick: (e) => e.stopPropagation(),
|
|
56
56
|
children: [
|
|
57
57
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-5 py-3 border-b border-grey-200 dark:border-grey-800 bg-grey-50/80 dark:bg-grey-900/80 backdrop-blur-xs select-none", children: [
|
|
58
58
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
59
|
-
/* @__PURE__ */ jsx("span", { className: "text-
|
|
60
|
-
activeIndex === 0 && /* @__PURE__ */ jsx("span", { className: "bg-
|
|
61
|
-
/* @__PURE__ */ jsxs("span", { className: "text-
|
|
59
|
+
/* @__PURE__ */ jsx("span", { className: "text-body-3 font-semibold text-foreground tracking-wide truncate max-w-xs sm:max-w-md", children: activeItem.name || `Media Item #${activeIndex + 1}` }),
|
|
60
|
+
activeIndex === 0 && /* @__PURE__ */ jsx("span", { className: "bg-success/10 text-success dark:text-success border border-success/20 text-caption font-semibold px-2 py-0.5 rounded-full", children: "Cover" }),
|
|
61
|
+
/* @__PURE__ */ jsxs("span", { className: "text-caption-lg text-muted", children: [
|
|
62
62
|
"(",
|
|
63
63
|
activeIndex + 1,
|
|
64
64
|
" of ",
|
|
@@ -77,7 +77,7 @@ const ImageUploadModal = ({
|
|
|
77
77
|
}
|
|
78
78
|
) })
|
|
79
79
|
] }),
|
|
80
|
-
/* @__PURE__ */ jsxs("div", { className: "relative flex-1 flex items-center justify-center p-4 min-h-[260px] max-h-[70vh] bg-grey-100/50 dark:bg-
|
|
80
|
+
/* @__PURE__ */ jsxs("div", { className: "relative flex-1 flex items-center justify-center p-4 min-h-[260px] max-h-[70vh] bg-grey-100/50 dark:bg-grey-1000/50 overflow-hidden", children: [
|
|
81
81
|
isVideoMedia(activeItem) ? /* @__PURE__ */ jsx(
|
|
82
82
|
"video",
|
|
83
83
|
{
|
|
@@ -104,7 +104,7 @@ const ImageUploadModal = ({
|
|
|
104
104
|
e.stopPropagation();
|
|
105
105
|
onNavigate(activeIndex > 0 ? activeIndex - 1 : items.length - 1);
|
|
106
106
|
},
|
|
107
|
-
className: "absolute left-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-
|
|
107
|
+
className: "absolute left-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-grey-50/90 hover:bg-grey-50 dark:bg-grey-800/90 dark:hover:bg-grey-800 border border-grey-200 dark:border-grey-700 text-foreground flex items-center justify-center transition-all backdrop-blur-xs cursor-pointer shadow-md",
|
|
108
108
|
title: "Previous (Left Arrow)",
|
|
109
109
|
children: /* @__PURE__ */ jsx(ChevronLeft, { className: "size-4" })
|
|
110
110
|
}
|
|
@@ -117,7 +117,7 @@ const ImageUploadModal = ({
|
|
|
117
117
|
e.stopPropagation();
|
|
118
118
|
onNavigate(activeIndex < items.length - 1 ? activeIndex + 1 : 0);
|
|
119
119
|
},
|
|
120
|
-
className: "absolute right-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-
|
|
120
|
+
className: "absolute right-3 top-1/2 -translate-y-1/2 size-9 rounded-full bg-grey-50/90 hover:bg-grey-50 dark:bg-grey-800/90 dark:hover:bg-grey-800 border border-grey-200 dark:border-grey-700 text-foreground flex items-center justify-center transition-all backdrop-blur-xs cursor-pointer shadow-md",
|
|
121
121
|
title: "Next (Right Arrow)",
|
|
122
122
|
children: /* @__PURE__ */ jsx(ChevronRight, { className: "size-4" })
|
|
123
123
|
}
|