@anker-in/headless-ui 0.0.27-alpha.72 → 0.0.27-alpha.73
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/cjs/biz-components/MediaPlayerBase/index.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
- package/dist/cjs/biz-components/MediaPlayerBase/right.d.ts +1 -0
- package/dist/cjs/biz-components/MediaPlayerBase/right.js +2 -0
- package/dist/cjs/biz-components/MediaPlayerBase/right.js.map +7 -0
- package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +1 -0
- package/dist/cjs/biz-components/ShelfDisplay/index.js +6 -4
- package/dist/cjs/biz-components/ShelfDisplay/index.js.map +2 -2
- package/dist/cjs/components/link.js +1 -1
- package/dist/cjs/components/link.js.map +2 -2
- package/dist/cjs/stories/avatar.stories.d.ts +0 -1
- package/dist/cjs/stories/avatar.stories.js +1 -1
- package/dist/cjs/stories/avatar.stories.js.map +3 -3
- package/dist/cjs/stories/link.stories.js +1 -1
- package/dist/cjs/stories/link.stories.js.map +2 -2
- package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
- package/dist/esm/biz-components/MediaPlayerBase/right.d.ts +1 -0
- package/dist/esm/biz-components/MediaPlayerBase/right.js +2 -0
- package/dist/esm/biz-components/MediaPlayerBase/right.js.map +7 -0
- package/dist/esm/biz-components/ShelfDisplay/index.d.ts +1 -0
- package/dist/esm/biz-components/ShelfDisplay/index.js +8 -6
- package/dist/esm/biz-components/ShelfDisplay/index.js.map +2 -2
- package/dist/esm/components/link.js +1 -1
- package/dist/esm/components/link.js.map +2 -2
- package/dist/esm/stories/avatar.stories.d.ts +0 -1
- package/dist/esm/stories/avatar.stories.js +1 -1
- package/dist/esm/stories/avatar.stories.js.map +3 -3
- package/dist/esm/stories/link.stories.js +1 -1
- package/dist/esm/stories/link.stories.js.map +3 -3
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";"use client";var P=Object.create;var i=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var B=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var
|
|
1
|
+
"use strict";"use client";var P=Object.create;var i=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var B=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var L=(e,t)=>{for(var a in t)i(e,a,{get:t[a],enumerable:!0})},f=(e,t,a,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of M(t))!R.call(e,s)&&s!==a&&i(e,s,{get:()=>t[s],enumerable:!(o=z(t,s))||o.enumerable});return e};var g=(e,t,a)=>(a=e!=null?P(B(e)):{},f(t||!e||!e.__esModule?i(a,"default",{value:e,enumerable:!0}):a,e)),_=e=>f(i({},"__esModule",{value:!0}),e);var H={};L(H,{default:()=>C});module.exports=_(H);var l=require("react/jsx-runtime"),n=require("react"),p=require("../../helpers/utils.js"),v=require("../../shared/Styles.js"),y=g(require("../../components/picture.js")),b=g(require("../../components/button.js")),d=require("@payloadcms/richtext-lexical/html"),h=require("./right.js");const j=({className:e="",data:{title:t,videoTitle:a,btnText:o,img:s,video:x,theme:k,shape:w}})=>{const[c,u]=(0,n.useState)(!1),r=(0,n.useRef)(null),m=typeof t=="string"?t:t&&(0,d.convertLexicalToHTML)({data:t}),N=typeof a=="string"?a:a&&(0,d.convertLexicalToHTML)({data:a});return(0,l.jsxs)("div",{className:(0,p.cn)(" relative w-full",e,{"aiui-dark":k==="dark","rounded-box":w==="rounded"}),children:[(0,l.jsxs)("div",{className:"media-content absolute left-1/2 top-1/2 z-20 flex -translate-x-1/2 -translate-y-1/2 flex-col items-center gap-5",children:[(0,l.jsx)("div",{className:"lg-desktop:text-[64px] text-center text-[40px] font-bold text-white lg:text-5xl",dangerouslySetInnerHTML:{__html:!c&&m?m:N||""}}),!c&&o&&(0,l.jsxs)(b.default,{variant:"link",className:(0,p.cn)("member-equity-button-secondary"),onClick:()=>{c?(r.current&&r.current.pause(),u(!1)):(r.current&&r.current.play(),u(!0))},children:[o,(0,l.jsx)(h.Right,{})]})]}),(0,l.jsxs)("div",{className:"media-cover lg-desktop:aspect-w-[1920] lg-desktop:aspect-h-[930] lg:aspect-w-[1440] lg:aspect-h-[700] desktop:aspect-w-[1024] desktop:aspect-h-[520] tablet:aspect-w-[768] tablet:aspect-h-[660] aspect-w-[390] aspect-h-[660] relative overflow-hidden",children:[(0,l.jsx)("video",{ref:r,className:"size-full object-cover",src:x?.url,autoPlay:!0,muted:!0,loop:!0}),!c&&(0,l.jsx)(y.default,{className:"z-1 absolute left-0 top-0 size-full object-cover",source:s?.url,alt:s?.alt,imgClassName:"w-full h-full object-cover"}),(0,l.jsx)("div",{className:"absolute left-0 top-0 z-10 size-full",style:{background:"linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #1D1D1F 100%)"}})]})]})};var C=(0,v.withStyles)(j);
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/MediaPlayerBase/index.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\nimport React, { useState, useRef } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { convertLexicalToHTML } from '@payloadcms/richtext-lexical/html'\nimport type { MediaPlayerBaseProps } from './types.js'\nimport {
|
|
5
|
-
"mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA6BQ,IAAAI,EAAA,6BA5BRC,EAAwC,iBACxCC,EAAmB,kCACnBC,EAA2B,kCAC3BC,EAAoB,0CACpBC,EAAmB,yCACnBC,EAAqC,6CAErCC,
|
|
6
|
-
"names": ["MediaPlayerBase_exports", "__export", "MediaPlayerBase_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_Styles", "import_picture", "import_button", "import_html", "
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useState, useRef } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { convertLexicalToHTML } from '@payloadcms/richtext-lexical/html'\nimport type { MediaPlayerBaseProps } from './types.js'\nimport { Right } from './right.js'\n\nconst MediaPlayerBase: React.FC<MediaPlayerBaseProps> = ({\n className = '',\n data: { title, videoTitle, btnText, img, video, theme, shape },\n}) => {\n const [isPlaying, setIsPlaying] = useState(false)\n const videoRef = useRef<HTMLVideoElement>(null)\n\n const title_html = typeof title === 'string' ? title : title && convertLexicalToHTML({ data: title })\n const videoTitle_html =\n typeof videoTitle === 'string' ? videoTitle : videoTitle && convertLexicalToHTML({ data: videoTitle })\n\n return (\n <div\n className={cn(' relative w-full', className, {\n 'aiui-dark': theme === 'dark',\n 'rounded-box': shape === 'rounded',\n })}\n >\n <div className=\"media-content absolute left-1/2 top-1/2 z-20 flex -translate-x-1/2 -translate-y-1/2 flex-col items-center gap-5\">\n <div\n className=\"lg-desktop:text-[64px] text-center text-[40px] font-bold text-white lg:text-5xl\"\n dangerouslySetInnerHTML={{ __html: !isPlaying && title_html ? title_html : videoTitle_html || '' }}\n />\n {!isPlaying && btnText && (\n <Button\n variant=\"link\"\n className={cn('member-equity-button-secondary')}\n onClick={() => {\n if (isPlaying) {\n if (videoRef.current) {\n videoRef.current.pause()\n }\n setIsPlaying(false)\n } else {\n if (videoRef.current) {\n videoRef.current.play()\n }\n setIsPlaying(true)\n }\n }}\n >\n {btnText}\n <Right />\n </Button>\n )}\n </div>\n <div className=\"media-cover lg-desktop:aspect-w-[1920] lg-desktop:aspect-h-[930] lg:aspect-w-[1440] lg:aspect-h-[700] desktop:aspect-w-[1024] desktop:aspect-h-[520] tablet:aspect-w-[768] tablet:aspect-h-[660] aspect-w-[390] aspect-h-[660] relative overflow-hidden\">\n <video ref={videoRef} className=\"size-full object-cover\" src={video?.url} autoPlay muted loop />\n {!isPlaying && (\n <Picture\n className=\"z-1 absolute left-0 top-0 size-full object-cover\"\n source={img?.url}\n alt={img?.alt}\n imgClassName=\"w-full h-full object-cover\"\n />\n )}\n <div\n className=\"absolute left-0 top-0 z-10 size-full\"\n style={{\n background: 'linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #1D1D1F 100%)',\n }}\n />\n </div>\n </div>\n )\n}\n\nexport default withStyles(MediaPlayerBase)\n"],
|
|
5
|
+
"mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA6BQ,IAAAI,EAAA,6BA5BRC,EAAwC,iBACxCC,EAAmB,kCACnBC,EAA2B,kCAC3BC,EAAoB,0CACpBC,EAAmB,yCACnBC,EAAqC,6CAErCC,EAAsB,sBAEtB,MAAMC,EAAkD,CAAC,CACvD,UAAAC,EAAY,GACZ,KAAM,CAAE,MAAAC,EAAO,WAAAC,EAAY,QAAAC,EAAS,IAAAC,EAAK,MAAAC,EAAO,MAAAC,EAAO,MAAAC,CAAM,CAC/D,IAAM,CACJ,KAAM,CAACC,EAAWC,CAAY,KAAI,YAAS,EAAK,EAC1CC,KAAW,UAAyB,IAAI,EAExCC,EAAa,OAAOV,GAAU,SAAWA,EAAQA,MAAS,wBAAqB,CAAE,KAAMA,CAAM,CAAC,EAC9FW,EACJ,OAAOV,GAAe,SAAWA,EAAaA,MAAc,wBAAqB,CAAE,KAAMA,CAAW,CAAC,EAEvG,SACE,QAAC,OACC,aAAW,MAAG,mBAAoBF,EAAW,CAC3C,YAAaM,IAAU,OACvB,cAAeC,IAAU,SAC3B,CAAC,EAED,qBAAC,OAAI,UAAU,kHACb,oBAAC,OACC,UAAU,kFACV,wBAAyB,CAAE,OAAQ,CAACC,GAAaG,EAAaA,EAAaC,GAAmB,EAAG,EACnG,EACC,CAACJ,GAAaL,MACb,QAAC,EAAAU,QAAA,CACC,QAAQ,OACR,aAAW,MAAG,gCAAgC,EAC9C,QAAS,IAAM,CACTL,GACEE,EAAS,SACXA,EAAS,QAAQ,MAAM,EAEzBD,EAAa,EAAK,IAEdC,EAAS,SACXA,EAAS,QAAQ,KAAK,EAExBD,EAAa,EAAI,EAErB,EAEC,UAAAN,KACD,OAAC,UAAM,GACT,GAEJ,KACA,QAAC,OAAI,UAAU,0PACb,oBAAC,SAAM,IAAKO,EAAU,UAAU,yBAAyB,IAAKL,GAAO,IAAK,SAAQ,GAAC,MAAK,GAAC,KAAI,GAAC,EAC7F,CAACG,MACA,OAAC,EAAAM,QAAA,CACC,UAAU,mDACV,OAAQV,GAAK,IACb,IAAKA,GAAK,IACV,aAAa,6BACf,KAEF,OAAC,OACC,UAAU,uCACV,MAAO,CACL,WAAY,+DACd,EACF,GACF,GACF,CAEJ,EAEA,IAAOf,KAAQ,cAAWU,CAAe",
|
|
6
|
+
"names": ["MediaPlayerBase_exports", "__export", "MediaPlayerBase_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_Styles", "import_picture", "import_button", "import_html", "import_right", "MediaPlayerBase", "className", "title", "videoTitle", "btnText", "img", "video", "theme", "shape", "isPlaying", "setIsPlaying", "videoRef", "title_html", "videoTitle_html", "Button", "Picture"]
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Right: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var h=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var d=(t,o)=>{for(var i in o)h(t,i,{get:o[i],enumerable:!0})},k=(t,o,i,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of g(o))!r.call(t,e)&&e!==i&&h(t,e,{get:()=>o[e],enumerable:!(s=w(o,e))||s.enumerable});return t};var p=t=>k(h({},"__esModule",{value:!0}),t);var L={};d(L,{Right:()=>v});module.exports=p(L);var n=require("react/jsx-runtime");const v=()=>(0,n.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,n.jsx)("path",{d:"M6.75 4.5L11.25 9L6.75 13.5",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});
|
|
2
|
+
//# sourceMappingURL=right.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/MediaPlayerBase/right.tsx"],
|
|
4
|
+
"sourcesContent": ["export const Right = () => (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M6.75 4.5L11.25 9L6.75 13.5\"\n stroke=\"white\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,WAAAE,IAAA,eAAAC,EAAAH,GAEI,IAAAI,EAAA,6BAFG,MAAMF,EAAQ,OACnB,OAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAChE,mBAAC,QACC,EAAE,8BACF,OAAO,QACP,YAAY,MACZ,cAAc,QACd,eAAe,QACjB,EACF",
|
|
6
|
+
"names": ["right_exports", "__export", "Right", "__toCommonJS", "import_jsx_runtime"]
|
|
7
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
"use strict";"use client";var
|
|
2
|
-
laptop:text-sm desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border
|
|
1
|
+
"use strict";"use client";var $=Object.create;var x=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var z=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var L=(e,t)=>{for(var a in t)x(e,a,{get:t[a],enumerable:!0})},T=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of j(t))!G.call(e,o)&&o!==a&&x(e,o,{get:()=>t[o],enumerable:!(n=M(t,o))||n.enumerable});return e};var f=(e,t,a)=>(a=e!=null?$(z(e)):{},T(t||!e||!e.__esModule?x(a,"default",{value:e,enumerable:!0}):a,e)),R=e=>T(x({},"__esModule",{value:!0}),e);var J={};L(J,{default:()=>H});module.exports=R(J);var r=require("react/jsx-runtime"),b=require("react"),u=require("../../helpers/utils.js"),B=f(require("../../components/picture.js")),c=require("../../components/tabs.js"),g=f(require("../../components/button.js")),N=f(require("../Title/index.js")),F=f(require("../SwiperBox/index.js")),C=require("../../shared/Styles.js"),P=require("./shelfDisplay.js");const U=({data:e,configuration:t})=>{const a=s=>t?.event?.primaryButton?.(s),n=s=>t?.event?.secondaryButton?.(s),{price:o,basePrice:y}=(0,P.formatVariantPrice)({locale:"us",amount:e?.price.amount||0,baseAmount:e?.compareAtPrice?.amount||e?.price.amount||0,currencyCode:e?.price.currencyCode||"USD"}),h=()=>{const s=e?.sku,i=e?.variants;return i?.find(p=>p?.sku===s)?.image?.url||i?.[0]?.image?.url||""};return(0,r.jsxs)("div",{className:(0,u.cn)("laptop:pt-4 laptop:px-6 laptop:pb-6 flex size-full cursor-pointer flex-col overflow-hidden bg-[#EAEAEC] p-4 duration-300 hover:bg-[#FFFFFF]",t?.itemShape==="round"?"rounded-2xl":"rounded-none"),children:[(0,r.jsx)("div",{className:(0,u.cn)("lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] overflow-hidden"),children:(0,r.jsx)(B.default,{source:h(),className:"flex h-full justify-center object-cover [&_img]:w-auto"})}),(0,r.jsx)("div",{className:"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden",children:e?.tags?.slice(0,1)?.map?.((s,i)=>(0,r.jsx)("div",{className:"tablet:text-base box-border h-full rounded-2xl border-2 border-[#86868C] px-2 pt-1 text-sm font-bold text-[#1D1D1F]",children:s},i))}),(0,r.jsx)("p",{title:e?.title||"",className:"desktop:text-2xl desktop:leading-7 line-clamp-2 max-h-[48px] flex-1 text-xl font-bold text-[#1D1D1F]",children:e?.title||""}),(0,r.jsx)("h3",{title:e?.description||"",className:"tablet:mt-2 tablet:mb-3 desktop:text-lg mb-2 mt-1 h-6 truncate text-sm font-semibold text-[#1D1D1F]",children:e?.description||""}),(0,r.jsxs)("div",{className:"mb-2 flex items-center",children:[(0,r.jsx)("div",{className:"tablet:text-2xl text-xl font-bold text-[#1D1D1F]",children:o||""}),(0,r.jsx)("div",{className:"tablet:text-2xl ml-1 text-xl font-bold text-[#86868C]",children:y||""})]}),(0,r.jsxs)("div",{className:(0,u.cn)("flex items-center gap-3",t.direction==="vertical"?"flex-col":""),children:[(0,r.jsx)(g.default,{variant:"primary",onClick:()=>a(e),className:`
|
|
2
|
+
laptop:text-sm jus desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border
|
|
3
3
|
border-[#1D1D1F] bg-transparent px-4 py-2 text-xs text-[#1D1D1F] hover:bg-transparent hover:text-black
|
|
4
4
|
${t?.shape==="round"?"desktop:rounded-3xl rounded-[20px]":""}
|
|
5
|
-
|
|
5
|
+
${t.direction==="vertical"?"w-full":""}
|
|
6
|
+
`,children:t?.primaryButton||""}),(0,r.jsx)(g.default,{variant:"secondary",onClick:()=>n(e),className:`
|
|
6
7
|
laptop:text-sm desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border
|
|
7
8
|
border-[#1D1D1F] bg-[#1D1D1F] px-4 py-2 text-xs tracking-[-0.04em] text-white
|
|
8
9
|
${t?.shape==="round"?"desktop:rounded-3xl rounded-[20px]":""}
|
|
9
|
-
|
|
10
|
+
${t.direction==="vertical"?"w-full":""}
|
|
11
|
+
`,children:t?.secondaryButton||""})]})]},e?.id||e?.handle)},_=({data:e,buildData:t,className:a="",key:n,event:o,GSAP:y})=>{const[h,s]=(0,b.useState)(""),[i,k]=(0,b.useState)([]),{productsTab:p=[],productsCard:I=[],title:D,align:A="left",isShowTab:S=!0,tabShape:E="square",...V}=e,v=l=>{const m=l?.map(d=>{const w=t?.products?.find(q=>q?.handle===d?.handle);if(w)return{sku:d.sku,...w}})?.filter(d=>d);k(m)};return(0,b.useEffect)(()=>{if(S){s(p?.[0]?.tab||""),v(p?.[0]?.data||[]);return}v(I)},[]),(0,r.jsxs)("div",{className:(0,u.cn)("w-full",a),children:[D&&(0,r.jsx)(N.default,{data:{title:D},GSAP:y}),S&&(0,r.jsx)(c.Tabs,{shape:E,align:A,value:h,onValueChange:l=>{s(l);const m=p?.find(d=>d?.tab===l);v(m?.data||[])},className:"mb-8",children:(0,r.jsx)(c.TabsList,{children:p?.map((l,m)=>(0,r.jsx)(c.TabsTrigger,{value:l?.tab||"",children:l?.tab},m))})}),(0,r.jsx)(F.default,{className:"!overflow-visible",id:"ShelfDisplay"+n,data:{list:i,configuration:{...V,event:o}},Slide:U,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.1},768:{spaceBetween:16,freeMode:!1,slidesPerView:4}}})]})};var H=(0,C.withStyles)(_);
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/ShelfDisplay/index.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\nimport React, { useState, useEffect } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { Tabs, TabsList, TabsTrigger } from '../../components/tabs.js'\nimport Button from '../../components/button.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { formatVariantPrice } from './shelfDisplay.js'\nexport interface ShelfDisplayItem {\n id?: string\n /** \u4EA7\u54C1\u56FE\u7247*/\n img?: {\n url: string\n }\n handle?: string\n sku?: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price?: string\n title?: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice?: string\n subTitle?: string\n /** \u6807\u7B7E*/\n tagItems?: string[]\n tab?: string\n data?: ShelfDisplayItem[]\n}\n\ntype EventType = {\n primaryButton?: (v: any) => void\n secondaryButton?: (v: any) => void\n}\n\nexport interface ShelfDisplayProps {\n data: {\n title?: string\n isShowTab?: boolean\n align?: 'left' | 'center' | 'right'\n productsTab?: any\n productsCard?: any\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n }\n buildData?: {\n categories: any[]\n products: any[]\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n className?: string\n key?: string\n GSAP?: any\n}\n\nconst ShelfDisplayItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const onPrimaryButton = (params: ShelfDisplayItem) => configuration?.event?.primaryButton?.(params)\n\n const onSecondaryButton = (params: ShelfDisplayItem) => configuration?.event?.secondaryButton?.(params)\n\n const { price, basePrice } = formatVariantPrice({\n locale: 'us',\n amount: data?.price.amount || 0,\n baseAmount: data?.compareAtPrice?.amount || data?.price.amount || 0,\n currencyCode: data?.price.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n 'laptop:pt-4 laptop:px-6 laptop:pb-6 flex size-full cursor-pointer flex-col overflow-hidden bg-[#EAEAEC] p-4 duration-300 hover:bg-[#FFFFFF]',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] overflow-hidden')}>\n <Picture source={handleUrl()} className=\"flex h-full justify-center object-cover [&_img]:w-auto\" />\n </div>\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {data?.tags?.slice(0, 1)?.map?.((item: any, index: number) => {\n return (\n <div\n key={index}\n className=\"tablet:text-base box-border h-full rounded-2xl border-2 border-[#86868C] px-2 pt-1 text-sm font-bold text-[#1D1D1F]\"\n >\n {item}\n </div>\n )\n })}\n </div>\n <p\n title={data?.title || ''}\n className=\"desktop:text-2xl desktop:leading-7 line-clamp-2 max-h-[48px] flex-1 text-xl font-bold text-[#1D1D1F]\"\n >\n {data?.title || ''}\n </p>\n <h3\n title={data?.description || ''}\n className=\"tablet:mt-2 tablet:mb-3 desktop:text-lg mb-2 mt-1 h-6 truncate text-sm font-semibold text-[#1D1D1F]\"\n >\n {data?.description || ''}\n </h3>\n <div className=\"mb-2 flex items-center\">\n <div className=\"tablet:text-2xl text-xl font-bold text-[#1D1D1F]\">{price || ''}</div>\n <div className=\"tablet:text-2xl ml-1 text-xl font-bold text-[#86868C]\">{basePrice || ''}</div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div className
|
|
5
|
-
"mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useState, useEffect } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { Tabs, TabsList, TabsTrigger } from '../../components/tabs.js'\nimport Button from '../../components/button.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { formatVariantPrice } from './shelfDisplay.js'\nexport interface ShelfDisplayItem {\n id?: string\n /** \u4EA7\u54C1\u56FE\u7247*/\n img?: {\n url: string\n }\n handle?: string\n sku?: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price?: string\n title?: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice?: string\n subTitle?: string\n /** \u6807\u7B7E*/\n tagItems?: string[]\n tab?: string\n data?: ShelfDisplayItem[]\n}\n\ntype EventType = {\n primaryButton?: (v: any) => void\n secondaryButton?: (v: any) => void\n}\n\nexport interface ShelfDisplayProps {\n data: {\n title?: string\n isShowTab?: boolean\n direction?: 'horizontal' | 'vertical'\n align?: 'left' | 'center' | 'right'\n productsTab?: any\n productsCard?: any\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n }\n buildData?: {\n categories: any[]\n products: any[]\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n className?: string\n key?: string\n GSAP?: any\n}\n\nconst ShelfDisplayItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const onPrimaryButton = (params: ShelfDisplayItem) => configuration?.event?.primaryButton?.(params)\n\n const onSecondaryButton = (params: ShelfDisplayItem) => configuration?.event?.secondaryButton?.(params)\n\n const { price, basePrice } = formatVariantPrice({\n locale: 'us',\n amount: data?.price.amount || 0,\n baseAmount: data?.compareAtPrice?.amount || data?.price.amount || 0,\n currencyCode: data?.price.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n 'laptop:pt-4 laptop:px-6 laptop:pb-6 flex size-full cursor-pointer flex-col overflow-hidden bg-[#EAEAEC] p-4 duration-300 hover:bg-[#FFFFFF]',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] overflow-hidden')}>\n <Picture source={handleUrl()} className=\"flex h-full justify-center object-cover [&_img]:w-auto\" />\n </div>\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {data?.tags?.slice(0, 1)?.map?.((item: any, index: number) => {\n return (\n <div\n key={index}\n className=\"tablet:text-base box-border h-full rounded-2xl border-2 border-[#86868C] px-2 pt-1 text-sm font-bold text-[#1D1D1F]\"\n >\n {item}\n </div>\n )\n })}\n </div>\n <p\n title={data?.title || ''}\n className=\"desktop:text-2xl desktop:leading-7 line-clamp-2 max-h-[48px] flex-1 text-xl font-bold text-[#1D1D1F]\"\n >\n {data?.title || ''}\n </p>\n <h3\n title={data?.description || ''}\n className=\"tablet:mt-2 tablet:mb-3 desktop:text-lg mb-2 mt-1 h-6 truncate text-sm font-semibold text-[#1D1D1F]\"\n >\n {data?.description || ''}\n </h3>\n <div className=\"mb-2 flex items-center\">\n <div className=\"tablet:text-2xl text-xl font-bold text-[#1D1D1F]\">{price || ''}</div>\n <div className=\"tablet:text-2xl ml-1 text-xl font-bold text-[#86868C]\">{basePrice || ''}</div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div className={cn('flex items-center gap-3', configuration.direction === 'vertical' ? 'flex-col' : '')}>\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data)}\n className={`\n laptop:text-sm jus desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border\n border-[#1D1D1F] bg-transparent px-4 py-2 text-xs text-[#1D1D1F] hover:bg-transparent hover:text-black\n ${configuration?.shape === 'round' ? 'desktop:rounded-3xl rounded-[20px]' : ''}\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data)}\n className={`\n laptop:text-sm desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border\n border-[#1D1D1F] bg-[#1D1D1F] px-4 py-2 text-xs tracking-[-0.04em] text-white\n ${configuration?.shape === 'round' ? 'desktop:rounded-3xl rounded-[20px]' : ''}\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n </div>\n </div>\n )\n}\n\nconst ShelfDisplay: React.FC<ShelfDisplayProps> = ({ data, buildData, className = '', key, event, GSAP }) => {\n const [tabId, setTabId] = useState<string>('')\n const [currentItems, setCurrentItems] = useState<ShelfDisplayItem[]>([])\n\n const {\n productsTab = [],\n productsCard = [],\n title,\n align = 'left',\n isShowTab = true,\n tabShape = 'square',\n ...other\n } = data\n\n const handleCurrentTab = (currentData: ShelfDisplayItem[]) => {\n const newCurrentData = currentData\n ?.map(item => {\n const findData = buildData?.products?.find(params => params?.handle === item?.handle)\n if (findData) {\n return {\n sku: item.sku,\n ...findData,\n }\n }\n })\n ?.filter(item => item)\n setCurrentItems(newCurrentData)\n }\n\n useEffect(() => {\n if (isShowTab) {\n setTabId(productsTab?.[0]?.tab || '')\n handleCurrentTab(productsTab?.[0]?.data || [])\n return\n }\n handleCurrentTab(productsCard)\n }, [])\n\n return (\n <div className={cn('w-full', className)}>\n {title && <Title data={{ title: title }} GSAP={GSAP} />}\n {isShowTab && (\n <Tabs\n shape={tabShape}\n align={align}\n value={tabId}\n onValueChange={v => {\n setTabId(v)\n const findData = productsTab?.find((item: any) => item?.tab === v)\n handleCurrentTab(findData?.data || [])\n }}\n className=\"mb-8\"\n >\n <TabsList>\n {productsTab?.map((item: any, index: number) => {\n return (\n <TabsTrigger key={index} value={item?.tab || ''}>\n {item?.tab}\n </TabsTrigger>\n )\n })}\n </TabsList>\n </Tabs>\n )}\n <SwiperBox\n className=\"!overflow-visible\"\n id={'ShelfDisplay' + key}\n data={{ list: currentItems, configuration: { ...other, event: event } }}\n Slide={ShelfDisplayItem}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n )\n}\n\nexport default withStyles(ShelfDisplay)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["ShelfDisplay_exports", "__export", "ShelfDisplay_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_tabs", "import_button", "import_Title", "import_SwiperBox", "import_Styles", "import_shelfDisplay", "ShelfDisplayItem", "data", "configuration", "onPrimaryButton", "params", "onSecondaryButton", "price", "basePrice", "handleUrl", "sku", "skuArray", "item", "Picture", "index", "Button", "ShelfDisplay", "buildData", "className", "key", "event", "GSAP", "tabId", "setTabId", "currentItems", "setCurrentItems", "productsTab", "productsCard", "title", "align", "isShowTab", "tabShape", "other", "handleCurrentTab", "currentData", "newCurrentData", "findData", "Title", "v", "SwiperBox"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var R=Object.create;var i=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var V=(e,o)=>{for(var t in o)i(e,t,{get:o[t],enumerable:!0})},f=(e,o,t,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of N(o))!E.call(e,n)&&n!==t&&i(e,n,{get:()=>o[n],enumerable:!(s=L(o,n))||s.enumerable});return e};var w=(e,o,t)=>(t=e!=null?R(g(e)):{},f(o||!e||!e.__esModule?i(t,"default",{value:e,enumerable:!0}):t,e)),S=e=>f(i({},"__esModule",{value:!0}),e);var b={};V(b,{default:()=>W});module.exports=S(b);var r=require("react/jsx-runtime"),k=w(require("react")),d=require("@radix-ui/react-slot"),h=require("../helpers/index.js"),y=require("class-variance-authority");const M=(0,y.cva)("tracking transition-colors",{variants:{size:{small:"text-xs",medium:"text-sm",large:"text-base"},underline:{none:"no-underline",hover:"hover:underline",always:"underline"},hoverColor:{none:"text-current",hover:"hover:text-brand-0"}}}),u=k.default.forwardRef(({children:e,size:o="small",hoverColor:t,className:s,asChild:n=!1,href:p,style:l,underline:C,disabled:a=!1,suffixIcon:m,onClick:v,...P},x)=>(0,r.jsx)(n?d.Slot:"a",{ref:x,onClick:c=>{if(!a&&v?.(c),a||!p){c.preventDefault();return}},href:a?void 0:p,className:(0,h.cn)(M({size:o,underline:C,hoverColor:t}),"text-info-primary",s,{"flex items-center":m,"cursor-pointer":!a,"text-info-quaternary cursor-not-allowed":a}),...l?{style:l}:null,...P,children:(0,r.jsxs)(r.Fragment,{children:[e,(0,r.jsx)("span",{className:"svg",children:m})]})}));u.displayName="Link";var W=u;
|
|
2
2
|
//# sourceMappingURL=link.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/link.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\nimport type { ReactNode } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '../helpers/index.js'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'\n\n// \u5B9A\u4E49 link \u7684\u6837\u5F0F\u53D8\u4F53\nconst linkVariants = cva('tracking transition-colors', {\n variants: {\n size: {\n small: 'text-xs', // \u5C0F\n medium: 'text-sm', // \u4E2D\n large: 'text-base', // \u5927\n },\n underline: {\n none: 'no-underline', // \u4E0D\u5C55\u793A\n hover: 'hover:underline', // hover\u5C55\u793A\u4E0B\u5212\u7EBF\n always: 'underline', // \u6C38\u4E45\u5C55\u793A\n },\n hoverColor: {\n none: 'text-current', // \u9F20\u6807\u8FDB\u5165\u65E0\u53D8\u5316\n hover: 'hover:text-brand-0', // \u9F20\u6807\u8FDB\u5165\u6539\u53D8\u5B57\u4F53\u989C\u8272\n },\n },\n})\n// \u5B9A\u4E49\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u7EE7\u627F a \u6807\u7B7E\u6807\u51C6\u5C5E\u6027\ntype LinkElement = React.ElementRef<'a'>\ntype LinkProps = {\n /** \u5B9A\u4E49\u5B50\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B,\u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n /** \u7C7B\u540D*/\n className?: string\n /** \u7981\u7528\u94FE\u63A5 */\n disabled?: boolean\n /** \u540E\u7F6E\u56FE\u6807*/\n suffixIcon?: ReactNode\n /** \u8DF3\u8F6C\u94FE\u63A5*/\n href?: string\n /** \u6837\u5F0F*/\n style?: React.CSSProperties\n /** \u70B9\u51FB\u4E8B\u4EF6\uFF0C\u7981\u7528\u72B6\u6001\u65E0\u6CD5\u89E6\u53D1*/\n onClick?: Function\n} & VariantProps<typeof linkVariants> &\n ComponentPropsWithout<'a', RemovedProps>\n\nconst Link = React.forwardRef<LinkElement, LinkProps>(\n (\n {\n children,\n size = 'small',\n hoverColor,\n className,\n asChild = false,\n href,\n style,\n underline,\n disabled = false,\n suffixIcon,\n onClick,\n ...props // \u8FD9\u91CC\u4F1A\u5305\u542B href\u3001target\u3001rel \u7B49\u6807\u51C6 anchor \u5C5E\u6027\n }: LinkProps,\n forwardedRef\n ) => {\n const Comp = asChild ? Slot : 'a'\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n !disabled && onClick?.(event)\n if (disabled || !href) {\n event.preventDefault()\n return\n }\n }\n\n return (\n <Comp\n ref={forwardedRef}\n onClick={handleClick}\n href={disabled ? undefined : href}\n className={cn(linkVariants({ size, underline, hoverColor }), className, {\n 'flex items-center': suffixIcon,\n 'cursor-pointer': !disabled,\n 'text-info-quaternary cursor-not-allowed': disabled,\n })}\n {...(style ? { style: style } : null)}\n {...props}\n >\n <>\n {children}\n <span className=\"svg\">{suffixIcon}</span>\n </>\n </Comp>\n )\n }\n)\nLink.displayName = 'Link'\n\nexport default Link\nexport type { LinkProps }\n"],
|
|
5
|
-
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAuFQ,IAAAI,EAAA,6BAvFRC,EAAkB,oBAElBC,EAAqB,gCACrBC,EAAmB,+BACnBC,EAAuC,oCAIvC,MAAMC,KAAe,OAAI,6BAA8B,CACrD,SAAU,CACR,KAAM,CACJ,MAAO,UACP,OAAQ,UACR,MAAO,WACT,EACA,UAAW,CACT,KAAM,eACN,MAAO,kBACP,OAAQ,WACV,EACA,WAAY,CACV,KAAM,eACN,MAAO,oBACT,CACF,CACF,CAAC,EAqBKC,EAAO,EAAAC,QAAM,WACjB,CACE,CACE,SAAAC,EACA,KAAAC,EAAO,QACP,WAAAC,EACA,UAAAC,EACA,QAAAC,EAAU,GACV,KAAAC,EACA,MAAAC,EACA,UAAAC,EACA,SAAAC,EAAW,GACX,WAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EACAC,OAaE,OAXWR,EAAU,OAAO,IAW3B,CACC,IAAKQ,EACL,QAXiBC,GAA+C,CAElE,GADA,CAACL,GAAYE,IAAUG,CAAK,EACxBL,GAAY,CAACH,EAAM,CACrBQ,EAAM,eAAe,EACrB,MACF,CACF,EAMI,KAAML,EAAW,OAAYH,EAC7B,aAAW,MAAGR,EAAa,CAAE,KAAAI,EAAM,UAAAM,EAAW,WAAAL,CAAW,CAAC,
|
|
4
|
+
"sourcesContent": ["import React from 'react'\nimport type { ReactNode } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '../helpers/index.js'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'\n\n// \u5B9A\u4E49 link \u7684\u6837\u5F0F\u53D8\u4F53\nconst linkVariants = cva('tracking transition-colors', {\n variants: {\n size: {\n small: 'text-xs', // \u5C0F\n medium: 'text-sm', // \u4E2D\n large: 'text-base', // \u5927\n },\n underline: {\n none: 'no-underline', // \u4E0D\u5C55\u793A\n hover: 'hover:underline', // hover\u5C55\u793A\u4E0B\u5212\u7EBF\n always: 'underline', // \u6C38\u4E45\u5C55\u793A\n },\n hoverColor: {\n none: 'text-current', // \u9F20\u6807\u8FDB\u5165\u65E0\u53D8\u5316\n hover: 'hover:text-brand-0', // \u9F20\u6807\u8FDB\u5165\u6539\u53D8\u5B57\u4F53\u989C\u8272\n },\n },\n})\n// \u5B9A\u4E49\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u7EE7\u627F a \u6807\u7B7E\u6807\u51C6\u5C5E\u6027\ntype LinkElement = React.ElementRef<'a'>\ntype LinkProps = {\n /** \u5B9A\u4E49\u5B50\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B,\u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n /** \u7C7B\u540D*/\n className?: string\n /** \u7981\u7528\u94FE\u63A5 */\n disabled?: boolean\n /** \u540E\u7F6E\u56FE\u6807*/\n suffixIcon?: ReactNode\n /** \u8DF3\u8F6C\u94FE\u63A5*/\n href?: string\n /** \u6837\u5F0F*/\n style?: React.CSSProperties\n /** \u70B9\u51FB\u4E8B\u4EF6\uFF0C\u7981\u7528\u72B6\u6001\u65E0\u6CD5\u89E6\u53D1*/\n onClick?: Function\n} & VariantProps<typeof linkVariants> &\n ComponentPropsWithout<'a', RemovedProps>\n\nconst Link = React.forwardRef<LinkElement, LinkProps>(\n (\n {\n children,\n size = 'small',\n hoverColor,\n className,\n asChild = false,\n href,\n style,\n underline,\n disabled = false,\n suffixIcon,\n onClick,\n ...props // \u8FD9\u91CC\u4F1A\u5305\u542B href\u3001target\u3001rel \u7B49\u6807\u51C6 anchor \u5C5E\u6027\n }: LinkProps,\n forwardedRef\n ) => {\n const Comp = asChild ? Slot : 'a'\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n !disabled && onClick?.(event)\n if (disabled || !href) {\n event.preventDefault()\n return\n }\n }\n\n return (\n <Comp\n ref={forwardedRef}\n onClick={handleClick}\n href={disabled ? undefined : href}\n className={cn(linkVariants({ size, underline, hoverColor }), 'text-info-primary', className, {\n 'flex items-center': suffixIcon,\n 'cursor-pointer': !disabled,\n 'text-info-quaternary cursor-not-allowed': disabled,\n })}\n {...(style ? { style: style } : null)}\n {...props}\n >\n <>\n {children}\n <span className=\"svg\">{suffixIcon}</span>\n </>\n </Comp>\n )\n }\n)\nLink.displayName = 'Link'\n\nexport default Link\nexport type { LinkProps }\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAuFQ,IAAAI,EAAA,6BAvFRC,EAAkB,oBAElBC,EAAqB,gCACrBC,EAAmB,+BACnBC,EAAuC,oCAIvC,MAAMC,KAAe,OAAI,6BAA8B,CACrD,SAAU,CACR,KAAM,CACJ,MAAO,UACP,OAAQ,UACR,MAAO,WACT,EACA,UAAW,CACT,KAAM,eACN,MAAO,kBACP,OAAQ,WACV,EACA,WAAY,CACV,KAAM,eACN,MAAO,oBACT,CACF,CACF,CAAC,EAqBKC,EAAO,EAAAC,QAAM,WACjB,CACE,CACE,SAAAC,EACA,KAAAC,EAAO,QACP,WAAAC,EACA,UAAAC,EACA,QAAAC,EAAU,GACV,KAAAC,EACA,MAAAC,EACA,UAAAC,EACA,SAAAC,EAAW,GACX,WAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EACAC,OAaE,OAXWR,EAAU,OAAO,IAW3B,CACC,IAAKQ,EACL,QAXiBC,GAA+C,CAElE,GADA,CAACL,GAAYE,IAAUG,CAAK,EACxBL,GAAY,CAACH,EAAM,CACrBQ,EAAM,eAAe,EACrB,MACF,CACF,EAMI,KAAML,EAAW,OAAYH,EAC7B,aAAW,MAAGR,EAAa,CAAE,KAAAI,EAAM,UAAAM,EAAW,WAAAL,CAAW,CAAC,EAAG,oBAAqBC,EAAW,CAC3F,oBAAqBM,EACrB,iBAAkB,CAACD,EACnB,0CAA2CA,CAC7C,CAAC,EACA,GAAIF,EAAQ,CAAE,MAAOA,CAAM,EAAI,KAC/B,GAAGK,EAEJ,gCACG,UAAAX,KACD,OAAC,QAAK,UAAU,MAAO,SAAAS,EAAW,GACpC,EACF,CAGN,EACAX,EAAK,YAAc,OAEnB,IAAOR,EAAQQ",
|
|
6
6
|
"names": ["link_exports", "__export", "link_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_slot", "import_helpers", "import_class_variance_authority", "linkVariants", "Link", "React", "children", "size", "hoverColor", "className", "asChild", "href", "style", "underline", "disabled", "suffixIcon", "onClick", "props", "forwardedRef", "event"]
|
|
7
7
|
}
|
|
@@ -36,5 +36,4 @@ declare const meta: {
|
|
|
36
36
|
export default meta;
|
|
37
37
|
export declare const Default: () => import("react/jsx-runtime").JSX.Element;
|
|
38
38
|
export declare const AvatarType: () => import("react/jsx-runtime").JSX.Element;
|
|
39
|
-
export declare const AvatarTextAdaptation: () => import("react/jsx-runtime").JSX.Element;
|
|
40
39
|
export declare const AvatarSize: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var i=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var v=(r,e)=>{for(var o in e)i(r,o,{get:e[o],enumerable:!0})},d=(r,e,o,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of p(e))!n.call(r,s)&&s!==o&&i(r,s,{get:()=>e[s],enumerable:!(c=m(e,s))||c.enumerable});return r};var A=r=>d(i({},"__esModule",{value:!0}),r);var b={};v(b,{AvatarSize:()=>z,AvatarType:()=>h,Default:()=>f,default:()=>u});module.exports=A(b);var t=require("react/jsx-runtime"),l=require("@storybook/icons"),a=require("../components/index.js");const g={title:"Components/Avatar",component:a.Avatar,tags:["autodocs"],subcomponents:{AvatarImage:a.AvatarImage,AvatarFallback:a.AvatarFallback},parameters:{layout:"centered",docs:{description:{component:"avatar\u7EC4\u4EF6,\u57FA\u4E8E@radix-ui/react-avatar,https://www.radix-ui.com/primitives/docs/components/avatar"}}},argTypes:{size:{description:"\u5C3A\u5BF8",table:{defaultValue:{summary:"small"}}}}};var u=g;const f=()=>(0,t.jsxs)(a.Avatar,{size:"large",children:[(0,t.jsx)(a.AvatarImage,{src:"https://github.com/shadcn.png",alt:"@shadcn"}),(0,t.jsx)(a.AvatarFallback,{children:"Za"})]}),h=()=>(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)(a.Avatar,{size:"large",children:[(0,t.jsx)(a.AvatarImage,{src:"https://github.com/shadcn.png",alt:"@shadcn"}),(0,t.jsx)(a.AvatarFallback,{children:"CN"})]}),(0,t.jsx)(a.Avatar,{size:"large",children:(0,t.jsx)(l.UserIcon,{className:"size-6"})}),(0,t.jsx)(a.Avatar,{size:"large",children:"Za"})]}),z=()=>(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)(a.Avatar,{children:"Za"}),(0,t.jsx)(a.Avatar,{size:"medium",children:"Za"}),(0,t.jsx)(a.Avatar,{size:"large",children:"Za"})]});
|
|
2
2
|
//# sourceMappingURL=avatar.stories.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/stories/avatar.stories.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { Meta } from '@storybook/react'\nimport { UserIcon } from '@storybook/icons'\nimport { Avatar, AvatarImage, AvatarFallback } from '../components/index.js'\n\nconst meta = {\n title: 'Components/Avatar',\n component: Avatar,\n tags: ['autodocs'],\n subcomponents: { AvatarImage, AvatarFallback } as any,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: 'avatar\u7EC4\u4EF6,\u57FA\u4E8E@radix-ui/react-avatar,https://www.radix-ui.com/primitives/docs/components/avatar',\n },\n },\n },\n argTypes: {\n size: {\n description: '\u5C3A\u5BF8',\n table: {\n defaultValue: { summary: 'small' },\n },\n },\n },\n} satisfies Meta<typeof Avatar>\n\nexport default meta\n\nexport const Default = () => (\n <Avatar size=\"large\">\n <AvatarImage src=\"https://github.com/shadcn.png\" alt=\"@shadcn\" />\n <AvatarFallback>
|
|
5
|
-
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,EAAA,
|
|
6
|
-
"names": ["avatar_stories_exports", "__export", "AvatarSize", "
|
|
4
|
+
"sourcesContent": ["import type { Meta } from '@storybook/react'\nimport { UserIcon } from '@storybook/icons'\nimport { Avatar, AvatarImage, AvatarFallback } from '../components/index.js'\n\nconst meta = {\n title: 'Components/Avatar',\n component: Avatar,\n tags: ['autodocs'],\n subcomponents: { AvatarImage, AvatarFallback } as any,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: 'avatar\u7EC4\u4EF6,\u57FA\u4E8E@radix-ui/react-avatar,https://www.radix-ui.com/primitives/docs/components/avatar',\n },\n },\n },\n argTypes: {\n size: {\n description: '\u5C3A\u5BF8',\n table: {\n defaultValue: { summary: 'small' },\n },\n },\n },\n} satisfies Meta<typeof Avatar>\n\nexport default meta\n\nexport const Default = () => (\n <Avatar size=\"large\">\n <AvatarImage src=\"https://github.com/shadcn.png\" alt=\"@shadcn\" />\n <AvatarFallback>Za</AvatarFallback>\n </Avatar>\n)\n\nexport const AvatarType = () => (\n <div className=\"flex items-center gap-4\">\n <Avatar size=\"large\">\n <AvatarImage src=\"https://github.com/shadcn.png\" alt=\"@shadcn\" />\n <AvatarFallback>CN</AvatarFallback>\n </Avatar>\n <Avatar size=\"large\">\n <UserIcon className=\"size-6\" />\n </Avatar>\n <Avatar size=\"large\">Za</Avatar>\n </div>\n)\n\nexport const AvatarSize = () => (\n <div className=\"flex items-center gap-4\">\n <Avatar>Za</Avatar>\n <Avatar size=\"medium\">Za</Avatar>\n <Avatar size=\"large\">Za</Avatar>\n </div>\n)\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,EAAA,eAAAC,EAAA,YAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAN,GA8BE,IAAAO,EAAA,6BA7BFC,EAAyB,4BACzBC,EAAoD,kCAEpD,MAAMC,EAAO,CACX,MAAO,oBACP,UAAW,SACX,KAAM,CAAC,UAAU,EACjB,cAAe,CAAE,0BAAa,+BAAe,EAC7C,WAAY,CACV,OAAQ,WACR,KAAM,CACJ,YAAa,CACX,UAAW,kHACb,CACF,CACF,EACA,SAAU,CACR,KAAM,CACJ,YAAa,eACb,MAAO,CACL,aAAc,CAAE,QAAS,OAAQ,CACnC,CACF,CACF,CACF,EAEA,IAAOL,EAAQK,EAER,MAAMN,EAAU,OACrB,QAAC,UAAO,KAAK,QACX,oBAAC,eAAY,IAAI,gCAAgC,IAAI,UAAU,KAC/D,OAAC,kBAAe,cAAE,GACpB,EAGWD,EAAa,OACxB,QAAC,OAAI,UAAU,0BACb,qBAAC,UAAO,KAAK,QACX,oBAAC,eAAY,IAAI,gCAAgC,IAAI,UAAU,KAC/D,OAAC,kBAAe,cAAE,GACpB,KACA,OAAC,UAAO,KAAK,QACX,mBAAC,YAAS,UAAU,SAAS,EAC/B,KACA,OAAC,UAAO,KAAK,QAAQ,cAAE,GACzB,EAGWD,EAAa,OACxB,QAAC,OAAI,UAAU,0BACb,oBAAC,UAAO,cAAE,KACV,OAAC,UAAO,KAAK,SAAS,cAAE,KACxB,OAAC,UAAO,KAAK,QAAQ,cAAE,GACzB",
|
|
6
|
+
"names": ["avatar_stories_exports", "__export", "AvatarSize", "AvatarType", "Default", "avatar_stories_default", "__toCommonJS", "import_jsx_runtime", "import_icons", "import_components", "meta"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var d=Object.create;var s=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var k=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var v=(i,n)=>{for(var o in n)s(i,o,{get:n[o],enumerable:!0})},t=(i,n,o,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of c(n))!p.call(i,a)&&a!==o&&s(i,a,{get:()=>n[a],enumerable:!(r=m(n,a))||r.enumerable});return i};var f=(i,n,o)=>(o=i!=null?d(k(i)):{},t(n||!i||!i.__esModule?s(o,"default",{value:i,enumerable:!0}):o,i)),L=i=>t(s({},"__esModule",{value:!0}),i);var z={};v(z,{Default:()=>h,Disabled:()=>x,LinkSize:()=>g,default:()=>y});module.exports=L(z);var e=require("react/jsx-runtime"),C=require("@storybook/icons"),l=f(require("../components/link.js"));const u={title:"Components/Link",component:l.default,parameters:{layout:"centered"},tags:["autodocs"],argTypes:{size:{description:"\u5C3A\u5BF8",control:{type:"select"},options:["small","medium","large"],table:{defaultValue:{summary:"small"}}},underline:{description:"\u94FE\u63A5\u4E0B\u5212\u7EBF\u5C55\u793A",control:{type:"select"},options:["none","hover","always"],table:{defaultValue:{summary:"none"}}},hoverColor:{description:"\u94FE\u63A5\u60AC\u6D6E\u6587\u5B57\u6837\u5F0F",control:{type:"select"},options:["none","hover"],table:{defaultValue:{summary:"none"}}},onClick:{control:!1},suffixIcon:{control:!1},style:{control:!1},className:{control:!1},children:{control:!1}},args:{onClick:void 0}};var y=u;const h={args:{children:"Link"}},g=()=>(0,e.jsxs)("div",{className:"inline-flex flex-col gap-4",children:[(0,e.jsxs)("div",{className:"inline-flex gap-4",children:[(0,e.jsx)(l.default,{size:"small",hoverColor:"hover",children:"Link"}),(0,e.jsx)(l.default,{size:"small",underline:"always",hoverColor:"hover",children:"Link"})]}),(0,e.jsxs)("div",{className:"inline-flex gap-4",children:[(0,e.jsx)(l.default,{size:"medium",hoverColor:"hover",children:"Link"}),(0,e.jsx)(l.default,{size:"medium",underline:"always",hoverColor:"hover",children:"Link"})]}),(0,e.jsxs)("div",{className:"inline-flex gap-4",children:[(0,e.jsx)(l.default,{size:"large",hoverColor:"hover",children:"Link"}),(0,e.jsx)(l.default,{size:"large",underline:"always",hoverColor:"hover",children:"Link"})]})]}),x=()=>(0,e.jsxs)("div",{className:"inline-flex flex-col gap-4",children:[(0,e.jsxs)("div",{className:"inline-flex gap-4",children:[(0,e.jsx)(l.default,{size:"small",disabled:!0,children:"Link"}),(0,e.jsx)(l.default,{size:"small",disabled:!0,underline:"always",children:"Link"})]}),(0,e.jsxs)("div",{className:"inline-flex gap-4",children:[(0,e.jsx)(l.default,{size:"medium",disabled:!0,children:"Link"}),(0,e.jsx)(l.default,{size:"medium",disabled:!0,underline:"always",children:"Link"})]}),(0,e.jsxs)("div",{className:"inline-flex gap-4",children:[(0,e.jsx)(l.default,{size:"large",disabled:!0,children:"Link"}),(0,e.jsx)(l.default,{size:"large",disabled:!0,underline:"always",children:"Link"})]})]});
|
|
2
2
|
//# sourceMappingURL=link.stories.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/stories/link.stories.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport { ChevronRightIcon } from '@storybook/icons'\nimport Link from '../components/link.js'\n\nconst meta = {\n // \u540C\u65F6\u5B9A\u4E49\u4E86\u9875\u9762\u5DE6\u4FA7\u83DC\u5355\n title: 'Components/Link',\n component: Link,\n parameters: {\n layout: 'centered',\n },\n // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs\n tags: ['autodocs'],\n // More on argTypes: https://storybook.js.org/docs/api/argtypes\n argTypes: {\n size: {\n description: '\u5C3A\u5BF8',\n control: {\n type: 'select',\n },\n options: ['small', 'medium', 'large'],\n table: {\n defaultValue: { summary: 'small' },\n },\n },\n underline: {\n description: '\u94FE\u63A5\u4E0B\u5212\u7EBF\u5C55\u793A',\n control: {\n type: 'select',\n },\n options: ['none', 'hover', 'always'],\n table: {\n defaultValue: { summary: 'none' },\n },\n },\n hoverColor: {\n description: '\u94FE\u63A5\u60AC\u6D6E\u6587\u5B57\u6837\u5F0F',\n control: {\n type: 'select',\n },\n options: ['none', 'hover'],\n table: {\n defaultValue: { summary: 'none' },\n },\n },\n onClick: {\n control: false,\n },\n suffixIcon: {\n control: false,\n },\n style: {\n control: false,\n },\n className: {\n control: false,\n },\n children: {\n control: false,\n },\n },\n args: {\n onClick: undefined,\n },\n} satisfies Meta<typeof Link>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {\n children: 'Link',\n },\n}\n\nexport const LinkSize = () => (\n <div className=\"inline-flex flex-col gap-4\">\n <div className=\"inline-flex gap-4\">\n <Link size=\"small\" hoverColor=\"hover\">\n Link\n </Link>\n <Link size=\"small\" underline=\"always\"
|
|
5
|
-
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,aAAAC,EAAA,aAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAN,GA8EI,IAAAO,EAAA,6BA7EJC,EAAiC,4BACjCC,EAAiB,oCAEjB,MAAMC,EAAO,CAEX,MAAO,kBACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,UACV,EAEA,KAAM,CAAC,UAAU,EAEjB,SAAU,CACR,KAAM,CACJ,YAAa,eACb,QAAS,CACP,KAAM,QACR,EACA,QAAS,CAAC,QAAS,SAAU,OAAO,EACpC,MAAO,CACL,aAAc,CAAE,QAAS,OAAQ,CACnC,CACF,EACA,UAAW,CACT,YAAa,6CACb,QAAS,CACP,KAAM,QACR,EACA,QAAS,CAAC,OAAQ,QAAS,QAAQ,EACnC,MAAO,CACL,aAAc,CAAE,QAAS,MAAO,CAClC,CACF,EACA,WAAY,CACV,YAAa,mDACb,QAAS,CACP,KAAM,QACR,EACA,QAAS,CAAC,OAAQ,OAAO,EACzB,MAAO,CACL,aAAc,CAAE,QAAS,MAAO,CAClC,CACF,EACA,QAAS,CACP,QAAS,EACX,EACA,WAAY,CACV,QAAS,EACX,EACA,MAAO,CACL,QAAS,EACX,EACA,UAAW,CACT,QAAS,EACX,EACA,SAAU,CACR,QAAS,EACX,CACF,EACA,KAAM,CACJ,QAAS,MACX,CACF,EAEA,IAAON,EAAQK,EAIR,MAAMR,EAAiB,CAC5B,KAAM,CACJ,SAAU,MACZ,CACF,EAEaE,EAAW,OACtB,QAAC,OAAI,UAAU,6BACb,qBAAC,OAAI,UAAU,oBACb,oBAAC,EAAAO,QAAA,CAAK,KAAK,QAAQ,WAAW,QAAQ,gBAEtC,KACA,OAAC,EAAAA,QAAA,CAAK,KAAK,QAAQ,UAAU,SAAS,
|
|
4
|
+
"sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport { ChevronRightIcon } from '@storybook/icons'\nimport Link from '../components/link.js'\n\nconst meta = {\n // \u540C\u65F6\u5B9A\u4E49\u4E86\u9875\u9762\u5DE6\u4FA7\u83DC\u5355\n title: 'Components/Link',\n component: Link,\n parameters: {\n layout: 'centered',\n },\n // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs\n tags: ['autodocs'],\n // More on argTypes: https://storybook.js.org/docs/api/argtypes\n argTypes: {\n size: {\n description: '\u5C3A\u5BF8',\n control: {\n type: 'select',\n },\n options: ['small', 'medium', 'large'],\n table: {\n defaultValue: { summary: 'small' },\n },\n },\n underline: {\n description: '\u94FE\u63A5\u4E0B\u5212\u7EBF\u5C55\u793A',\n control: {\n type: 'select',\n },\n options: ['none', 'hover', 'always'],\n table: {\n defaultValue: { summary: 'none' },\n },\n },\n hoverColor: {\n description: '\u94FE\u63A5\u60AC\u6D6E\u6587\u5B57\u6837\u5F0F',\n control: {\n type: 'select',\n },\n options: ['none', 'hover'],\n table: {\n defaultValue: { summary: 'none' },\n },\n },\n onClick: {\n control: false,\n },\n suffixIcon: {\n control: false,\n },\n style: {\n control: false,\n },\n className: {\n control: false,\n },\n children: {\n control: false,\n },\n },\n args: {\n onClick: undefined,\n },\n} satisfies Meta<typeof Link>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {\n children: 'Link',\n },\n}\n\nexport const LinkSize = () => (\n <div className=\"inline-flex flex-col gap-4\">\n <div className=\"inline-flex gap-4\">\n <Link size=\"small\" hoverColor=\"hover\">\n Link\n </Link>\n <Link size=\"small\" underline=\"always\" hoverColor=\"hover\">\n Link\n </Link>\n </div>\n <div className=\"inline-flex gap-4\">\n <Link size=\"medium\" hoverColor=\"hover\">\n Link\n </Link>\n <Link size=\"medium\" underline=\"always\" hoverColor=\"hover\">\n Link\n </Link>\n </div>\n <div className=\"inline-flex gap-4\">\n <Link size=\"large\" hoverColor=\"hover\">\n Link\n </Link>\n <Link size=\"large\" underline=\"always\" hoverColor=\"hover\">\n Link\n </Link>\n </div>\n </div>\n)\n\nexport const Disabled = () => (\n <div className=\"inline-flex flex-col gap-4\">\n <div className=\"inline-flex gap-4\">\n <Link size=\"small\" disabled>\n Link\n </Link>\n <Link size=\"small\" disabled underline=\"always\">\n Link\n </Link>\n </div>\n <div className=\"inline-flex gap-4\">\n <Link size=\"medium\" disabled>\n Link\n </Link>\n <Link size=\"medium\" disabled underline=\"always\">\n Link\n </Link>\n </div>\n <div className=\"inline-flex gap-4\">\n <Link size=\"large\" disabled>\n Link\n </Link>\n <Link size=\"large\" disabled underline=\"always\">\n Link\n </Link>\n </div>\n </div>\n)\n"],
|
|
5
|
+
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,aAAAC,EAAA,aAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAN,GA8EI,IAAAO,EAAA,6BA7EJC,EAAiC,4BACjCC,EAAiB,oCAEjB,MAAMC,EAAO,CAEX,MAAO,kBACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,UACV,EAEA,KAAM,CAAC,UAAU,EAEjB,SAAU,CACR,KAAM,CACJ,YAAa,eACb,QAAS,CACP,KAAM,QACR,EACA,QAAS,CAAC,QAAS,SAAU,OAAO,EACpC,MAAO,CACL,aAAc,CAAE,QAAS,OAAQ,CACnC,CACF,EACA,UAAW,CACT,YAAa,6CACb,QAAS,CACP,KAAM,QACR,EACA,QAAS,CAAC,OAAQ,QAAS,QAAQ,EACnC,MAAO,CACL,aAAc,CAAE,QAAS,MAAO,CAClC,CACF,EACA,WAAY,CACV,YAAa,mDACb,QAAS,CACP,KAAM,QACR,EACA,QAAS,CAAC,OAAQ,OAAO,EACzB,MAAO,CACL,aAAc,CAAE,QAAS,MAAO,CAClC,CACF,EACA,QAAS,CACP,QAAS,EACX,EACA,WAAY,CACV,QAAS,EACX,EACA,MAAO,CACL,QAAS,EACX,EACA,UAAW,CACT,QAAS,EACX,EACA,SAAU,CACR,QAAS,EACX,CACF,EACA,KAAM,CACJ,QAAS,MACX,CACF,EAEA,IAAON,EAAQK,EAIR,MAAMR,EAAiB,CAC5B,KAAM,CACJ,SAAU,MACZ,CACF,EAEaE,EAAW,OACtB,QAAC,OAAI,UAAU,6BACb,qBAAC,OAAI,UAAU,oBACb,oBAAC,EAAAO,QAAA,CAAK,KAAK,QAAQ,WAAW,QAAQ,gBAEtC,KACA,OAAC,EAAAA,QAAA,CAAK,KAAK,QAAQ,UAAU,SAAS,WAAW,QAAQ,gBAEzD,GACF,KACA,QAAC,OAAI,UAAU,oBACb,oBAAC,EAAAA,QAAA,CAAK,KAAK,SAAS,WAAW,QAAQ,gBAEvC,KACA,OAAC,EAAAA,QAAA,CAAK,KAAK,SAAS,UAAU,SAAS,WAAW,QAAQ,gBAE1D,GACF,KACA,QAAC,OAAI,UAAU,oBACb,oBAAC,EAAAA,QAAA,CAAK,KAAK,QAAQ,WAAW,QAAQ,gBAEtC,KACA,OAAC,EAAAA,QAAA,CAAK,KAAK,QAAQ,UAAU,SAAS,WAAW,QAAQ,gBAEzD,GACF,GACF,EAGWR,EAAW,OACtB,QAAC,OAAI,UAAU,6BACb,qBAAC,OAAI,UAAU,oBACb,oBAAC,EAAAQ,QAAA,CAAK,KAAK,QAAQ,SAAQ,GAAC,gBAE5B,KACA,OAAC,EAAAA,QAAA,CAAK,KAAK,QAAQ,SAAQ,GAAC,UAAU,SAAS,gBAE/C,GACF,KACA,QAAC,OAAI,UAAU,oBACb,oBAAC,EAAAA,QAAA,CAAK,KAAK,SAAS,SAAQ,GAAC,gBAE7B,KACA,OAAC,EAAAA,QAAA,CAAK,KAAK,SAAS,SAAQ,GAAC,UAAU,SAAS,gBAEhD,GACF,KACA,QAAC,OAAI,UAAU,oBACb,oBAAC,EAAAA,QAAA,CAAK,KAAK,QAAQ,SAAQ,GAAC,gBAE5B,KACA,OAAC,EAAAA,QAAA,CAAK,KAAK,QAAQ,SAAQ,GAAC,UAAU,SAAS,gBAE/C,GACF,GACF",
|
|
6
6
|
"names": ["link_stories_exports", "__export", "Default", "Disabled", "LinkSize", "link_stories_default", "__toCommonJS", "import_jsx_runtime", "import_icons", "import_link", "meta", "Link"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as
|
|
1
|
+
"use client";import{jsx as t,jsxs as o}from"react/jsx-runtime";import{useState as y,useRef as b}from"react";import{cn as p}from"../../helpers/utils.js";import{withStyles as h}from"../../shared/Styles.js";import x from"../../components/picture.js";import k from"../../components/button.js";import{convertLexicalToHTML as d}from"@payloadcms/richtext-lexical/html";import{Right as w}from"./right.js";const N=({className:u="",data:{title:a,videoTitle:l,btnText:r,img:c,video:m,theme:f,shape:g}})=>{const[s,i]=y(!1),e=b(null),n=typeof a=="string"?a:a&&d({data:a}),v=typeof l=="string"?l:l&&d({data:l});return o("div",{className:p(" relative w-full",u,{"aiui-dark":f==="dark","rounded-box":g==="rounded"}),children:[o("div",{className:"media-content absolute left-1/2 top-1/2 z-20 flex -translate-x-1/2 -translate-y-1/2 flex-col items-center gap-5",children:[t("div",{className:"lg-desktop:text-[64px] text-center text-[40px] font-bold text-white lg:text-5xl",dangerouslySetInnerHTML:{__html:!s&&n?n:v||""}}),!s&&r&&o(k,{variant:"link",className:p("member-equity-button-secondary"),onClick:()=>{s?(e.current&&e.current.pause(),i(!1)):(e.current&&e.current.play(),i(!0))},children:[r,t(w,{})]})]}),o("div",{className:"media-cover lg-desktop:aspect-w-[1920] lg-desktop:aspect-h-[930] lg:aspect-w-[1440] lg:aspect-h-[700] desktop:aspect-w-[1024] desktop:aspect-h-[520] tablet:aspect-w-[768] tablet:aspect-h-[660] aspect-w-[390] aspect-h-[660] relative overflow-hidden",children:[t("video",{ref:e,className:"size-full object-cover",src:m?.url,autoPlay:!0,muted:!0,loop:!0}),!s&&t(x,{className:"z-1 absolute left-0 top-0 size-full object-cover",source:c?.url,alt:c?.alt,imgClassName:"w-full h-full object-cover"}),t("div",{className:"absolute left-0 top-0 z-10 size-full",style:{background:"linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #1D1D1F 100%)"}})]})]})};var C=h(N);export{C as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/MediaPlayerBase/index.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\nimport React, { useState, useRef } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { convertLexicalToHTML } from '@payloadcms/richtext-lexical/html'\nimport type { MediaPlayerBaseProps } from './types.js'\nimport {
|
|
5
|
-
"mappings": "aA6BQ,cAAAA,EAKE,QAAAC,MALF,oBA5BR,OAAgB,YAAAC,EAAU,UAAAC,MAAc,QACxC,OAAS,MAAAC,MAAU,yBACnB,OAAS,cAAAC,MAAkB,yBAC3B,OAAOC,MAAa,8BACpB,OAAOC,MAAY,6BACnB,OAAS,wBAAAC,MAA4B,oCAErC,OAAS,
|
|
6
|
-
"names": ["jsx", "jsxs", "useState", "useRef", "cn", "withStyles", "Picture", "Button", "convertLexicalToHTML", "
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useState, useRef } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { convertLexicalToHTML } from '@payloadcms/richtext-lexical/html'\nimport type { MediaPlayerBaseProps } from './types.js'\nimport { Right } from './right.js'\n\nconst MediaPlayerBase: React.FC<MediaPlayerBaseProps> = ({\n className = '',\n data: { title, videoTitle, btnText, img, video, theme, shape },\n}) => {\n const [isPlaying, setIsPlaying] = useState(false)\n const videoRef = useRef<HTMLVideoElement>(null)\n\n const title_html = typeof title === 'string' ? title : title && convertLexicalToHTML({ data: title })\n const videoTitle_html =\n typeof videoTitle === 'string' ? videoTitle : videoTitle && convertLexicalToHTML({ data: videoTitle })\n\n return (\n <div\n className={cn(' relative w-full', className, {\n 'aiui-dark': theme === 'dark',\n 'rounded-box': shape === 'rounded',\n })}\n >\n <div className=\"media-content absolute left-1/2 top-1/2 z-20 flex -translate-x-1/2 -translate-y-1/2 flex-col items-center gap-5\">\n <div\n className=\"lg-desktop:text-[64px] text-center text-[40px] font-bold text-white lg:text-5xl\"\n dangerouslySetInnerHTML={{ __html: !isPlaying && title_html ? title_html : videoTitle_html || '' }}\n />\n {!isPlaying && btnText && (\n <Button\n variant=\"link\"\n className={cn('member-equity-button-secondary')}\n onClick={() => {\n if (isPlaying) {\n if (videoRef.current) {\n videoRef.current.pause()\n }\n setIsPlaying(false)\n } else {\n if (videoRef.current) {\n videoRef.current.play()\n }\n setIsPlaying(true)\n }\n }}\n >\n {btnText}\n <Right />\n </Button>\n )}\n </div>\n <div className=\"media-cover lg-desktop:aspect-w-[1920] lg-desktop:aspect-h-[930] lg:aspect-w-[1440] lg:aspect-h-[700] desktop:aspect-w-[1024] desktop:aspect-h-[520] tablet:aspect-w-[768] tablet:aspect-h-[660] aspect-w-[390] aspect-h-[660] relative overflow-hidden\">\n <video ref={videoRef} className=\"size-full object-cover\" src={video?.url} autoPlay muted loop />\n {!isPlaying && (\n <Picture\n className=\"z-1 absolute left-0 top-0 size-full object-cover\"\n source={img?.url}\n alt={img?.alt}\n imgClassName=\"w-full h-full object-cover\"\n />\n )}\n <div\n className=\"absolute left-0 top-0 z-10 size-full\"\n style={{\n background: 'linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #1D1D1F 100%)',\n }}\n />\n </div>\n </div>\n )\n}\n\nexport default withStyles(MediaPlayerBase)\n"],
|
|
5
|
+
"mappings": "aA6BQ,cAAAA,EAKE,QAAAC,MALF,oBA5BR,OAAgB,YAAAC,EAAU,UAAAC,MAAc,QACxC,OAAS,MAAAC,MAAU,yBACnB,OAAS,cAAAC,MAAkB,yBAC3B,OAAOC,MAAa,8BACpB,OAAOC,MAAY,6BACnB,OAAS,wBAAAC,MAA4B,oCAErC,OAAS,SAAAC,MAAa,aAEtB,MAAMC,EAAkD,CAAC,CACvD,UAAAC,EAAY,GACZ,KAAM,CAAE,MAAAC,EAAO,WAAAC,EAAY,QAAAC,EAAS,IAAAC,EAAK,MAAAC,EAAO,MAAAC,EAAO,MAAAC,CAAM,CAC/D,IAAM,CACJ,KAAM,CAACC,EAAWC,CAAY,EAAIlB,EAAS,EAAK,EAC1CmB,EAAWlB,EAAyB,IAAI,EAExCmB,EAAa,OAAOV,GAAU,SAAWA,EAAQA,GAASJ,EAAqB,CAAE,KAAMI,CAAM,CAAC,EAC9FW,EACJ,OAAOV,GAAe,SAAWA,EAAaA,GAAcL,EAAqB,CAAE,KAAMK,CAAW,CAAC,EAEvG,OACEZ,EAAC,OACC,UAAWG,EAAG,mBAAoBO,EAAW,CAC3C,YAAaM,IAAU,OACvB,cAAeC,IAAU,SAC3B,CAAC,EAED,UAAAjB,EAAC,OAAI,UAAU,kHACb,UAAAD,EAAC,OACC,UAAU,kFACV,wBAAyB,CAAE,OAAQ,CAACmB,GAAaG,EAAaA,EAAaC,GAAmB,EAAG,EACnG,EACC,CAACJ,GAAaL,GACbb,EAACM,EAAA,CACC,QAAQ,OACR,UAAWH,EAAG,gCAAgC,EAC9C,QAAS,IAAM,CACTe,GACEE,EAAS,SACXA,EAAS,QAAQ,MAAM,EAEzBD,EAAa,EAAK,IAEdC,EAAS,SACXA,EAAS,QAAQ,KAAK,EAExBD,EAAa,EAAI,EAErB,EAEC,UAAAN,EACDd,EAACS,EAAA,EAAM,GACT,GAEJ,EACAR,EAAC,OAAI,UAAU,0PACb,UAAAD,EAAC,SAAM,IAAKqB,EAAU,UAAU,yBAAyB,IAAKL,GAAO,IAAK,SAAQ,GAAC,MAAK,GAAC,KAAI,GAAC,EAC7F,CAACG,GACAnB,EAACM,EAAA,CACC,UAAU,mDACV,OAAQS,GAAK,IACb,IAAKA,GAAK,IACV,aAAa,6BACf,EAEFf,EAAC,OACC,UAAU,uCACV,MAAO,CACL,WAAY,+DACd,EACF,GACF,GACF,CAEJ,EAEA,IAAOwB,EAAQnB,EAAWK,CAAe",
|
|
6
|
+
"names": ["jsx", "jsxs", "useState", "useRef", "cn", "withStyles", "Picture", "Button", "convertLexicalToHTML", "Right", "MediaPlayerBase", "className", "title", "videoTitle", "btnText", "img", "video", "theme", "shape", "isPlaying", "setIsPlaying", "videoRef", "title_html", "videoTitle_html", "MediaPlayerBase_default"]
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Right: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";const t=()=>o("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:o("path",{d:"M6.75 4.5L11.25 9L6.75 13.5",stroke:"white",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});export{t as Right};
|
|
2
|
+
//# sourceMappingURL=right.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/MediaPlayerBase/right.tsx"],
|
|
4
|
+
"sourcesContent": ["export const Right = () => (\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M6.75 4.5L11.25 9L6.75 13.5\"\n stroke=\"white\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n)\n"],
|
|
5
|
+
"mappings": "AAEI,cAAAA,MAAA,oBAFG,MAAMC,EAAQ,IACnBD,EAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAChE,SAAAA,EAAC,QACC,EAAE,8BACF,OAAO,QACP,YAAY,MACZ,cAAc,QACd,eAAe,QACjB,EACF",
|
|
6
|
+
"names": ["jsx", "Right"]
|
|
7
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
"use client";import{jsx as t,jsxs as
|
|
2
|
-
laptop:text-sm desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border
|
|
1
|
+
"use client";import{jsx as t,jsxs as d}from"react/jsx-runtime";import{useState as k,useEffect as F}from"react";import{cn as p}from"../../helpers/utils.js";import C from"../../components/picture.js";import{Tabs as P,TabsList as I,TabsTrigger as A}from"../../components/tabs.js";import D from"../../components/button.js";import E from"../Title/index.js";import V from"../SwiperBox/index.js";import{withStyles as q}from"../../shared/Styles.js";import{formatVariantPrice as $}from"./shelfDisplay.js";const M=({data:e,configuration:r})=>{const c=a=>r?.event?.primaryButton?.(a),m=a=>r?.event?.secondaryButton?.(a),{price:u,basePrice:b}=$({locale:"us",amount:e?.price.amount||0,baseAmount:e?.compareAtPrice?.amount||e?.price.amount||0,currencyCode:e?.price.currencyCode||"USD"}),x=()=>{const a=e?.sku,o=e?.variants;return o?.find(l=>l?.sku===a)?.image?.url||o?.[0]?.image?.url||""};return d("div",{className:p("laptop:pt-4 laptop:px-6 laptop:pb-6 flex size-full cursor-pointer flex-col overflow-hidden bg-[#EAEAEC] p-4 duration-300 hover:bg-[#FFFFFF]",r?.itemShape==="round"?"rounded-2xl":"rounded-none"),children:[t("div",{className:p("lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] overflow-hidden"),children:t(C,{source:x(),className:"flex h-full justify-center object-cover [&_img]:w-auto"})}),t("div",{className:"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden",children:e?.tags?.slice(0,1)?.map?.((a,o)=>t("div",{className:"tablet:text-base box-border h-full rounded-2xl border-2 border-[#86868C] px-2 pt-1 text-sm font-bold text-[#1D1D1F]",children:a},o))}),t("p",{title:e?.title||"",className:"desktop:text-2xl desktop:leading-7 line-clamp-2 max-h-[48px] flex-1 text-xl font-bold text-[#1D1D1F]",children:e?.title||""}),t("h3",{title:e?.description||"",className:"tablet:mt-2 tablet:mb-3 desktop:text-lg mb-2 mt-1 h-6 truncate text-sm font-semibold text-[#1D1D1F]",children:e?.description||""}),d("div",{className:"mb-2 flex items-center",children:[t("div",{className:"tablet:text-2xl text-xl font-bold text-[#1D1D1F]",children:u||""}),t("div",{className:"tablet:text-2xl ml-1 text-xl font-bold text-[#86868C]",children:b||""})]}),d("div",{className:p("flex items-center gap-3",r.direction==="vertical"?"flex-col":""),children:[t(D,{variant:"primary",onClick:()=>c(e),className:`
|
|
2
|
+
laptop:text-sm jus desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border
|
|
3
3
|
border-[#1D1D1F] bg-transparent px-4 py-2 text-xs text-[#1D1D1F] hover:bg-transparent hover:text-black
|
|
4
|
-
${
|
|
5
|
-
|
|
4
|
+
${r?.shape==="round"?"desktop:rounded-3xl rounded-[20px]":""}
|
|
5
|
+
${r.direction==="vertical"?"w-full":""}
|
|
6
|
+
`,children:r?.primaryButton||""}),t(D,{variant:"secondary",onClick:()=>m(e),className:`
|
|
6
7
|
laptop:text-sm desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border
|
|
7
8
|
border-[#1D1D1F] bg-[#1D1D1F] px-4 py-2 text-xs tracking-[-0.04em] text-white
|
|
8
|
-
${
|
|
9
|
-
|
|
9
|
+
${r?.shape==="round"?"desktop:rounded-3xl rounded-[20px]":""}
|
|
10
|
+
${r.direction==="vertical"?"w-full":""}
|
|
11
|
+
`,children:r?.secondaryButton||""})]})]},e?.id||e?.handle)},j=({data:e,buildData:r,className:c="",key:m,event:u,GSAP:b})=>{const[x,a]=k(""),[o,y]=k([]),{productsTab:l=[],productsCard:S=[],title:h,align:w="left",isShowTab:v=!0,tabShape:T="square",...B}=e,f=s=>{const i=s?.map(n=>{const g=r?.products?.find(N=>N?.handle===n?.handle);if(g)return{sku:n.sku,...g}})?.filter(n=>n);y(i)};return F(()=>{if(v){a(l?.[0]?.tab||""),f(l?.[0]?.data||[]);return}f(S)},[]),d("div",{className:p("w-full",c),children:[h&&t(E,{data:{title:h},GSAP:b}),v&&t(P,{shape:T,align:w,value:x,onValueChange:s=>{a(s);const i=l?.find(n=>n?.tab===s);f(i?.data||[])},className:"mb-8",children:t(I,{children:l?.map((s,i)=>t(A,{value:s?.tab||"",children:s?.tab},i))})}),t(V,{className:"!overflow-visible",id:"ShelfDisplay"+m,data:{list:o,configuration:{...B,event:u}},Slide:M,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.1},768:{spaceBetween:16,freeMode:!1,slidesPerView:4}}})]})};var Q=q(j);export{Q as default};
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/biz-components/ShelfDisplay/index.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client'\nimport React, { useState, useEffect } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { Tabs, TabsList, TabsTrigger } from '../../components/tabs.js'\nimport Button from '../../components/button.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { formatVariantPrice } from './shelfDisplay.js'\nexport interface ShelfDisplayItem {\n id?: string\n /** \u4EA7\u54C1\u56FE\u7247*/\n img?: {\n url: string\n }\n handle?: string\n sku?: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price?: string\n title?: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice?: string\n subTitle?: string\n /** \u6807\u7B7E*/\n tagItems?: string[]\n tab?: string\n data?: ShelfDisplayItem[]\n}\n\ntype EventType = {\n primaryButton?: (v: any) => void\n secondaryButton?: (v: any) => void\n}\n\nexport interface ShelfDisplayProps {\n data: {\n title?: string\n isShowTab?: boolean\n align?: 'left' | 'center' | 'right'\n productsTab?: any\n productsCard?: any\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n }\n buildData?: {\n categories: any[]\n products: any[]\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n className?: string\n key?: string\n GSAP?: any\n}\n\nconst ShelfDisplayItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const onPrimaryButton = (params: ShelfDisplayItem) => configuration?.event?.primaryButton?.(params)\n\n const onSecondaryButton = (params: ShelfDisplayItem) => configuration?.event?.secondaryButton?.(params)\n\n const { price, basePrice } = formatVariantPrice({\n locale: 'us',\n amount: data?.price.amount || 0,\n baseAmount: data?.compareAtPrice?.amount || data?.price.amount || 0,\n currencyCode: data?.price.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n 'laptop:pt-4 laptop:px-6 laptop:pb-6 flex size-full cursor-pointer flex-col overflow-hidden bg-[#EAEAEC] p-4 duration-300 hover:bg-[#FFFFFF]',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] overflow-hidden')}>\n <Picture source={handleUrl()} className=\"flex h-full justify-center object-cover [&_img]:w-auto\" />\n </div>\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {data?.tags?.slice(0, 1)?.map?.((item: any, index: number) => {\n return (\n <div\n key={index}\n className=\"tablet:text-base box-border h-full rounded-2xl border-2 border-[#86868C] px-2 pt-1 text-sm font-bold text-[#1D1D1F]\"\n >\n {item}\n </div>\n )\n })}\n </div>\n <p\n title={data?.title || ''}\n className=\"desktop:text-2xl desktop:leading-7 line-clamp-2 max-h-[48px] flex-1 text-xl font-bold text-[#1D1D1F]\"\n >\n {data?.title || ''}\n </p>\n <h3\n title={data?.description || ''}\n className=\"tablet:mt-2 tablet:mb-3 desktop:text-lg mb-2 mt-1 h-6 truncate text-sm font-semibold text-[#1D1D1F]\"\n >\n {data?.description || ''}\n </h3>\n <div className=\"mb-2 flex items-center\">\n <div className=\"tablet:text-2xl text-xl font-bold text-[#1D1D1F]\">{price || ''}</div>\n <div className=\"tablet:text-2xl ml-1 text-xl font-bold text-[#86868C]\">{basePrice || ''}</div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div className
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["'use client'\nimport React, { useState, useEffect } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { Tabs, TabsList, TabsTrigger } from '../../components/tabs.js'\nimport Button from '../../components/button.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { formatVariantPrice } from './shelfDisplay.js'\nexport interface ShelfDisplayItem {\n id?: string\n /** \u4EA7\u54C1\u56FE\u7247*/\n img?: {\n url: string\n }\n handle?: string\n sku?: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price?: string\n title?: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice?: string\n subTitle?: string\n /** \u6807\u7B7E*/\n tagItems?: string[]\n tab?: string\n data?: ShelfDisplayItem[]\n}\n\ntype EventType = {\n primaryButton?: (v: any) => void\n secondaryButton?: (v: any) => void\n}\n\nexport interface ShelfDisplayProps {\n data: {\n title?: string\n isShowTab?: boolean\n direction?: 'horizontal' | 'vertical'\n align?: 'left' | 'center' | 'right'\n productsTab?: any\n productsCard?: any\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n }\n buildData?: {\n categories: any[]\n products: any[]\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n className?: string\n key?: string\n GSAP?: any\n}\n\nconst ShelfDisplayItem = ({ data, configuration }: { data: any; configuration?: any }) => {\n const onPrimaryButton = (params: ShelfDisplayItem) => configuration?.event?.primaryButton?.(params)\n\n const onSecondaryButton = (params: ShelfDisplayItem) => configuration?.event?.secondaryButton?.(params)\n\n const { price, basePrice } = formatVariantPrice({\n locale: 'us',\n amount: data?.price.amount || 0,\n baseAmount: data?.compareAtPrice?.amount || data?.price.amount || 0,\n currencyCode: data?.price.currencyCode || 'USD',\n })\n\n const handleUrl = () => {\n const sku = data?.sku\n const skuArray = data?.variants\n const findSku = skuArray?.find((item: any) => item?.sku === sku)\n return findSku?.image?.url || skuArray?.[0]?.image?.url || ''\n }\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n 'laptop:pt-4 laptop:px-6 laptop:pb-6 flex size-full cursor-pointer flex-col overflow-hidden bg-[#EAEAEC] p-4 duration-300 hover:bg-[#FFFFFF]',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('lg-desktop:mb-3 lg-desktop:h-[195px] relative mb-2 inline-block h-[140px] overflow-hidden')}>\n <Picture source={handleUrl()} className=\"flex h-full justify-center object-cover [&_img]:w-auto\" />\n </div>\n <div className=\"mb-1 box-border flex h-8 flex-wrap gap-1 overflow-hidden\">\n {data?.tags?.slice(0, 1)?.map?.((item: any, index: number) => {\n return (\n <div\n key={index}\n className=\"tablet:text-base box-border h-full rounded-2xl border-2 border-[#86868C] px-2 pt-1 text-sm font-bold text-[#1D1D1F]\"\n >\n {item}\n </div>\n )\n })}\n </div>\n <p\n title={data?.title || ''}\n className=\"desktop:text-2xl desktop:leading-7 line-clamp-2 max-h-[48px] flex-1 text-xl font-bold text-[#1D1D1F]\"\n >\n {data?.title || ''}\n </p>\n <h3\n title={data?.description || ''}\n className=\"tablet:mt-2 tablet:mb-3 desktop:text-lg mb-2 mt-1 h-6 truncate text-sm font-semibold text-[#1D1D1F]\"\n >\n {data?.description || ''}\n </h3>\n <div className=\"mb-2 flex items-center\">\n <div className=\"tablet:text-2xl text-xl font-bold text-[#1D1D1F]\">{price || ''}</div>\n <div className=\"tablet:text-2xl ml-1 text-xl font-bold text-[#86868C]\">{basePrice || ''}</div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div className={cn('flex items-center gap-3', configuration.direction === 'vertical' ? 'flex-col' : '')}>\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(data)}\n className={`\n laptop:text-sm jus desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border\n border-[#1D1D1F] bg-transparent px-4 py-2 text-xs text-[#1D1D1F] hover:bg-transparent hover:text-black\n ${configuration?.shape === 'round' ? 'desktop:rounded-3xl rounded-[20px]' : ''}\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.primaryButton || ''}\n </Button>\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(data)}\n className={`\n laptop:text-sm desktop:text-base laptop:px-6 desktop:px-7 laptop:py-2.5 desktop:py-3 box-border flex-1 border\n border-[#1D1D1F] bg-[#1D1D1F] px-4 py-2 text-xs tracking-[-0.04em] text-white\n ${configuration?.shape === 'round' ? 'desktop:rounded-3xl rounded-[20px]' : ''}\n ${configuration.direction === 'vertical' ? 'w-full' : ''}\n `}\n >\n {configuration?.secondaryButton || ''}\n </Button>\n </div>\n </div>\n )\n}\n\nconst ShelfDisplay: React.FC<ShelfDisplayProps> = ({ data, buildData, className = '', key, event, GSAP }) => {\n const [tabId, setTabId] = useState<string>('')\n const [currentItems, setCurrentItems] = useState<ShelfDisplayItem[]>([])\n\n const {\n productsTab = [],\n productsCard = [],\n title,\n align = 'left',\n isShowTab = true,\n tabShape = 'square',\n ...other\n } = data\n\n const handleCurrentTab = (currentData: ShelfDisplayItem[]) => {\n const newCurrentData = currentData\n ?.map(item => {\n const findData = buildData?.products?.find(params => params?.handle === item?.handle)\n if (findData) {\n return {\n sku: item.sku,\n ...findData,\n }\n }\n })\n ?.filter(item => item)\n setCurrentItems(newCurrentData)\n }\n\n useEffect(() => {\n if (isShowTab) {\n setTabId(productsTab?.[0]?.tab || '')\n handleCurrentTab(productsTab?.[0]?.data || [])\n return\n }\n handleCurrentTab(productsCard)\n }, [])\n\n return (\n <div className={cn('w-full', className)}>\n {title && <Title data={{ title: title }} GSAP={GSAP} />}\n {isShowTab && (\n <Tabs\n shape={tabShape}\n align={align}\n value={tabId}\n onValueChange={v => {\n setTabId(v)\n const findData = productsTab?.find((item: any) => item?.tab === v)\n handleCurrentTab(findData?.data || [])\n }}\n className=\"mb-8\"\n >\n <TabsList>\n {productsTab?.map((item: any, index: number) => {\n return (\n <TabsTrigger key={index} value={item?.tab || ''}>\n {item?.tab}\n </TabsTrigger>\n )\n })}\n </TabsList>\n </Tabs>\n )}\n <SwiperBox\n className=\"!overflow-visible\"\n id={'ShelfDisplay' + key}\n data={{ list: currentItems, configuration: { ...other, event: event } }}\n Slide={ShelfDisplayItem}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.1,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n )\n}\n\nexport default withStyles(ShelfDisplay)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["jsx", "jsxs", "useState", "useEffect", "cn", "Picture", "Tabs", "TabsList", "TabsTrigger", "Button", "Title", "SwiperBox", "withStyles", "formatVariantPrice", "ShelfDisplayItem", "data", "configuration", "onPrimaryButton", "params", "onSecondaryButton", "price", "basePrice", "handleUrl", "sku", "skuArray", "item", "index", "ShelfDisplay", "buildData", "className", "key", "event", "GSAP", "tabId", "setTabId", "currentItems", "setCurrentItems", "productsTab", "productsCard", "title", "align", "isShowTab", "tabShape", "other", "handleCurrentTab", "currentData", "newCurrentData", "findData", "v", "ShelfDisplay_default"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Fragment as
|
|
1
|
+
import{Fragment as x,jsx as s,jsxs as R}from"react/jsx-runtime";import h from"react";import{Slot as y}from"@radix-ui/react-slot";import{cn as C}from"../helpers/index.js";import{cva as v}from"class-variance-authority";const P=v("tracking transition-colors",{variants:{size:{small:"text-xs",medium:"text-sm",large:"text-base"},underline:{none:"no-underline",hover:"hover:underline",always:"underline"},hoverColor:{none:"text-current",hover:"hover:text-brand-0"}}}),a=h.forwardRef(({children:i,size:p="small",hoverColor:l,className:m,asChild:c=!1,href:o,style:t,underline:f,disabled:e=!1,suffixIcon:n,onClick:u,...k},d)=>s(c?y:"a",{ref:d,onClick:r=>{if(!e&&u?.(r),e||!o){r.preventDefault();return}},href:e?void 0:o,className:C(P({size:p,underline:f,hoverColor:l}),"text-info-primary",m,{"flex items-center":n,"cursor-pointer":!e,"text-info-quaternary cursor-not-allowed":e}),...t?{style:t}:null,...k,children:R(x,{children:[i,s("span",{className:"svg",children:n})]})}));a.displayName="Link";var S=a;export{S as default};
|
|
2
2
|
//# sourceMappingURL=link.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/link.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\nimport type { ReactNode } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '../helpers/index.js'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'\n\n// \u5B9A\u4E49 link \u7684\u6837\u5F0F\u53D8\u4F53\nconst linkVariants = cva('tracking transition-colors', {\n variants: {\n size: {\n small: 'text-xs', // \u5C0F\n medium: 'text-sm', // \u4E2D\n large: 'text-base', // \u5927\n },\n underline: {\n none: 'no-underline', // \u4E0D\u5C55\u793A\n hover: 'hover:underline', // hover\u5C55\u793A\u4E0B\u5212\u7EBF\n always: 'underline', // \u6C38\u4E45\u5C55\u793A\n },\n hoverColor: {\n none: 'text-current', // \u9F20\u6807\u8FDB\u5165\u65E0\u53D8\u5316\n hover: 'hover:text-brand-0', // \u9F20\u6807\u8FDB\u5165\u6539\u53D8\u5B57\u4F53\u989C\u8272\n },\n },\n})\n// \u5B9A\u4E49\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u7EE7\u627F a \u6807\u7B7E\u6807\u51C6\u5C5E\u6027\ntype LinkElement = React.ElementRef<'a'>\ntype LinkProps = {\n /** \u5B9A\u4E49\u5B50\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B,\u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n /** \u7C7B\u540D*/\n className?: string\n /** \u7981\u7528\u94FE\u63A5 */\n disabled?: boolean\n /** \u540E\u7F6E\u56FE\u6807*/\n suffixIcon?: ReactNode\n /** \u8DF3\u8F6C\u94FE\u63A5*/\n href?: string\n /** \u6837\u5F0F*/\n style?: React.CSSProperties\n /** \u70B9\u51FB\u4E8B\u4EF6\uFF0C\u7981\u7528\u72B6\u6001\u65E0\u6CD5\u89E6\u53D1*/\n onClick?: Function\n} & VariantProps<typeof linkVariants> &\n ComponentPropsWithout<'a', RemovedProps>\n\nconst Link = React.forwardRef<LinkElement, LinkProps>(\n (\n {\n children,\n size = 'small',\n hoverColor,\n className,\n asChild = false,\n href,\n style,\n underline,\n disabled = false,\n suffixIcon,\n onClick,\n ...props // \u8FD9\u91CC\u4F1A\u5305\u542B href\u3001target\u3001rel \u7B49\u6807\u51C6 anchor \u5C5E\u6027\n }: LinkProps,\n forwardedRef\n ) => {\n const Comp = asChild ? Slot : 'a'\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n !disabled && onClick?.(event)\n if (disabled || !href) {\n event.preventDefault()\n return\n }\n }\n\n return (\n <Comp\n ref={forwardedRef}\n onClick={handleClick}\n href={disabled ? undefined : href}\n className={cn(linkVariants({ size, underline, hoverColor }), className, {\n 'flex items-center': suffixIcon,\n 'cursor-pointer': !disabled,\n 'text-info-quaternary cursor-not-allowed': disabled,\n })}\n {...(style ? { style: style } : null)}\n {...props}\n >\n <>\n {children}\n <span className=\"svg\">{suffixIcon}</span>\n </>\n </Comp>\n )\n }\n)\nLink.displayName = 'Link'\n\nexport default Link\nexport type { LinkProps }\n"],
|
|
5
|
-
"mappings": "AAuFQ,mBAAAA,EAEE,OAAAC,EAFF,QAAAC,MAAA,oBAvFR,OAAOC,MAAW,QAElB,OAAS,QAAAC,MAAY,uBACrB,OAAS,MAAAC,MAAU,sBACnB,OAA4B,OAAAC,MAAW,2BAIvC,MAAMC,EAAeD,EAAI,6BAA8B,CACrD,SAAU,CACR,KAAM,CACJ,MAAO,UACP,OAAQ,UACR,MAAO,WACT,EACA,UAAW,CACT,KAAM,eACN,MAAO,kBACP,OAAQ,WACV,EACA,WAAY,CACV,KAAM,eACN,MAAO,oBACT,CACF,CACF,CAAC,EAqBKE,EAAOL,EAAM,WACjB,CACE,CACE,SAAAM,EACA,KAAAC,EAAO,QACP,WAAAC,EACA,UAAAC,EACA,QAAAC,EAAU,GACV,KAAAC,EACA,MAAAC,EACA,UAAAC,EACA,SAAAC,EAAW,GACX,WAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EACAC,IAaEpB,EAXWY,EAAUT,EAAO,IAW3B,CACC,IAAKiB,EACL,QAXiBC,GAA+C,CAElE,GADA,CAACL,GAAYE,IAAUG,CAAK,EACxBL,GAAY,CAACH,EAAM,CACrBQ,EAAM,eAAe,EACrB,MACF,CACF,EAMI,KAAML,EAAW,OAAYH,EAC7B,UAAWT,EAAGE,EAAa,CAAE,KAAAG,EAAM,UAAAM,EAAW,WAAAL,CAAW,CAAC,
|
|
4
|
+
"sourcesContent": ["import React from 'react'\nimport type { ReactNode } from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '../helpers/index.js'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js'\n\n// \u5B9A\u4E49 link \u7684\u6837\u5F0F\u53D8\u4F53\nconst linkVariants = cva('tracking transition-colors', {\n variants: {\n size: {\n small: 'text-xs', // \u5C0F\n medium: 'text-sm', // \u4E2D\n large: 'text-base', // \u5927\n },\n underline: {\n none: 'no-underline', // \u4E0D\u5C55\u793A\n hover: 'hover:underline', // hover\u5C55\u793A\u4E0B\u5212\u7EBF\n always: 'underline', // \u6C38\u4E45\u5C55\u793A\n },\n hoverColor: {\n none: 'text-current', // \u9F20\u6807\u8FDB\u5165\u65E0\u53D8\u5316\n hover: 'hover:text-brand-0', // \u9F20\u6807\u8FDB\u5165\u6539\u53D8\u5B57\u4F53\u989C\u8272\n },\n },\n})\n// \u5B9A\u4E49\u7EC4\u4EF6\u7C7B\u578B\uFF0C\u7EE7\u627F a \u6807\u7B7E\u6807\u51C6\u5C5E\u6027\ntype LinkElement = React.ElementRef<'a'>\ntype LinkProps = {\n /** \u5B9A\u4E49\u5B50\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B,\u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n /** \u7C7B\u540D*/\n className?: string\n /** \u7981\u7528\u94FE\u63A5 */\n disabled?: boolean\n /** \u540E\u7F6E\u56FE\u6807*/\n suffixIcon?: ReactNode\n /** \u8DF3\u8F6C\u94FE\u63A5*/\n href?: string\n /** \u6837\u5F0F*/\n style?: React.CSSProperties\n /** \u70B9\u51FB\u4E8B\u4EF6\uFF0C\u7981\u7528\u72B6\u6001\u65E0\u6CD5\u89E6\u53D1*/\n onClick?: Function\n} & VariantProps<typeof linkVariants> &\n ComponentPropsWithout<'a', RemovedProps>\n\nconst Link = React.forwardRef<LinkElement, LinkProps>(\n (\n {\n children,\n size = 'small',\n hoverColor,\n className,\n asChild = false,\n href,\n style,\n underline,\n disabled = false,\n suffixIcon,\n onClick,\n ...props // \u8FD9\u91CC\u4F1A\u5305\u542B href\u3001target\u3001rel \u7B49\u6807\u51C6 anchor \u5C5E\u6027\n }: LinkProps,\n forwardedRef\n ) => {\n const Comp = asChild ? Slot : 'a'\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n !disabled && onClick?.(event)\n if (disabled || !href) {\n event.preventDefault()\n return\n }\n }\n\n return (\n <Comp\n ref={forwardedRef}\n onClick={handleClick}\n href={disabled ? undefined : href}\n className={cn(linkVariants({ size, underline, hoverColor }), 'text-info-primary', className, {\n 'flex items-center': suffixIcon,\n 'cursor-pointer': !disabled,\n 'text-info-quaternary cursor-not-allowed': disabled,\n })}\n {...(style ? { style: style } : null)}\n {...props}\n >\n <>\n {children}\n <span className=\"svg\">{suffixIcon}</span>\n </>\n </Comp>\n )\n }\n)\nLink.displayName = 'Link'\n\nexport default Link\nexport type { LinkProps }\n"],
|
|
5
|
+
"mappings": "AAuFQ,mBAAAA,EAEE,OAAAC,EAFF,QAAAC,MAAA,oBAvFR,OAAOC,MAAW,QAElB,OAAS,QAAAC,MAAY,uBACrB,OAAS,MAAAC,MAAU,sBACnB,OAA4B,OAAAC,MAAW,2BAIvC,MAAMC,EAAeD,EAAI,6BAA8B,CACrD,SAAU,CACR,KAAM,CACJ,MAAO,UACP,OAAQ,UACR,MAAO,WACT,EACA,UAAW,CACT,KAAM,eACN,MAAO,kBACP,OAAQ,WACV,EACA,WAAY,CACV,KAAM,eACN,MAAO,oBACT,CACF,CACF,CAAC,EAqBKE,EAAOL,EAAM,WACjB,CACE,CACE,SAAAM,EACA,KAAAC,EAAO,QACP,WAAAC,EACA,UAAAC,EACA,QAAAC,EAAU,GACV,KAAAC,EACA,MAAAC,EACA,UAAAC,EACA,SAAAC,EAAW,GACX,WAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EACAC,IAaEpB,EAXWY,EAAUT,EAAO,IAW3B,CACC,IAAKiB,EACL,QAXiBC,GAA+C,CAElE,GADA,CAACL,GAAYE,IAAUG,CAAK,EACxBL,GAAY,CAACH,EAAM,CACrBQ,EAAM,eAAe,EACrB,MACF,CACF,EAMI,KAAML,EAAW,OAAYH,EAC7B,UAAWT,EAAGE,EAAa,CAAE,KAAAG,EAAM,UAAAM,EAAW,WAAAL,CAAW,CAAC,EAAG,oBAAqBC,EAAW,CAC3F,oBAAqBM,EACrB,iBAAkB,CAACD,EACnB,0CAA2CA,CAC7C,CAAC,EACA,GAAIF,EAAQ,CAAE,MAAOA,CAAM,EAAI,KAC/B,GAAGK,EAEJ,SAAAlB,EAAAF,EAAA,CACG,UAAAS,EACDR,EAAC,QAAK,UAAU,MAAO,SAAAiB,EAAW,GACpC,EACF,CAGN,EACAV,EAAK,YAAc,OAEnB,IAAOe,EAAQf",
|
|
6
6
|
"names": ["Fragment", "jsx", "jsxs", "React", "Slot", "cn", "cva", "linkVariants", "Link", "children", "size", "hoverColor", "className", "asChild", "href", "style", "underline", "disabled", "suffixIcon", "onClick", "props", "forwardedRef", "event", "link_default"]
|
|
7
7
|
}
|
|
@@ -36,5 +36,4 @@ declare const meta: {
|
|
|
36
36
|
export default meta;
|
|
37
37
|
export declare const Default: () => import("react/jsx-runtime").JSX.Element;
|
|
38
38
|
export declare const AvatarType: () => import("react/jsx-runtime").JSX.Element;
|
|
39
|
-
export declare const AvatarTextAdaptation: () => import("react/jsx-runtime").JSX.Element;
|
|
40
39
|
export declare const AvatarSize: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as a,jsxs as e}from"react/jsx-runtime";import{UserIcon as
|
|
1
|
+
import{jsx as a,jsxs as e}from"react/jsx-runtime";import{UserIcon as o}from"@storybook/icons";import{Avatar as t,AvatarImage as r,AvatarFallback as s}from"../components/index.js";const i={title:"Components/Avatar",component:t,tags:["autodocs"],subcomponents:{AvatarImage:r,AvatarFallback:s},parameters:{layout:"centered",docs:{description:{component:"avatar\u7EC4\u4EF6,\u57FA\u4E8E@radix-ui/react-avatar,https://www.radix-ui.com/primitives/docs/components/avatar"}}},argTypes:{size:{description:"\u5C3A\u5BF8",table:{defaultValue:{summary:"small"}}}}};var m=i;const p=()=>e(t,{size:"large",children:[a(r,{src:"https://github.com/shadcn.png",alt:"@shadcn"}),a(s,{children:"Za"})]}),n=()=>e("div",{className:"flex items-center gap-4",children:[e(t,{size:"large",children:[a(r,{src:"https://github.com/shadcn.png",alt:"@shadcn"}),a(s,{children:"CN"})]}),a(t,{size:"large",children:a(o,{className:"size-6"})}),a(t,{size:"large",children:"Za"})]}),v=()=>e("div",{className:"flex items-center gap-4",children:[a(t,{children:"Za"}),a(t,{size:"medium",children:"Za"}),a(t,{size:"large",children:"Za"})]});export{v as AvatarSize,n as AvatarType,p as Default,m as default};
|
|
2
2
|
//# sourceMappingURL=avatar.stories.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/stories/avatar.stories.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { Meta } from '@storybook/react'\nimport { UserIcon } from '@storybook/icons'\nimport { Avatar, AvatarImage, AvatarFallback } from '../components/index.js'\n\nconst meta = {\n title: 'Components/Avatar',\n component: Avatar,\n tags: ['autodocs'],\n subcomponents: { AvatarImage, AvatarFallback } as any,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: 'avatar\u7EC4\u4EF6,\u57FA\u4E8E@radix-ui/react-avatar,https://www.radix-ui.com/primitives/docs/components/avatar',\n },\n },\n },\n argTypes: {\n size: {\n description: '\u5C3A\u5BF8',\n table: {\n defaultValue: { summary: 'small' },\n },\n },\n },\n} satisfies Meta<typeof Avatar>\n\nexport default meta\n\nexport const Default = () => (\n <Avatar size=\"large\">\n <AvatarImage src=\"https://github.com/shadcn.png\" alt=\"@shadcn\" />\n <AvatarFallback>
|
|
5
|
-
"mappings": "AA8BE,OACE,OAAAA,EADF,QAAAC,MAAA,oBA7BF,OAAS,YAAAC,MAAgB,mBACzB,OAAS,UAAAC,EAAQ,eAAAC,EAAa,kBAAAC,MAAsB,yBAEpD,MAAMC,EAAO,CACX,MAAO,oBACP,UAAWH,EACX,KAAM,CAAC,UAAU,EACjB,cAAe,CAAE,YAAAC,EAAa,eAAAC,CAAe,EAC7C,WAAY,CACV,OAAQ,WACR,KAAM,CACJ,YAAa,CACX,UAAW,kHACb,CACF,CACF,EACA,SAAU,CACR,KAAM,CACJ,YAAa,eACb,MAAO,CACL,aAAc,CAAE,QAAS,OAAQ,CACnC,CACF,CACF,CACF,EAEA,IAAOE,EAAQD,EAER,MAAME,EAAU,IACrBP,EAACE,EAAA,CAAO,KAAK,QACX,UAAAH,EAACI,EAAA,CAAY,IAAI,gCAAgC,IAAI,UAAU,EAC/DJ,EAACK,EAAA,CAAe,cAAE,GACpB,EAGWI,EAAa,IACxBR,EAAC,OAAI,UAAU,0BACb,UAAAA,EAACE,EAAA,CAAO,KAAK,QACX,UAAAH,EAACI,EAAA,CAAY,IAAI,gCAAgC,IAAI,UAAU,EAC/DJ,EAACK,EAAA,CAAe,cAAE,GACpB,EACAL,EAACG,EAAA,CAAO,KAAK,QACX,SAAAH,EAACE,EAAA,CAAS,UAAU,SAAS,EAC/B,EACAF,EAACG,EAAA,CAAO,KAAK,QAAQ,
|
|
6
|
-
"names": ["jsx", "jsxs", "UserIcon", "Avatar", "AvatarImage", "AvatarFallback", "meta", "avatar_stories_default", "Default", "AvatarType", "
|
|
4
|
+
"sourcesContent": ["import type { Meta } from '@storybook/react'\nimport { UserIcon } from '@storybook/icons'\nimport { Avatar, AvatarImage, AvatarFallback } from '../components/index.js'\n\nconst meta = {\n title: 'Components/Avatar',\n component: Avatar,\n tags: ['autodocs'],\n subcomponents: { AvatarImage, AvatarFallback } as any,\n parameters: {\n layout: 'centered',\n docs: {\n description: {\n component: 'avatar\u7EC4\u4EF6,\u57FA\u4E8E@radix-ui/react-avatar,https://www.radix-ui.com/primitives/docs/components/avatar',\n },\n },\n },\n argTypes: {\n size: {\n description: '\u5C3A\u5BF8',\n table: {\n defaultValue: { summary: 'small' },\n },\n },\n },\n} satisfies Meta<typeof Avatar>\n\nexport default meta\n\nexport const Default = () => (\n <Avatar size=\"large\">\n <AvatarImage src=\"https://github.com/shadcn.png\" alt=\"@shadcn\" />\n <AvatarFallback>Za</AvatarFallback>\n </Avatar>\n)\n\nexport const AvatarType = () => (\n <div className=\"flex items-center gap-4\">\n <Avatar size=\"large\">\n <AvatarImage src=\"https://github.com/shadcn.png\" alt=\"@shadcn\" />\n <AvatarFallback>CN</AvatarFallback>\n </Avatar>\n <Avatar size=\"large\">\n <UserIcon className=\"size-6\" />\n </Avatar>\n <Avatar size=\"large\">Za</Avatar>\n </div>\n)\n\nexport const AvatarSize = () => (\n <div className=\"flex items-center gap-4\">\n <Avatar>Za</Avatar>\n <Avatar size=\"medium\">Za</Avatar>\n <Avatar size=\"large\">Za</Avatar>\n </div>\n)\n"],
|
|
5
|
+
"mappings": "AA8BE,OACE,OAAAA,EADF,QAAAC,MAAA,oBA7BF,OAAS,YAAAC,MAAgB,mBACzB,OAAS,UAAAC,EAAQ,eAAAC,EAAa,kBAAAC,MAAsB,yBAEpD,MAAMC,EAAO,CACX,MAAO,oBACP,UAAWH,EACX,KAAM,CAAC,UAAU,EACjB,cAAe,CAAE,YAAAC,EAAa,eAAAC,CAAe,EAC7C,WAAY,CACV,OAAQ,WACR,KAAM,CACJ,YAAa,CACX,UAAW,kHACb,CACF,CACF,EACA,SAAU,CACR,KAAM,CACJ,YAAa,eACb,MAAO,CACL,aAAc,CAAE,QAAS,OAAQ,CACnC,CACF,CACF,CACF,EAEA,IAAOE,EAAQD,EAER,MAAME,EAAU,IACrBP,EAACE,EAAA,CAAO,KAAK,QACX,UAAAH,EAACI,EAAA,CAAY,IAAI,gCAAgC,IAAI,UAAU,EAC/DJ,EAACK,EAAA,CAAe,cAAE,GACpB,EAGWI,EAAa,IACxBR,EAAC,OAAI,UAAU,0BACb,UAAAA,EAACE,EAAA,CAAO,KAAK,QACX,UAAAH,EAACI,EAAA,CAAY,IAAI,gCAAgC,IAAI,UAAU,EAC/DJ,EAACK,EAAA,CAAe,cAAE,GACpB,EACAL,EAACG,EAAA,CAAO,KAAK,QACX,SAAAH,EAACE,EAAA,CAAS,UAAU,SAAS,EAC/B,EACAF,EAACG,EAAA,CAAO,KAAK,QAAQ,cAAE,GACzB,EAGWO,EAAa,IACxBT,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACG,EAAA,CAAO,cAAE,EACVH,EAACG,EAAA,CAAO,KAAK,SAAS,cAAE,EACxBH,EAACG,EAAA,CAAO,KAAK,QAAQ,cAAE,GACzB",
|
|
6
|
+
"names": ["jsx", "jsxs", "UserIcon", "Avatar", "AvatarImage", "AvatarFallback", "meta", "avatar_stories_default", "Default", "AvatarType", "AvatarSize"]
|
|
7
7
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as i,jsxs as l}from"react/jsx-runtime";import"@storybook/icons";import e from"../components/link.js";const n={title:"Components/Link",component:e,parameters:{layout:"centered"},tags:["autodocs"],argTypes:{size:{description:"\u5C3A\u5BF8",control:{type:"select"},options:["small","medium","large"],table:{defaultValue:{summary:"small"}}},underline:{description:"\u94FE\u63A5\u4E0B\u5212\u7EBF\u5C55\u793A",control:{type:"select"},options:["none","hover","always"],table:{defaultValue:{summary:"none"}}},hoverColor:{description:"\u94FE\u63A5\u60AC\u6D6E\u6587\u5B57\u6837\u5F0F",control:{type:"select"},options:["none","hover"],table:{defaultValue:{summary:"none"}}},onClick:{control:!1},suffixIcon:{control:!1},style:{control:!1},className:{control:!1},children:{control:!1}},args:{onClick:void 0}};var r=n;const t={args:{children:"Link"}},d=()=>l("div",{className:"inline-flex flex-col gap-4",children:[l("div",{className:"inline-flex gap-4",children:[i(e,{size:"small",hoverColor:"hover",children:"Link"}),i(e,{size:"small",underline:"always",hoverColor:"hover",children:"Link"})]}),l("div",{className:"inline-flex gap-4",children:[i(e,{size:"medium",hoverColor:"hover",children:"Link"}),i(e,{size:"medium",underline:"always",hoverColor:"hover",children:"Link"})]}),l("div",{className:"inline-flex gap-4",children:[i(e,{size:"large",hoverColor:"hover",children:"Link"}),i(e,{size:"large",underline:"always",hoverColor:"hover",children:"Link"})]})]}),m=()=>l("div",{className:"inline-flex flex-col gap-4",children:[l("div",{className:"inline-flex gap-4",children:[i(e,{size:"small",disabled:!0,children:"Link"}),i(e,{size:"small",disabled:!0,underline:"always",children:"Link"})]}),l("div",{className:"inline-flex gap-4",children:[i(e,{size:"medium",disabled:!0,children:"Link"}),i(e,{size:"medium",disabled:!0,underline:"always",children:"Link"})]}),l("div",{className:"inline-flex gap-4",children:[i(e,{size:"large",disabled:!0,children:"Link"}),i(e,{size:"large",disabled:!0,underline:"always",children:"Link"})]})]});export{t as Default,m as Disabled,d as LinkSize,r as default};
|
|
2
2
|
//# sourceMappingURL=link.stories.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/stories/link.stories.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport { ChevronRightIcon } from '@storybook/icons'\nimport Link from '../components/link.js'\n\nconst meta = {\n // \u540C\u65F6\u5B9A\u4E49\u4E86\u9875\u9762\u5DE6\u4FA7\u83DC\u5355\n title: 'Components/Link',\n component: Link,\n parameters: {\n layout: 'centered',\n },\n // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs\n tags: ['autodocs'],\n // More on argTypes: https://storybook.js.org/docs/api/argtypes\n argTypes: {\n size: {\n description: '\u5C3A\u5BF8',\n control: {\n type: 'select',\n },\n options: ['small', 'medium', 'large'],\n table: {\n defaultValue: { summary: 'small' },\n },\n },\n underline: {\n description: '\u94FE\u63A5\u4E0B\u5212\u7EBF\u5C55\u793A',\n control: {\n type: 'select',\n },\n options: ['none', 'hover', 'always'],\n table: {\n defaultValue: { summary: 'none' },\n },\n },\n hoverColor: {\n description: '\u94FE\u63A5\u60AC\u6D6E\u6587\u5B57\u6837\u5F0F',\n control: {\n type: 'select',\n },\n options: ['none', 'hover'],\n table: {\n defaultValue: { summary: 'none' },\n },\n },\n onClick: {\n control: false,\n },\n suffixIcon: {\n control: false,\n },\n style: {\n control: false,\n },\n className: {\n control: false,\n },\n children: {\n control: false,\n },\n },\n args: {\n onClick: undefined,\n },\n} satisfies Meta<typeof Link>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {\n children: 'Link',\n },\n}\n\nexport const LinkSize = () => (\n <div className=\"inline-flex flex-col gap-4\">\n <div className=\"inline-flex gap-4\">\n <Link size=\"small\" hoverColor=\"hover\">\n Link\n </Link>\n <Link size=\"small\" underline=\"always\"
|
|
5
|
-
"mappings": "AA8EI,OACE,OAAAA,EADF,QAAAC,MAAA,oBA7EJ,
|
|
6
|
-
"names": ["jsx", "jsxs", "
|
|
4
|
+
"sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport { ChevronRightIcon } from '@storybook/icons'\nimport Link from '../components/link.js'\n\nconst meta = {\n // \u540C\u65F6\u5B9A\u4E49\u4E86\u9875\u9762\u5DE6\u4FA7\u83DC\u5355\n title: 'Components/Link',\n component: Link,\n parameters: {\n layout: 'centered',\n },\n // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs\n tags: ['autodocs'],\n // More on argTypes: https://storybook.js.org/docs/api/argtypes\n argTypes: {\n size: {\n description: '\u5C3A\u5BF8',\n control: {\n type: 'select',\n },\n options: ['small', 'medium', 'large'],\n table: {\n defaultValue: { summary: 'small' },\n },\n },\n underline: {\n description: '\u94FE\u63A5\u4E0B\u5212\u7EBF\u5C55\u793A',\n control: {\n type: 'select',\n },\n options: ['none', 'hover', 'always'],\n table: {\n defaultValue: { summary: 'none' },\n },\n },\n hoverColor: {\n description: '\u94FE\u63A5\u60AC\u6D6E\u6587\u5B57\u6837\u5F0F',\n control: {\n type: 'select',\n },\n options: ['none', 'hover'],\n table: {\n defaultValue: { summary: 'none' },\n },\n },\n onClick: {\n control: false,\n },\n suffixIcon: {\n control: false,\n },\n style: {\n control: false,\n },\n className: {\n control: false,\n },\n children: {\n control: false,\n },\n },\n args: {\n onClick: undefined,\n },\n} satisfies Meta<typeof Link>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {\n children: 'Link',\n },\n}\n\nexport const LinkSize = () => (\n <div className=\"inline-flex flex-col gap-4\">\n <div className=\"inline-flex gap-4\">\n <Link size=\"small\" hoverColor=\"hover\">\n Link\n </Link>\n <Link size=\"small\" underline=\"always\" hoverColor=\"hover\">\n Link\n </Link>\n </div>\n <div className=\"inline-flex gap-4\">\n <Link size=\"medium\" hoverColor=\"hover\">\n Link\n </Link>\n <Link size=\"medium\" underline=\"always\" hoverColor=\"hover\">\n Link\n </Link>\n </div>\n <div className=\"inline-flex gap-4\">\n <Link size=\"large\" hoverColor=\"hover\">\n Link\n </Link>\n <Link size=\"large\" underline=\"always\" hoverColor=\"hover\">\n Link\n </Link>\n </div>\n </div>\n)\n\nexport const Disabled = () => (\n <div className=\"inline-flex flex-col gap-4\">\n <div className=\"inline-flex gap-4\">\n <Link size=\"small\" disabled>\n Link\n </Link>\n <Link size=\"small\" disabled underline=\"always\">\n Link\n </Link>\n </div>\n <div className=\"inline-flex gap-4\">\n <Link size=\"medium\" disabled>\n Link\n </Link>\n <Link size=\"medium\" disabled underline=\"always\">\n Link\n </Link>\n </div>\n <div className=\"inline-flex gap-4\">\n <Link size=\"large\" disabled>\n Link\n </Link>\n <Link size=\"large\" disabled underline=\"always\">\n Link\n </Link>\n </div>\n </div>\n)\n"],
|
|
5
|
+
"mappings": "AA8EI,OACE,OAAAA,EADF,QAAAC,MAAA,oBA7EJ,MAAiC,mBACjC,OAAOC,MAAU,wBAEjB,MAAMC,EAAO,CAEX,MAAO,kBACP,UAAWD,EACX,WAAY,CACV,OAAQ,UACV,EAEA,KAAM,CAAC,UAAU,EAEjB,SAAU,CACR,KAAM,CACJ,YAAa,eACb,QAAS,CACP,KAAM,QACR,EACA,QAAS,CAAC,QAAS,SAAU,OAAO,EACpC,MAAO,CACL,aAAc,CAAE,QAAS,OAAQ,CACnC,CACF,EACA,UAAW,CACT,YAAa,6CACb,QAAS,CACP,KAAM,QACR,EACA,QAAS,CAAC,OAAQ,QAAS,QAAQ,EACnC,MAAO,CACL,aAAc,CAAE,QAAS,MAAO,CAClC,CACF,EACA,WAAY,CACV,YAAa,mDACb,QAAS,CACP,KAAM,QACR,EACA,QAAS,CAAC,OAAQ,OAAO,EACzB,MAAO,CACL,aAAc,CAAE,QAAS,MAAO,CAClC,CACF,EACA,QAAS,CACP,QAAS,EACX,EACA,WAAY,CACV,QAAS,EACX,EACA,MAAO,CACL,QAAS,EACX,EACA,UAAW,CACT,QAAS,EACX,EACA,SAAU,CACR,QAAS,EACX,CACF,EACA,KAAM,CACJ,QAAS,MACX,CACF,EAEA,IAAOE,EAAQD,EAIR,MAAME,EAAiB,CAC5B,KAAM,CACJ,SAAU,MACZ,CACF,EAEaC,EAAW,IACtBL,EAAC,OAAI,UAAU,6BACb,UAAAA,EAAC,OAAI,UAAU,oBACb,UAAAD,EAACE,EAAA,CAAK,KAAK,QAAQ,WAAW,QAAQ,gBAEtC,EACAF,EAACE,EAAA,CAAK,KAAK,QAAQ,UAAU,SAAS,WAAW,QAAQ,gBAEzD,GACF,EACAD,EAAC,OAAI,UAAU,oBACb,UAAAD,EAACE,EAAA,CAAK,KAAK,SAAS,WAAW,QAAQ,gBAEvC,EACAF,EAACE,EAAA,CAAK,KAAK,SAAS,UAAU,SAAS,WAAW,QAAQ,gBAE1D,GACF,EACAD,EAAC,OAAI,UAAU,oBACb,UAAAD,EAACE,EAAA,CAAK,KAAK,QAAQ,WAAW,QAAQ,gBAEtC,EACAF,EAACE,EAAA,CAAK,KAAK,QAAQ,UAAU,SAAS,WAAW,QAAQ,gBAEzD,GACF,GACF,EAGWK,EAAW,IACtBN,EAAC,OAAI,UAAU,6BACb,UAAAA,EAAC,OAAI,UAAU,oBACb,UAAAD,EAACE,EAAA,CAAK,KAAK,QAAQ,SAAQ,GAAC,gBAE5B,EACAF,EAACE,EAAA,CAAK,KAAK,QAAQ,SAAQ,GAAC,UAAU,SAAS,gBAE/C,GACF,EACAD,EAAC,OAAI,UAAU,oBACb,UAAAD,EAACE,EAAA,CAAK,KAAK,SAAS,SAAQ,GAAC,gBAE7B,EACAF,EAACE,EAAA,CAAK,KAAK,SAAS,SAAQ,GAAC,UAAU,SAAS,gBAEhD,GACF,EACAD,EAAC,OAAI,UAAU,oBACb,UAAAD,EAACE,EAAA,CAAK,KAAK,QAAQ,SAAQ,GAAC,gBAE5B,EACAF,EAACE,EAAA,CAAK,KAAK,QAAQ,SAAQ,GAAC,UAAU,SAAS,gBAE/C,GACF,GACF",
|
|
6
|
+
"names": ["jsx", "jsxs", "Link", "meta", "link_stories_default", "Default", "LinkSize", "Disabled"]
|
|
7
7
|
}
|