@vite-mf-monorepo/ui 0.4.4 → 0.4.6
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/Avatar/Avatar.d.ts +19 -0
- package/dist/Avatar/Avatar.js +62 -0
- package/dist/Avatar/Avatar.js.map +1 -0
- package/dist/Avatar/index.d.ts +3 -0
- package/dist/Avatar/index.js +5 -0
- package/dist/Avatar/index.js.map +1 -0
- package/dist/Badge/Badge.d.ts +23 -0
- package/dist/Badge/Badge.js +48 -0
- package/dist/Badge/Badge.js.map +1 -0
- package/dist/Badge/index.d.ts +4 -0
- package/dist/Badge/index.js +5 -0
- package/dist/Badge/index.js.map +1 -0
- package/dist/Button/Button.utils.d.ts +23 -0
- package/dist/{chunk-IUGKH376.js → Button/Button.utils.js} +8 -7
- package/dist/Button/Button.utils.js.map +1 -0
- package/dist/Button/index.d.ts +6 -26
- package/dist/Button/index.js +4 -5
- package/dist/Button/index.js.map +1 -1
- package/dist/Card/Card.d.ts +11 -0
- package/dist/{chunk-RZU2FFBW.js → Card/Card.js} +7 -8
- package/dist/Card/Card.js.map +1 -0
- package/dist/Card/index.d.ts +3 -11
- package/dist/Card/index.js +4 -2
- package/dist/Card/index.js.map +1 -1
- package/dist/Carousel/Carousel.d.ts +65 -0
- package/dist/Carousel/Carousel.js +268 -0
- package/dist/Carousel/Carousel.js.map +1 -0
- package/dist/Carousel/CarouselCounter.d.ts +17 -0
- package/dist/Carousel/CarouselCounter.js +28 -0
- package/dist/Carousel/CarouselCounter.js.map +1 -0
- package/dist/Carousel/CarouselError.d.ts +8 -0
- package/dist/Carousel/CarouselError.js +18 -0
- package/dist/Carousel/CarouselError.js.map +1 -0
- package/dist/Carousel/CarouselItem.d.ts +16 -0
- package/dist/Carousel/CarouselItem.js +28 -0
- package/dist/Carousel/CarouselItem.js.map +1 -0
- package/dist/Carousel/CarouselLoading.d.ts +25 -0
- package/dist/Carousel/CarouselLoading.js +63 -0
- package/dist/Carousel/CarouselLoading.js.map +1 -0
- package/dist/Carousel/CarouselNavigation.d.ts +31 -0
- package/dist/Carousel/CarouselNavigation.js +97 -0
- package/dist/Carousel/CarouselNavigation.js.map +1 -0
- package/dist/Carousel/CarouselPagination.d.ts +20 -0
- package/dist/Carousel/CarouselPagination.js +29 -0
- package/dist/Carousel/CarouselPagination.js.map +1 -0
- package/dist/Carousel/index.d.ts +8 -0
- package/dist/Carousel/index.js +15 -0
- package/dist/Carousel/index.js.map +1 -0
- package/dist/HeroImage/HeroImage.d.ts +15 -0
- package/dist/HeroImage/HeroImage.js +47 -0
- package/dist/HeroImage/HeroImage.js.map +1 -0
- package/dist/HeroImage/index.d.ts +2 -0
- package/dist/HeroImage/index.js +5 -0
- package/dist/HeroImage/index.js.map +1 -0
- package/dist/Icon/Icon.d.ts +14 -0
- package/dist/Icon/Icon.js +204 -0
- package/dist/Icon/Icon.js.map +1 -0
- package/dist/Icon/index.d.ts +3 -14
- package/dist/Icon/index.js +4 -2
- package/dist/Icon/index.js.map +1 -1
- package/dist/IconButton/IconButton.d.ts +17 -0
- package/dist/IconButton/IconButton.js +44 -0
- package/dist/IconButton/IconButton.js.map +1 -0
- package/dist/IconButton/index.d.ts +4 -0
- package/dist/IconButton/index.js +5 -0
- package/dist/IconButton/index.js.map +1 -0
- package/dist/{MovieCard.utils-D8i4d7qA.d.ts → Image/Image.d.ts} +1 -28
- package/dist/Image/Image.js +125 -0
- package/dist/Image/Image.js.map +1 -0
- package/dist/Image/index.d.ts +3 -0
- package/dist/Image/index.js +5 -0
- package/dist/Image/index.js.map +1 -0
- package/dist/Modal/Modal.d.ts +20 -0
- package/dist/Modal/Modal.js +55 -0
- package/dist/Modal/Modal.js.map +1 -0
- package/dist/Modal/index.d.ts +3 -0
- package/dist/Modal/index.js +5 -0
- package/dist/Modal/index.js.map +1 -0
- package/dist/MovieCard/MovieCard.utils.d.ts +34 -0
- package/dist/MovieCard/MovieCard.utils.js +20 -0
- package/dist/MovieCard/MovieCard.utils.js.map +1 -0
- package/dist/MovieCard/MovieCardContent.d.ts +18 -0
- package/dist/MovieCard/MovieCardContent.js +75 -0
- package/dist/MovieCard/MovieCardContent.js.map +1 -0
- package/dist/MovieCard/index.d.ts +6 -0
- package/dist/MovieCard/index.js +5 -0
- package/dist/MovieCard/index.js.map +1 -0
- package/dist/Rating/CircleRating.d.ts +20 -0
- package/dist/Rating/CircleRating.js +75 -0
- package/dist/Rating/CircleRating.js.map +1 -0
- package/dist/Rating/Rating.d.ts +23 -0
- package/dist/Rating/Rating.js +41 -0
- package/dist/Rating/Rating.js.map +1 -0
- package/dist/Rating/StarsRating.d.ts +18 -0
- package/dist/Rating/StarsRating.js +47 -0
- package/dist/Rating/StarsRating.js.map +1 -0
- package/dist/Rating/index.d.ts +2 -0
- package/dist/Rating/index.js +5 -0
- package/dist/Rating/index.js.map +1 -0
- package/dist/Skeleton/Skeleton.d.ts +23 -0
- package/dist/{chunk-FJZK3PY6.js → Skeleton/Skeleton.js} +6 -7
- package/dist/Skeleton/Skeleton.js.map +1 -0
- package/dist/Skeleton/index.d.ts +3 -0
- package/dist/Skeleton/index.js +5 -0
- package/dist/Skeleton/index.js.map +1 -0
- package/dist/Spinner/Spinner.d.ts +8 -0
- package/dist/Spinner/Spinner.js +20 -0
- package/dist/Spinner/Spinner.js.map +1 -0
- package/dist/Spinner/index.d.ts +2 -0
- package/dist/Spinner/index.js +5 -0
- package/dist/Spinner/index.js.map +1 -0
- package/dist/Tabs/Tabs.d.ts +34 -0
- package/dist/Tabs/Tabs.js +47 -0
- package/dist/Tabs/Tabs.js.map +1 -0
- package/dist/Tabs/TabsContext.d.ts +21 -0
- package/dist/Tabs/TabsContext.js +16 -0
- package/dist/Tabs/TabsContext.js.map +1 -0
- package/dist/Tabs/TabsList.d.ts +7 -0
- package/dist/Tabs/TabsList.js +51 -0
- package/dist/Tabs/TabsList.js.map +1 -0
- package/dist/Tabs/TabsListContext.d.ts +16 -0
- package/dist/Tabs/TabsListContext.js +16 -0
- package/dist/Tabs/TabsListContext.js.map +1 -0
- package/dist/Tabs/TabsPanel.d.ts +17 -0
- package/dist/Tabs/TabsPanel.js +26 -0
- package/dist/Tabs/TabsPanel.js.map +1 -0
- package/dist/Tabs/TabsTrigger.d.ts +12 -0
- package/dist/Tabs/TabsTrigger.js +124 -0
- package/dist/Tabs/TabsTrigger.js.map +1 -0
- package/dist/Tabs/index.d.ts +6 -0
- package/dist/Tabs/index.js +5 -0
- package/dist/Tabs/index.js.map +1 -0
- package/dist/Talent/Talent.d.ts +19 -0
- package/dist/Talent/Talent.js +69 -0
- package/dist/Talent/Talent.js.map +1 -0
- package/dist/Talent/index.d.ts +4 -0
- package/dist/Talent/index.js +5 -0
- package/dist/Talent/index.js.map +1 -0
- package/dist/TrailerCard/TrailerCard.d.ts +15 -0
- package/dist/TrailerCard/TrailerCard.js +86 -0
- package/dist/TrailerCard/TrailerCard.js.map +1 -0
- package/dist/TrailerCard/index.d.ts +2 -0
- package/dist/TrailerCard/index.js +5 -0
- package/dist/TrailerCard/index.js.map +1 -0
- package/dist/Typography/Typography.d.ts +17 -0
- package/dist/Typography/Typography.js +55 -0
- package/dist/Typography/Typography.js.map +1 -0
- package/dist/Typography/index.d.ts +2 -0
- package/dist/Typography/index.js +5 -0
- package/dist/Typography/index.js.map +1 -0
- package/dist/index.d.ts +31 -372
- package/dist/index.js +50 -1099
- package/dist/index.js.map +1 -1
- package/dist/next/Button/Button.d.ts +9 -0
- package/dist/{chunk-ZTQU4GMY.js → next/Button/Button.js} +13 -10
- package/dist/next/Button/Button.js.map +1 -0
- package/dist/next/Button/Button.types.d.ts +26 -0
- package/dist/next/Button/Button.types.js +1 -0
- package/dist/next/Button/Button.types.js.map +1 -0
- package/dist/next/Button/index.d.ts +6 -0
- package/dist/next/Button/index.js +5 -0
- package/dist/next/Button/index.js.map +1 -0
- package/dist/next/HeroImage/HeroImage.d.ts +11 -0
- package/dist/next/HeroImage/HeroImage.js +44 -0
- package/dist/next/HeroImage/HeroImage.js.map +1 -0
- package/dist/next/HeroImage/index.d.ts +2 -0
- package/dist/next/HeroImage/index.js +5 -0
- package/dist/next/HeroImage/index.js.map +1 -0
- package/dist/next/Image/NextImage.d.ts +8 -0
- package/dist/next/Image/NextImage.js +84 -0
- package/dist/next/Image/NextImage.js.map +1 -0
- package/dist/next/Image/NextImage.types.d.ts +13 -0
- package/dist/next/Image/NextImage.types.js +1 -0
- package/dist/next/Image/NextImage.types.js.map +1 -0
- package/dist/next/Image/index.d.ts +5 -0
- package/dist/next/Image/index.js +5 -0
- package/dist/next/Image/index.js.map +1 -0
- package/dist/next/MovieCard/MovieCard.d.ts +9 -0
- package/dist/next/MovieCard/MovieCard.js +44 -0
- package/dist/next/MovieCard/MovieCard.js.map +1 -0
- package/dist/next/MovieCard/MovieCard.types.d.ts +15 -0
- package/dist/next/MovieCard/MovieCard.types.js +1 -0
- package/dist/next/MovieCard/MovieCard.types.js.map +1 -0
- package/dist/next/MovieCard/MovieCardContent.d.ts +19 -0
- package/dist/next/MovieCard/MovieCardContent.js +79 -0
- package/dist/next/MovieCard/MovieCardContent.js.map +1 -0
- package/dist/next/MovieCard/index.d.ts +6 -0
- package/dist/next/MovieCard/index.js +5 -0
- package/dist/next/MovieCard/index.js.map +1 -0
- package/dist/next/index.d.ts +14 -60
- package/dist/next/index.js +10 -270
- package/dist/next/index.js.map +1 -1
- package/dist/react-router/Button/Button.d.ts +9 -0
- package/dist/react-router/Button/Button.js +52 -0
- package/dist/react-router/Button/Button.js.map +1 -0
- package/dist/react-router/Button/Button.types.d.ts +24 -0
- package/dist/react-router/Button/Button.types.js +1 -0
- package/dist/react-router/Button/Button.types.js.map +1 -0
- package/dist/react-router/Button/index.d.ts +6 -0
- package/dist/react-router/Button/index.js +5 -0
- package/dist/react-router/Button/index.js.map +1 -0
- package/dist/react-router/MovieCard/MovieCard.d.ts +9 -0
- package/dist/react-router/MovieCard/MovieCard.js +42 -0
- package/dist/react-router/MovieCard/MovieCard.js.map +1 -0
- package/dist/react-router/MovieCard/MovieCard.types.d.ts +15 -0
- package/dist/react-router/MovieCard/MovieCard.types.js +1 -0
- package/dist/react-router/MovieCard/MovieCard.types.js.map +1 -0
- package/dist/react-router/MovieCard/index.d.ts +6 -0
- package/dist/react-router/MovieCard/index.js +5 -0
- package/dist/react-router/MovieCard/index.js.map +1 -0
- package/dist/react-router/index.d.ts +8 -17
- package/dist/react-router/index.js +6 -7
- package/dist/react-router/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-6DP3KZQG.js +0 -214
- package/dist/chunk-6DP3KZQG.js.map +0 -1
- package/dist/chunk-6FBMTGXQ.js +0 -119
- package/dist/chunk-6FBMTGXQ.js.map +0 -1
- package/dist/chunk-7IAJQE27.js +0 -228
- package/dist/chunk-7IAJQE27.js.map +0 -1
- package/dist/chunk-DGJI4VNO.js +0 -3
- package/dist/chunk-DGJI4VNO.js.map +0 -1
- package/dist/chunk-FJZK3PY6.js.map +0 -1
- package/dist/chunk-IUGKH376.js.map +0 -1
- package/dist/chunk-RZU2FFBW.js.map +0 -1
- package/dist/chunk-ZTQU4GMY.js.map +0 -1
- package/dist/index.css +0 -1313
- package/dist/index.css.map +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ComponentProps } from 'react';
|
|
3
|
+
|
|
4
|
+
type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
|
|
5
|
+
interface AvatarProps extends Omit<ComponentProps<'img'>, 'src'> {
|
|
6
|
+
/** Image source URL */
|
|
7
|
+
src?: string | null;
|
|
8
|
+
/** Alt text for the image */
|
|
9
|
+
alt: string;
|
|
10
|
+
/** Size of the avatar */
|
|
11
|
+
size?: AvatarSize;
|
|
12
|
+
/** Fallback initials to display when no image */
|
|
13
|
+
initials?: string;
|
|
14
|
+
/** For testing purposes */
|
|
15
|
+
testId?: string;
|
|
16
|
+
}
|
|
17
|
+
declare function Avatar({ className, src, alt, size, initials, testId, ...rest }: Readonly<AvatarProps>): react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
export { type AvatarProps, type AvatarSize, Avatar as default };
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import clsx from "clsx";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import { Icon } from "../Icon";
|
|
5
|
+
const sizeMap = {
|
|
6
|
+
xs: { container: "ui:h-6 ui:w-6", icon: 12, text: "ui:text-xs" },
|
|
7
|
+
sm: { container: "ui:h-8 ui:w-8", icon: 16, text: "ui:text-sm" },
|
|
8
|
+
md: { container: "ui:h-10 ui:w-10", icon: 20, text: "ui:text-base" },
|
|
9
|
+
lg: { container: "ui:h-12 ui:w-12", icon: 24, text: "ui:text-lg" },
|
|
10
|
+
xl: { container: "ui:h-16 ui:w-16", icon: 32, text: "ui:text-xl" },
|
|
11
|
+
"2xl": { container: "ui:h-24 ui:w-24", icon: 48, text: "ui:text-2xl" },
|
|
12
|
+
"3xl": { container: "ui:h-32 ui:w-32", icon: 64, text: "ui:text-3xl" }
|
|
13
|
+
};
|
|
14
|
+
function Avatar({
|
|
15
|
+
className,
|
|
16
|
+
src,
|
|
17
|
+
alt,
|
|
18
|
+
size = "md",
|
|
19
|
+
initials,
|
|
20
|
+
testId,
|
|
21
|
+
...rest
|
|
22
|
+
}) {
|
|
23
|
+
const [hasError, setHasError] = useState(false);
|
|
24
|
+
const { container, icon, text } = sizeMap[size];
|
|
25
|
+
const showImage = src && !hasError;
|
|
26
|
+
const showInitials = !showImage && initials;
|
|
27
|
+
const showFallback = !showImage && !initials;
|
|
28
|
+
const handleError = () => {
|
|
29
|
+
setHasError(true);
|
|
30
|
+
};
|
|
31
|
+
return /* @__PURE__ */ jsxs(
|
|
32
|
+
"div",
|
|
33
|
+
{
|
|
34
|
+
className: clsx(
|
|
35
|
+
"ui:relative ui:inline-flex ui:items-center ui:justify-center ui:overflow-hidden ui:rounded-full",
|
|
36
|
+
"ui:bg-muted ui:text-muted-foreground",
|
|
37
|
+
container,
|
|
38
|
+
className
|
|
39
|
+
),
|
|
40
|
+
children: [
|
|
41
|
+
showImage && /* @__PURE__ */ jsx(
|
|
42
|
+
"img",
|
|
43
|
+
{
|
|
44
|
+
src,
|
|
45
|
+
alt,
|
|
46
|
+
onError: handleError,
|
|
47
|
+
className: "ui:h-full ui:w-full ui:object-cover",
|
|
48
|
+
"data-testid": testId,
|
|
49
|
+
...rest
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
showInitials && /* @__PURE__ */ jsx("span", { className: clsx("ui:font-medium ui:uppercase", text), children: initials.slice(0, 2) }),
|
|
53
|
+
showFallback && /* @__PURE__ */ jsx(Icon, { name: "User", size: icon })
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
var Avatar_default = Avatar;
|
|
59
|
+
export {
|
|
60
|
+
Avatar_default as default
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=Avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["import clsx from 'clsx'\nimport { useState } from 'react'\n\nimport { Icon } from '../Icon'\n\nimport type { ComponentProps } from 'react'\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl'\n\nexport interface AvatarProps extends Omit<ComponentProps<'img'>, 'src'> {\n /** Image source URL */\n src?: string | null\n /** Alt text for the image */\n alt: string\n /** Size of the avatar */\n size?: AvatarSize\n /** Fallback initials to display when no image */\n initials?: string\n /** For testing purposes */\n testId?: string\n}\n\nconst sizeMap: Record<\n AvatarSize,\n { container: string; icon: number; text: string }\n> = {\n xs: { container: 'ui:h-6 ui:w-6', icon: 12, text: 'ui:text-xs' },\n sm: { container: 'ui:h-8 ui:w-8', icon: 16, text: 'ui:text-sm' },\n md: { container: 'ui:h-10 ui:w-10', icon: 20, text: 'ui:text-base' },\n lg: { container: 'ui:h-12 ui:w-12', icon: 24, text: 'ui:text-lg' },\n xl: { container: 'ui:h-16 ui:w-16', icon: 32, text: 'ui:text-xl' },\n '2xl': { container: 'ui:h-24 ui:w-24', icon: 48, text: 'ui:text-2xl' },\n '3xl': { container: 'ui:h-32 ui:w-32', icon: 64, text: 'ui:text-3xl' },\n}\n\nfunction Avatar({\n className,\n src,\n alt,\n size = 'md',\n initials,\n testId,\n ...rest\n}: Readonly<AvatarProps>) {\n const [hasError, setHasError] = useState(false)\n const { container, icon, text } = sizeMap[size]\n\n const showImage = src && !hasError\n const showInitials = !showImage && initials\n const showFallback = !showImage && !initials\n\n const handleError = () => {\n setHasError(true)\n }\n\n return (\n <div\n className={clsx(\n 'ui:relative ui:inline-flex ui:items-center ui:justify-center ui:overflow-hidden ui:rounded-full',\n 'ui:bg-muted ui:text-muted-foreground',\n container,\n className\n )}\n >\n {showImage && (\n <img\n src={src}\n alt={alt}\n onError={handleError}\n className=\"ui:h-full ui:w-full ui:object-cover\"\n data-testid={testId}\n {...rest}\n />\n )}\n {showInitials && (\n <span className={clsx('ui:font-medium ui:uppercase', text)}>\n {initials.slice(0, 2)}\n </span>\n )}\n {showFallback && (\n <Icon name=\"User\" size={icon as 16 | 20 | 24 | 32 | 48 | 64} />\n )}\n </div>\n )\n}\n\nexport default Avatar\n"],"mappings":"AAwDI,SASI,KATJ;AAxDJ,OAAO,UAAU;AACjB,SAAS,gBAAgB;AAEzB,SAAS,YAAY;AAmBrB,MAAM,UAGF;AAAA,EACF,IAAI,EAAE,WAAW,iBAAiB,MAAM,IAAI,MAAM,aAAa;AAAA,EAC/D,IAAI,EAAE,WAAW,iBAAiB,MAAM,IAAI,MAAM,aAAa;AAAA,EAC/D,IAAI,EAAE,WAAW,mBAAmB,MAAM,IAAI,MAAM,eAAe;AAAA,EACnE,IAAI,EAAE,WAAW,mBAAmB,MAAM,IAAI,MAAM,aAAa;AAAA,EACjE,IAAI,EAAE,WAAW,mBAAmB,MAAM,IAAI,MAAM,aAAa;AAAA,EACjE,OAAO,EAAE,WAAW,mBAAmB,MAAM,IAAI,MAAM,cAAc;AAAA,EACrE,OAAO,EAAE,WAAW,mBAAmB,MAAM,IAAI,MAAM,cAAc;AACvE;AAEA,SAAS,OAAO;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA0B;AACxB,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,EAAE,WAAW,MAAM,KAAK,IAAI,QAAQ,IAAI;AAE9C,QAAM,YAAY,OAAO,CAAC;AAC1B,QAAM,eAAe,CAAC,aAAa;AACnC,QAAM,eAAe,CAAC,aAAa,CAAC;AAEpC,QAAM,cAAc,MAAM;AACxB,gBAAY,IAAI;AAAA,EAClB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEC;AAAA,qBACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA,SAAS;AAAA,YACT,WAAU;AAAA,YACV,eAAa;AAAA,YACZ,GAAG;AAAA;AAAA,QACN;AAAA,QAED,gBACC,oBAAC,UAAK,WAAW,KAAK,+BAA+B,IAAI,GACtD,mBAAS,MAAM,GAAG,CAAC,GACtB;AAAA,QAED,gBACC,oBAAC,QAAK,MAAK,QAAO,MAAM,MAAqC;AAAA;AAAA;AAAA,EAEjE;AAEJ;AAEA,IAAO,iBAAQ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Avatar/index.ts"],"sourcesContent":["export { default as Avatar } from './Avatar'\nexport type { AvatarProps, AvatarSize } from './Avatar'\n"],"mappings":"AAAA,SAAoB,WAAXA,gBAAyB;","names":["default"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { IconName } from '../Icon/Icon.js';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
|
|
5
|
+
type BadgeVariant = 'default' | 'secondary' | 'outline' | 'destructive';
|
|
6
|
+
type BadgeSize = 'sm' | 'md' | 'lg';
|
|
7
|
+
interface BadgeProps {
|
|
8
|
+
/** Badge content */
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
/** Visual variant */
|
|
11
|
+
variant?: BadgeVariant;
|
|
12
|
+
/** Size */
|
|
13
|
+
size?: BadgeSize;
|
|
14
|
+
/** Optional icon (left) */
|
|
15
|
+
icon?: IconName;
|
|
16
|
+
/** Custom text color class (overrides variant color) */
|
|
17
|
+
textClassName?: string;
|
|
18
|
+
/** Additional class name */
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
declare function Badge({ children, variant, size, icon, textClassName, className, }: Readonly<BadgeProps>): react_jsx_runtime.JSX.Element;
|
|
22
|
+
|
|
23
|
+
export { type BadgeProps, type BadgeSize, type BadgeVariant, Badge as default };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import clsx from "clsx";
|
|
3
|
+
import { Icon } from "../Icon";
|
|
4
|
+
const sizeMap = {
|
|
5
|
+
sm: { padding: "ui:px-2 ui:py-0.5", text: "ui:text-xs", iconSize: 16 },
|
|
6
|
+
md: { padding: "ui:px-2.5 ui:py-0.5", text: "ui:text-sm", iconSize: 16 },
|
|
7
|
+
lg: { padding: "ui:px-3 ui:py-1", text: "ui:text-sm", iconSize: 16 }
|
|
8
|
+
};
|
|
9
|
+
function Badge({
|
|
10
|
+
children,
|
|
11
|
+
variant = "default",
|
|
12
|
+
size = "md",
|
|
13
|
+
icon,
|
|
14
|
+
textClassName,
|
|
15
|
+
className
|
|
16
|
+
}) {
|
|
17
|
+
const { padding, text, iconSize } = sizeMap[size];
|
|
18
|
+
return /* @__PURE__ */ jsxs(
|
|
19
|
+
"span",
|
|
20
|
+
{
|
|
21
|
+
className: clsx(
|
|
22
|
+
"ui:inline-flex ui:items-center ui:gap-1 ui:rounded-full ui:font-medium",
|
|
23
|
+
padding,
|
|
24
|
+
text,
|
|
25
|
+
{
|
|
26
|
+
"ui:bg-primary": variant === "default",
|
|
27
|
+
"ui:text-primary-foreground": variant === "default" && !textClassName,
|
|
28
|
+
"ui:bg-secondary": variant === "secondary",
|
|
29
|
+
"ui:text-secondary-foreground": variant === "secondary" && !textClassName,
|
|
30
|
+
"ui:border ui:border-input ui:bg-transparent": variant === "outline",
|
|
31
|
+
"ui:bg-destructive": variant === "destructive",
|
|
32
|
+
"ui:text-destructive-foreground": variant === "destructive" && !textClassName
|
|
33
|
+
},
|
|
34
|
+
textClassName,
|
|
35
|
+
className
|
|
36
|
+
),
|
|
37
|
+
children: [
|
|
38
|
+
icon && /* @__PURE__ */ jsx(Icon, { name: icon, size: iconSize }),
|
|
39
|
+
children
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
var Badge_default = Badge;
|
|
45
|
+
export {
|
|
46
|
+
Badge_default as default
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=Badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Badge/Badge.tsx"],"sourcesContent":["import clsx from 'clsx'\n\nimport { Icon } from '../Icon'\n\nimport type { IconName } from '../Icon'\nimport type { ReactNode } from 'react'\n\nexport type BadgeVariant = 'default' | 'secondary' | 'outline' | 'destructive'\nexport type BadgeSize = 'sm' | 'md' | 'lg'\n\nexport interface BadgeProps {\n /** Badge content */\n children: ReactNode\n /** Visual variant */\n variant?: BadgeVariant\n /** Size */\n size?: BadgeSize\n /** Optional icon (left) */\n icon?: IconName\n /** Custom text color class (overrides variant color) */\n textClassName?: string\n /** Additional class name */\n className?: string\n}\n\nconst sizeMap: Record<\n BadgeSize,\n { padding: string; text: string; iconSize: 16 }\n> = {\n sm: { padding: 'ui:px-2 ui:py-0.5', text: 'ui:text-xs', iconSize: 16 },\n md: { padding: 'ui:px-2.5 ui:py-0.5', text: 'ui:text-sm', iconSize: 16 },\n lg: { padding: 'ui:px-3 ui:py-1', text: 'ui:text-sm', iconSize: 16 },\n}\n\nfunction Badge({\n children,\n variant = 'default',\n size = 'md',\n icon,\n textClassName,\n className,\n}: Readonly<BadgeProps>) {\n const { padding, text, iconSize } = sizeMap[size]\n\n return (\n <span\n className={clsx(\n 'ui:inline-flex ui:items-center ui:gap-1 ui:rounded-full ui:font-medium',\n padding,\n text,\n {\n 'ui:bg-primary': variant === 'default',\n 'ui:text-primary-foreground': variant === 'default' && !textClassName,\n 'ui:bg-secondary': variant === 'secondary',\n 'ui:text-secondary-foreground':\n variant === 'secondary' && !textClassName,\n 'ui:border ui:border-input ui:bg-transparent': variant === 'outline',\n 'ui:bg-destructive': variant === 'destructive',\n 'ui:text-destructive-foreground':\n variant === 'destructive' && !textClassName,\n },\n textClassName,\n className\n )}\n >\n {icon && <Icon name={icon} size={iconSize} />}\n {children}\n </span>\n )\n}\n\nexport default Badge\n"],"mappings":"AA6CI,SAoBW,KApBX;AA7CJ,OAAO,UAAU;AAEjB,SAAS,YAAY;AAuBrB,MAAM,UAGF;AAAA,EACF,IAAI,EAAE,SAAS,qBAAqB,MAAM,cAAc,UAAU,GAAG;AAAA,EACrE,IAAI,EAAE,SAAS,uBAAuB,MAAM,cAAc,UAAU,GAAG;AAAA,EACvE,IAAI,EAAE,SAAS,mBAAmB,MAAM,cAAc,UAAU,GAAG;AACrE;AAEA,SAAS,MAAM;AAAA,EACb;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AACF,GAAyB;AACvB,QAAM,EAAE,SAAS,MAAM,SAAS,IAAI,QAAQ,IAAI;AAEhD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,UACE,iBAAiB,YAAY;AAAA,UAC7B,8BAA8B,YAAY,aAAa,CAAC;AAAA,UACxD,mBAAmB,YAAY;AAAA,UAC/B,gCACE,YAAY,eAAe,CAAC;AAAA,UAC9B,+CAA+C,YAAY;AAAA,UAC3D,qBAAqB,YAAY;AAAA,UACjC,kCACE,YAAY,iBAAiB,CAAC;AAAA,QAClC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MAEC;AAAA,gBAAQ,oBAAC,QAAK,MAAM,MAAM,MAAM,UAAU;AAAA,QAC1C;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,gBAAQ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Badge/index.ts"],"sourcesContent":["export { default as Badge } from './Badge'\nexport type { BadgeProps, BadgeSize, BadgeVariant } from './Badge'\n"],"mappings":"AAAA,SAAoB,WAAXA,gBAAwB;","names":["default"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IconName } from '../Icon/Icon.js';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
type ButtonVariant = 'primary' | 'secondary' | 'destructive' | 'outline' | 'ghost';
|
|
6
|
+
type ButtonSize = 'sm' | 'md' | 'lg';
|
|
7
|
+
declare const iconSizeMap: {
|
|
8
|
+
readonly sm: 16;
|
|
9
|
+
readonly md: 20;
|
|
10
|
+
readonly lg: 24;
|
|
11
|
+
};
|
|
12
|
+
interface ButtonVisualInput {
|
|
13
|
+
variant?: ButtonVariant;
|
|
14
|
+
size?: ButtonSize;
|
|
15
|
+
icon?: IconName;
|
|
16
|
+
iconPosition?: 'left' | 'right';
|
|
17
|
+
className?: string;
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
}
|
|
20
|
+
declare function getButtonClasses({ variant, size, iconPosition, className, }: ButtonVisualInput): string;
|
|
21
|
+
declare function getButtonDisabledClasses(classes: string): string;
|
|
22
|
+
|
|
23
|
+
export { type ButtonSize, type ButtonVariant, type ButtonVisualInput, getButtonClasses, getButtonDisabledClasses, iconSizeMap };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import clsx from
|
|
2
|
-
|
|
3
|
-
var iconSizeMap = {
|
|
1
|
+
import clsx from "clsx";
|
|
2
|
+
const iconSizeMap = {
|
|
4
3
|
sm: 16,
|
|
5
4
|
md: 20,
|
|
6
5
|
lg: 24
|
|
@@ -37,7 +36,9 @@ function getButtonClasses({
|
|
|
37
36
|
function getButtonDisabledClasses(classes) {
|
|
38
37
|
return clsx(classes, "ui:disabled:pointer-events-none ui:disabled:opacity-50");
|
|
39
38
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
39
|
+
export {
|
|
40
|
+
getButtonClasses,
|
|
41
|
+
getButtonDisabledClasses,
|
|
42
|
+
iconSizeMap
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=Button.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Button/Button.utils.ts"],"sourcesContent":["import clsx from 'clsx'\n\nimport type { IconName } from '../Icon'\nimport type { ReactNode } from 'react'\n\nexport type ButtonVariant =\n | 'primary'\n | 'secondary'\n | 'destructive'\n | 'outline'\n | 'ghost'\nexport type ButtonSize = 'sm' | 'md' | 'lg'\n\nexport const iconSizeMap = {\n sm: 16,\n md: 20,\n lg: 24,\n} as const\n\nexport interface ButtonVisualInput {\n variant?: ButtonVariant\n size?: ButtonSize\n icon?: IconName\n iconPosition?: 'left' | 'right'\n className?: string\n children?: ReactNode\n}\n\nexport function getButtonClasses({\n variant = 'primary',\n size = 'md',\n iconPosition = 'left',\n className,\n}: ButtonVisualInput) {\n return clsx(\n 'ui:inline-flex ui:items-center ui:justify-center ui:cursor-pointer ui:gap-2 ui:font-roboto ui:font-medium ui:transition-colors',\n 'ui:rounded ui:border ui:border-transparent',\n 'ui:focus:outline-none ui:focus:ring-2 ui:focus:ring-ring ui:focus:ring-offset-2',\n {\n 'ui:flex-row': iconPosition === 'left',\n 'ui:flex-row-reverse': iconPosition === 'right',\n },\n {\n 'ui:bg-primary ui:text-primary-foreground ui:hover:bg-primary/90':\n variant === 'primary',\n 'ui:bg-secondary ui:text-secondary-foreground ui:hover:bg-secondary/80':\n variant === 'secondary',\n 'ui:bg-destructive ui:text-destructive-foreground ui:hover:bg-destructive/90':\n variant === 'destructive',\n 'ui:border-input ui:bg-background ui:hover:bg-accent ui:hover:text-accent-foreground':\n variant === 'outline',\n 'ui:hover:bg-accent ui:hover:text-accent-foreground': variant === 'ghost',\n },\n {\n 'ui:h-8 ui:px-3 ui:text-sm': size === 'sm',\n 'ui:h-10 ui:px-4 ui:text-base': size === 'md',\n 'ui:h-12 ui:px-6 ui:text-lg': size === 'lg',\n },\n className\n )\n}\n\nexport function getButtonDisabledClasses(classes: string) {\n return clsx(classes, 'ui:disabled:pointer-events-none ui:disabled:opacity-50')\n}\n"],"mappings":"AAAA,OAAO,UAAU;AAaV,MAAM,cAAc;AAAA,EACzB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAWO,SAAS,iBAAiB;AAAA,EAC/B,UAAU;AAAA,EACV,OAAO;AAAA,EACP,eAAe;AAAA,EACf;AACF,GAAsB;AACpB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,eAAe,iBAAiB;AAAA,MAChC,uBAAuB,iBAAiB;AAAA,IAC1C;AAAA,IACA;AAAA,MACE,mEACE,YAAY;AAAA,MACd,yEACE,YAAY;AAAA,MACd,+EACE,YAAY;AAAA,MACd,uFACE,YAAY;AAAA,MACd,sDAAsD,YAAY;AAAA,IACpE;AAAA,IACA;AAAA,MACE,6BAA6B,SAAS;AAAA,MACtC,gCAAgC,SAAS;AAAA,MACzC,8BAA8B,SAAS;AAAA,IACzC;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,yBAAyB,SAAiB;AACxD,SAAO,KAAK,SAAS,wDAAwD;AAC/E;","names":[]}
|
package/dist/Button/index.d.ts
CHANGED
|
@@ -1,26 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
/** Visual variant of the button */
|
|
8
|
-
variant?: 'primary' | 'secondary' | 'destructive' | 'outline' | 'ghost';
|
|
9
|
-
/** Size of the button */
|
|
10
|
-
size?: 'sm' | 'md' | 'lg';
|
|
11
|
-
/** Icon name to display */
|
|
12
|
-
icon?: IconName;
|
|
13
|
-
/** Icon position relative to children */
|
|
14
|
-
iconPosition?: 'left' | 'right';
|
|
15
|
-
}
|
|
16
|
-
type ButtonAsButton = ButtonVisualProps & ButtonHTMLAttributes<HTMLButtonElement> & {
|
|
17
|
-
as?: 'button' | undefined;
|
|
18
|
-
};
|
|
19
|
-
type ButtonAsLink = ButtonVisualProps & LinkProps & {
|
|
20
|
-
as: 'link';
|
|
21
|
-
};
|
|
22
|
-
type ButtonProps = ButtonAsButton | ButtonAsLink;
|
|
23
|
-
|
|
24
|
-
declare function Button(props: Readonly<ButtonProps>): react_jsx_runtime.JSX.Element;
|
|
25
|
-
|
|
26
|
-
export { Button, type ButtonAsButton, type ButtonAsLink, type ButtonProps };
|
|
1
|
+
export { default as Button } from '../react-router/Button/Button.js';
|
|
2
|
+
export { ButtonAsButton, ButtonAsLink, ButtonProps } from '../react-router/Button/Button.types.js';
|
|
3
|
+
import 'react/jsx-runtime';
|
|
4
|
+
import '../Icon/Icon.js';
|
|
5
|
+
import 'react';
|
|
6
|
+
import 'react-router-dom';
|
package/dist/Button/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import { Button } from "../react-router/Button";
|
|
2
|
+
export {
|
|
3
|
+
Button
|
|
4
|
+
};
|
|
6
5
|
//# sourceMappingURL=index.js.map
|
package/dist/Button/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"sources":["../../src/Button/index.ts"],"sourcesContent":["export { Button } from '../react-router/Button'\nexport type {\n ButtonProps,\n ButtonAsButton,\n ButtonAsLink,\n} from '../react-router/Button'\n"],"mappings":"AAAA,SAAS,cAAc;","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
|
|
4
|
+
type CardVariant = 'default' | 'outline' | 'elevated' | 'ghost';
|
|
5
|
+
interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
/** Visual variant of the card */
|
|
7
|
+
variant?: CardVariant;
|
|
8
|
+
}
|
|
9
|
+
declare function Card({ className, variant, children, ...rest }: Readonly<CardProps>): react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
11
|
+
export { type CardProps, type CardVariant, Card as default };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
var variantStyles = {
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import clsx from "clsx";
|
|
3
|
+
const variantStyles = {
|
|
5
4
|
default: "ui:rounded-md ui:p-4 ui:bg-card ui:text-card-foreground ui:shadow-md",
|
|
6
5
|
outline: "ui:rounded-md ui:p-4 ui:border ui:border-border ui:bg-transparent",
|
|
7
6
|
elevated: "ui:rounded-lg ui:p-6 ui:bg-card ui:text-card-foreground ui:shadow-lg",
|
|
@@ -16,7 +15,7 @@ function Card({
|
|
|
16
15
|
return /* @__PURE__ */ jsx("div", { className: clsx(variantStyles[variant], className), ...rest, children });
|
|
17
16
|
}
|
|
18
17
|
var Card_default = Card;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=
|
|
18
|
+
export {
|
|
19
|
+
Card_default as default
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=Card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Card/Card.tsx"],"sourcesContent":["import clsx from 'clsx'\n\nimport type { HTMLAttributes } from 'react'\n\nexport type CardVariant = 'default' | 'outline' | 'elevated' | 'ghost'\n\nexport interface CardProps extends HTMLAttributes<HTMLDivElement> {\n /** Visual variant of the card */\n variant?: CardVariant\n}\n\nconst variantStyles: Record<CardVariant, string> = {\n default:\n 'ui:rounded-md ui:p-4 ui:bg-card ui:text-card-foreground ui:shadow-md',\n outline: 'ui:rounded-md ui:p-4 ui:border ui:border-border ui:bg-transparent',\n elevated:\n 'ui:rounded-lg ui:p-6 ui:bg-card ui:text-card-foreground ui:shadow-lg',\n ghost: 'ui:rounded-md',\n}\n\nfunction Card({\n className,\n variant = 'default',\n children,\n ...rest\n}: Readonly<CardProps>) {\n return (\n <div className={clsx(variantStyles[variant], className)} {...rest}>\n {children}\n </div>\n )\n}\n\nexport default Card\n"],"mappings":"AA2BI;AA3BJ,OAAO,UAAU;AAWjB,MAAM,gBAA6C;AAAA,EACjD,SACE;AAAA,EACF,SAAS;AAAA,EACT,UACE;AAAA,EACF,OAAO;AACT;AAEA,SAAS,KAAK;AAAA,EACZ;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,SACE,oBAAC,SAAI,WAAW,KAAK,cAAc,OAAO,GAAG,SAAS,GAAI,GAAG,MAC1D,UACH;AAEJ;AAEA,IAAO,eAAQ;","names":[]}
|
package/dist/Card/index.d.ts
CHANGED
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
type CardVariant = 'default' | 'outline' | 'elevated' | 'ghost';
|
|
5
|
-
interface CardProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
-
/** Visual variant of the card */
|
|
7
|
-
variant?: CardVariant;
|
|
8
|
-
}
|
|
9
|
-
declare function Card({ className, variant, children, ...rest }: Readonly<CardProps>): react_jsx_runtime.JSX.Element;
|
|
10
|
-
|
|
11
|
-
export { Card, type CardProps, type CardVariant };
|
|
1
|
+
export { default as Card, CardProps, CardVariant } from './Card.js';
|
|
2
|
+
import 'react/jsx-runtime';
|
|
3
|
+
import 'react';
|
package/dist/Card/index.js
CHANGED
package/dist/Card/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"
|
|
1
|
+
{"version":3,"sources":["../../src/Card/index.ts"],"sourcesContent":["export { default as Card } from './Card'\nexport type { CardProps, CardVariant } from './Card'\n"],"mappings":"AAAA,SAAoB,WAAXA,gBAAuB;","names":["default"]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
/** Carousel visual variant */
|
|
5
|
+
type CarouselVariant = 'standard' | 'hero' | 'lightbox';
|
|
6
|
+
/** Arrow position for navigation buttons */
|
|
7
|
+
type CarouselArrowPosition = 'sides' | 'bottom-right';
|
|
8
|
+
interface CarouselProps {
|
|
9
|
+
/** Carousel items */
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
/** Visual variant */
|
|
12
|
+
variant?: CarouselVariant;
|
|
13
|
+
/** Show pagination dots (ignored for lightbox — counter is shown instead) */
|
|
14
|
+
showPagination?: boolean;
|
|
15
|
+
/** Show navigation arrows */
|
|
16
|
+
showArrows?: boolean;
|
|
17
|
+
/** Arrow position */
|
|
18
|
+
arrowPosition?: CarouselArrowPosition;
|
|
19
|
+
/** Gap between items in pixels */
|
|
20
|
+
gap?: number;
|
|
21
|
+
/** Additional class name */
|
|
22
|
+
className?: string;
|
|
23
|
+
/** Class name for the hero controls container (pagination + arrows) — use to constrain width/padding */
|
|
24
|
+
heroControlsClassName?: string;
|
|
25
|
+
/** Error message to display instead of carousel content */
|
|
26
|
+
errorMessage?: string;
|
|
27
|
+
/** Apply rounded corners to viewport */
|
|
28
|
+
rounded?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Initial scroll index — jumps to this item on mount without animation.
|
|
31
|
+
* Use with key={index} on Carousel for URL-based navigation (lightbox).
|
|
32
|
+
*/
|
|
33
|
+
initialIndex?: number;
|
|
34
|
+
/**
|
|
35
|
+
* Override internal prev navigation (e.g. navigate to previous URL in lightbox).
|
|
36
|
+
* When provided, replaces internal scrollPrev.
|
|
37
|
+
*/
|
|
38
|
+
onPrev?: () => void;
|
|
39
|
+
/**
|
|
40
|
+
* Override internal next navigation (e.g. navigate to next URL in lightbox).
|
|
41
|
+
* When provided, replaces internal scrollNext.
|
|
42
|
+
*/
|
|
43
|
+
onNext?: () => void;
|
|
44
|
+
/**
|
|
45
|
+
* When true, all internal scroll transitions are instant (no smooth animation).
|
|
46
|
+
* Use for lightbox with URL-based navigation where the Carousel remounts each time.
|
|
47
|
+
*/
|
|
48
|
+
disableAnimation?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* When true, user-initiated wheel/trackpad scroll is blocked on the container,
|
|
51
|
+
* and currentIndex is driven entirely by initialIndex (no scroll tracking).
|
|
52
|
+
* Use for URL-driven carousels (lightbox) to avoid scroll/resize desync.
|
|
53
|
+
*/
|
|
54
|
+
disableScroll?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Carousel component with horizontal scroll, pagination, and navigation.
|
|
58
|
+
* Supports three variants:
|
|
59
|
+
* - standard: multi-items horizontal scroll
|
|
60
|
+
* - hero: single panoramic item with snap
|
|
61
|
+
* - lightbox: single item per view, ghost arrows, counter (for PhotoViewer)
|
|
62
|
+
*/
|
|
63
|
+
declare function Carousel({ children, variant, showPagination, showArrows, arrowPosition, gap, className, heroControlsClassName, errorMessage, rounded, initialIndex, onPrev, onNext, disableAnimation, disableScroll, }: Readonly<CarouselProps>): react_jsx_runtime.JSX.Element;
|
|
64
|
+
|
|
65
|
+
export { type CarouselArrowPosition, type CarouselProps, type CarouselVariant, Carousel as default };
|