@anker-in/headless-ui 0.0.27-alpha.30 → 0.0.27-alpha.32

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.
Files changed (115) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +4 -2
  2. package/dist/cjs/biz-components/AccordionCards/index.js +1 -1
  3. package/dist/cjs/biz-components/AccordionCards/index.js.map +2 -2
  4. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +6 -4
  5. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  6. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  7. package/dist/cjs/biz-components/Category/index.d.ts +4 -2
  8. package/dist/cjs/biz-components/Category/index.js +1 -1
  9. package/dist/cjs/biz-components/Category/index.js.map +2 -2
  10. package/dist/cjs/biz-components/Evaluate/index.d.ts +7 -3
  11. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  12. package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
  13. package/dist/cjs/biz-components/Graphic/index.d.ts +3 -2
  14. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  15. package/dist/cjs/biz-components/Graphic/index.js.map +2 -2
  16. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  17. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  18. package/dist/cjs/biz-components/HeroBanner/types.d.ts +3 -3
  19. package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
  20. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  21. package/dist/cjs/biz-components/Marquee/index.d.ts +2 -1
  22. package/dist/cjs/biz-components/Marquee/index.js +1 -1
  23. package/dist/cjs/biz-components/Marquee/index.js.map +2 -2
  24. package/dist/cjs/biz-components/MemberEquity/index.js +6 -9
  25. package/dist/cjs/biz-components/MemberEquity/index.js.map +2 -2
  26. package/dist/cjs/biz-components/MemberEquity/types.d.ts +3 -3
  27. package/dist/cjs/biz-components/MemberEquity/types.js +1 -1
  28. package/dist/cjs/biz-components/MemberEquity/types.js.map +1 -1
  29. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  30. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  31. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.d.ts +4 -4
  32. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js +1 -1
  33. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js.map +1 -1
  34. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +10 -2
  35. package/dist/cjs/biz-components/ShelfDisplay/index.js +3 -3
  36. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
  37. package/dist/cjs/stories/HeroBanner.stories.js +2 -2
  38. package/dist/cjs/stories/HeroBanner.stories.js.map +2 -2
  39. package/dist/cjs/stories/MemberEquity.stories.js +2 -2
  40. package/dist/cjs/stories/MemberEquity.stories.js.map +2 -2
  41. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js +1 -1
  42. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js.map +2 -2
  43. package/dist/cjs/stories/accordionCards.stories.d.ts +4 -2
  44. package/dist/cjs/stories/accordionCards.stories.js +1 -1
  45. package/dist/cjs/stories/accordionCards.stories.js.map +2 -2
  46. package/dist/cjs/stories/brandEquity.stories.js +1 -1
  47. package/dist/cjs/stories/brandEquity.stories.js.map +3 -3
  48. package/dist/cjs/stories/category.stories.js +1 -1
  49. package/dist/cjs/stories/category.stories.js.map +3 -3
  50. package/dist/cjs/stories/evaluate.stories.js +1 -1
  51. package/dist/cjs/stories/evaluate.stories.js.map +2 -2
  52. package/dist/cjs/stories/graphic.stories.d.ts +4 -2
  53. package/dist/cjs/stories/graphic.stories.js +1 -1
  54. package/dist/cjs/stories/graphic.stories.js.map +3 -3
  55. package/dist/cjs/stories/marquee.stories.js +1 -1
  56. package/dist/cjs/stories/marquee.stories.js.map +2 -2
  57. package/dist/cjs/stories/shelfDisplay.stories.js +1 -1
  58. package/dist/cjs/stories/shelfDisplay.stories.js.map +2 -2
  59. package/dist/cjs/types/props.d.ts +10 -0
  60. package/dist/cjs/types/props.js +1 -1
  61. package/dist/cjs/types/props.js.map +1 -1
  62. package/dist/esm/biz-components/AccordionCards/index.d.ts +4 -2
  63. package/dist/esm/biz-components/AccordionCards/index.js +1 -1
  64. package/dist/esm/biz-components/AccordionCards/index.js.map +2 -2
  65. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +6 -4
  66. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  67. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  68. package/dist/esm/biz-components/Category/index.d.ts +4 -2
  69. package/dist/esm/biz-components/Category/index.js +1 -1
  70. package/dist/esm/biz-components/Category/index.js.map +2 -2
  71. package/dist/esm/biz-components/Evaluate/index.d.ts +7 -3
  72. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  73. package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
  74. package/dist/esm/biz-components/Graphic/index.d.ts +3 -2
  75. package/dist/esm/biz-components/Graphic/index.js +1 -1
  76. package/dist/esm/biz-components/Graphic/index.js.map +2 -2
  77. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  78. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  79. package/dist/esm/biz-components/HeroBanner/types.d.ts +3 -3
  80. package/dist/esm/biz-components/Marquee/index.d.ts +2 -1
  81. package/dist/esm/biz-components/Marquee/index.js +1 -1
  82. package/dist/esm/biz-components/Marquee/index.js.map +2 -2
  83. package/dist/esm/biz-components/MemberEquity/index.js +6 -9
  84. package/dist/esm/biz-components/MemberEquity/index.js.map +2 -2
  85. package/dist/esm/biz-components/MemberEquity/types.d.ts +3 -3
  86. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  87. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  88. package/dist/esm/biz-components/MultiLayoutGraphicBlock/types.d.ts +4 -4
  89. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +10 -2
  90. package/dist/esm/biz-components/ShelfDisplay/index.js +3 -3
  91. package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
  92. package/dist/esm/stories/HeroBanner.stories.js +2 -2
  93. package/dist/esm/stories/HeroBanner.stories.js.map +2 -2
  94. package/dist/esm/stories/MemberEquity.stories.js +2 -2
  95. package/dist/esm/stories/MemberEquity.stories.js.map +2 -2
  96. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js +1 -1
  97. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js.map +2 -2
  98. package/dist/esm/stories/accordionCards.stories.d.ts +4 -2
  99. package/dist/esm/stories/accordionCards.stories.js +1 -1
  100. package/dist/esm/stories/accordionCards.stories.js.map +2 -2
  101. package/dist/esm/stories/brandEquity.stories.js +1 -1
  102. package/dist/esm/stories/brandEquity.stories.js.map +3 -3
  103. package/dist/esm/stories/category.stories.js +1 -1
  104. package/dist/esm/stories/category.stories.js.map +3 -3
  105. package/dist/esm/stories/evaluate.stories.js +1 -1
  106. package/dist/esm/stories/evaluate.stories.js.map +2 -2
  107. package/dist/esm/stories/graphic.stories.d.ts +4 -2
  108. package/dist/esm/stories/graphic.stories.js +1 -1
  109. package/dist/esm/stories/graphic.stories.js.map +3 -3
  110. package/dist/esm/stories/marquee.stories.js +1 -1
  111. package/dist/esm/stories/marquee.stories.js.map +2 -2
  112. package/dist/esm/stories/shelfDisplay.stories.js +1 -1
  113. package/dist/esm/stories/shelfDisplay.stories.js.map +2 -2
  114. package/dist/esm/types/props.d.ts +10 -0
  115. package/package.json +1 -1
@@ -3,7 +3,9 @@ type ItemType = {
3
3
  /** 标题文本 */
4
4
  title: string;
5
5
  /** 图片*/
6
- img: string;
6
+ img: {
7
+ url: string;
8
+ };
7
9
  /** 内容节点 */
8
10
  subTitle: string;
9
11
  };
@@ -12,7 +14,7 @@ type AccordionCardsType = {
12
14
  data: {
13
15
  key?: string;
14
16
  title?: string;
15
- items: Array<ItemType>;
17
+ products: Array<ItemType>;
16
18
  /** 按钮形状 */
17
19
  shape?: 'round' | 'square';
18
20
  /** 卡片形状 */
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var T=Object.create;var c=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var A=(e,s)=>{for(var n in s)c(e,n,{get:s[n],enumerable:!0})},h=(e,s,n,m)=>{if(s&&typeof s=="object"||typeof s=="function")for(let a of C(s))!I.call(e,a)&&a!==n&&c(e,a,{get:()=>s[a],enumerable:!(m=E(s,a))||m.enumerable});return e};var u=(e,s,n)=>(n=e!=null?T(M(e)):{},h(s||!e||!e.__esModule?c(n,"default",{value:e,enumerable:!0}):n,e)),L=e=>h(c({},"__esModule",{value:!0}),e);var j={};A(j,{default:()=>V});module.exports=L(j);var t=require("react/jsx-runtime"),y=u(require("../Title/index.js")),i=require("../../helpers/utils.js"),p=u(require("../../components/picture.js")),f=u(require("../../components/button.js")),g=u(require("../SwiperBox/index.js")),l=require("react");const S=({data:e,className:s="",event:n})=>{const[m,a]=(0,l.useState)(0),[w,k]=(0,l.useState)({0:!0}),F=(0,l.useRef)([]),v=(0,l.useRef)({0:!0}),N=(o,r)=>{r&&(F.current[o]=r)},b=o=>{v.current?.[o]&&k({[o]:!0})};(0,l.useEffect)(()=>{const o=F.current;return o?.forEach((r,d)=>{d?r.style="flex: 1 1 0%; transition: all 0.15s":r.style="flex: 7 1 0%; transition: all 0.15s",r.addEventListener("transitionend",()=>b(d))}),()=>{o?.forEach((r,d)=>{r.removeEventListener("transitionend",()=>b(d))})}},[]);const B=({data:o,configuration:r})=>(0,t.jsxs)("div",{className:"relative shrink-0 grow-0 basis-[296px] border border-solid border-[#dddddd] bg-[#FFFFFF]",children:[(0,t.jsx)(p.default,{className:"size-full object-cover [&_img]:h-full [&_img]:object-cover",source:o?.img}),(0,t.jsxs)("div",{className:(0,i.cn)("absolute inset-x-0 bottom-0 flex flex-col overflow-hidden px-6 pb-6"),children:[(0,t.jsxs)("div",{className:"mb-6 flex-1 overflow-hidden",children:[(0,t.jsx)("p",{className:"mb-1 text-2xl font-bold text-[#FFFFFF]",children:o?.title}),(0,t.jsx)("h3",{className:"text-sm font-medium text-[#FFFFFF]",children:o?.subTitle})]}),(0,t.jsx)(f.default,{size:"sm",hoverEffect:"slide",variant:"secondary",onClick:()=>n?.primaryButton?.onClick?.(o),className:(0,i.cn)("w-[116px] mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]",r?.shape==="round"?"rounded-2xl":""),children:r?.primaryButton})]})]});return(0,t.jsxs)(t.Fragment,{children:[e?.title&&(0,t.jsx)(y.default,{data:{title:e?.title}}),(0,t.jsx)("div",{className:"hidden tablet:block",children:(0,t.jsx)("div",{className:(0,i.cn)("laptop:h-[448px] desktop:h-[560px] flex h-[336px] w-full gap-4 overflow-hidden",s),children:e?.items?.map((o,r)=>{const d=m===r;return(0,t.jsxs)("div",{style:{flex:d?7:1},ref:x=>{x&&N(r,x)},className:(0,i.cn)("relative cursor-pointer overflow-hidden",e?.itemShape==="round"?"rounded-2xl":""),onClick:()=>{m!==r&&(v.current={[r]:!0},a(r))},children:[(0,t.jsx)(p.default,{source:o?.img,className:"size-full object-cover [&_img]:h-full [&_img]:object-cover"}),w?.[r]&&d?(0,t.jsxs)("div",{className:(0,i.cn)("absolute inset-x-0 bottom-0 flex items-end justify-between overflow-hidden px-6 pb-6"),children:[(0,t.jsxs)("div",{className:"mr-1 flex-1 overflow-hidden",children:[(0,t.jsx)("p",{className:"laptop:text-2xl desktop:text-[32px] mb-1 text-xl font-bold text-[#FFFFFF]",children:o?.title}),(0,t.jsx)("h3",{className:"desktop:text-lg text-sm font-medium text-[#FFFFFF]",children:o?.subTitle})]}),(0,t.jsx)(f.default,{size:"sm",hoverEffect:"slide",variant:"secondary",onClick:()=>n?.primaryButton?.onClick?.(o),className:(0,i.cn)("desktop:text-base mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]",e?.shape==="round"?"rounded-2xl":""),children:e?.primaryButton})]}):null]},r)})})}),(0,t.jsx)("div",{className:"block tablet:hidden",children:(0,t.jsx)(g.default,{className:(0,i.cn)("!overflow-visible h-[400px]",s),id:"AccordionCards"+e?.key,data:{list:e?.items,configuration:{shape:e?.shape,primaryButton:e?.primaryButton}},Slide:B,breakpoints:{0:{spaceBetween:"12px",freeMode:!1,slidesPerView:1},374:{spaceBetween:"12px",freeMode:!1,slidesPerView:1.3},768:{spaceBetween:"16px",freeMode:!1,slidesPerView:4}}})})]})};var V=S;
1
+ "use strict";"use client";var T=Object.create;var m=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var M=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var A=(e,s)=>{for(var n in s)m(e,n,{get:s[n],enumerable:!0})},h=(e,s,n,c)=>{if(s&&typeof s=="object"||typeof s=="function")for(let d of C(s))!I.call(e,d)&&d!==n&&m(e,d,{get:()=>s[d],enumerable:!(c=E(s,d))||c.enumerable});return e};var u=(e,s,n)=>(n=e!=null?T(M(e)):{},h(s||!e||!e.__esModule?m(n,"default",{value:e,enumerable:!0}):n,e)),L=e=>h(m({},"__esModule",{value:!0}),e);var j={};A(j,{default:()=>V});module.exports=L(j);var t=require("react/jsx-runtime"),y=u(require("../Title/index.js")),i=require("../../helpers/utils.js"),p=u(require("../../components/picture.js")),f=u(require("../../components/button.js")),g=u(require("../SwiperBox/index.js")),l=require("react");const S=({data:e,className:s="",event:n})=>{const[c,d]=(0,l.useState)(0),[w,k]=(0,l.useState)({0:!0}),F=(0,l.useRef)([]),v=(0,l.useRef)({0:!0}),N=(o,r)=>{r&&(F.current[o]=r)},b=o=>{v.current?.[o]&&k({[o]:!0})};(0,l.useEffect)(()=>{const o=F.current;return o?.forEach((r,a)=>{a?r.style="flex: 1 1 0%; transition: all 0.15s":r.style="flex: 7 1 0%; transition: all 0.15s",r.addEventListener("transitionend",()=>b(a))}),()=>{o?.forEach((r,a)=>{r.removeEventListener("transitionend",()=>b(a))})}},[]);const B=({data:o,configuration:r})=>(0,t.jsxs)("div",{className:"relative shrink-0 grow-0 basis-[296px] border border-solid border-[#dddddd] bg-[#FFFFFF]",children:[(0,t.jsx)(p.default,{className:"size-full object-cover [&_img]:h-full [&_img]:object-cover",source:o?.img?.url}),(0,t.jsxs)("div",{className:(0,i.cn)("absolute inset-x-0 bottom-0 flex flex-col overflow-hidden px-6 pb-6"),children:[(0,t.jsxs)("div",{className:"mb-6 flex-1 overflow-hidden",children:[(0,t.jsx)("p",{className:"mb-1 text-2xl font-bold text-[#FFFFFF]",children:o?.title}),(0,t.jsx)("h3",{className:"text-sm font-medium text-[#FFFFFF]",children:o?.subTitle})]}),(0,t.jsx)(f.default,{size:"sm",hoverEffect:"slide",variant:"secondary",onClick:()=>n?.primaryButton?.onClick?.(o),className:(0,i.cn)("w-[116px] mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]",r?.shape==="round"?"rounded-2xl":""),children:r?.primaryButton})]})]});return(0,t.jsxs)(t.Fragment,{children:[e?.title&&(0,t.jsx)(y.default,{data:{title:e?.title}}),(0,t.jsx)("div",{className:"hidden tablet:block",children:(0,t.jsx)("div",{className:(0,i.cn)("laptop:h-[448px] desktop:h-[560px] flex h-[336px] w-full gap-4 overflow-hidden",s),children:e?.products?.map((o,r)=>{const a=c===r;return(0,t.jsxs)("div",{style:{flex:a?7:1},ref:x=>{x&&N(r,x)},className:(0,i.cn)("relative cursor-pointer overflow-hidden",e?.itemShape==="round"?"rounded-2xl":""),onClick:()=>{c!==r&&(v.current={[r]:!0},d(r))},children:[(0,t.jsx)(p.default,{source:o?.img?.url,className:"size-full object-cover [&_img]:h-full [&_img]:object-cover"}),w?.[r]&&a?(0,t.jsxs)("div",{className:(0,i.cn)("absolute inset-x-0 bottom-0 flex items-end justify-between overflow-hidden px-6 pb-6"),children:[(0,t.jsxs)("div",{className:"mr-1 flex-1 overflow-hidden",children:[(0,t.jsx)("p",{className:"laptop:text-2xl desktop:text-[32px] mb-1 text-xl font-bold text-[#FFFFFF]",children:o?.title}),(0,t.jsx)("h3",{className:"desktop:text-lg text-sm font-medium text-[#FFFFFF]",children:o?.subTitle})]}),(0,t.jsx)(f.default,{size:"sm",hoverEffect:"slide",variant:"secondary",onClick:()=>n?.primaryButton?.onClick?.(o),className:(0,i.cn)("desktop:text-base mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]",e?.shape==="round"?"rounded-2xl":""),children:e?.primaryButton})]}):null]},r)})})}),(0,t.jsx)("div",{className:"block tablet:hidden",children:(0,t.jsx)(g.default,{className:(0,i.cn)("!overflow-visible h-[400px]",s),id:"AccordionCards"+e?.key,data:{list:e?.products,configuration:{shape:e?.shape,primaryButton:e?.primaryButton}},Slide:B,breakpoints:{0:{spaceBetween:"12px",freeMode:!1,slidesPerView:1},374:{spaceBetween:"12px",freeMode:!1,slidesPerView:1.3},768:{spaceBetween:"16px",freeMode:!1,slidesPerView:4}}})})]})};var V=S;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/AccordionCards/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { useState, useEffect, useRef } from 'react';\n\n/** Hook\uFF1A\u76D1\u542C\u7A97\u53E3\u5BBD\u5EA6 */\ntype ItemType = {\n /** \u6807\u9898\u6587\u672C */\n title: string\n /** \u56FE\u7247*/\n img: string\n /** \u5185\u5BB9\u8282\u70B9 */\n subTitle: string\n}\n\ntype AccordionCardsType = {\n className?: string\n data: {\n key?: string\n title?: string\n items: Array<ItemType>\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: {\n primaryButton?: {\n onClick: (v: any) => void\n }\n }\n}\n\nconst AccordionCards = ({\n data,\n className = '',\n event\n}: AccordionCardsType) => {\n const [hoverIndex, setHoverIndex] = useState<number | null>(0)\n const [currentWidth, setCurrentWidth] = useState<{ [key: number]: boolean }>({ 0: true })\n\n const accordionRef = useRef<HTMLDivElement[]>([])\n const enterRef = useRef<{ [key: number]: boolean }>({ 0:true })\n\n const getRef = (index: number, el: HTMLDivElement) => {\n if (el) {\n accordionRef.current[index] = el\n }\n }\n\n const handleTransitionEnd = (index: number) => {\n if (enterRef.current?.[index]) {\n setCurrentWidth({ [index]: true })\n }\n }\n\n useEffect(() => {\n const element = accordionRef.current\n element?.forEach((item, index) => {\n if (!index) {\n item.style = 'flex: 7 1 0%; transition: all 0.15s'\n } else {\n item.style = 'flex: 1 1 0%; transition: all 0.15s'\n }\n item.addEventListener('transitionend', () => handleTransitionEnd(index))\n })\n return () => {\n element?.forEach((item, index) => {\n item.removeEventListener('transitionend', () => handleTransitionEnd(index))\n })\n }\n }, [])\n\n const MobileItem = ({ data, configuration }: { data: ItemType; configuration?: any }) => {\n return (\n <div className=\"relative shrink-0 grow-0 basis-[296px] border border-solid border-[#dddddd] bg-[#FFFFFF]\">\n <Picture className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\" source={data?.img} />\n <div className={cn('absolute inset-x-0 bottom-0 flex flex-col overflow-hidden px-6 pb-6')}>\n <div className=\"mb-6 flex-1 overflow-hidden\">\n <p className=\"mb-1 text-2xl font-bold text-[#FFFFFF]\">{data?.title}</p>\n <h3 className=\"text-sm font-medium text-[#FFFFFF]\">{data?.subTitle}</h3>\n </div>\n <Button\n size=\"sm\"\n hoverEffect=\"slide\"\n variant=\"secondary\"\n onClick={() => event?.primaryButton?.onClick?.(data)}\n className={cn(\n 'w-[116px] mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]',\n configuration?.shape === 'round' ? 'rounded-2xl' : ''\n )}\n >\n {configuration?.primaryButton}\n </Button>\n </div>\n </div>\n )\n }\n\n return (\n <>\n {data?.title && <Title data={{ title: data?.title }} />}\n <div className=\"hidden tablet:block\">\n <div\n className={cn('laptop:h-[448px] desktop:h-[560px] flex h-[336px] w-full gap-4 overflow-hidden', className)}\n >\n {data?.items?.map((item, idx) => {\n const isExpanded = hoverIndex === idx\n const flexValue = isExpanded ? 7 : 1\n return (\n <div\n key={idx}\n style={{\n flex: flexValue,\n }}\n ref={(el: HTMLDivElement | null) => {\n if (el) getRef(idx, el)\n }}\n className={cn(\n 'relative cursor-pointer overflow-hidden',\n data?.itemShape === 'round' ? 'rounded-2xl' : ''\n )}\n onClick={() => {\n if (hoverIndex === idx) return\n // \u66F4\u65B0 ref \u72B6\u6001\n enterRef.current = { [idx]: true }\n // \u66F4\u65B0\u5BBD\u5EA6\u76F8\u5173\u72B6\u6001\n setHoverIndex(idx)\n }}\n >\n <Picture source={item?.img} className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\" />\n {currentWidth?.[idx] && isExpanded ? (\n <div\n className={cn(\n 'absolute inset-x-0 bottom-0 flex items-end justify-between overflow-hidden px-6 pb-6'\n )}\n >\n <div className=\"mr-1 flex-1 overflow-hidden\">\n <p className=\"laptop:text-2xl desktop:text-[32px] mb-1 text-xl font-bold text-[#FFFFFF]\">\n {item?.title}\n </p>\n <h3 className=\"desktop:text-lg text-sm font-medium text-[#FFFFFF]\">{item?.subTitle}</h3>\n </div>\n <Button\n size=\"sm\"\n hoverEffect=\"slide\"\n variant=\"secondary\"\n onClick={() => event?.primaryButton?.onClick?.(item)}\n className={cn(\n 'desktop:text-base mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]',\n data?.shape === 'round' ? 'rounded-2xl' : ''\n )}\n >\n {data?.primaryButton}\n </Button>\n </div>\n ) : null}\n </div>\n )\n })}\n </div>\n </div>\n <div className=\"block tablet:hidden\">\n <SwiperBox\n className={cn('!overflow-visible h-[400px]', className)}\n id={'AccordionCards' + data?.key}\n data={{\n list: data?.items,\n configuration: {\n shape: data?.shape,\n primaryButton: data?.primaryButton,\n }\n }}\n Slide={MobileItem}\n breakpoints={{\n 0: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 1.3,\n },\n 768: {\n spaceBetween: '16px',\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n </>\n )\n}\n\nexport default AccordionCards\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use client'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { useState, useEffect, useRef } from 'react';\n\n/** Hook\uFF1A\u76D1\u542C\u7A97\u53E3\u5BBD\u5EA6 */\ntype ItemType = {\n /** \u6807\u9898\u6587\u672C */\n title: string\n /** \u56FE\u7247*/\n img: {\n url: string\n }\n /** \u5185\u5BB9\u8282\u70B9 */\n subTitle: string\n}\n\ntype AccordionCardsType = {\n className?: string\n data: {\n key?: string\n title?: string\n products: Array<ItemType>\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: {\n primaryButton?: {\n onClick: (v: any) => void\n }\n }\n}\n\nconst AccordionCards = ({\n data,\n className = '',\n event\n}: AccordionCardsType) => {\n const [hoverIndex, setHoverIndex] = useState<number | null>(0)\n const [currentWidth, setCurrentWidth] = useState<{ [key: number]: boolean }>({ 0: true })\n\n const accordionRef = useRef<HTMLDivElement[]>([])\n const enterRef = useRef<{ [key: number]: boolean }>({ 0:true })\n\n const getRef = (index: number, el: HTMLDivElement) => {\n if (el) {\n accordionRef.current[index] = el\n }\n }\n\n const handleTransitionEnd = (index: number) => {\n if (enterRef.current?.[index]) {\n setCurrentWidth({ [index]: true })\n }\n }\n\n useEffect(() => {\n const element = accordionRef.current\n element?.forEach((item, index) => {\n if (!index) {\n item.style = 'flex: 7 1 0%; transition: all 0.15s'\n } else {\n item.style = 'flex: 1 1 0%; transition: all 0.15s'\n }\n item.addEventListener('transitionend', () => handleTransitionEnd(index))\n })\n return () => {\n element?.forEach((item, index) => {\n item.removeEventListener('transitionend', () => handleTransitionEnd(index))\n })\n }\n }, [])\n\n const MobileItem = ({ data, configuration }: { data: ItemType; configuration?: any }) => {\n return (\n <div className=\"relative shrink-0 grow-0 basis-[296px] border border-solid border-[#dddddd] bg-[#FFFFFF]\">\n <Picture className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\" source={data?.img?.url} />\n <div className={cn('absolute inset-x-0 bottom-0 flex flex-col overflow-hidden px-6 pb-6')}>\n <div className=\"mb-6 flex-1 overflow-hidden\">\n <p className=\"mb-1 text-2xl font-bold text-[#FFFFFF]\">{data?.title}</p>\n <h3 className=\"text-sm font-medium text-[#FFFFFF]\">{data?.subTitle}</h3>\n </div>\n <Button\n size=\"sm\"\n hoverEffect=\"slide\"\n variant=\"secondary\"\n onClick={() => event?.primaryButton?.onClick?.(data)}\n className={cn(\n 'w-[116px] mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]',\n configuration?.shape === 'round' ? 'rounded-2xl' : ''\n )}\n >\n {configuration?.primaryButton}\n </Button>\n </div>\n </div>\n )\n }\n\n return (\n <>\n {data?.title && <Title data={{ title: data?.title }} />}\n <div className=\"hidden tablet:block\">\n <div\n className={cn('laptop:h-[448px] desktop:h-[560px] flex h-[336px] w-full gap-4 overflow-hidden', className)}\n >\n {data?.products?.map((item, idx) => {\n const isExpanded = hoverIndex === idx\n const flexValue = isExpanded ? 7 : 1\n return (\n <div\n key={idx}\n style={{\n flex: flexValue,\n }}\n ref={(el: HTMLDivElement | null) => {\n if (el) getRef(idx, el)\n }}\n className={cn(\n 'relative cursor-pointer overflow-hidden',\n data?.itemShape === 'round' ? 'rounded-2xl' : ''\n )}\n onClick={() => {\n if (hoverIndex === idx) return\n // \u66F4\u65B0 ref \u72B6\u6001\n enterRef.current = { [idx]: true }\n // \u66F4\u65B0\u5BBD\u5EA6\u76F8\u5173\u72B6\u6001\n setHoverIndex(idx)\n }}\n >\n <Picture source={item?.img?.url} className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\" />\n {currentWidth?.[idx] && isExpanded ? (\n <div\n className={cn(\n 'absolute inset-x-0 bottom-0 flex items-end justify-between overflow-hidden px-6 pb-6'\n )}\n >\n <div className=\"mr-1 flex-1 overflow-hidden\">\n <p className=\"laptop:text-2xl desktop:text-[32px] mb-1 text-xl font-bold text-[#FFFFFF]\">\n {item?.title}\n </p>\n <h3 className=\"desktop:text-lg text-sm font-medium text-[#FFFFFF]\">{item?.subTitle}</h3>\n </div>\n <Button\n size=\"sm\"\n hoverEffect=\"slide\"\n variant=\"secondary\"\n onClick={() => event?.primaryButton?.onClick?.(item)}\n className={cn(\n 'desktop:text-base mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]',\n data?.shape === 'round' ? 'rounded-2xl' : ''\n )}\n >\n {data?.primaryButton}\n </Button>\n </div>\n ) : null}\n </div>\n )\n })}\n </div>\n </div>\n <div className=\"block tablet:hidden\">\n <SwiperBox\n className={cn('!overflow-visible h-[400px]', className)}\n id={'AccordionCards' + data?.key}\n data={{\n list: data?.products,\n configuration: {\n shape: data?.shape,\n primaryButton: data?.primaryButton,\n },\n }}\n Slide={MobileItem}\n breakpoints={{\n 0: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 1.3,\n },\n 768: {\n spaceBetween: '16px',\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n </>\n )\n}\n\nexport default AccordionCards\n"],
5
+ "mappings": "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",
6
6
  "names": ["AccordionCards_exports", "__export", "AccordionCards_default", "__toCommonJS", "import_jsx_runtime", "import_Title", "import_utils", "import_picture", "import_button", "import_SwiperBox", "import_react", "AccordionCards", "data", "className", "event", "hoverIndex", "setHoverIndex", "currentWidth", "setCurrentWidth", "accordionRef", "enterRef", "getRef", "index", "el", "handleTransitionEnd", "element", "item", "MobileItem", "configuration", "Picture", "Button", "Title", "idx", "isExpanded", "SwiperBox"]
7
7
  }
@@ -1,10 +1,12 @@
1
- import React from 'react';
2
- import type { ComponentCommonProps } from '../../types/props.js';
1
+ import type { ComponentCommonProps, Img } from '../../types/props.js';
3
2
  export interface BrandEquityItem {
4
- icon?: React.ReactNode;
3
+ icon?: Img;
4
+ type?: 'icon' | 'avatar';
5
5
  title: string;
6
6
  description: string;
7
- avatarList?: string[];
7
+ avatarList?: {
8
+ avatar: Img;
9
+ }[];
8
10
  }
9
11
  export interface BrandEquityProps extends ComponentCommonProps {
10
12
  data: {
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var g=Object.create;var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var f=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var s in t)p(e,s,{get:t[s],enumerable:!0})},d=(e,t,s,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of x(t))!v.call(e,i)&&i!==s&&p(e,i,{get:()=>t[i],enumerable:!(o=u(t,i))||o.enumerable});return e};var b=(e,t,s)=>(s=e!=null?g(f(e)):{},d(t||!e||!e.__esModule?p(s,"default",{value:e,enumerable:!0}):s,e)),h=e=>d(p({},"__esModule",{value:!0}),e);var q={};y(q,{default:()=>N});module.exports=h(q);var a=require("react/jsx-runtime"),D=require("react"),r=require("../../helpers/utils.js"),l=b(require("../../components/picture.js")),n=require("../../shared/Styles.js");const k=({data:{items:e=[]},itemShape:t="square",className:s=""})=>(0,a.jsx)("div",{className:(0,r.cn)("brand-equity-wrapper w-full",s),children:(0,a.jsx)("div",{className:(0,r.cn)("grid gap-3","tablet:grid-cols-2 grid-cols-1","laptop:gap-4 laptop:grid-cols-10"),children:e.map((o,i)=>(0,a.jsxs)("div",{className:(0,r.cn)("brand-equity-item","flex flex-col bg-white p-4","desktop:p-6","desktop:gap-16 gap-12","laptop:col-span-3",{"laptop:col-span-4":[0,5,6,11].includes(i)},t==="round"?"rounded-[16px]":"rounded-none"),children:[(0,a.jsxs)("div",{className:"lg-desktop:h-[36px] flex h-[30px] items-center justify-between gap-3",children:[(0,a.jsx)("h3",{className:"lg-desktop:text-[18px] text-[14px] font-semibold leading-[1.2] tracking-[-0.02em] text-[#1D1D1F]",children:o.title}),o.avatarList?.length?(0,a.jsx)("div",{className:"flex -space-x-2",children:o.avatarList.map((c,m)=>(0,a.jsx)("div",{className:(0,r.cn)("size-[30px] overflow-hidden rounded-full border-2 border-white","relative inline-block","lg-desktop:size-[36px]"),children:(0,a.jsx)(l.default,{source:c,className:"size-full object-cover"})},m))}):(0,a.jsx)("span",{className:"text-[#1D1D1F]",children:o.icon})]}),(0,a.jsx)("p",{className:"lg-desktop:text-[24px] text-[20px] font-bold leading-[1.2] tracking-[-0.04em] text-[#1D1D1F]",children:o.description})]},i))})});var N=(0,n.withStyles)(k);
1
+ "use strict";"use client";var u=Object.create;var i=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var x=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var o in t)i(e,o,{get:t[o],enumerable:!0})},n=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of v(t))!f.call(e,s)&&s!==o&&i(e,s,{get:()=>t[s],enumerable:!(r=g(t,s))||r.enumerable});return e};var b=(e,t,o)=>(o=e!=null?u(x(e)):{},n(t||!e||!e.__esModule?i(o,"default",{value:e,enumerable:!0}):o,e)),k=e=>n(i({},"__esModule",{value:!0}),e);var q={};y(q,{default:()=>N});module.exports=k(q);var a=require("react/jsx-runtime"),C=require("react"),p=require("../../helpers/utils.js"),l=b(require("../../components/picture.js")),c=require("../../shared/Styles.js");const h=({data:{items:e=[]},itemShape:t="square",className:o=""})=>(0,a.jsx)("div",{className:(0,p.cn)("brand-equity-wrapper w-full",o),children:(0,a.jsx)("div",{className:(0,p.cn)("grid gap-3","tablet:grid-cols-2 grid-cols-1","laptop:gap-4 laptop:grid-cols-10"),children:e.map((r,s)=>(0,a.jsxs)("div",{className:(0,p.cn)("brand-equity-item","flex flex-col bg-white p-4","desktop:p-6","desktop:gap-16 gap-12","laptop:col-span-3",{"laptop:col-span-4":[0,5,6,11].includes(s)},t==="round"?"rounded-[16px]":"rounded-none"),children:[(0,a.jsxs)("div",{className:"lg-desktop:h-[36px] flex h-[30px] items-center justify-between gap-3",children:[(0,a.jsx)("h3",{className:"lg-desktop:text-[18px] text-[14px] font-semibold leading-[1.2] tracking-[-0.02em] text-[#1D1D1F]",children:r.title}),r.type==="avatar"?(0,a.jsx)("div",{className:"flex -space-x-2",children:r?.avatarList?.map((d,m)=>(0,a.jsx)("div",{className:(0,p.cn)("size-[30px] overflow-hidden rounded-full border-2 border-white","relative inline-block","lg-desktop:size-[36px]"),children:(0,a.jsx)(l.default,{source:d.avatar.url,alt:d.avatar?.alt,className:"size-full object-cover"})},m))}):(0,a.jsx)(l.default,{className:"lg-desktop:size-[36px] size-[30px] object-cover",source:r.icon?.url,alt:r.icon?.alt,imgClassName:"w-full h-full object-cover"})]}),(0,a.jsx)("p",{className:"lg-desktop:text-[24px] text-[20px] font-bold leading-[1.2] tracking-[-0.04em] text-[#1D1D1F]",children:r.description})]},s))})});var N=(0,c.withStyles)(h);
2
2
  //# sourceMappingURL=BrandEquity.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/BrandEquity/BrandEquity.tsx"],
4
- "sourcesContent": ["'use client'\nimport React from 'react'\n\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport type { ComponentCommonProps } from '../../types/props.js'\n\nexport interface BrandEquityItem {\n icon?: React.ReactNode\n title: string\n description: string\n avatarList?: string[]\n}\n\nexport interface BrandEquityProps extends ComponentCommonProps {\n data: {\n items: BrandEquityItem[]\n }\n itemShape?: 'round' | 'square'\n className?: string\n theme?: 'light' | 'dark'\n}\n\nconst BrandEquity: React.FC<BrandEquityProps> = ({ data: { items = [] }, itemShape = 'square', className = '' }) => {\n return (\n <div className={cn('brand-equity-wrapper w-full', className)}>\n <div className={cn('grid gap-3', 'tablet:grid-cols-2 grid-cols-1', 'laptop:gap-4 laptop:grid-cols-10')}>\n {items.map((item, index) => (\n <div\n key={index}\n className={cn(\n 'brand-equity-item',\n 'flex flex-col bg-white p-4',\n 'desktop:p-6',\n 'desktop:gap-16 gap-12',\n 'laptop:col-span-3',\n {\n ['laptop:col-span-4']: [0, 5, 6, 11].includes(index),\n },\n itemShape === 'round' ? 'rounded-[16px]' : 'rounded-none'\n )}\n >\n <div className=\"lg-desktop:h-[36px] flex h-[30px] items-center justify-between gap-3\">\n <h3 className=\"lg-desktop:text-[18px] text-[14px] font-semibold leading-[1.2] tracking-[-0.02em] text-[#1D1D1F]\">\n {item.title}\n </h3>\n {item.avatarList?.length ? (\n <div className=\"flex -space-x-2\">\n {item.avatarList.map((avatarUrl: string, index: number) => (\n <div\n key={index}\n className={cn(\n 'size-[30px] overflow-hidden rounded-full border-2 border-white',\n 'relative inline-block',\n 'lg-desktop:size-[36px]'\n )}\n >\n <Picture source={avatarUrl} className=\"size-full object-cover\" />\n </div>\n ))}\n </div>\n ) : (\n <span className=\"text-[#1D1D1F]\">{item.icon}</span>\n )}\n </div>\n <p className=\"lg-desktop:text-[24px] text-[20px] font-bold leading-[1.2] tracking-[-0.04em] text-[#1D1D1F]\">\n {item.description}\n </p>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nexport default withStyles(BrandEquity)\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA2CY,IAAAI,EAAA,6BA1CZC,EAAkB,iBAElBC,EAAmB,kCACnBC,EAAoB,0CACpBC,EAA2B,kCAmB3B,MAAMC,EAA0C,CAAC,CAAE,KAAM,CAAE,MAAAC,EAAQ,CAAC,CAAE,EAAG,UAAAC,EAAY,SAAU,UAAAC,EAAY,EAAG,OAE1G,OAAC,OAAI,aAAW,MAAG,8BAA+BA,CAAS,EACzD,mBAAC,OAAI,aAAW,MAAG,aAAc,iCAAkC,kCAAkC,EAClG,SAAAF,EAAM,IAAI,CAACG,EAAMC,OAChB,QAAC,OAEC,aAAW,MACT,oBACA,6BACA,cACA,wBACA,oBACA,CACG,oBAAsB,CAAC,EAAG,EAAG,EAAG,EAAE,EAAE,SAASA,CAAK,CACrD,EACAH,IAAc,QAAU,iBAAmB,cAC7C,EAEA,qBAAC,OAAI,UAAU,uEACb,oBAAC,MAAG,UAAU,mGACX,SAAAE,EAAK,MACR,EACCA,EAAK,YAAY,UAChB,OAAC,OAAI,UAAU,kBACZ,SAAAA,EAAK,WAAW,IAAI,CAACE,EAAmBD,OACvC,OAAC,OAEC,aAAW,MACT,iEACA,wBACA,wBACF,EAEA,mBAAC,EAAAE,QAAA,CAAQ,OAAQD,EAAW,UAAU,yBAAyB,GAP1DD,CAQP,CACD,EACH,KAEA,OAAC,QAAK,UAAU,iBAAkB,SAAAD,EAAK,KAAK,GAEhD,KACA,OAAC,KAAE,UAAU,+FACV,SAAAA,EAAK,YACR,IAtCKC,CAuCP,CACD,EACH,EACF,EAIJ,IAAOZ,KAAQ,cAAWO,CAAW",
6
- "names": ["BrandEquity_exports", "__export", "BrandEquity_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_Styles", "BrandEquity", "items", "itemShape", "className", "item", "index", "avatarUrl", "Picture"]
4
+ "sourcesContent": ["'use client'\nimport React from 'react'\n\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport type { ComponentCommonProps, Img } from '../../types/props.js'\n\nexport interface BrandEquityItem {\n icon?: Img\n type?: 'icon' | 'avatar'\n title: string\n description: string\n avatarList?: {\n avatar: Img\n }[]\n}\n\nexport interface BrandEquityProps extends ComponentCommonProps {\n data: {\n items: BrandEquityItem[]\n }\n itemShape?: 'round' | 'square'\n className?: string\n theme?: 'light' | 'dark'\n}\n\nconst BrandEquity: React.FC<BrandEquityProps> = ({ data: { items = [] }, itemShape = 'square', className = '' }) => {\n return (\n <div className={cn('brand-equity-wrapper w-full', className)}>\n <div className={cn('grid gap-3', 'tablet:grid-cols-2 grid-cols-1', 'laptop:gap-4 laptop:grid-cols-10')}>\n {items.map((item, index) => (\n <div\n key={index}\n className={cn(\n 'brand-equity-item',\n 'flex flex-col bg-white p-4',\n 'desktop:p-6',\n 'desktop:gap-16 gap-12',\n 'laptop:col-span-3',\n {\n ['laptop:col-span-4']: [0, 5, 6, 11].includes(index),\n },\n itemShape === 'round' ? 'rounded-[16px]' : 'rounded-none'\n )}\n >\n <div className=\"lg-desktop:h-[36px] flex h-[30px] items-center justify-between gap-3\">\n <h3 className=\"lg-desktop:text-[18px] text-[14px] font-semibold leading-[1.2] tracking-[-0.02em] text-[#1D1D1F]\">\n {item.title}\n </h3>\n {item.type === 'avatar' ? (\n <div className=\"flex -space-x-2\">\n {item?.avatarList?.map((item: { avatar: Img }, index: number) => (\n <div\n key={index}\n className={cn(\n 'size-[30px] overflow-hidden rounded-full border-2 border-white',\n 'relative inline-block',\n 'lg-desktop:size-[36px]'\n )}\n >\n <Picture source={item.avatar.url} alt={item.avatar?.alt} className=\"size-full object-cover\" />\n </div>\n ))}\n </div>\n ) : (\n <Picture\n className=\"lg-desktop:size-[36px] size-[30px] object-cover\"\n source={item.icon?.url}\n alt={item.icon?.alt}\n imgClassName=\"w-full h-full object-cover\"\n />\n )}\n </div>\n <p className=\"lg-desktop:text-[24px] text-[20px] font-bold leading-[1.2] tracking-[-0.04em] text-[#1D1D1F]\">\n {item.description}\n </p>\n </div>\n ))}\n </div>\n </div>\n )\n}\n\nexport default withStyles(BrandEquity)\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA8CY,IAAAI,EAAA,6BA7CZC,EAAkB,iBAElBC,EAAmB,kCACnBC,EAAoB,0CACpBC,EAA2B,kCAsB3B,MAAMC,EAA0C,CAAC,CAAE,KAAM,CAAE,MAAAC,EAAQ,CAAC,CAAE,EAAG,UAAAC,EAAY,SAAU,UAAAC,EAAY,EAAG,OAE1G,OAAC,OAAI,aAAW,MAAG,8BAA+BA,CAAS,EACzD,mBAAC,OAAI,aAAW,MAAG,aAAc,iCAAkC,kCAAkC,EAClG,SAAAF,EAAM,IAAI,CAACG,EAAMC,OAChB,QAAC,OAEC,aAAW,MACT,oBACA,6BACA,cACA,wBACA,oBACA,CACG,oBAAsB,CAAC,EAAG,EAAG,EAAG,EAAE,EAAE,SAASA,CAAK,CACrD,EACAH,IAAc,QAAU,iBAAmB,cAC7C,EAEA,qBAAC,OAAI,UAAU,uEACb,oBAAC,MAAG,UAAU,mGACX,SAAAE,EAAK,MACR,EACCA,EAAK,OAAS,YACb,OAAC,OAAI,UAAU,kBACZ,SAAAA,GAAM,YAAY,IAAI,CAACA,EAAuBC,OAC7C,OAAC,OAEC,aAAW,MACT,iEACA,wBACA,wBACF,EAEA,mBAAC,EAAAC,QAAA,CAAQ,OAAQF,EAAK,OAAO,IAAK,IAAKA,EAAK,QAAQ,IAAK,UAAU,yBAAyB,GAPvFC,CAQP,CACD,EACH,KAEA,OAAC,EAAAC,QAAA,CACC,UAAU,kDACV,OAAQF,EAAK,MAAM,IACnB,IAAKA,EAAK,MAAM,IAChB,aAAa,6BACf,GAEJ,KACA,OAAC,KAAE,UAAU,+FACV,SAAAA,EAAK,YACR,IA3CKC,CA4CP,CACD,EACH,EACF,EAIJ,IAAOZ,KAAQ,cAAWO,CAAW",
6
+ "names": ["BrandEquity_exports", "__export", "BrandEquity_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_Styles", "BrandEquity", "items", "itemShape", "className", "item", "index", "Picture"]
7
7
  }
@@ -1,6 +1,8 @@
1
1
  export interface CategoryItem {
2
2
  /** 产品图片*/
3
- img: string;
3
+ img: {
4
+ url: string;
5
+ };
4
6
  title: string;
5
7
  }
6
8
  export interface CategoryProps {
@@ -8,7 +10,7 @@ export interface CategoryProps {
8
10
  /** 主题色*/
9
11
  theme?: 'light' | 'dark';
10
12
  data: {
11
- items: CategoryItem[];
13
+ products: CategoryItem[];
12
14
  /** 卡片形状 */
13
15
  shape?: 'round' | 'square';
14
16
  title?: string;
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var g=Object.create;var s=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var C=(e,t)=>{for(var r in t)s(e,r,{get:t[r],enumerable:!0})},n=(e,t,r,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of x(t))!y.call(e,i)&&i!==r&&s(e,i,{get:()=>t[i],enumerable:!(p=u(t,i))||p.enumerable});return e};var a=(e,t,r)=>(r=e!=null?g(w(e)):{},n(t||!e||!e.__esModule?s(r,"default",{value:e,enumerable:!0}):r,e)),h=e=>n(s({},"__esModule",{value:!0}),e);var N={};C(N,{default:()=>F});module.exports=h(N);var o=require("react/jsx-runtime"),k=require("react"),l=require("../../helpers/utils.js"),m=a(require("../../components/picture.js")),d=require("../../shared/Styles.js"),f=a(require("../Title/index.js")),c=a(require("../SwiperBox/index.js"));const v=({data:e,configuration:t})=>(0,o.jsxs)("div",{className:(0,l.cn)("box-border flex w-full flex-col overflow-hidden bg-[#EAEAEC]","laptop:p-6 desktop:p-8 p-4 hover:bg-[#FFFFFF] cursor-pointer",t?.shape==="round"?"rounded-[16px]":"rounded-none"),children:[(0,o.jsx)(m.default,{className:"w-full object-cover",source:e?.img}),(0,o.jsx)("p",{className:"desktop:text-lg flex-1 text-center text-sm font-semibold",children:e?.title})]}),b=({data:e,className:t="",key:r})=>(0,o.jsxs)("div",{className:(0,l.cn)("w-full",t),children:[e?.title&&(0,o.jsx)(f.default,{data:{title:e?.title}}),(0,o.jsx)(c.default,{className:"!overflow-visible",id:"Category"+r,data:{list:e?.items,configuration:{shape:e?.shape}},Slide:v,breakpoints:{0:{spaceBetween:"12px",freeMode:!1,slidesPerView:1},374:{spaceBetween:"12px",freeMode:!1,slidesPerView:2.3},768:{spaceBetween:"16px",freeMode:!1,slidesPerView:5}}})]});var F=(0,d.withStyles)(b);
1
+ "use strict";"use client";var g=Object.create;var i=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var h=(e,t)=>{for(var r in t)i(e,r,{get:t[r],enumerable:!0})},n=(e,t,r,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of x(t))!y.call(e,s)&&s!==r&&i(e,s,{get:()=>t[s],enumerable:!(p=u(t,s))||p.enumerable});return e};var l=(e,t,r)=>(r=e!=null?g(w(e)):{},n(t||!e||!e.__esModule?i(r,"default",{value:e,enumerable:!0}):r,e)),C=e=>n(i({},"__esModule",{value:!0}),e);var N={};h(N,{default:()=>F});module.exports=C(N);var o=require("react/jsx-runtime"),k=require("react"),a=require("../../helpers/utils.js"),c=l(require("../../components/picture.js")),d=require("../../shared/Styles.js"),f=l(require("../Title/index.js")),m=l(require("../SwiperBox/index.js"));const v=({data:e,configuration:t})=>(0,o.jsxs)("div",{className:(0,a.cn)("box-border flex w-full flex-col overflow-hidden bg-[#EAEAEC]","laptop:p-6 desktop:p-8 p-4 hover:bg-[#FFFFFF] cursor-pointer",t?.shape==="round"?"rounded-[16px]":"rounded-none"),children:[(0,o.jsx)(c.default,{className:"flex h-full items-center object-cover",source:e?.img?.url}),(0,o.jsx)("p",{className:"desktop:text-lg flex-1 text-center text-sm font-semibold",children:e?.title})]}),b=({data:e,className:t="",key:r})=>(0,o.jsxs)("div",{className:(0,a.cn)("w-full",t),children:[e?.title&&(0,o.jsx)(f.default,{data:{title:e?.title}}),(0,o.jsx)(m.default,{className:"!overflow-visible",id:"Category"+r,data:{list:e?.products,configuration:{shape:e?.shape}},Slide:v,breakpoints:{0:{spaceBetween:"12px",freeMode:!1,slidesPerView:1},374:{spaceBetween:"12px",freeMode:!1,slidesPerView:2.3},768:{spaceBetween:"16px",freeMode:!1,slidesPerView:5}}})]});var F=(0,d.withStyles)(b);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Category/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\n\nexport interface CategoryItem {\n /** \u4EA7\u54C1\u56FE\u7247*/\n img: string\n title: string\n}\n\nexport interface CategoryProps {\n className?: string\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n data: {\n items: CategoryItem[]\n /** \u5361\u7247\u5F62\u72B6 */\n shape?: 'round' | 'square'\n title?: string\n }\n key?: string\n}\n\nconst CategoryItem = ({ data, configuration }: { data: CategoryItem; configuration?: any }) => {\n return (\n <div\n className={cn(\n 'box-border flex w-full flex-col overflow-hidden bg-[#EAEAEC]',\n 'laptop:p-6 desktop:p-8 p-4 hover:bg-[#FFFFFF] cursor-pointer',\n configuration?.shape === 'round' ? 'rounded-[16px]' : 'rounded-none'\n )}\n >\n <Picture className=\"w-full object-cover\" source={data?.img} />\n <p className=\"desktop:text-lg flex-1 text-center text-sm font-semibold\">{data?.title}</p>\n </div>\n )\n}\n\nconst Category: React.FC<CategoryProps> = ({ data, className = '', key }) => {\n return (\n <div className={cn('w-full', className)}>\n {data?.title && <Title data={{ title: data?.title }} />}\n <SwiperBox\n className=\"!overflow-visible\"\n id={'Category' + key}\n data={{ list: data?.items, configuration: { shape: data?.shape } }}\n Slide={CategoryItem}\n breakpoints={{\n 0: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 2.3,\n },\n 768: {\n spaceBetween: '16px',\n freeMode: false,\n slidesPerView: 5,\n },\n }}\n />\n </div>\n )\n}\n\nexport default withStyles(Category)\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA6BI,IAAAI,EAAA,6BA5BJC,EAAkB,iBAClBC,EAAmB,kCACnBC,EAAoB,0CACpBC,EAA2B,kCAC3BC,EAAkB,gCAClBC,EAAsB,oCAqBtB,MAAMC,EAAe,CAAC,CAAE,KAAAC,EAAM,cAAAC,CAAc,OAExC,QAAC,OACC,aAAW,MACT,+DACA,+DACAA,GAAe,QAAU,QAAU,iBAAmB,cACxD,EAEA,oBAAC,EAAAC,QAAA,CAAQ,UAAU,sBAAsB,OAAQF,GAAM,IAAK,KAC5D,OAAC,KAAE,UAAU,2DAA4D,SAAAA,GAAM,MAAM,GACvF,EAIEG,EAAoC,CAAC,CAAE,KAAAH,EAAM,UAAAI,EAAY,GAAI,IAAAC,CAAI,OAEnE,QAAC,OAAI,aAAW,MAAG,SAAUD,CAAS,EACnC,UAAAJ,GAAM,UAAS,OAAC,EAAAM,QAAA,CAAM,KAAM,CAAE,MAAON,GAAM,KAAM,EAAG,KACrD,OAAC,EAAAO,QAAA,CACC,UAAU,oBACV,GAAI,WAAaF,EACjB,KAAM,CAAE,KAAML,GAAM,MAAO,cAAe,CAAE,MAAOA,GAAM,KAAM,CAAE,EACjE,MAAOD,EACP,YAAa,CACX,EAAG,CACD,aAAc,OACd,SAAU,GACV,cAAe,CACjB,EACA,IAAK,CACH,aAAc,OACd,SAAU,GACV,cAAe,GACjB,EACA,IAAK,CACH,aAAc,OACd,SAAU,GACV,cAAe,CACjB,CACF,EACF,GACF,EAIJ,IAAOT,KAAQ,cAAWa,CAAQ",
4
+ "sourcesContent": ["'use client'\nimport React from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport Title from '../Title/index.js'\nimport SwiperBox from '../SwiperBox/index.js'\n\nexport interface CategoryItem {\n /** \u4EA7\u54C1\u56FE\u7247*/\n img: {\n url: string\n }\n title: string\n}\n\nexport interface CategoryProps {\n className?: string\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n data: {\n products: CategoryItem[]\n /** \u5361\u7247\u5F62\u72B6 */\n shape?: 'round' | 'square'\n title?: string\n }\n key?: string\n}\n\nconst CategoryItem = ({ data, configuration }: { data: CategoryItem; configuration?: any }) => {\n return (\n <div\n className={cn(\n 'box-border flex w-full flex-col overflow-hidden bg-[#EAEAEC]',\n 'laptop:p-6 desktop:p-8 p-4 hover:bg-[#FFFFFF] cursor-pointer',\n configuration?.shape === 'round' ? 'rounded-[16px]' : 'rounded-none'\n )}\n >\n <Picture className=\"flex h-full items-center object-cover\" source={data?.img?.url} />\n <p className=\"desktop:text-lg flex-1 text-center text-sm font-semibold\">{data?.title}</p>\n </div>\n )\n}\n\nconst Category: React.FC<CategoryProps> = ({ data, className = '', key }) => {\n return (\n <div className={cn('w-full', className)}>\n {data?.title && <Title data={{ title: data?.title }} />}\n <SwiperBox\n className=\"!overflow-visible\"\n id={'Category' + key}\n data={{ list: data?.products, configuration: { shape: data?.shape } }}\n Slide={CategoryItem}\n breakpoints={{\n 0: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 2.3,\n },\n 768: {\n spaceBetween: '16px',\n freeMode: false,\n slidesPerView: 5,\n },\n }}\n />\n </div>\n )\n}\n\nexport default withStyles(Category)\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA+BI,IAAAI,EAAA,6BA9BJC,EAAkB,iBAClBC,EAAmB,kCACnBC,EAAoB,0CACpBC,EAA2B,kCAC3BC,EAAkB,gCAClBC,EAAsB,oCAuBtB,MAAMC,EAAe,CAAC,CAAE,KAAAC,EAAM,cAAAC,CAAc,OAExC,QAAC,OACC,aAAW,MACT,+DACA,+DACAA,GAAe,QAAU,QAAU,iBAAmB,cACxD,EAEA,oBAAC,EAAAC,QAAA,CAAQ,UAAU,wCAAwC,OAAQF,GAAM,KAAK,IAAK,KACnF,OAAC,KAAE,UAAU,2DAA4D,SAAAA,GAAM,MAAM,GACvF,EAIEG,EAAoC,CAAC,CAAE,KAAAH,EAAM,UAAAI,EAAY,GAAI,IAAAC,CAAI,OAEnE,QAAC,OAAI,aAAW,MAAG,SAAUD,CAAS,EACnC,UAAAJ,GAAM,UAAS,OAAC,EAAAM,QAAA,CAAM,KAAM,CAAE,MAAON,GAAM,KAAM,EAAG,KACrD,OAAC,EAAAO,QAAA,CACC,UAAU,oBACV,GAAI,WAAaF,EACjB,KAAM,CAAE,KAAML,GAAM,SAAU,cAAe,CAAE,MAAOA,GAAM,KAAM,CAAE,EACpE,MAAOD,EACP,YAAa,CACX,EAAG,CACD,aAAc,OACd,SAAU,GACV,cAAe,CACjB,EACA,IAAK,CACH,aAAc,OACd,SAAU,GACV,cAAe,GACjB,EACA,IAAK,CACH,aAAc,OACd,SAAU,GACV,cAAe,CACjB,CACF,EACF,GACF,EAIJ,IAAOT,KAAQ,cAAWa,CAAQ",
6
6
  "names": ["Category_exports", "__export", "Category_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_picture", "import_Styles", "import_Title", "import_SwiperBox", "CategoryItem", "data", "configuration", "Picture", "Category", "className", "key", "Title", "SwiperBox"]
7
7
  }
@@ -1,10 +1,14 @@
1
1
  export interface EvaluateItem {
2
2
  /** 产品图片*/
3
- img: string;
3
+ img: {
4
+ url: string;
5
+ };
4
6
  title: string;
5
7
  subTitle: string;
6
8
  description: string;
7
- avatar?: string;
9
+ avatar?: {
10
+ url: string;
11
+ };
8
12
  rating: number;
9
13
  }
10
14
  export interface EvaluateProps {
@@ -13,7 +17,7 @@ export interface EvaluateProps {
13
17
  theme?: 'light' | 'dark';
14
18
  data: {
15
19
  title?: string;
16
- items: EvaluateItem[];
20
+ products: EvaluateItem[];
17
21
  /** 形状 */
18
22
  shape?: 'round' | 'square';
19
23
  };
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var x=Object.create;var n=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var N=(t,s)=>{for(var i in s)n(t,i,{get:s[i],enumerable:!0})},d=(t,s,i,l)=>{if(s&&typeof s=="object"||typeof s=="function")for(let a of w(s))!h.call(t,a)&&a!==i&&n(t,a,{get:()=>s[a],enumerable:!(l=g(s,a))||l.enumerable});return t};var m=(t,s,i)=>(i=t!=null?x(b(t)):{},d(s||!t||!t.__esModule?n(i,"default",{value:t,enumerable:!0}):i,t)),F=t=>d(n({},"__esModule",{value:!0}),t);var L={};N(L,{default:()=>E});module.exports=F(L);var e=require("react/jsx-runtime"),y=require("react"),p=m(require("../Title/index.js")),o=require("../../helpers/utils.js"),c=m(require("../../components/picture.js")),v=m(require("../SwiperBox/index.js")),f=require("../../shared/Styles.js"),r=require("../../components/avatar.js");const C=({data:t,configuration:s})=>{const i=l=>l?Array.from(new Array(Number(l)))||[]:[];return(0,e.jsxs)("div",{className:(0,o.cn)("box-border flex w-full flex-col overflow-hidden bg-[#EAEAEC] p-4","hover:bg-[#FFFFFF] cursor-pointer",s?.shape==="round"?"rounded-2xl":"rounded-none"),children:[(0,e.jsxs)("div",{className:(0,o.cn)("laptop:mb-11 desktop:mb-16 mb-8 flex w-full justify-between"),children:[(0,e.jsxs)("div",{className:"flex-1",children:[(0,e.jsx)("h4",{className:"laptop:text-lg text-sm font-semibold",children:t?.title}),(0,e.jsx)("div",{className:"mt-1 flex items-center",children:i(t?.rating)?.map?.((l,a)=>(0,e.jsx)("div",{className:"mr-1",children:(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:(0,e.jsx)("path",{d:"M7.32745 1.36274C7.60256 0.805304 8.39744 0.805305 8.67255 1.36274L10.1766 4.41035C10.2859 4.63171 10.4971 4.78514 10.7413 4.82063L14.1046 5.30934C14.7197 5.39873 14.9654 6.15471 14.5202 6.58861L12.0866 8.96084C11.9098 9.13315 11.8292 9.3814 11.8709 9.62469L12.4454 12.9743C12.5505 13.587 11.9074 14.0542 11.3572 13.765L8.349 12.1835C8.13051 12.0686 7.86949 12.0686 7.65099 12.1835L4.64282 13.765C4.0926 14.0542 3.44953 13.587 3.55461 12.9743L4.12912 9.62469C4.17085 9.3814 4.09019 9.13315 3.91342 8.96084L1.47976 6.58861C1.03462 6.15471 1.28025 5.39873 1.89542 5.30934L5.25866 4.82063C5.50294 4.78514 5.71412 4.63171 5.82336 4.41035L7.32745 1.36274Z",fill:"#F77234"})})},a))})]}),(0,e.jsx)("div",{className:"desktop:size-12 size-10 overflow-hidden",children:(0,e.jsxs)(r.Avatar,{className:"size-full",children:[(0,e.jsx)(r.AvatarImage,{src:t?.avatar}),(0,e.jsx)(r.AvatarFallback,{children:t?.title})]})})]}),(0,e.jsx)("p",{className:"desktop:text-2xl line-clamp-6 flex-1 text-xl font-bold text-[#1D1D1F]",children:t?.description||""}),(0,e.jsxs)("div",{className:(0,o.cn)("mt-11 flex items-center overflow-hidden bg-[#F7F8F9] p-3",s?.shape==="round"?"rounded-[8px]":"rounded-none"),children:[(0,e.jsx)("div",{className:"laptop:size-16 desktop:size-20 mr-3 flex size-12 items-center",children:(0,e.jsx)(c.default,{className:"w-full object-cover",source:t?.img})}),(0,e.jsx)("p",{className:"desktop:text-lg line-clamp-2 flex-1 text-sm font-semibold",children:t?.subTitle||""})]})]})},k=({className:t="",data:s,key:i})=>{const{items:l,title:a,...u}=s;return(0,e.jsx)(e.Fragment,{children:(0,e.jsxs)("div",{className:(0,o.cn)("w-full",t),children:[a&&(0,e.jsx)(p.default,{data:{title:a}}),(0,e.jsx)(v.default,{className:"!overflow-visible",id:"Evaluate"+i,data:{list:l,configuration:{...u}},Slide:C,breakpoints:{0:{spaceBetween:"12px",freeMode:!1,slidesPerView:1},374:{spaceBetween:"12px",freeMode:!1,slidesPerView:1.3},768:{spaceBetween:"16px",freeMode:!1,slidesPerView:4}}})]})})};var E=(0,f.withStyles)(k);
1
+ "use strict";"use client";var x=Object.create;var n=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var b=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var N=(t,r)=>{for(var l in r)n(t,l,{get:r[l],enumerable:!0})},m=(t,r,l,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of w(r))!h.call(t,s)&&s!==l&&n(t,s,{get:()=>r[s],enumerable:!(a=g(r,s))||a.enumerable});return t};var d=(t,r,l)=>(l=t!=null?x(b(t)):{},m(r||!t||!t.__esModule?n(l,"default",{value:t,enumerable:!0}):l,t)),F=t=>m(n({},"__esModule",{value:!0}),t);var L={};N(L,{default:()=>E});module.exports=F(L);var e=require("react/jsx-runtime"),y=require("react"),p=d(require("../Title/index.js")),o=require("../../helpers/utils.js"),c=d(require("../../components/picture.js")),v=d(require("../SwiperBox/index.js")),f=require("../../shared/Styles.js"),i=require("../../components/avatar.js");const C=({data:t,configuration:r})=>{const l=a=>a?Array.from(new Array(Number(a)))||[]:[];return(0,e.jsxs)("div",{className:(0,o.cn)("box-border flex w-full flex-col overflow-hidden bg-[#EAEAEC] p-4","hover:bg-[#FFFFFF] cursor-pointer",r?.shape==="round"?"rounded-2xl":"rounded-none"),children:[(0,e.jsxs)("div",{className:(0,o.cn)("laptop:mb-11 desktop:mb-16 mb-8 flex w-full justify-between"),children:[(0,e.jsxs)("div",{className:"flex-1",children:[(0,e.jsx)("h4",{className:"laptop:text-lg text-sm font-semibold",children:t?.title}),(0,e.jsx)("div",{className:"mt-1 flex items-center",children:l(t?.rating)?.map?.((a,s)=>(0,e.jsx)("div",{className:"mr-1",children:(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",children:(0,e.jsx)("path",{d:"M7.32745 1.36274C7.60256 0.805304 8.39744 0.805305 8.67255 1.36274L10.1766 4.41035C10.2859 4.63171 10.4971 4.78514 10.7413 4.82063L14.1046 5.30934C14.7197 5.39873 14.9654 6.15471 14.5202 6.58861L12.0866 8.96084C11.9098 9.13315 11.8292 9.3814 11.8709 9.62469L12.4454 12.9743C12.5505 13.587 11.9074 14.0542 11.3572 13.765L8.349 12.1835C8.13051 12.0686 7.86949 12.0686 7.65099 12.1835L4.64282 13.765C4.0926 14.0542 3.44953 13.587 3.55461 12.9743L4.12912 9.62469C4.17085 9.3814 4.09019 9.13315 3.91342 8.96084L1.47976 6.58861C1.03462 6.15471 1.28025 5.39873 1.89542 5.30934L5.25866 4.82063C5.50294 4.78514 5.71412 4.63171 5.82336 4.41035L7.32745 1.36274Z",fill:"#F77234"})})},s))})]}),(0,e.jsx)("div",{className:"desktop:size-12 size-10 overflow-hidden",children:(0,e.jsxs)(i.Avatar,{className:"size-full",children:[(0,e.jsx)(i.AvatarImage,{src:t?.avatar?.url}),(0,e.jsx)(i.AvatarFallback,{children:t?.title})]})})]}),(0,e.jsx)("p",{className:"desktop:text-2xl line-clamp-6 flex-1 text-xl font-bold text-[#1D1D1F]",children:t?.description||""}),(0,e.jsxs)("div",{className:(0,o.cn)("mt-11 flex items-center overflow-hidden bg-[#F7F8F9] p-3",r?.shape==="round"?"rounded-[8px]":"rounded-none"),children:[(0,e.jsx)("div",{className:"laptop:size-16 desktop:size-20 mr-3 flex size-12 items-center",children:(0,e.jsx)(c.default,{className:"w-full object-cover",source:t?.img?.url})}),(0,e.jsx)("p",{className:"desktop:text-lg line-clamp-2 flex-1 text-sm font-semibold",children:t?.subTitle||""})]})]})},k=({className:t="",data:r,key:l})=>{const{products:a,title:s,...u}=r;return(0,e.jsx)(e.Fragment,{children:(0,e.jsxs)("div",{className:(0,o.cn)("w-full",t),children:[s&&(0,e.jsx)(p.default,{data:{title:s}}),(0,e.jsx)(v.default,{className:"!overflow-visible",id:"Evaluate"+l,data:{list:a,configuration:{...u}},Slide:C,breakpoints:{0:{spaceBetween:"12px",freeMode:!1,slidesPerView:1},374:{spaceBetween:"12px",freeMode:!1,slidesPerView:1.3},768:{spaceBetween:"16px",freeMode:!1,slidesPerView:4}}})]})})};var E=(0,f.withStyles)(k);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Evaluate/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React from 'react'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { Avatar, AvatarImage, AvatarFallback } from '../../components/avatar.js'\n\nexport interface EvaluateItem {\n /** \u4EA7\u54C1\u56FE\u7247*/\n img: string\n title: string\n subTitle: string\n description: string\n avatar?: string\n rating: number\n}\n\nexport interface EvaluateProps {\n className?: string\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n data: {\n title?: string\n items: EvaluateItem[]\n /** \u5F62\u72B6 */\n shape?: 'round' | 'square'\n }\n key?:string\n}\n\nconst EvaluateItem = ({ data, configuration }: { data: EvaluateItem; configuration?: any }) => {\n const handleRating = (num: number) => {\n if (num) {\n return Array.from(new Array(Number(num))) || []\n }\n return []\n }\n\n return (\n <div\n className={cn(\n 'box-border flex w-full flex-col overflow-hidden bg-[#EAEAEC] p-4',\n 'hover:bg-[#FFFFFF] cursor-pointer',\n configuration?.shape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('laptop:mb-11 desktop:mb-16 mb-8 flex w-full justify-between')}>\n <div className=\"flex-1\">\n <h4 className=\"laptop:text-lg text-sm font-semibold\">{data?.title}</h4>\n <div className=\"mt-1 flex items-center\">\n {handleRating(data?.rating)?.map?.((_, index) => {\n return (\n <div key={index} className=\"mr-1\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n d=\"M7.32745 1.36274C7.60256 0.805304 8.39744 0.805305 8.67255 1.36274L10.1766 4.41035C10.2859 4.63171 10.4971 4.78514 10.7413 4.82063L14.1046 5.30934C14.7197 5.39873 14.9654 6.15471 14.5202 6.58861L12.0866 8.96084C11.9098 9.13315 11.8292 9.3814 11.8709 9.62469L12.4454 12.9743C12.5505 13.587 11.9074 14.0542 11.3572 13.765L8.349 12.1835C8.13051 12.0686 7.86949 12.0686 7.65099 12.1835L4.64282 13.765C4.0926 14.0542 3.44953 13.587 3.55461 12.9743L4.12912 9.62469C4.17085 9.3814 4.09019 9.13315 3.91342 8.96084L1.47976 6.58861C1.03462 6.15471 1.28025 5.39873 1.89542 5.30934L5.25866 4.82063C5.50294 4.78514 5.71412 4.63171 5.82336 4.41035L7.32745 1.36274Z\"\n fill=\"#F77234\"\n />\n </svg>\n </div>\n )\n })}\n </div>\n </div>\n <div className=\"desktop:size-12 size-10 overflow-hidden\">\n <Avatar className=\"size-full\">\n <AvatarImage src={data?.avatar} />\n <AvatarFallback>{data?.title}</AvatarFallback>\n </Avatar>\n </div>\n </div>\n <p className=\"desktop:text-2xl line-clamp-6 flex-1 text-xl font-bold text-[#1D1D1F]\">{data?.description || ''}</p>\n <div\n className={cn(\n 'mt-11 flex items-center overflow-hidden bg-[#F7F8F9] p-3',\n configuration?.shape === 'round' ? 'rounded-[8px]' : 'rounded-none'\n )}\n >\n <div className=\"laptop:size-16 desktop:size-20 mr-3 flex size-12 items-center\">\n <Picture className=\"w-full object-cover\" source={data?.img} />\n </div>\n <p className=\"desktop:text-lg line-clamp-2 flex-1 text-sm font-semibold\">{data?.subTitle || ''}</p>\n </div>\n </div>\n )\n}\n\nconst Evaluate: React.FC<EvaluateProps> = ({ className = '', data, key }) => {\n const { items, title, ...ohter } = data\n return (\n <>\n <div className={cn('w-full', className)}>\n {title && <Title data={{ title: title }} />}\n <SwiperBox\n className=\"!overflow-visible\"\n id={'Evaluate' + key}\n data={{ list: items, configuration: { ...ohter } }}\n Slide={EvaluateItem}\n breakpoints={{\n 0: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 1.3,\n },\n 768: {\n spaceBetween: '16px',\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n </>\n )\n}\n\nexport default withStyles(Evaluate)\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAiDQ,IAAAI,EAAA,6BAhDRC,EAAkB,iBAClBC,EAAkB,gCAClBC,EAAmB,kCACnBC,EAAoB,0CACpBC,EAAsB,oCACtBC,EAA2B,kCAC3BC,EAAoD,sCAyBpD,MAAMC,EAAe,CAAC,CAAE,KAAAC,EAAM,cAAAC,CAAc,IAAmD,CAC7F,MAAMC,EAAgBC,GAChBA,EACK,MAAM,KAAK,IAAI,MAAM,OAAOA,CAAG,CAAC,CAAC,GAAK,CAAC,EAEzC,CAAC,EAGV,SACE,QAAC,OACC,aAAW,MACT,mEACA,oCACAF,GAAe,QAAU,QAAU,cAAgB,cACrD,EAEA,qBAAC,OAAI,aAAW,MAAG,6DAA6D,EAC9E,qBAAC,OAAI,UAAU,SACb,oBAAC,MAAG,UAAU,uCAAwC,SAAAD,GAAM,MAAM,KAClE,OAAC,OAAI,UAAU,yBACZ,SAAAE,EAAaF,GAAM,MAAM,GAAG,MAAM,CAACI,EAAGC,OAEnC,OAAC,OAAgB,UAAU,OACzB,mBAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,mBAAC,QACC,EAAE,6oBACF,KAAK,UACP,EACF,GANQA,CAOV,CAEH,EACH,GACF,KACA,OAAC,OAAI,UAAU,0CACb,oBAAC,UAAO,UAAU,YAChB,oBAAC,eAAY,IAAKL,GAAM,OAAQ,KAChC,OAAC,kBAAgB,SAAAA,GAAM,MAAM,GAC/B,EACF,GACF,KACA,OAAC,KAAE,UAAU,wEAAyE,SAAAA,GAAM,aAAe,GAAG,KAC9G,QAAC,OACC,aAAW,MACT,2DACAC,GAAe,QAAU,QAAU,gBAAkB,cACvD,EAEA,oBAAC,OAAI,UAAU,gEACb,mBAAC,EAAAK,QAAA,CAAQ,UAAU,sBAAsB,OAAQN,GAAM,IAAK,EAC9D,KACA,OAAC,KAAE,UAAU,4DAA6D,SAAAA,GAAM,UAAY,GAAG,GACjG,GACF,CAEJ,EAEMO,EAAoC,CAAC,CAAE,UAAAC,EAAY,GAAI,KAAAR,EAAM,IAAAS,CAAI,IAAM,CAC3E,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,GAAGC,CAAM,EAAIZ,EACnC,SACE,mBACE,oBAAC,OAAI,aAAW,MAAG,SAAUQ,CAAS,EACnC,UAAAG,MAAS,OAAC,EAAAE,QAAA,CAAM,KAAM,CAAE,MAAOF,CAAM,EAAG,KACzC,OAAC,EAAAG,QAAA,CACC,UAAU,oBACV,GAAI,WAAaL,EACjB,KAAM,CAAE,KAAMC,EAAO,cAAe,CAAE,GAAGE,CAAM,CAAE,EACjD,MAAOb,EACP,YAAa,CACX,EAAG,CACD,aAAc,OACd,SAAU,GACV,cAAe,CACjB,EACA,IAAK,CACH,aAAc,OACd,SAAU,GACV,cAAe,GACjB,EACA,IAAK,CACH,aAAc,OACd,SAAU,GACV,cAAe,CACjB,CACF,EACF,GACF,EACF,CAEJ,EAEA,IAAOV,KAAQ,cAAWkB,CAAQ",
6
- "names": ["Evaluate_exports", "__export", "Evaluate_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_Title", "import_utils", "import_picture", "import_SwiperBox", "import_Styles", "import_avatar", "EvaluateItem", "data", "configuration", "handleRating", "num", "_", "index", "Picture", "Evaluate", "className", "key", "items", "title", "ohter", "Title", "SwiperBox"]
4
+ "sourcesContent": ["'use client'\nimport React from 'react'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { Avatar, AvatarImage, AvatarFallback } from '../../components/avatar.js'\n\nexport interface EvaluateItem {\n /** \u4EA7\u54C1\u56FE\u7247*/\n img: {\n url: string\n }\n title: string\n subTitle: string\n description: string\n avatar?: {\n url: string\n }\n rating: number\n}\n\nexport interface EvaluateProps {\n className?: string\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n data: {\n title?: string\n products: EvaluateItem[]\n /** \u5F62\u72B6 */\n shape?: 'round' | 'square'\n }\n key?: string\n}\n\nconst EvaluateItem = ({ data, configuration }: { data: EvaluateItem; configuration?: any }) => {\n const handleRating = (num: number) => {\n if (num) {\n return Array.from(new Array(Number(num))) || []\n }\n return []\n }\n\n return (\n <div\n className={cn(\n 'box-border flex w-full flex-col overflow-hidden bg-[#EAEAEC] p-4',\n 'hover:bg-[#FFFFFF] cursor-pointer',\n configuration?.shape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('laptop:mb-11 desktop:mb-16 mb-8 flex w-full justify-between')}>\n <div className=\"flex-1\">\n <h4 className=\"laptop:text-lg text-sm font-semibold\">{data?.title}</h4>\n <div className=\"mt-1 flex items-center\">\n {handleRating(data?.rating)?.map?.((_, index) => {\n return (\n <div key={index} className=\"mr-1\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path\n d=\"M7.32745 1.36274C7.60256 0.805304 8.39744 0.805305 8.67255 1.36274L10.1766 4.41035C10.2859 4.63171 10.4971 4.78514 10.7413 4.82063L14.1046 5.30934C14.7197 5.39873 14.9654 6.15471 14.5202 6.58861L12.0866 8.96084C11.9098 9.13315 11.8292 9.3814 11.8709 9.62469L12.4454 12.9743C12.5505 13.587 11.9074 14.0542 11.3572 13.765L8.349 12.1835C8.13051 12.0686 7.86949 12.0686 7.65099 12.1835L4.64282 13.765C4.0926 14.0542 3.44953 13.587 3.55461 12.9743L4.12912 9.62469C4.17085 9.3814 4.09019 9.13315 3.91342 8.96084L1.47976 6.58861C1.03462 6.15471 1.28025 5.39873 1.89542 5.30934L5.25866 4.82063C5.50294 4.78514 5.71412 4.63171 5.82336 4.41035L7.32745 1.36274Z\"\n fill=\"#F77234\"\n />\n </svg>\n </div>\n )\n })}\n </div>\n </div>\n <div className=\"desktop:size-12 size-10 overflow-hidden\">\n <Avatar className=\"size-full\">\n <AvatarImage src={data?.avatar?.url} />\n <AvatarFallback>{data?.title}</AvatarFallback>\n </Avatar>\n </div>\n </div>\n <p className=\"desktop:text-2xl line-clamp-6 flex-1 text-xl font-bold text-[#1D1D1F]\">{data?.description || ''}</p>\n <div\n className={cn(\n 'mt-11 flex items-center overflow-hidden bg-[#F7F8F9] p-3',\n configuration?.shape === 'round' ? 'rounded-[8px]' : 'rounded-none'\n )}\n >\n <div className=\"laptop:size-16 desktop:size-20 mr-3 flex size-12 items-center\">\n <Picture className=\"w-full object-cover\" source={data?.img?.url} />\n </div>\n <p className=\"desktop:text-lg line-clamp-2 flex-1 text-sm font-semibold\">{data?.subTitle || ''}</p>\n </div>\n </div>\n )\n}\n\nconst Evaluate: React.FC<EvaluateProps> = ({ className = '', data, key }) => {\n const { products, title, ...ohter } = data\n return (\n <>\n <div className={cn('w-full', className)}>\n {title && <Title data={{ title: title }} />}\n <SwiperBox\n className=\"!overflow-visible\"\n id={'Evaluate' + key}\n data={{ list: products, configuration: { ...ohter } }}\n Slide={EvaluateItem}\n breakpoints={{\n 0: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: '12px',\n freeMode: false,\n slidesPerView: 1.3,\n },\n 768: {\n spaceBetween: '16px',\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n </div>\n </>\n )\n}\n\nexport default withStyles(Evaluate)\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAqDQ,IAAAI,EAAA,6BApDRC,EAAkB,iBAClBC,EAAkB,gCAClBC,EAAmB,kCACnBC,EAAoB,0CACpBC,EAAsB,oCACtBC,EAA2B,kCAC3BC,EAAoD,sCA6BpD,MAAMC,EAAe,CAAC,CAAE,KAAAC,EAAM,cAAAC,CAAc,IAAmD,CAC7F,MAAMC,EAAgBC,GAChBA,EACK,MAAM,KAAK,IAAI,MAAM,OAAOA,CAAG,CAAC,CAAC,GAAK,CAAC,EAEzC,CAAC,EAGV,SACE,QAAC,OACC,aAAW,MACT,mEACA,oCACAF,GAAe,QAAU,QAAU,cAAgB,cACrD,EAEA,qBAAC,OAAI,aAAW,MAAG,6DAA6D,EAC9E,qBAAC,OAAI,UAAU,SACb,oBAAC,MAAG,UAAU,uCAAwC,SAAAD,GAAM,MAAM,KAClE,OAAC,OAAI,UAAU,yBACZ,SAAAE,EAAaF,GAAM,MAAM,GAAG,MAAM,CAACI,EAAGC,OAEnC,OAAC,OAAgB,UAAU,OACzB,mBAAC,OAAI,MAAM,6BAA6B,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OACtF,mBAAC,QACC,EAAE,6oBACF,KAAK,UACP,EACF,GANQA,CAOV,CAEH,EACH,GACF,KACA,OAAC,OAAI,UAAU,0CACb,oBAAC,UAAO,UAAU,YAChB,oBAAC,eAAY,IAAKL,GAAM,QAAQ,IAAK,KACrC,OAAC,kBAAgB,SAAAA,GAAM,MAAM,GAC/B,EACF,GACF,KACA,OAAC,KAAE,UAAU,wEAAyE,SAAAA,GAAM,aAAe,GAAG,KAC9G,QAAC,OACC,aAAW,MACT,2DACAC,GAAe,QAAU,QAAU,gBAAkB,cACvD,EAEA,oBAAC,OAAI,UAAU,gEACb,mBAAC,EAAAK,QAAA,CAAQ,UAAU,sBAAsB,OAAQN,GAAM,KAAK,IAAK,EACnE,KACA,OAAC,KAAE,UAAU,4DAA6D,SAAAA,GAAM,UAAY,GAAG,GACjG,GACF,CAEJ,EAEMO,EAAoC,CAAC,CAAE,UAAAC,EAAY,GAAI,KAAAR,EAAM,IAAAS,CAAI,IAAM,CAC3E,KAAM,CAAE,SAAAC,EAAU,MAAAC,EAAO,GAAGC,CAAM,EAAIZ,EACtC,SACE,mBACE,oBAAC,OAAI,aAAW,MAAG,SAAUQ,CAAS,EACnC,UAAAG,MAAS,OAAC,EAAAE,QAAA,CAAM,KAAM,CAAE,MAAOF,CAAM,EAAG,KACzC,OAAC,EAAAG,QAAA,CACC,UAAU,oBACV,GAAI,WAAaL,EACjB,KAAM,CAAE,KAAMC,EAAU,cAAe,CAAE,GAAGE,CAAM,CAAE,EACpD,MAAOb,EACP,YAAa,CACX,EAAG,CACD,aAAc,OACd,SAAU,GACV,cAAe,CACjB,EACA,IAAK,CACH,aAAc,OACd,SAAU,GACV,cAAe,GACjB,EACA,IAAK,CACH,aAAc,OACd,SAAU,GACV,cAAe,CACjB,CACF,EACF,GACF,EACF,CAEJ,EAEA,IAAOV,KAAQ,cAAWkB,CAAQ",
6
+ "names": ["Evaluate_exports", "__export", "Evaluate_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_Title", "import_utils", "import_picture", "import_SwiperBox", "import_Styles", "import_avatar", "EvaluateItem", "data", "configuration", "handleRating", "num", "_", "index", "Picture", "Evaluate", "className", "key", "products", "title", "ohter", "Title", "SwiperBox"]
7
7
  }
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
- export interface GraphicProps {
2
+ import type { ComponentCommonProps, Img } from '../../types/props.js';
3
+ export interface GraphicProps extends ComponentCommonProps {
3
4
  className?: string;
4
5
  data: {
5
6
  title?: string;
6
7
  items?: {
7
- imgUrl: string;
8
+ imgUrl: Img;
8
9
  title: string;
9
10
  textColor?: string;
10
11
  }[];
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var v=Object.create;var c=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var P=(t,e)=>{for(var l in e)c(t,l,{get:e[l],enumerable:!0})},x=(t,e,l,m)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of y(e))!G.call(t,o)&&o!==l&&c(t,o,{get:()=>e[o],enumerable:!(m=k(e,o))||m.enumerable});return t};var u=(t,e,l)=>(l=t!=null?v(N(t)):{},x(e||!t||!t.__esModule?c(l,"default",{value:t,enumerable:!0}):l,t)),S=t=>x(c({},"__esModule",{value:!0}),t);var R={};P(R,{default:()=>w});module.exports=S(R);var s=require("react/jsx-runtime"),n=u(require("react")),f=require("../../helpers/utils.js"),h=require("../../shared/Styles.js"),r=require("../../components/index.js"),d=require("../../components/index.js"),b=u(require("../Title/index.js"));const g=n.default.forwardRef(({data:t,shape:e,className:l,...m},o)=>{const p=t?.items?.length||0,C=(0,n.useMemo)(()=>{const a="basis-[296px]";let i="";return p===1&&(i="basis-[100%]"),p===2&&(i="tablet:basis-1/2"),p===3&&(i="laptop:basis-1/3"),p>3&&(i="laptop:basis-[288px] desktop:basis-[316px] lg-desktop:basis-[404px]"),`${a} ${i}`},[p]);return(0,s.jsxs)("div",{children:[t?.title&&(0,s.jsx)(b.default,{data:{title:t?.title}}),(0,s.jsx)(r.Carousel,{ref:o,opts:{align:"start"},className:l,...m,children:(0,s.jsx)(n.default.Fragment,{children:(0,s.jsx)(r.CarouselContent,{children:t?.items?.map((a,i)=>(0,s.jsx)(r.CarouselItem,{className:(0,f.cn)("laptop:pl-4 h-[360px] shrink-0 pl-3",C),children:(0,s.jsxs)("div",{className:(0,f.cn)("relative h-full",{"rounded-xl overflow-hidden laptop:rounded-2xl":e==="round"}),children:[(0,s.jsx)(d.Picture,{className:"h-full ",imgClassName:"h-full object-cover",source:a?.imgUrl}),(0,s.jsx)("div",{className:"laptop:p-6 absolute inset-0 z-[1] flex flex-col justify-end p-4",children:(0,s.jsx)(d.Text,{html:a?.title,style:{color:a?.textColor},className:"lg-desktop:text-[32px] desktop:text-[24px] desktop:[&_span]:text-[18px] text-lines-2 text-[24px] font-bold leading-[1.2] [&_span]:text-[14px] [&_span]:font-medium"})})]})},i+a?.title))})},".0")})]})});g.displayName="Graphic";var w=(0,h.withStyles)(g);
1
+ "use strict";"use client";var y=Object.create;var n=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var G=(t,e)=>{for(var o in e)n(t,o,{get:e[o],enumerable:!0})},x=(t,e,o,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of k(e))!P.call(t,l)&&l!==o&&n(t,l,{get:()=>e[l],enumerable:!(c=v(e,l))||c.enumerable});return t};var u=(t,e,o)=>(o=t!=null?y(N(t)):{},x(e||!t||!t.__esModule?n(o,"default",{value:t,enumerable:!0}):o,t)),I=t=>x(n({},"__esModule",{value:!0}),t);var w={};G(w,{default:()=>S});module.exports=I(w);var s=require("react/jsx-runtime"),m=u(require("react")),f=require("../../helpers/utils.js"),h=require("../../shared/Styles.js"),p=require("../../components/index.js"),d=require("../../components/index.js"),C=u(require("../Title/index.js"));const g=m.default.forwardRef(({data:t,shape:e,className:o,...c},l)=>{const a=t?.items?.length||0,b=(0,m.useMemo)(()=>{const i="basis-[296px]";let r="";return a===1&&(r="basis-[100%]"),a===2&&(r="tablet:basis-1/2"),a===3&&(r="laptop:basis-1/3"),a>3&&(r="laptop:basis-[288px] desktop:basis-[316px] lg-desktop:basis-[404px]"),`${i} ${r}`},[a]);return(0,s.jsxs)("div",{children:[t?.title&&(0,s.jsx)(C.default,{data:{title:t?.title}}),(0,s.jsx)(p.Carousel,{ref:l,opts:{align:"start"},className:o,children:(0,s.jsx)(m.default.Fragment,{children:(0,s.jsx)(p.CarouselContent,{children:t?.items?.map((i,r)=>(0,s.jsx)(p.CarouselItem,{className:(0,f.cn)("laptop:pl-4 h-[360px] shrink-0 pl-3",b),children:(0,s.jsxs)("div",{className:(0,f.cn)("relative h-full",{"rounded-xl overflow-hidden laptop:rounded-2xl":e==="round"}),children:[(0,s.jsx)(d.Picture,{className:"h-full ",imgClassName:"h-full object-cover",source:i?.imgUrl?.url}),(0,s.jsx)("div",{className:"laptop:p-6 absolute inset-0 z-[1] flex flex-col justify-end p-4",children:(0,s.jsx)(d.Text,{html:i?.title,style:{color:i?.textColor},className:"lg-desktop:text-[32px] desktop:text-[24px] desktop:[&_span]:text-[18px] text-lines-2 text-[24px] font-bold leading-[1.2] [&_span]:text-[14px] [&_span]:font-medium"})})]})},r+i?.title))})},".0")})]})});g.displayName="Graphic";var S=(0,h.withStyles)(g);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Graphic/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, { useMemo } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { Carousel, CarouselContent, CarouselItem } from '../../components/index.js'\nimport { Picture, Text } from '../../components/index.js'\nimport Title from '../Title/index.js'\n\nexport interface GraphicProps {\n className?: string\n data: {\n title?: string\n items?: {\n imgUrl: string\n title: string\n textColor?: string\n }[]\n }\n shape?: 'round' | 'square'\n}\n\nconst Graphic = React.forwardRef<HTMLDivElement, GraphicProps>(({ data, shape, className, ...props }, ref) => {\n const itemsLength = data?.items?.length || 0\n\n const itemStyle = useMemo(() => {\n const basisStyle = 'basis-[296px]'\n let breakPointStyle = ''\n if (itemsLength === 1) {\n breakPointStyle = 'basis-[100%]'\n }\n if (itemsLength === 2) {\n breakPointStyle = 'tablet:basis-1/2'\n }\n if (itemsLength === 3) {\n breakPointStyle = 'laptop:basis-1/3'\n }\n if (itemsLength > 3) {\n breakPointStyle = 'laptop:basis-[288px] desktop:basis-[316px] lg-desktop:basis-[404px]'\n }\n return `${basisStyle} ${breakPointStyle}`\n }, [itemsLength])\n\n return (\n <div>\n {data?.title && <Title data={{ title: data?.title }} />}\n <Carousel\n ref={ref}\n opts={{\n align: 'start',\n }}\n className={className}\n {...props}\n >\n <React.Fragment key=\".0\">\n <CarouselContent>\n {data?.items?.map((item, index) => (\n <CarouselItem key={index + item?.title} className={cn('laptop:pl-4 h-[360px] shrink-0 pl-3', itemStyle)}>\n <div\n className={cn('relative h-full', {\n ['rounded-xl overflow-hidden laptop:rounded-2xl']: shape === 'round',\n })}\n >\n <Picture className=\"h-full \" imgClassName=\"h-full object-cover\" source={item?.imgUrl} />\n <div className=\"laptop:p-6 absolute inset-0 z-[1] flex flex-col justify-end p-4\">\n <Text\n html={item?.title}\n style={{\n color: item?.textColor,\n }}\n className=\"lg-desktop:text-[32px] desktop:text-[24px] desktop:[&_span]:text-[18px] text-lines-2 text-[24px] font-bold leading-[1.2] [&_span]:text-[14px] [&_span]:font-medium\"\n />\n </div>\n </div>\n </CarouselItem>\n ))}\n </CarouselContent>\n </React.Fragment>\n </Carousel>\n </div>\n )\n})\n\nGraphic.displayName = 'Graphic'\n\nexport default withStyles(Graphic)\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA4CsB,IAAAI,EAAA,6BA3CtBC,EAA+B,oBAC/BC,EAAmB,kCACnBC,EAA2B,kCAC3BC,EAAwD,qCACxDA,EAA8B,qCAC9BC,EAAkB,gCAelB,MAAMC,EAAU,EAAAC,QAAM,WAAyC,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAAQ,CAC5G,MAAMC,EAAcL,GAAM,OAAO,QAAU,EAErCM,KAAY,WAAQ,IAAM,CAC9B,MAAMC,EAAa,gBACnB,IAAIC,EAAkB,GACtB,OAAIH,IAAgB,IAClBG,EAAkB,gBAEhBH,IAAgB,IAClBG,EAAkB,oBAEhBH,IAAgB,IAClBG,EAAkB,oBAEhBH,EAAc,IAChBG,EAAkB,uEAEb,GAAGD,CAAU,IAAIC,CAAe,EACzC,EAAG,CAACH,CAAW,CAAC,EAEhB,SACE,QAAC,OACE,UAAAL,GAAM,UAAS,OAAC,EAAAS,QAAA,CAAM,KAAM,CAAE,MAAOT,GAAM,KAAM,EAAG,KACrD,OAAC,YACC,IAAKI,EACL,KAAM,CACJ,MAAO,OACT,EACA,UAAWF,EACV,GAAGC,EAEJ,mBAAC,EAAAJ,QAAM,SAAN,CACC,mBAAC,mBACE,SAAAC,GAAM,OAAO,IAAI,CAACU,EAAMC,OACvB,OAAC,gBAAuC,aAAW,MAAG,sCAAuCL,CAAS,EACpG,oBAAC,OACC,aAAW,MAAG,kBAAmB,CAC9B,gDAAkDL,IAAU,OAC/D,CAAC,EAED,oBAAC,WAAQ,UAAU,UAAU,aAAa,sBAAsB,OAAQS,GAAM,OAAQ,KACtF,OAAC,OAAI,UAAU,kEACb,mBAAC,QACC,KAAMA,GAAM,MACZ,MAAO,CACL,MAAOA,GAAM,SACf,EACA,UAAU,qKACZ,EACF,GACF,GAhBiBC,EAAQD,GAAM,KAiBjC,CACD,EACH,GAtBkB,IAuBpB,EACF,GACF,CAEJ,CAAC,EAEDZ,EAAQ,YAAc,UAEtB,IAAOR,KAAQ,cAAWQ,CAAO",
4
+ "sourcesContent": ["'use client'\nimport React, { useMemo } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport { Carousel, CarouselContent, CarouselItem } from '../../components/index.js'\nimport { Picture, Text } from '../../components/index.js'\nimport Title from '../Title/index.js'\nimport type { ComponentCommonProps, Img } from '../../types/props.js'\n\nexport interface GraphicProps extends ComponentCommonProps {\n className?: string\n data: {\n title?: string\n items?: {\n imgUrl: Img\n title: string\n textColor?: string\n }[]\n }\n shape?: 'round' | 'square'\n}\n\nconst Graphic = React.forwardRef<HTMLDivElement, GraphicProps>(({ data, shape, className, ...props }, ref) => {\n const itemsLength = data?.items?.length || 0\n\n const itemStyle = useMemo(() => {\n const basisStyle = 'basis-[296px]'\n let breakPointStyle = ''\n if (itemsLength === 1) {\n breakPointStyle = 'basis-[100%]'\n }\n if (itemsLength === 2) {\n breakPointStyle = 'tablet:basis-1/2'\n }\n if (itemsLength === 3) {\n breakPointStyle = 'laptop:basis-1/3'\n }\n if (itemsLength > 3) {\n breakPointStyle = 'laptop:basis-[288px] desktop:basis-[316px] lg-desktop:basis-[404px]'\n }\n return `${basisStyle} ${breakPointStyle}`\n }, [itemsLength])\n\n return (\n <div>\n {data?.title && <Title data={{ title: data?.title }} />}\n <Carousel\n ref={ref}\n opts={{\n align: 'start',\n }}\n className={className}\n >\n <React.Fragment key=\".0\">\n <CarouselContent>\n {data?.items?.map((item, index) => (\n <CarouselItem key={index + item?.title} className={cn('laptop:pl-4 h-[360px] shrink-0 pl-3', itemStyle)}>\n <div\n className={cn('relative h-full', {\n ['rounded-xl overflow-hidden laptop:rounded-2xl']: shape === 'round',\n })}\n >\n <Picture className=\"h-full \" imgClassName=\"h-full object-cover\" source={item?.imgUrl?.url} />\n <div className=\"laptop:p-6 absolute inset-0 z-[1] flex flex-col justify-end p-4\">\n <Text\n html={item?.title}\n style={{\n color: item?.textColor,\n }}\n className=\"lg-desktop:text-[32px] desktop:text-[24px] desktop:[&_span]:text-[18px] text-lines-2 text-[24px] font-bold leading-[1.2] [&_span]:text-[14px] [&_span]:font-medium\"\n />\n </div>\n </div>\n </CarouselItem>\n ))}\n </CarouselContent>\n </React.Fragment>\n </Carousel>\n </div>\n )\n})\n\nGraphic.displayName = 'Graphic'\n\nexport default withStyles(Graphic)\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA6CsB,IAAAI,EAAA,6BA5CtBC,EAA+B,oBAC/BC,EAAmB,kCACnBC,EAA2B,kCAC3BC,EAAwD,qCACxDA,EAA8B,qCAC9BC,EAAkB,gCAgBlB,MAAMC,EAAU,EAAAC,QAAM,WAAyC,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAAQ,CAC5G,MAAMC,EAAcL,GAAM,OAAO,QAAU,EAErCM,KAAY,WAAQ,IAAM,CAC9B,MAAMC,EAAa,gBACnB,IAAIC,EAAkB,GACtB,OAAIH,IAAgB,IAClBG,EAAkB,gBAEhBH,IAAgB,IAClBG,EAAkB,oBAEhBH,IAAgB,IAClBG,EAAkB,oBAEhBH,EAAc,IAChBG,EAAkB,uEAEb,GAAGD,CAAU,IAAIC,CAAe,EACzC,EAAG,CAACH,CAAW,CAAC,EAEhB,SACE,QAAC,OACE,UAAAL,GAAM,UAAS,OAAC,EAAAS,QAAA,CAAM,KAAM,CAAE,MAAOT,GAAM,KAAM,EAAG,KACrD,OAAC,YACC,IAAKI,EACL,KAAM,CACJ,MAAO,OACT,EACA,UAAWF,EAEX,mBAAC,EAAAH,QAAM,SAAN,CACC,mBAAC,mBACE,SAAAC,GAAM,OAAO,IAAI,CAACU,EAAMC,OACvB,OAAC,gBAAuC,aAAW,MAAG,sCAAuCL,CAAS,EACpG,oBAAC,OACC,aAAW,MAAG,kBAAmB,CAC9B,gDAAkDL,IAAU,OAC/D,CAAC,EAED,oBAAC,WAAQ,UAAU,UAAU,aAAa,sBAAsB,OAAQS,GAAM,QAAQ,IAAK,KAC3F,OAAC,OAAI,UAAU,kEACb,mBAAC,QACC,KAAMA,GAAM,MACZ,MAAO,CACL,MAAOA,GAAM,SACf,EACA,UAAU,qKACZ,EACF,GACF,GAhBiBC,EAAQD,GAAM,KAiBjC,CACD,EACH,GAtBkB,IAuBpB,EACF,GACF,CAEJ,CAAC,EAEDZ,EAAQ,YAAc,UAEtB,IAAOR,KAAQ,cAAWQ,CAAO",
6
6
  "names": ["Graphic_exports", "__export", "Graphic_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_Styles", "import_components", "import_Title", "Graphic", "React", "data", "shape", "className", "props", "ref", "itemsLength", "itemStyle", "basisStyle", "breakPointStyle", "Title", "item", "index"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var k=Object.create;var m=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty;var z=(e,a)=>{for(var r in a)m(e,r,{get:a[r],enumerable:!0})},h=(e,a,r,n)=>{if(a&&typeof a=="object"||typeof a=="function")for(let s of B(a))!H.call(e,s)&&s!==r&&m(e,s,{get:()=>a[s],enumerable:!(n=w(a,s))||n.enumerable});return e};var C=(e,a,r)=>(r=e!=null?k(D(e)):{},h(a||!e||!e.__esModule?m(r,"default",{value:e,enumerable:!0}):r,e)),F=e=>h(m({},"__esModule",{value:!0}),e);var R={};z(R,{default:()=>P});module.exports=F(R);var t=require("react/jsx-runtime"),c=C(require("react")),o=require("../../components/index.js"),l=require("../../helpers/index.js"),v=require("../../shared/Styles.js");const x=c.default.forwardRef(({data:e,className:a},r)=>{const{title:n,subtitle:s,background:b,primaryButton:d,secondaryButton:u,theme:i="light",products:p=[]}=e,g=i==="dark"?"text-white":"text-[#1D1D1F]",N=i==="dark"?"bg-white":"bg-[#1D1D1F]";return(0,t.jsxs)("div",{"data-ui-component-id":"HeroBanner",ref:r,className:(0,l.cn)(i==="dark"?"aiui-dark":"","lg-desktop:aspect-[1920/930] desktop:aspect-[1440/700] laptop:aspect-[1024/520] tablet:aspect-[768/660] relative aspect-[390/660] w-full overflow-hidden",a),children:[(0,t.jsx)(o.Picture,{className:"laptop:w-full absolute h-full",imgClassName:"h-full object-cover",source:b}),(0,t.jsxs)("div",{className:"laptop:top-1/2 laptop:-translate-y-1/2 relative top-[30%] z-10 flex flex-col gap-8 px-32",children:[n&&(0,t.jsxs)("div",{className:"max-w-[686px] space-y-4",children:[(0,t.jsx)(o.Heading,{as:"h1",size:5,className:(0,l.cn)("hero-banner-title",g),html:n}),(0,t.jsx)(o.Text,{className:(0,l.cn)("hero-banner-subtitle text-lg font-medium leading-[1.2] tracking-[-0.02em]",g),html:s})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[u&&(0,t.jsx)(o.Button,{size:"lg",variant:"secondary",className:"hero-banner-secondary-button",children:u.text}),d&&(0,t.jsx)(o.Button,{size:"lg",variant:"primary",className:"hero-banner-primary-button",children:d.text})]})]}),p.length>0&&(0,t.jsx)("div",{className:"absolute bottom-0 z-10 flex items-center gap-3 px-32 pb-6",children:p.map((y,f)=>(0,t.jsxs)(c.default.Fragment,{children:[(0,t.jsx)(o.Text,{className:(0,l.cn)("hero-banner-product-text text-sm font-medium leading-[1.2] tracking-[-0.02em]",i==="dark"?"text-white":"text-[#1D1D1F]"),children:y.title}),f<p.length-1&&(0,t.jsx)("div",{className:(0,l.cn)("h-4 w-px",N)})]},f))})]})});x.displayName="HeroBanner";var P=(0,v.withStyles)(x);
1
+ "use strict";"use client";var w=Object.create;var m=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var C=(e,a)=>{for(var r in a)m(e,r,{get:a[r],enumerable:!0})},h=(e,a,r,i)=>{if(a&&typeof a=="object"||typeof a=="function")for(let l of D(a))!z.call(e,l)&&l!==r&&m(e,l,{get:()=>a[l],enumerable:!(i=B(a,l))||i.enumerable});return e};var F=(e,a,r)=>(r=e!=null?w(H(e)):{},h(a||!e||!e.__esModule?m(r,"default",{value:e,enumerable:!0}):r,e)),P=e=>h(m({},"__esModule",{value:!0}),e);var T={};C(T,{default:()=>R});module.exports=P(T);var t=require("react/jsx-runtime"),c=F(require("react")),o=require("../../components/index.js"),s=require("../../helpers/index.js"),v=require("../../shared/Styles.js");const x=c.default.forwardRef(({data:e,className:a},r)=>{const{title:i,subtitle:l,pcImage:b,mobileImage:N,primaryButton:d,secondaryButton:u,theme:n="light",products:p=[]}=e,g=n==="dark"?"text-white":"text-[#1D1D1F]",y=n==="dark"?"bg-white":"bg-[#1D1D1F]";return(0,t.jsxs)("div",{"data-ui-component-id":"HeroBanner",ref:r,className:(0,s.cn)(n==="dark"?"aiui-dark":"","lg-desktop:aspect-[1920/930] desktop:aspect-[1440/700] laptop:aspect-[1024/520] tablet:aspect-[768/660] relative aspect-[390/660] w-full overflow-hidden",a),children:[(0,t.jsx)(o.Picture,{className:"laptop:w-full absolute h-full",imgClassName:"h-full object-cover",source:`${b.url} , ${N.url} 767`}),(0,t.jsxs)("div",{className:"laptop:top-1/2 laptop:-translate-y-1/2 relative top-[30%] z-10 flex flex-col gap-8 px-32",children:[i&&(0,t.jsxs)("div",{className:"max-w-[686px] space-y-4",children:[(0,t.jsx)(o.Heading,{as:"h1",size:5,className:(0,s.cn)("hero-banner-title",g),html:i}),(0,t.jsx)(o.Text,{className:(0,s.cn)("hero-banner-subtitle text-lg font-medium leading-[1.2] tracking-[-0.02em]",g),html:l})]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[u&&(0,t.jsx)(o.Button,{size:"lg",variant:"secondary",className:"hero-banner-secondary-button",children:u.text}),d&&(0,t.jsx)(o.Button,{size:"lg",variant:"primary",className:"hero-banner-primary-button",children:d.text})]})]}),p.length>0&&(0,t.jsx)("div",{className:"absolute bottom-0 z-10 flex items-center gap-3 px-32 pb-6",children:p.map((k,f)=>(0,t.jsxs)(c.default.Fragment,{children:[(0,t.jsx)(o.Text,{className:(0,s.cn)("hero-banner-product-text text-sm font-medium leading-[1.2] tracking-[-0.02em]",n==="dark"?"text-white":"text-[#1D1D1F]"),children:k.title}),f<p.length-1&&(0,t.jsx)("div",{className:(0,s.cn)("h-4 w-px",y)})]},f))})]})});x.displayName="HeroBanner";var R=(0,v.withStyles)(x);
2
2
  //# sourceMappingURL=HeroBanner.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/HeroBanner/HeroBanner.tsx"],
4
- "sourcesContent": ["'use client'\nimport React from 'react'\nimport type { HeroBannerProps } from './types.js'\nimport { Button, Heading, Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/index.js'\nimport { withStyles } from '../../shared/Styles.js'\n\nconst HeroBanner = React.forwardRef<HTMLDivElement, HeroBannerProps>(({ data, className }, ref) => {\n const { title, subtitle, background, primaryButton, secondaryButton, theme = 'light', products = [] } = data\n const textColorClass = theme === 'dark' ? 'text-white' : 'text-[#1D1D1F]'\n const dividerColorClass = theme === 'dark' ? 'bg-white' : 'bg-[#1D1D1F]'\n\n return (\n <div\n data-ui-component-id=\"HeroBanner\"\n ref={ref}\n className={cn(\n theme === 'dark' ? 'aiui-dark' : '',\n 'lg-desktop:aspect-[1920/930] desktop:aspect-[1440/700] laptop:aspect-[1024/520] tablet:aspect-[768/660] relative aspect-[390/660] w-full overflow-hidden',\n className\n )}\n >\n <Picture className=\"laptop:w-full absolute h-full\" imgClassName=\"h-full object-cover\" source={background} />\n {/* \u5185\u5BB9\u533A\u57DF */}\n <div className=\"laptop:top-1/2 laptop:-translate-y-1/2 relative top-[30%] z-10 flex flex-col gap-8 px-32\">\n {title && (\n <div className=\"max-w-[686px] space-y-4\">\n <Heading as=\"h1\" size={5} className={cn('hero-banner-title', textColorClass)} html={title} />\n <Text\n className={cn(\n 'hero-banner-subtitle text-lg font-medium leading-[1.2] tracking-[-0.02em]',\n textColorClass\n )}\n html={subtitle}\n />\n </div>\n )}\n {/* \u6309\u94AE\u7EC4 */}\n <div className=\"flex items-center gap-4\">\n {secondaryButton && (\n <Button size=\"lg\" variant=\"secondary\" className=\"hero-banner-secondary-button\">\n {secondaryButton.text}\n </Button>\n )}\n {primaryButton && (\n <Button size=\"lg\" variant=\"primary\" className=\"hero-banner-primary-button\">\n {primaryButton.text}\n </Button>\n )}\n </div>\n </div>\n\n {/* \u5E95\u90E8\u4EA7\u54C1\u5217\u8868 */}\n {products.length > 0 && (\n <div className=\"absolute bottom-0 z-10 flex items-center gap-3 px-32 pb-6\">\n {products.map((product, index) => (\n <React.Fragment key={index}>\n <Text\n className={cn(\n 'hero-banner-product-text text-sm font-medium leading-[1.2] tracking-[-0.02em]',\n theme === 'dark' ? 'text-white' : 'text-[#1D1D1F]'\n )}\n >\n {product.title}\n </Text>\n {index < products.length - 1 && <div className={cn('h-4 w-px', dividerColorClass)} />}\n </React.Fragment>\n ))}\n </div>\n )}\n </div>\n )\n})\n\nHeroBanner.displayName = 'HeroBanner'\n\nexport default withStyles(HeroBanner)\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAsBM,IAAAI,EAAA,6BArBNC,EAAkB,oBAElBC,EAA+C,qCAC/CC,EAAmB,kCACnBC,EAA2B,kCAE3B,MAAMC,EAAa,EAAAC,QAAM,WAA4C,CAAC,CAAE,KAAAC,EAAM,UAAAC,CAAU,EAAGC,IAAQ,CACjG,KAAM,CAAE,MAAAC,EAAO,SAAAC,EAAU,WAAAC,EAAY,cAAAC,EAAe,gBAAAC,EAAiB,MAAAC,EAAQ,QAAS,SAAAC,EAAW,CAAC,CAAE,EAAIT,EAClGU,EAAiBF,IAAU,OAAS,aAAe,iBACnDG,EAAoBH,IAAU,OAAS,WAAa,eAE1D,SACE,QAAC,OACC,uBAAqB,aACrB,IAAKN,EACL,aAAW,MACTM,IAAU,OAAS,YAAc,GACjC,2JACAP,CACF,EAEA,oBAAC,WAAQ,UAAU,gCAAgC,aAAa,sBAAsB,OAAQI,EAAY,KAE1G,QAAC,OAAI,UAAU,2FACZ,UAAAF,MACC,QAAC,OAAI,UAAU,0BACb,oBAAC,WAAQ,GAAG,KAAK,KAAM,EAAG,aAAW,MAAG,oBAAqBO,CAAc,EAAG,KAAMP,EAAO,KAC3F,OAAC,QACC,aAAW,MACT,4EACAO,CACF,EACA,KAAMN,EACR,GACF,KAGF,QAAC,OAAI,UAAU,0BACZ,UAAAG,MACC,OAAC,UAAO,KAAK,KAAK,QAAQ,YAAY,UAAU,+BAC7C,SAAAA,EAAgB,KACnB,EAEDD,MACC,OAAC,UAAO,KAAK,KAAK,QAAQ,UAAU,UAAU,6BAC3C,SAAAA,EAAc,KACjB,GAEJ,GACF,EAGCG,EAAS,OAAS,MACjB,OAAC,OAAI,UAAU,4DACZ,SAAAA,EAAS,IAAI,CAACG,EAASC,OACtB,QAAC,EAAAd,QAAM,SAAN,CACC,oBAAC,QACC,aAAW,MACT,gFACAS,IAAU,OAAS,aAAe,gBACpC,EAEC,SAAAI,EAAQ,MACX,EACCC,EAAQJ,EAAS,OAAS,MAAK,OAAC,OAAI,aAAW,MAAG,WAAYE,CAAiB,EAAG,IAThEE,CAUrB,CACD,EACH,GAEJ,CAEJ,CAAC,EAEDf,EAAW,YAAc,aAEzB,IAAOP,KAAQ,cAAWO,CAAU",
6
- "names": ["HeroBanner_exports", "__export", "HeroBanner_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_components", "import_helpers", "import_Styles", "HeroBanner", "React", "data", "className", "ref", "title", "subtitle", "background", "primaryButton", "secondaryButton", "theme", "products", "textColorClass", "dividerColorClass", "product", "index"]
4
+ "sourcesContent": ["'use client'\nimport React from 'react'\nimport type { HeroBannerProps } from './types.js'\nimport { Button, Heading, Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/index.js'\nimport { withStyles } from '../../shared/Styles.js'\n\nconst HeroBanner = React.forwardRef<HTMLDivElement, HeroBannerProps>(({ data, className }, ref) => {\n const { title, subtitle, pcImage, mobileImage, primaryButton, secondaryButton, theme = 'light', products = [] } = data\n const textColorClass = theme === 'dark' ? 'text-white' : 'text-[#1D1D1F]'\n const dividerColorClass = theme === 'dark' ? 'bg-white' : 'bg-[#1D1D1F]'\n\n return (\n <div\n data-ui-component-id=\"HeroBanner\"\n ref={ref}\n className={cn(\n theme === 'dark' ? 'aiui-dark' : '',\n 'lg-desktop:aspect-[1920/930] desktop:aspect-[1440/700] laptop:aspect-[1024/520] tablet:aspect-[768/660] relative aspect-[390/660] w-full overflow-hidden',\n className\n )}\n >\n <Picture\n className=\"laptop:w-full absolute h-full\"\n imgClassName=\"h-full object-cover\"\n source={`${pcImage.url} , ${mobileImage.url} 767`}\n />\n {/* \u5185\u5BB9\u533A\u57DF */}\n <div className=\"laptop:top-1/2 laptop:-translate-y-1/2 relative top-[30%] z-10 flex flex-col gap-8 px-32\">\n {title && (\n <div className=\"max-w-[686px] space-y-4\">\n <Heading as=\"h1\" size={5} className={cn('hero-banner-title', textColorClass)} html={title} />\n <Text\n className={cn(\n 'hero-banner-subtitle text-lg font-medium leading-[1.2] tracking-[-0.02em]',\n textColorClass\n )}\n html={subtitle}\n />\n </div>\n )}\n {/* \u6309\u94AE\u7EC4 */}\n <div className=\"flex items-center gap-4\">\n {secondaryButton && (\n <Button size=\"lg\" variant=\"secondary\" className=\"hero-banner-secondary-button\">\n {secondaryButton.text}\n </Button>\n )}\n {primaryButton && (\n <Button size=\"lg\" variant=\"primary\" className=\"hero-banner-primary-button\">\n {primaryButton.text}\n </Button>\n )}\n </div>\n </div>\n\n {/* \u5E95\u90E8\u4EA7\u54C1\u5217\u8868 */}\n {products.length > 0 && (\n <div className=\"absolute bottom-0 z-10 flex items-center gap-3 px-32 pb-6\">\n {products.map((product, index) => (\n <React.Fragment key={index}>\n <Text\n className={cn(\n 'hero-banner-product-text text-sm font-medium leading-[1.2] tracking-[-0.02em]',\n theme === 'dark' ? 'text-white' : 'text-[#1D1D1F]'\n )}\n >\n {product.title}\n </Text>\n {index < products.length - 1 && <div className={cn('h-4 w-px', dividerColorClass)} />}\n </React.Fragment>\n ))}\n </div>\n )}\n </div>\n )\n})\n\nHeroBanner.displayName = 'HeroBanner'\n\nexport default withStyles(HeroBanner)\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAsBM,IAAAI,EAAA,6BArBNC,EAAkB,oBAElBC,EAA+C,qCAC/CC,EAAmB,kCACnBC,EAA2B,kCAE3B,MAAMC,EAAa,EAAAC,QAAM,WAA4C,CAAC,CAAE,KAAAC,EAAM,UAAAC,CAAU,EAAGC,IAAQ,CACjG,KAAM,CAAE,MAAAC,EAAO,SAAAC,EAAU,QAAAC,EAAS,YAAAC,EAAa,cAAAC,EAAe,gBAAAC,EAAiB,MAAAC,EAAQ,QAAS,SAAAC,EAAW,CAAC,CAAE,EAAIV,EAC5GW,EAAiBF,IAAU,OAAS,aAAe,iBACnDG,EAAoBH,IAAU,OAAS,WAAa,eAE1D,SACE,QAAC,OACC,uBAAqB,aACrB,IAAKP,EACL,aAAW,MACTO,IAAU,OAAS,YAAc,GACjC,2JACAR,CACF,EAEA,oBAAC,WACC,UAAU,gCACV,aAAa,sBACb,OAAQ,GAAGI,EAAQ,GAAG,MAAMC,EAAY,GAAG,OAC7C,KAEA,QAAC,OAAI,UAAU,2FACZ,UAAAH,MACC,QAAC,OAAI,UAAU,0BACb,oBAAC,WAAQ,GAAG,KAAK,KAAM,EAAG,aAAW,MAAG,oBAAqBQ,CAAc,EAAG,KAAMR,EAAO,KAC3F,OAAC,QACC,aAAW,MACT,4EACAQ,CACF,EACA,KAAMP,EACR,GACF,KAGF,QAAC,OAAI,UAAU,0BACZ,UAAAI,MACC,OAAC,UAAO,KAAK,KAAK,QAAQ,YAAY,UAAU,+BAC7C,SAAAA,EAAgB,KACnB,EAEDD,MACC,OAAC,UAAO,KAAK,KAAK,QAAQ,UAAU,UAAU,6BAC3C,SAAAA,EAAc,KACjB,GAEJ,GACF,EAGCG,EAAS,OAAS,MACjB,OAAC,OAAI,UAAU,4DACZ,SAAAA,EAAS,IAAI,CAACG,EAASC,OACtB,QAAC,EAAAf,QAAM,SAAN,CACC,oBAAC,QACC,aAAW,MACT,gFACAU,IAAU,OAAS,aAAe,gBACpC,EAEC,SAAAI,EAAQ,MACX,EACCC,EAAQJ,EAAS,OAAS,MAAK,OAAC,OAAI,aAAW,MAAG,WAAYE,CAAiB,EAAG,IAThEE,CAUrB,CACD,EACH,GAEJ,CAEJ,CAAC,EAEDhB,EAAW,YAAc,aAEzB,IAAOP,KAAQ,cAAWO,CAAU",
6
+ "names": ["HeroBanner_exports", "__export", "HeroBanner_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_components", "import_helpers", "import_Styles", "HeroBanner", "React", "data", "className", "ref", "title", "subtitle", "pcImage", "mobileImage", "primaryButton", "secondaryButton", "theme", "products", "textColorClass", "dividerColorClass", "product", "index"]
7
7
  }
@@ -1,13 +1,13 @@
1
1
  import type { ButtonProps } from '../../components/button.js';
2
- import type { Theme } from '../../types/props.js';
2
+ import type { Media, Theme } from '../../types/props.js';
3
3
  export interface HeroBannerProps {
4
4
  data: {
5
5
  /** 主标题 */
6
6
  title: string;
7
7
  /** 副标题/描述文本 */
8
8
  subtitle: string;
9
- /** 背景图片URL */
10
- background: string;
9
+ pcImage: Media;
10
+ mobileImage: Media;
11
11
  /** 主按钮文本和配置 */
12
12
  primaryButton?: {
13
13
  text: string;
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var a=(r,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of p(t))!m.call(r,e)&&e!==s&&o(r,e,{get:()=>t[e],enumerable:!(n=i(t,e))||n.enumerable});return r};var u=r=>a(o({},"__esModule",{value:!0}),r);var c={};module.exports=u(c);
1
+ "use strict";var i=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var a=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of p(t))!m.call(e,r)&&r!==n&&i(e,r,{get:()=>t[r],enumerable:!(o=s(t,r))||o.enumerable});return e};var c=e=>a(i({},"__esModule",{value:!0}),e);var d={};module.exports=c(d);
2
2
  //# sourceMappingURL=types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/HeroBanner/types.ts"],
4
- "sourcesContent": ["import type { ButtonProps } from '../../components/button.js'\nimport type { Theme } from '../../types/props.js'\n\nexport interface HeroBannerProps {\n data: {\n /** \u4E3B\u6807\u9898 */\n title: string\n /** \u526F\u6807\u9898/\u63CF\u8FF0\u6587\u672C */\n subtitle: string\n /** \u80CC\u666F\u56FE\u7247URL */\n background: string\n /** \u4E3B\u6309\u94AE\u6587\u672C\u548C\u914D\u7F6E */\n primaryButton?: {\n text: string\n } & Omit<ButtonProps, 'children'>\n /** \u6B21\u8981\u6309\u94AE\u6587\u672C\u548C\u914D\u7F6E */\n secondaryButton?: {\n text: string\n } & Omit<ButtonProps, 'children'>\n\n /** \u4E3B\u9898 */\n theme?: Theme\n /** \u5E95\u90E8\u4EA7\u54C1\u5217\u8868 */\n products?: Array<{\n title: string\n }>\n }\n /** \u81EA\u5B9A\u4E49\u7C7B\u540D */\n className?: string\n}\n"],
4
+ "sourcesContent": ["import type { ButtonProps } from '../../components/button.js'\nimport type { Media, Theme } from '../../types/props.js'\n\nexport interface HeroBannerProps {\n data: {\n /** \u4E3B\u6807\u9898 */\n title: string\n /** \u526F\u6807\u9898/\u63CF\u8FF0\u6587\u672C */\n subtitle: string\n pcImage: Media\n mobileImage: Media\n /** \u4E3B\u6309\u94AE\u6587\u672C\u548C\u914D\u7F6E */\n primaryButton?: {\n text: string\n } & Omit<ButtonProps, 'children'>\n /** \u6B21\u8981\u6309\u94AE\u6587\u672C\u548C\u914D\u7F6E */\n secondaryButton?: {\n text: string\n } & Omit<ButtonProps, 'children'>\n\n /** \u4E3B\u9898 */\n theme?: Theme\n /** \u5E95\u90E8\u4EA7\u54C1\u5217\u8868 */\n products?: Array<{\n title: string\n }>\n }\n /** \u81EA\u5B9A\u4E49\u7C7B\u540D */\n className?: string\n}\n"],
5
5
  "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["types_exports", "__toCommonJS"]
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { type MarqueeProps as FastMarqueeProps } from 'react-fast-marquee';
3
+ import type { Img } from '../../types/props.js';
3
4
  interface MarqueeListProps {
4
5
  children?: React.ReactNode;
5
6
  className?: string;
@@ -7,7 +8,7 @@ interface MarqueeListProps {
7
8
  declare const MarqueeList: React.ForwardRefExoticComponent<MarqueeListProps & React.RefAttributes<HTMLDivElement>>;
8
9
  interface MarqueeImageContentProps {
9
10
  data: {
10
- image: string;
11
+ image: Img;
11
12
  };
12
13
  className?: string;
13
14
  }
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var g=Object.create;var n=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var T=(e,t)=>{for(var a in t)n(e,a,{get:t[a],enumerable:!0})},M=(e,t,a,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of N(t))!y.call(e,r)&&r!==a&&n(e,r,{get:()=>t[r],enumerable:!(o=P(t,r))||o.enumerable});return e};var q=(e,t,a)=>(a=e!=null?g(C(e)):{},M(t||!e||!e.__esModule?n(a,"default",{value:e,enumerable:!0}):a,e)),L=e=>M(n({},"__esModule",{value:!0}),e);var w={};T(w,{MarqueeImageContent:()=>c,MarqueeList:()=>u,MarqueeTextContent:()=>l,default:()=>v});module.exports=L(w);var s=require("react/jsx-runtime"),m=q(require("react")),d=q(require("react-fast-marquee")),F=require("react-fast-marquee"),i=require("../../components/index.js"),p=require("../../helpers/utils.js"),x=require("../../shared/Styles.js");const f=({children:e,...t})=>(0,s.jsx)(d.default,{...t,children:e});f.displayName="Marquee";const u=m.default.forwardRef(({className:e,children:t,...a},o)=>(0,s.jsx)("div",{className:(0,p.cn)("laptop:gap-16 flex items-center gap-6",e),ref:o,children:t}));u.displayName="MarqueeList";const c=({data:{image:e},className:t})=>(0,s.jsx)(i.Picture,{source:e,className:(0,p.cn)("laptop:h-[80px] laptop:w-[120px] h-[48px] w-[72px]",t),imgClassName:"object-cover"});c.displayName="MarqueeImageContent";const l=m.default.forwardRef(({data:{text:e},className:t},a)=>(0,s.jsx)(i.Text,{as:"div",ref:a,html:e,className:(0,p.cn)("text-lines-2 flex size-14 items-center justify-center text-nowrap font-medium leading-[1.2]",t)}));l.displayName="MarqueeTextContent";var v=(0,x.withStyles)(f);
1
+ "use strict";"use client";var g=Object.create;var p=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var T=(e,t)=>{for(var r in t)p(e,r,{get:t[r],enumerable:!0})},M=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of N(t))!y.call(e,a)&&a!==r&&p(e,a,{get:()=>t[a],enumerable:!(o=P(t,a))||o.enumerable});return e};var q=(e,t,r)=>(r=e!=null?g(C(e)):{},M(t||!e||!e.__esModule?p(r,"default",{value:e,enumerable:!0}):r,e)),I=e=>M(p({},"__esModule",{value:!0}),e);var v={};T(v,{MarqueeImageContent:()=>l,MarqueeList:()=>u,MarqueeTextContent:()=>c,default:()=>L});module.exports=I(v);var s=require("react/jsx-runtime"),m=q(require("react")),d=q(require("react-fast-marquee")),h=require("react-fast-marquee"),i=require("../../components/index.js"),n=require("../../helpers/utils.js"),x=require("../../shared/Styles.js");const f=({children:e,...t})=>(0,s.jsx)(d.default,{...t,children:e});f.displayName="Marquee";const u=m.default.forwardRef(({className:e,children:t,...r},o)=>(0,s.jsx)("div",{className:(0,n.cn)("laptop:gap-16 flex items-center gap-6",e),ref:o,children:t}));u.displayName="MarqueeList";const l=({data:{image:e},className:t})=>(0,s.jsx)(i.Picture,{source:e.url,alt:e.alt,className:(0,n.cn)("laptop:h-[80px] laptop:w-[120px] h-[48px] w-[72px]",t),imgClassName:"object-cover"});l.displayName="MarqueeImageContent";const c=m.default.forwardRef(({data:{text:e},className:t},r)=>(0,s.jsx)(i.Text,{as:"div",ref:r,html:e,className:(0,n.cn)("text-lines-2 flex size-14 items-center justify-center text-nowrap font-medium leading-[1.2]",t)}));c.displayName="MarqueeTextContent";var L=(0,x.withStyles)(f);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Marquee/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React from 'react'\nimport FastMarquee from 'react-fast-marquee'\nimport { type MarqueeProps as FastMarqueeProps } from 'react-fast-marquee'\nimport { Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withStyles } from '../../shared/Styles.js'\n\nconst Marquee = ({ children, ...props }: FastMarqueeProps) => {\n return <FastMarquee {...props}>{children}</FastMarquee>\n}\nMarquee.displayName = 'Marquee'\n\ninterface MarqueeListProps {\n children?: React.ReactNode\n className?: string\n}\n\nconst MarqueeList = React.forwardRef<HTMLDivElement, MarqueeListProps>(({ className, children, ...props }, ref) => {\n return (\n <div className={cn('laptop:gap-16 flex items-center gap-6', className)} ref={ref}>\n {children}\n </div>\n )\n})\n\nMarqueeList.displayName = 'MarqueeList'\n\ninterface MarqueeImageContentProps {\n data: {\n image: string\n }\n className?: string\n}\n\nconst MarqueeImageContent = ({ data: { image }, className }: MarqueeImageContentProps) => {\n return (\n <Picture\n source={image}\n className={cn('laptop:h-[80px] laptop:w-[120px] h-[48px] w-[72px]', className)}\n imgClassName=\"object-cover\"\n />\n )\n}\n\nMarqueeImageContent.displayName = 'MarqueeImageContent'\n\ninterface MarqueeTextContentProps {\n data: {\n text: string\n }\n className?: string\n}\n\nconst MarqueeTextContent = React.forwardRef<HTMLDivElement, MarqueeTextContentProps>(\n ({ data: { text }, className }, ref) => {\n return (\n <Text\n as=\"div\"\n ref={ref}\n html={text}\n className={cn(\n 'text-lines-2 flex size-14 items-center justify-center text-nowrap font-medium leading-[1.2]',\n className\n )}\n />\n )\n }\n)\n\nMarqueeTextContent.displayName = 'MarqueeTextContent'\n\nexport default withStyles(Marquee)\nexport { MarqueeList, MarqueeImageContent, MarqueeTextContent }\nexport type { FastMarqueeProps, MarqueeListProps, MarqueeImageContentProps, MarqueeTextContentProps }\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,EAAA,gBAAAC,EAAA,uBAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAN,GASS,IAAAO,EAAA,6BARTC,EAAkB,oBAClBC,EAAwB,iCACxBA,EAAsD,8BACtDC,EAA8B,qCAC9BC,EAAmB,kCACnBC,EAA2B,kCAE3B,MAAMC,EAAU,CAAC,CAAE,SAAAC,EAAU,GAAGC,CAAM,OAC7B,OAAC,EAAAC,QAAA,CAAa,GAAGD,EAAQ,SAAAD,EAAS,EAE3CD,EAAQ,YAAc,UAOtB,MAAMV,EAAc,EAAAc,QAAM,WAA6C,CAAC,CAAE,UAAAC,EAAW,SAAAJ,EAAU,GAAGC,CAAM,EAAGI,OAEvG,OAAC,OAAI,aAAW,MAAG,wCAAyCD,CAAS,EAAG,IAAKC,EAC1E,SAAAL,EACH,CAEH,EAEDX,EAAY,YAAc,cAS1B,MAAMD,EAAsB,CAAC,CAAE,KAAM,CAAE,MAAAkB,CAAM,EAAG,UAAAF,CAAU,OAEtD,OAAC,WACC,OAAQE,EACR,aAAW,MAAG,qDAAsDF,CAAS,EAC7E,aAAa,eACf,EAIJhB,EAAoB,YAAc,sBASlC,MAAME,EAAqB,EAAAa,QAAM,WAC/B,CAAC,CAAE,KAAM,CAAE,KAAAI,CAAK,EAAG,UAAAH,CAAU,EAAGC,OAE5B,OAAC,QACC,GAAG,MACH,IAAKA,EACL,KAAME,EACN,aAAW,MACT,8FACAH,CACF,EACF,CAGN,EAEAd,EAAmB,YAAc,qBAEjC,IAAOC,KAAQ,cAAWQ,CAAO",
4
+ "sourcesContent": ["'use client'\nimport React from 'react'\nimport FastMarquee from 'react-fast-marquee'\nimport { type MarqueeProps as FastMarqueeProps } from 'react-fast-marquee'\nimport { Picture, Text } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport type { Img } from '../../types/props.js'\n\nconst Marquee = ({ children, ...props }: FastMarqueeProps) => {\n return <FastMarquee {...props}>{children}</FastMarquee>\n}\nMarquee.displayName = 'Marquee'\n\ninterface MarqueeListProps {\n children?: React.ReactNode\n className?: string\n}\n\nconst MarqueeList = React.forwardRef<HTMLDivElement, MarqueeListProps>(({ className, children, ...props }, ref) => {\n return (\n <div className={cn('laptop:gap-16 flex items-center gap-6', className)} ref={ref}>\n {children}\n </div>\n )\n})\n\nMarqueeList.displayName = 'MarqueeList'\n\ninterface MarqueeImageContentProps {\n data: {\n image: Img\n }\n className?: string\n}\n\nconst MarqueeImageContent = ({ data: { image }, className }: MarqueeImageContentProps) => {\n return (\n <Picture\n source={image.url}\n alt={image.alt}\n className={cn('laptop:h-[80px] laptop:w-[120px] h-[48px] w-[72px]', className)}\n imgClassName=\"object-cover\"\n />\n )\n}\n\nMarqueeImageContent.displayName = 'MarqueeImageContent'\n\ninterface MarqueeTextContentProps {\n data: {\n text: string\n }\n className?: string\n}\n\nconst MarqueeTextContent = React.forwardRef<HTMLDivElement, MarqueeTextContentProps>(\n ({ data: { text }, className }, ref) => {\n return (\n <Text\n as=\"div\"\n ref={ref}\n html={text}\n className={cn(\n 'text-lines-2 flex size-14 items-center justify-center text-nowrap font-medium leading-[1.2]',\n className\n )}\n />\n )\n }\n)\n\nMarqueeTextContent.displayName = 'MarqueeTextContent'\n\nexport default withStyles(Marquee)\nexport { MarqueeList, MarqueeImageContent, MarqueeTextContent }\nexport type { FastMarqueeProps, MarqueeListProps, MarqueeImageContentProps, MarqueeTextContentProps }\n"],
5
+ "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,yBAAAE,EAAA,gBAAAC,EAAA,uBAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAN,GAUS,IAAAO,EAAA,6BATTC,EAAkB,oBAClBC,EAAwB,iCACxBA,EAAsD,8BACtDC,EAA8B,qCAC9BC,EAAmB,kCACnBC,EAA2B,kCAG3B,MAAMC,EAAU,CAAC,CAAE,SAAAC,EAAU,GAAGC,CAAM,OAC7B,OAAC,EAAAC,QAAA,CAAa,GAAGD,EAAQ,SAAAD,EAAS,EAE3CD,EAAQ,YAAc,UAOtB,MAAMV,EAAc,EAAAc,QAAM,WAA6C,CAAC,CAAE,UAAAC,EAAW,SAAAJ,EAAU,GAAGC,CAAM,EAAGI,OAEvG,OAAC,OAAI,aAAW,MAAG,wCAAyCD,CAAS,EAAG,IAAKC,EAC1E,SAAAL,EACH,CAEH,EAEDX,EAAY,YAAc,cAS1B,MAAMD,EAAsB,CAAC,CAAE,KAAM,CAAE,MAAAkB,CAAM,EAAG,UAAAF,CAAU,OAEtD,OAAC,WACC,OAAQE,EAAM,IACd,IAAKA,EAAM,IACX,aAAW,MAAG,qDAAsDF,CAAS,EAC7E,aAAa,eACf,EAIJhB,EAAoB,YAAc,sBASlC,MAAME,EAAqB,EAAAa,QAAM,WAC/B,CAAC,CAAE,KAAM,CAAE,KAAAI,CAAK,EAAG,UAAAH,CAAU,EAAGC,OAE5B,OAAC,QACC,GAAG,MACH,IAAKA,EACL,KAAME,EACN,aAAW,MACT,8FACAH,CACF,EACF,CAGN,EAEAd,EAAmB,YAAc,qBAEjC,IAAOC,KAAQ,cAAWQ,CAAO",
6
6
  "names": ["Marquee_exports", "__export", "MarqueeImageContent", "MarqueeList", "MarqueeTextContent", "Marquee_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_react_fast_marquee", "import_components", "import_utils", "import_Styles", "Marquee", "children", "props", "FastMarquee", "React", "className", "ref", "image", "text"]
7
7
  }