@vite-mf-monorepo/ui 0.4.11 → 0.4.13
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/next/Button/Button.js +1 -1
- package/dist/next/Button/Button.js.map +1 -1
- package/dist/next/Button/Button.types.d.ts +10 -2
- package/dist/next/HeroImage/HeroImage.js +1 -1
- package/dist/next/HeroImage/HeroImage.js.map +1 -1
- package/dist/next/MovieCard/MovieCard.js +1 -1
- package/dist/next/MovieCard/MovieCard.js.map +1 -1
- package/dist/next/MovieCard/MovieCard.types.d.ts +9 -2
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Fragment as
|
|
1
|
+
import{Fragment as g,jsx as i,jsxs as x}from"react/jsx-runtime";import v from"next/link";import{getButtonClasses as z,getButtonDisabledClasses as B,iconSizeMap as k}from"../../Button/Button.utils";import{Icon as b}from"../../Icon";function y(n){const{variant:e="primary",size:a="md",icon:c,iconPosition:r="left",className:l,children:_}=n,t=z({variant:e,size:a,iconPosition:r,className:l}),o=x(g,{children:[c&&i(b,{name:c,size:k[a]}),_]});if(n.as==="link"){const{as:u,variant:f,size:N,icon:P,iconPosition:d,className:h,children:p,...s}=n;return i(v,{className:t,...s,children:o})}if(n.as==="zone-link"){const{as:u,variant:f,size:N,icon:P,iconPosition:d,className:h,children:p,...s}=n;return i("a",{className:t,...s,children:o})}const{as:C,variant:L,size:D,icon:I,iconPosition:M,className:R,children:S,...m}=n;return i("button",{className:B(t),...m,children:o})}var E=y;export{E as default};
|
|
2
2
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/next/Button/Button.tsx"],"sourcesContent":["import Link from 'next/link'\n\nimport {\n getButtonClasses,\n getButtonDisabledClasses,\n iconSizeMap,\n} from '../../Button/Button.utils'\nimport { Icon } from '../../Icon'\n\nimport type { NextButtonProps } from './Button.types'\n\nfunction Button(props: Readonly<NextButtonProps>) {\n const {\n variant = 'primary',\n size = 'md',\n icon,\n iconPosition = 'left',\n className,\n children,\n } = props\n\n const classes = getButtonClasses({ variant, size, iconPosition, className })\n\n const content = (\n <>\n {icon && <Icon name={icon} size={iconSizeMap[size]} />}\n {children}\n </>\n )\n\n if (props.as === 'link') {\n const {\n as: _,\n variant: _v,\n size: _s,\n icon: _i,\n iconPosition: _ip,\n className: _c,\n children: _ch,\n ...linkProps\n } = props\n\n return (\n <Link className={classes} {...linkProps}>\n {content}\n </Link>\n )\n }\n\n const {\n as: _,\n variant: _v,\n size: _s,\n icon: _i,\n iconPosition: _ip,\n className: _c,\n children: _ch,\n ...buttonProps\n } = props\n\n return (\n <button className={getButtonDisabledClasses(classes)} {...buttonProps}>\n {content}\n </button>\n )\n}\n\nexport default Button\n"],"mappings":"AAwBI,mBAAAA,EACW,OAAAC,EADX,QAAAC,MAAA,oBAxBJ,OAAOC,MAAU,YAEjB,OACE,oBAAAC,EACA,4BAAAC,EACA,eAAAC,MACK,4BACP,OAAS,QAAAC,MAAY,aAIrB,SAASC,EAAOC,EAAkC,CAChD,KAAM,CACJ,QAAAC,EAAU,UACV,KAAAC,EAAO,KACP,KAAAC,EACA,aAAAC,EAAe,OACf,UAAAC,EACA,SAAAC,CACF,EAAIN,EAEEO,EAAUZ,EAAiB,CAAE,QAAAM,EAAS,KAAAC,EAAM,aAAAE,EAAc,UAAAC,CAAU,CAAC,EAErEG,EACJf,EAAAF,EAAA,CACG,UAAAY,GAAQX,EAACM,EAAA,CAAK,KAAMK,EAAM,KAAMN,EAAYK,CAAI,EAAG,EACnDI,GACH,EAGF,GAAIN,EAAM,KAAO,OAAQ,CACvB,KAAM,CACJ,GAAIS,EACJ,QAASC,EACT,KAAMC,EACN,KAAMC,EACN,aAAcC,EACd,UAAWC,EACX,SAAUC,EACV,GAAGC,CACL,EAAIhB,EAEJ,OACER,EAACE,EAAA,CAAK,UAAWa,EAAU,GAAGS,EAC3B,SAAAR,EACH,CAEJ,CAEA,KAAM,CACJ,
|
|
1
|
+
{"version":3,"sources":["../../../src/next/Button/Button.tsx"],"sourcesContent":["import Link from 'next/link'\n\nimport {\n getButtonClasses,\n getButtonDisabledClasses,\n iconSizeMap,\n} from '../../Button/Button.utils'\nimport { Icon } from '../../Icon'\n\nimport type { NextButtonProps } from './Button.types'\n\nfunction Button(props: Readonly<NextButtonProps>) {\n const {\n variant = 'primary',\n size = 'md',\n icon,\n iconPosition = 'left',\n className,\n children,\n } = props\n\n const classes = getButtonClasses({ variant, size, iconPosition, className })\n\n const content = (\n <>\n {icon && <Icon name={icon} size={iconSizeMap[size]} />}\n {children}\n </>\n )\n\n if (props.as === 'link') {\n const {\n as: _,\n variant: _v,\n size: _s,\n icon: _i,\n iconPosition: _ip,\n className: _c,\n children: _ch,\n ...linkProps\n } = props\n\n return (\n <Link className={classes} {...linkProps}>\n {content}\n </Link>\n )\n }\n\n if (props.as === 'zone-link') {\n const {\n as: _,\n variant: _v,\n size: _s,\n icon: _i,\n iconPosition: _ip,\n className: _c,\n children: _ch,\n ...anchorProps\n } = props\n\n return (\n <a className={classes} {...anchorProps}>\n {content}\n </a>\n )\n }\n\n const {\n as: _,\n variant: _v,\n size: _s,\n icon: _i,\n iconPosition: _ip,\n className: _c,\n children: _ch,\n ...buttonProps\n } = props\n\n return (\n <button className={getButtonDisabledClasses(classes)} {...buttonProps}>\n {content}\n </button>\n )\n}\n\nexport default Button\n"],"mappings":"AAwBI,mBAAAA,EACW,OAAAC,EADX,QAAAC,MAAA,oBAxBJ,OAAOC,MAAU,YAEjB,OACE,oBAAAC,EACA,4BAAAC,EACA,eAAAC,MACK,4BACP,OAAS,QAAAC,MAAY,aAIrB,SAASC,EAAOC,EAAkC,CAChD,KAAM,CACJ,QAAAC,EAAU,UACV,KAAAC,EAAO,KACP,KAAAC,EACA,aAAAC,EAAe,OACf,UAAAC,EACA,SAAAC,CACF,EAAIN,EAEEO,EAAUZ,EAAiB,CAAE,QAAAM,EAAS,KAAAC,EAAM,aAAAE,EAAc,UAAAC,CAAU,CAAC,EAErEG,EACJf,EAAAF,EAAA,CACG,UAAAY,GAAQX,EAACM,EAAA,CAAK,KAAMK,EAAM,KAAMN,EAAYK,CAAI,EAAG,EACnDI,GACH,EAGF,GAAIN,EAAM,KAAO,OAAQ,CACvB,KAAM,CACJ,GAAIS,EACJ,QAASC,EACT,KAAMC,EACN,KAAMC,EACN,aAAcC,EACd,UAAWC,EACX,SAAUC,EACV,GAAGC,CACL,EAAIhB,EAEJ,OACER,EAACE,EAAA,CAAK,UAAWa,EAAU,GAAGS,EAC3B,SAAAR,EACH,CAEJ,CAEA,GAAIR,EAAM,KAAO,YAAa,CAC5B,KAAM,CACJ,GAAIS,EACJ,QAASC,EACT,KAAMC,EACN,KAAMC,EACN,aAAcC,EACd,UAAWC,EACX,SAAUC,EACV,GAAGE,CACL,EAAIjB,EAEJ,OACER,EAAC,KAAE,UAAWe,EAAU,GAAGU,EACxB,SAAAT,EACH,CAEJ,CAEA,KAAM,CACJ,GAAIC,EACJ,QAASC,EACT,KAAMC,EACN,KAAMC,EACN,aAAcC,EACd,UAAWC,EACX,SAAUC,EACV,GAAGG,CACL,EAAIlB,EAEJ,OACER,EAAC,UAAO,UAAWI,EAAyBW,CAAO,EAAI,GAAGW,EACvD,SAAAV,EACH,CAEJ,CAEA,IAAOW,EAAQpB","names":["Fragment","jsx","jsxs","Link","getButtonClasses","getButtonDisabledClasses","iconSizeMap","Icon","Button","props","variant","size","icon","iconPosition","className","children","classes","content","_","_v","_s","_i","_ip","_c","_ch","linkProps","anchorProps","buttonProps","Button_default"]}
|
|
@@ -21,6 +21,14 @@ type NextButtonAsLink = ButtonVisualProps & Omit<LinkProps, 'as'> & {
|
|
|
21
21
|
className?: string;
|
|
22
22
|
children?: React.ReactNode;
|
|
23
23
|
};
|
|
24
|
-
type
|
|
24
|
+
type NextButtonAsZoneLink = ButtonVisualProps & {
|
|
25
|
+
/** Render as a plain anchor for cross-zone navigation (multi-zones). */
|
|
26
|
+
as: 'zone-link';
|
|
27
|
+
/** Navigation URL */
|
|
28
|
+
href: string;
|
|
29
|
+
className?: string;
|
|
30
|
+
children?: React.ReactNode;
|
|
31
|
+
};
|
|
32
|
+
type NextButtonProps = NextButtonAsButton | NextButtonAsLink | NextButtonAsZoneLink;
|
|
25
33
|
|
|
26
|
-
export type { NextButtonAsButton, NextButtonAsLink, NextButtonProps };
|
|
34
|
+
export type { NextButtonAsButton, NextButtonAsLink, NextButtonAsZoneLink, NextButtonProps };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{Fragment as r,jsx as e,jsxs as n}from"react/jsx-runtime";import{Skeleton as a}from"../../Skeleton";import{NextImage as u}from"../Image";function o({backdropPath:t,title:l}){const i=t?`https://image.tmdb.org/t/p/original${t}`:void 0;return n(r,{children:[i?e(u,{src:i,alt:l??"Unknown",
|
|
1
|
+
"use client";import{Fragment as r,jsx as e,jsxs as n}from"react/jsx-runtime";import{Skeleton as a}from"../../Skeleton";import{NextImage as u}from"../Image";function o({backdropPath:t,title:l}){const i=t?`https://image.tmdb.org/t/p/original${t}`:void 0;return n(r,{children:[i?e(u,{src:i,alt:l??"Unknown",preload:!0,sizes:"100vw",className:"ui:h-full ui:w-full",fallback:e(a,{"data-testid":"hero-image-skeleton",variant:"rectangle",width:"ui:relative ui:w-full ui:h-full ui:hero-height ui:z-0",aspectRatio:"21/9",rounded:!1})}):e(a,{"data-testid":"hero-image-skeleton",variant:"rectangle",width:"ui:relative ui:w-full ui:h-full ui:hero-height ui:z-0",aspectRatio:"21/9",rounded:!1}),e("div",{className:"ui:absolute ui:inset-0 ui:bg-gradient-to-t ui:from-black/80 ui:via-black/40 ui:to-transparent ui:z-1 ui:top-0 ui:left-0 ui:right-0 ui:bottom-0"})]})}var g=o;export{g as default};
|
|
2
2
|
//# sourceMappingURL=HeroImage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/next/HeroImage/HeroImage.tsx"],"sourcesContent":["'use client'\n\nimport { Skeleton } from '../../Skeleton'\nimport { NextImage } from '../Image'\n\nexport interface NextHeroImageProps {\n /** Backdrop path from TMDB API (e.g. \"/abc123.jpg\") */\n backdropPath?: string | null\n /** Alt text for the image */\n title?: string | null\n}\n\nfunction HeroImage({ backdropPath, title }: Readonly<NextHeroImageProps>) {\n const src = backdropPath\n ? `https://image.tmdb.org/t/p/original${backdropPath}`\n : undefined\n\n return (\n <>\n {src ? (\n <NextImage\n src={src}\n alt={title ?? 'Unknown'}\n
|
|
1
|
+
{"version":3,"sources":["../../../src/next/HeroImage/HeroImage.tsx"],"sourcesContent":["'use client'\n\nimport { Skeleton } from '../../Skeleton'\nimport { NextImage } from '../Image'\n\nexport interface NextHeroImageProps {\n /** Backdrop path from TMDB API (e.g. \"/abc123.jpg\") */\n backdropPath?: string | null\n /** Alt text for the image */\n title?: string | null\n}\n\nfunction HeroImage({ backdropPath, title }: Readonly<NextHeroImageProps>) {\n const src = backdropPath\n ? `https://image.tmdb.org/t/p/original${backdropPath}`\n : undefined\n\n return (\n <>\n {src ? (\n <NextImage\n src={src}\n alt={title ?? 'Unknown'}\n preload\n sizes=\"100vw\"\n className=\"ui:h-full ui:w-full\"\n fallback={\n <Skeleton\n data-testid=\"hero-image-skeleton\"\n variant=\"rectangle\"\n width=\"ui:relative ui:w-full ui:h-full ui:hero-height ui:z-0\"\n aspectRatio=\"21/9\"\n rounded={false}\n />\n }\n />\n ) : (\n <Skeleton\n data-testid=\"hero-image-skeleton\"\n variant=\"rectangle\"\n width=\"ui:relative ui:w-full ui:h-full ui:hero-height ui:z-0\"\n aspectRatio=\"21/9\"\n rounded={false}\n />\n )}\n {/* Gradient Overlay */}\n <div className=\"ui:absolute ui:inset-0 ui:bg-gradient-to-t ui:from-black/80 ui:via-black/40 ui:to-transparent ui:z-1 ui:top-0 ui:left-0 ui:right-0 ui:bottom-0\" />\n </>\n )\n}\n\nexport default HeroImage\n"],"mappings":"aAkBI,mBAAAA,EASQ,OAAAC,EATR,QAAAC,MAAA,oBAhBJ,OAAS,YAAAC,MAAgB,iBACzB,OAAS,aAAAC,MAAiB,WAS1B,SAASC,EAAU,CAAE,aAAAC,EAAc,MAAAC,CAAM,EAAiC,CACxE,MAAMC,EAAMF,EACR,sCAAsCA,CAAY,GAClD,OAEJ,OACEJ,EAAAF,EAAA,CACG,UAAAQ,EACCP,EAACG,EAAA,CACC,IAAKI,EACL,IAAKD,GAAS,UACd,QAAO,GACP,MAAM,QACN,UAAU,sBACV,SACEN,EAACE,EAAA,CACC,cAAY,sBACZ,QAAQ,YACR,MAAM,wDACN,YAAY,OACZ,QAAS,GACX,EAEJ,EAEAF,EAACE,EAAA,CACC,cAAY,sBACZ,QAAQ,YACR,MAAM,wDACN,YAAY,OACZ,QAAS,GACX,EAGFF,EAAC,OAAI,UAAU,iJAAiJ,GAClK,CAEJ,CAEA,IAAOQ,EAAQJ","names":["Fragment","jsx","jsxs","Skeleton","NextImage","HeroImage","backdropPath","title","src","HeroImage_default"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as t}from"react/jsx-runtime";import
|
|
1
|
+
"use client";import{jsx as t}from"react/jsx-runtime";import u from"next/link";import{getMovieCardLinkClasses as r}from"../../MovieCard/MovieCard.utils";import v from"./MovieCardContent";function p({id:a,title:l,posterUrl:d,voteAverage:c,year:f,className:C,imageLoading:s="lazy",blurDataURL:k,as:e="card",...n}){const i="href"in n?n.href:void 0,m="onClick"in n?n.onClick:void 0,o=t(v,{id:a,title:l,posterUrl:d,voteAverage:c,year:f,className:C,imageLoading:s,isInteractive:e==="link"||e==="zone-link"||e==="button",onClick:e==="button"?m:void 0,blurDataURL:k});return e==="link"&&i?t(u,{href:i,className:r(),children:o}):e==="zone-link"&&i?t("a",{href:i,className:r(),children:o}):o}var N=p;export{N as default};
|
|
2
2
|
//# sourceMappingURL=MovieCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/next/MovieCard/MovieCard.tsx"],"sourcesContent":["'use client'\n\nimport Link from 'next/link'\n\nimport { getMovieCardLinkClasses } from '../../MovieCard/MovieCard.utils'\n\nimport MovieCardContent from './MovieCardContent'\n\nimport type { NextMovieCardProps } from './MovieCard.types'\n\nfunction MovieCard({\n id,\n title,\n posterUrl,\n voteAverage,\n year,\n className,\n imageLoading = 'lazy',\n blurDataURL,\n as = 'card',\n ...rest\n}: Readonly<NextMovieCardProps>) {\n const href = 'href' in rest ? rest.href : undefined\n const onClick = 'onClick' in rest ? rest.onClick : undefined\n\n const isInteractive = as === 'link' || as === 'button'\n\n const cardContent = (\n <MovieCardContent\n id={id}\n title={title}\n posterUrl={posterUrl}\n voteAverage={voteAverage}\n year={year}\n className={className}\n imageLoading={imageLoading}\n isInteractive={isInteractive}\n onClick={as === 'button' ? onClick : undefined}\n blurDataURL={blurDataURL}\n />\n )\n\n if (as === 'link' && href) {\n return (\n <Link href={href} className={getMovieCardLinkClasses()}>\n {cardContent}\n </Link>\n )\n }\n\n return cardContent\n}\n\nexport default MovieCard\n"],"mappings":"aA4BI,cAAAA,MAAA,oBA1BJ,OAAOC,MAAU,YAEjB,OAAS,2BAAAC,MAA+B,kCAExC,OAAOC,MAAsB,qBAI7B,SAASC,EAAU,CACjB,GAAAC,EACA,MAAAC,EACA,UAAAC,EACA,YAAAC,EACA,KAAAC,EACA,UAAAC,EACA,aAAAC,EAAe,OACf,YAAAC,EACA,GAAAC,EAAK,OACL,GAAGC,CACL,EAAiC,CAC/B,MAAMC,EAAO,SAAUD,EAAOA,EAAK,KAAO,OACpCE,EAAU,YAAaF,EAAOA,EAAK,QAAU,OAI7CG,EACJjB,EAACG,EAAA,CACC,GAAIE,EACJ,MAAOC,EACP,UAAWC,EACX,YAAaC,EACb,KAAMC,EACN,UAAWC,EACX,aAAcC,EACd,cAXkBE,IAAO,QAAUA,IAAO,
|
|
1
|
+
{"version":3,"sources":["../../../src/next/MovieCard/MovieCard.tsx"],"sourcesContent":["'use client'\n\nimport Link from 'next/link'\n\nimport { getMovieCardLinkClasses } from '../../MovieCard/MovieCard.utils'\n\nimport MovieCardContent from './MovieCardContent'\n\nimport type { NextMovieCardProps } from './MovieCard.types'\n\nfunction MovieCard({\n id,\n title,\n posterUrl,\n voteAverage,\n year,\n className,\n imageLoading = 'lazy',\n blurDataURL,\n as = 'card',\n ...rest\n}: Readonly<NextMovieCardProps>) {\n const href = 'href' in rest ? rest.href : undefined\n const onClick = 'onClick' in rest ? rest.onClick : undefined\n\n const isInteractive = as === 'link' || as === 'zone-link' || as === 'button'\n\n const cardContent = (\n <MovieCardContent\n id={id}\n title={title}\n posterUrl={posterUrl}\n voteAverage={voteAverage}\n year={year}\n className={className}\n imageLoading={imageLoading}\n isInteractive={isInteractive}\n onClick={as === 'button' ? onClick : undefined}\n blurDataURL={blurDataURL}\n />\n )\n\n if (as === 'link' && href) {\n return (\n <Link href={href} className={getMovieCardLinkClasses()}>\n {cardContent}\n </Link>\n )\n }\n\n if (as === 'zone-link' && href) {\n return (\n <a href={href} className={getMovieCardLinkClasses()}>\n {cardContent}\n </a>\n )\n }\n\n return cardContent\n}\n\nexport default MovieCard\n"],"mappings":"aA4BI,cAAAA,MAAA,oBA1BJ,OAAOC,MAAU,YAEjB,OAAS,2BAAAC,MAA+B,kCAExC,OAAOC,MAAsB,qBAI7B,SAASC,EAAU,CACjB,GAAAC,EACA,MAAAC,EACA,UAAAC,EACA,YAAAC,EACA,KAAAC,EACA,UAAAC,EACA,aAAAC,EAAe,OACf,YAAAC,EACA,GAAAC,EAAK,OACL,GAAGC,CACL,EAAiC,CAC/B,MAAMC,EAAO,SAAUD,EAAOA,EAAK,KAAO,OACpCE,EAAU,YAAaF,EAAOA,EAAK,QAAU,OAI7CG,EACJjB,EAACG,EAAA,CACC,GAAIE,EACJ,MAAOC,EACP,UAAWC,EACX,YAAaC,EACb,KAAMC,EACN,UAAWC,EACX,aAAcC,EACd,cAXkBE,IAAO,QAAUA,IAAO,aAAeA,IAAO,SAYhE,QAASA,IAAO,SAAWG,EAAU,OACrC,YAAaJ,EACf,EAGF,OAAIC,IAAO,QAAUE,EAEjBf,EAACC,EAAA,CAAK,KAAMc,EAAM,UAAWb,EAAwB,EAClD,SAAAe,EACH,EAIAJ,IAAO,aAAeE,EAEtBf,EAAC,KAAE,KAAMe,EAAM,UAAWb,EAAwB,EAC/C,SAAAe,EACH,EAIGA,CACT,CAEA,IAAOC,EAAQd","names":["jsx","Link","getMovieCardLinkClasses","MovieCardContent","MovieCard","id","title","posterUrl","voteAverage","year","className","imageLoading","blurDataURL","as","rest","href","onClick","cardContent","MovieCard_default"]}
|
|
@@ -10,6 +10,13 @@ interface NextMovieCardAsLink extends MovieCardBaseProps {
|
|
|
10
10
|
href: string;
|
|
11
11
|
onClick?: never;
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
interface NextMovieCardAsZoneLink extends MovieCardBaseProps {
|
|
14
|
+
/** Render as a plain anchor for cross-zone navigation (multi-zones). */
|
|
15
|
+
as: 'zone-link';
|
|
16
|
+
/** Navigation path (required when as="zone-link") */
|
|
17
|
+
href: string;
|
|
18
|
+
onClick?: never;
|
|
19
|
+
}
|
|
20
|
+
type NextMovieCardProps = MovieCardAsCard | NextMovieCardAsLink | NextMovieCardAsZoneLink | MovieCardAsButton;
|
|
14
21
|
|
|
15
|
-
export { MovieCardAsButton, MovieCardAsCard, MovieCardBaseProps, type NextMovieCardAsLink, type NextMovieCardProps };
|
|
22
|
+
export { MovieCardAsButton, MovieCardAsCard, MovieCardBaseProps, type NextMovieCardAsLink, type NextMovieCardAsZoneLink, type NextMovieCardProps };
|