@anker-in/headless-ui 0.0.27-alpha.37 → 0.0.27-alpha.39

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 (127) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.js +1 -1
  2. package/dist/cjs/biz-components/AccordionCards/index.js.map +2 -2
  3. package/dist/cjs/biz-components/Category/index.d.ts +6 -4
  4. package/dist/cjs/biz-components/Category/index.js +1 -1
  5. package/dist/cjs/biz-components/Category/index.js.map +3 -3
  6. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  7. package/dist/cjs/biz-components/Evaluate/index.js.map +2 -2
  8. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +6 -9
  9. package/dist/cjs/biz-components/ShelfDisplay/index.js +6 -6
  10. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
  11. package/dist/cjs/cpn-components/CpnBanner/index.d.ts +3 -0
  12. package/dist/cjs/cpn-components/CpnBanner/index.js +2 -0
  13. package/dist/cjs/cpn-components/CpnBanner/index.js.map +7 -0
  14. package/dist/cjs/cpn-components/CpnBanner/types.d.ts +42 -0
  15. package/dist/cjs/cpn-components/CpnBanner/types.js +2 -0
  16. package/dist/cjs/cpn-components/CpnBanner/types.js.map +7 -0
  17. package/dist/cjs/cpn-components/CpnCountDown/index.d.ts +3 -0
  18. package/dist/cjs/cpn-components/CpnCountDown/index.js +2 -0
  19. package/dist/cjs/cpn-components/CpnCountDown/index.js.map +7 -0
  20. package/dist/cjs/cpn-components/CpnCountDown/types.d.ts +28 -0
  21. package/dist/cjs/cpn-components/CpnCountDown/types.js +2 -0
  22. package/dist/cjs/cpn-components/CpnCountDown/types.js.map +7 -0
  23. package/dist/cjs/cpn-components/CpnNavigation/index.d.ts +3 -0
  24. package/dist/cjs/cpn-components/CpnNavigation/index.js +2 -0
  25. package/dist/cjs/cpn-components/CpnNavigation/index.js.map +7 -0
  26. package/dist/cjs/cpn-components/CpnNavigation/types.d.ts +19 -0
  27. package/dist/cjs/cpn-components/CpnNavigation/types.js +2 -0
  28. package/dist/cjs/cpn-components/CpnNavigation/types.js.map +7 -0
  29. package/dist/cjs/cpn-components/CpnProductCard/index.d.ts +3 -0
  30. package/dist/cjs/cpn-components/CpnProductCard/index.js +2 -0
  31. package/dist/cjs/cpn-components/CpnProductCard/index.js.map +7 -0
  32. package/dist/cjs/cpn-components/CpnProductCard/types.d.ts +109 -0
  33. package/dist/cjs/cpn-components/CpnProductCard/types.js +2 -0
  34. package/dist/cjs/cpn-components/CpnProductCard/types.js.map +7 -0
  35. package/dist/cjs/cpn-components/CpnTitle/index.d.ts +3 -0
  36. package/dist/cjs/cpn-components/CpnTitle/index.js +2 -0
  37. package/dist/cjs/cpn-components/CpnTitle/index.js.map +7 -0
  38. package/dist/cjs/cpn-components/CpnTitle/types.d.ts +10 -0
  39. package/dist/cjs/cpn-components/CpnTitle/types.js +2 -0
  40. package/dist/cjs/cpn-components/CpnTitle/types.js.map +7 -0
  41. package/dist/cjs/cpn-components/index.d.ts +5 -0
  42. package/dist/cjs/cpn-components/index.js +2 -0
  43. package/dist/cjs/cpn-components/index.js.map +7 -0
  44. package/dist/cjs/hooks/useCountDown.d.ts +10 -0
  45. package/dist/cjs/hooks/useCountDown.js +2 -0
  46. package/dist/cjs/hooks/useCountDown.js.map +7 -0
  47. package/dist/cjs/stories/category.stories.js +1 -1
  48. package/dist/cjs/stories/category.stories.js.map +2 -2
  49. package/dist/cjs/stories/cpnBanner.stories.d.ts +14 -0
  50. package/dist/cjs/stories/cpnBanner.stories.js +2 -0
  51. package/dist/cjs/stories/cpnBanner.stories.js.map +7 -0
  52. package/dist/cjs/stories/cpnCountdown.stories.d.ts +12 -0
  53. package/dist/cjs/stories/cpnCountdown.stories.js +2 -0
  54. package/dist/cjs/stories/cpnCountdown.stories.js.map +7 -0
  55. package/dist/cjs/stories/cpnNavigation.stories.d.ts +14 -0
  56. package/dist/cjs/stories/cpnNavigation.stories.js +2 -0
  57. package/dist/cjs/stories/cpnNavigation.stories.js.map +7 -0
  58. package/dist/cjs/stories/cpnProductcard.stories.d.ts +14 -0
  59. package/dist/cjs/stories/cpnProductcard.stories.js +2 -0
  60. package/dist/cjs/stories/cpnProductcard.stories.js.map +7 -0
  61. package/dist/cjs/stories/cpnTitle.stories.d.ts +14 -0
  62. package/dist/cjs/stories/cpnTitle.stories.js +2 -0
  63. package/dist/cjs/stories/cpnTitle.stories.js.map +7 -0
  64. package/dist/esm/biz-components/AccordionCards/index.js +1 -1
  65. package/dist/esm/biz-components/AccordionCards/index.js.map +2 -2
  66. package/dist/esm/biz-components/Category/index.d.ts +6 -4
  67. package/dist/esm/biz-components/Category/index.js +1 -1
  68. package/dist/esm/biz-components/Category/index.js.map +3 -3
  69. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  70. package/dist/esm/biz-components/Evaluate/index.js.map +2 -2
  71. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +6 -9
  72. package/dist/esm/biz-components/ShelfDisplay/index.js +6 -6
  73. package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
  74. package/dist/esm/cpn-components/CpnBanner/index.d.ts +3 -0
  75. package/dist/esm/cpn-components/CpnBanner/index.js +2 -0
  76. package/dist/esm/cpn-components/CpnBanner/index.js.map +7 -0
  77. package/dist/esm/cpn-components/CpnBanner/types.d.ts +42 -0
  78. package/dist/esm/cpn-components/CpnBanner/types.js +1 -0
  79. package/dist/esm/cpn-components/CpnBanner/types.js.map +7 -0
  80. package/dist/esm/cpn-components/CpnCountDown/index.d.ts +3 -0
  81. package/dist/esm/cpn-components/CpnCountDown/index.js +2 -0
  82. package/dist/esm/cpn-components/CpnCountDown/index.js.map +7 -0
  83. package/dist/esm/cpn-components/CpnCountDown/types.d.ts +28 -0
  84. package/dist/esm/cpn-components/CpnCountDown/types.js +1 -0
  85. package/dist/esm/cpn-components/CpnCountDown/types.js.map +7 -0
  86. package/dist/esm/cpn-components/CpnNavigation/index.d.ts +3 -0
  87. package/dist/esm/cpn-components/CpnNavigation/index.js +2 -0
  88. package/dist/esm/cpn-components/CpnNavigation/index.js.map +7 -0
  89. package/dist/esm/cpn-components/CpnNavigation/types.d.ts +19 -0
  90. package/dist/esm/cpn-components/CpnNavigation/types.js +1 -0
  91. package/dist/esm/cpn-components/CpnNavigation/types.js.map +7 -0
  92. package/dist/esm/cpn-components/CpnProductCard/index.d.ts +3 -0
  93. package/dist/esm/cpn-components/CpnProductCard/index.js +2 -0
  94. package/dist/esm/cpn-components/CpnProductCard/index.js.map +7 -0
  95. package/dist/esm/cpn-components/CpnProductCard/types.d.ts +109 -0
  96. package/dist/esm/cpn-components/CpnProductCard/types.js +1 -0
  97. package/dist/esm/cpn-components/CpnProductCard/types.js.map +7 -0
  98. package/dist/esm/cpn-components/CpnTitle/index.d.ts +3 -0
  99. package/dist/esm/cpn-components/CpnTitle/index.js +2 -0
  100. package/dist/esm/cpn-components/CpnTitle/index.js.map +7 -0
  101. package/dist/esm/cpn-components/CpnTitle/types.d.ts +10 -0
  102. package/dist/esm/cpn-components/CpnTitle/types.js +1 -0
  103. package/dist/esm/cpn-components/CpnTitle/types.js.map +7 -0
  104. package/dist/esm/cpn-components/index.d.ts +5 -0
  105. package/dist/esm/cpn-components/index.js +2 -0
  106. package/dist/esm/cpn-components/index.js.map +7 -0
  107. package/dist/esm/hooks/useCountDown.d.ts +10 -0
  108. package/dist/esm/hooks/useCountDown.js +2 -0
  109. package/dist/esm/hooks/useCountDown.js.map +7 -0
  110. package/dist/esm/stories/category.stories.js +1 -1
  111. package/dist/esm/stories/category.stories.js.map +2 -2
  112. package/dist/esm/stories/cpnBanner.stories.d.ts +14 -0
  113. package/dist/esm/stories/cpnBanner.stories.js +2 -0
  114. package/dist/esm/stories/cpnBanner.stories.js.map +7 -0
  115. package/dist/esm/stories/cpnCountdown.stories.d.ts +12 -0
  116. package/dist/esm/stories/cpnCountdown.stories.js +2 -0
  117. package/dist/esm/stories/cpnCountdown.stories.js.map +7 -0
  118. package/dist/esm/stories/cpnNavigation.stories.d.ts +14 -0
  119. package/dist/esm/stories/cpnNavigation.stories.js +2 -0
  120. package/dist/esm/stories/cpnNavigation.stories.js.map +7 -0
  121. package/dist/esm/stories/cpnProductcard.stories.d.ts +14 -0
  122. package/dist/esm/stories/cpnProductcard.stories.js +2 -0
  123. package/dist/esm/stories/cpnProductcard.stories.js.map +7 -0
  124. package/dist/esm/stories/cpnTitle.stories.d.ts +14 -0
  125. package/dist/esm/stories/cpnTitle.stories.js +2 -0
  126. package/dist/esm/stories/cpnTitle.stories.js.map +7 -0
  127. package/package.json +11 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cpn-components/CpnNavigation/index.tsx"],
4
+ "sourcesContent": ["import React, { useEffect, useRef, useState } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport type { Nav, NavigationProps } from './types.js'\nimport debounce from 'lodash.debounce'\n\nconst CpnNavigation = (props: NavigationProps) => {\n const { lists, styles, cns, offset = 0 } = props\n const [activeIndex, setActiveIndex] = useState(0)\n const navBox = useRef<HTMLDivElement>(null)\n\n const scrollIntoView = (ele: HTMLElement) => {\n ele.scrollIntoView({ behavior: 'smooth', inline: 'center' })\n }\n\n const handleNavItemClick = (nav: Nav, index: number, e: React.SyntheticEvent<EventTarget>) => {\n setActiveIndex(index)\n const ele = e.target as HTMLAnchorElement\n scrollIntoView(ele)\n if (nav.anchor) {\n document.querySelector(`#${nav.anchor}`)?.scrollIntoView({ behavior: 'smooth' })\n }\n e.preventDefault()\n }\n\n useEffect(() => {\n const scrollHandler = debounce(() => {\n const sectionTops: number[] = []\n lists?.forEach(nav => {\n const section = document.querySelector(`#${nav.anchor}`)\n if (section) {\n sectionTops.push(section.getBoundingClientRect().top)\n }\n })\n const index = sectionTops.findIndex(sectionTop => sectionTop > navHeight + offset) - 1\n setActiveIndex(index)\n }, 100)\n const navHeight = navBox.current?.getBoundingClientRect().height || 0\n window.addEventListener('scroll', scrollHandler)\n return () => {\n window.removeEventListener('scroll', scrollHandler)\n }\n }, [lists, offset])\n\n return (\n <div\n id=\"nav\"\n className={cn('cpn-nav-container sticky top-0 z-10 w-full bg-[var(--bgColor)]', cns?.container)}\n style={\n {\n '--bgColor': styles?.bgColor || '#C6F1FF',\n '--color': styles?.color || '#333',\n '--activeColor': styles?.activeColor || '#000',\n } as React.CSSProperties\n }\n >\n <div\n className={cn(\n 'cpn-nav-box relative flex items-center justify-start gap-[18px] overflow-scroll px-6 text-center [&::-webkit-scrollbar]:hidden',\n 'tablet:gap-[80px] tablet:justify-center',\n cns?.box\n )}\n ref={navBox}\n >\n {lists?.map((nav, index) => {\n return (\n <a\n key={nav.label}\n href={`#${nav.anchor}`}\n className={cn(\n 'cpn-nav-item relative cursor-pointer whitespace-nowrap py-[14px] text-[16px] font-medium leading-[1.2] text-[var(--color)] transition-all duration-200',\n cns?.item,\n {\n [`border-[var(--activeColor)] text-[var(--activeColor)] after:absolute after:bottom-0 after:left-0 after:h-[2px] after:w-full after:bg-[var(--activeColor)] after:transition-all after:duration-200 after:content-[\"\"] ${cns?.activeItem}`]:\n activeIndex === index,\n }\n )}\n onClick={e => handleNavItemClick(nav, index, e)}\n >\n {nav.label}\n </a>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default CpnNavigation\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAiEY,IAAAI,EAAA,6BAjEZC,EAAmD,iBACnDC,EAAmB,kCAEnBC,EAAqB,8BAErB,MAAMC,EAAiBC,GAA2B,CAChD,KAAM,CAAE,MAAAC,EAAO,OAAAC,EAAQ,IAAAC,EAAK,OAAAC,EAAS,CAAE,EAAIJ,EACrC,CAACK,EAAaC,CAAc,KAAI,YAAS,CAAC,EAC1CC,KAAS,UAAuB,IAAI,EAEpCC,EAAkBC,GAAqB,CAC3CA,EAAI,eAAe,CAAE,SAAU,SAAU,OAAQ,QAAS,CAAC,CAC7D,EAEMC,EAAqB,CAACC,EAAUC,EAAeC,IAAyC,CAC5FP,EAAeM,CAAK,EACpB,MAAMH,EAAMI,EAAE,OACdL,EAAeC,CAAG,EACdE,EAAI,QACN,SAAS,cAAc,IAAIA,EAAI,MAAM,EAAE,GAAG,eAAe,CAAE,SAAU,QAAS,CAAC,EAEjFE,EAAE,eAAe,CACnB,EAEA,sBAAU,IAAM,CACd,MAAMC,KAAgB,EAAAC,SAAS,IAAM,CACnC,MAAMC,EAAwB,CAAC,EAC/Bf,GAAO,QAAQU,GAAO,CACpB,MAAMM,EAAU,SAAS,cAAc,IAAIN,EAAI,MAAM,EAAE,EACnDM,GACFD,EAAY,KAAKC,EAAQ,sBAAsB,EAAE,GAAG,CAExD,CAAC,EACD,MAAML,EAAQI,EAAY,UAAUE,GAAcA,EAAaC,EAAYf,CAAM,EAAI,EACrFE,EAAeM,CAAK,CACtB,EAAG,GAAG,EACAO,EAAYZ,EAAO,SAAS,sBAAsB,EAAE,QAAU,EACpE,cAAO,iBAAiB,SAAUO,CAAa,EACxC,IAAM,CACX,OAAO,oBAAoB,SAAUA,CAAa,CACpD,CACF,EAAG,CAACb,EAAOG,CAAM,CAAC,KAGhB,OAAC,OACC,GAAG,MACH,aAAW,MAAG,iEAAkED,GAAK,SAAS,EAC9F,MACE,CACE,YAAaD,GAAQ,SAAW,UAChC,UAAWA,GAAQ,OAAS,OAC5B,gBAAiBA,GAAQ,aAAe,MAC1C,EAGF,mBAAC,OACC,aAAW,MACT,iIACA,0CACAC,GAAK,GACP,EACA,IAAKI,EAEJ,SAAAN,GAAO,IAAI,CAACU,EAAKC,OAEd,OAAC,KAEC,KAAM,IAAID,EAAI,MAAM,GACpB,aAAW,MACT,yJACAR,GAAK,KACL,CACE,CAAC,wNAAwNA,GAAK,UAAU,EAAE,EACxOE,IAAgBO,CACpB,CACF,EACA,QAASC,GAAKH,EAAmBC,EAAKC,EAAOC,CAAC,EAE7C,SAAAF,EAAI,OAZAA,EAAI,KAaX,CAEH,EACH,EACF,CAEJ,EAEA,IAAOlB,EAAQM",
6
+ "names": ["CpnNavigation_exports", "__export", "CpnNavigation_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_utils", "import_lodash", "CpnNavigation", "props", "lists", "styles", "cns", "offset", "activeIndex", "setActiveIndex", "navBox", "scrollIntoView", "ele", "handleNavItemClick", "nav", "index", "e", "scrollHandler", "debounce", "sectionTops", "section", "sectionTop", "navHeight"]
7
+ }
@@ -0,0 +1,19 @@
1
+ type Cns = {
2
+ container?: string;
3
+ box?: string;
4
+ item?: string;
5
+ activeItem?: string;
6
+ };
7
+ export interface Nav {
8
+ label: string;
9
+ anchor: string;
10
+ }
11
+ export type NavigationProps = {
12
+ lists: Nav[];
13
+ styles?: {
14
+ [key: string]: string;
15
+ };
16
+ cns?: Cns;
17
+ offset?: number;
18
+ };
19
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";var i=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var c=(n,t,r,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of g(t))!o.call(n,s)&&s!==r&&i(n,s,{get:()=>t[s],enumerable:!(e=a(t,s))||e.enumerable});return n};var p=n=>c(i({},"__esModule",{value:!0}),n);var l={};module.exports=p(l);
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cpn-components/CpnNavigation/types.ts"],
4
+ "sourcesContent": ["type Cns = {\n container?: string\n box?: string\n item?: string\n activeItem?: string\n}\n\nexport interface Nav {\n label: string\n anchor: string\n}\n\nexport type NavigationProps = {\n lists: Nav[]\n styles?: {\n [key: string]: string\n }\n cns?: Cns\n offset?: number\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["types_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { ProductCardProps } from './types.js';
2
+ declare const CpnProductCard: (props: ProductCardProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default CpnProductCard;
@@ -0,0 +1,2 @@
1
+ "use strict";var p=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var u=(a,t)=>{for(var o in t)p(a,o,{get:t[o],enumerable:!0})},v=(a,t,o,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of d(t))!x.call(a,r)&&r!==o&&p(a,r,{get:()=>t[r],enumerable:!(e=i(t,r))||e.enumerable});return a};var f=a=>v(p({},"__esModule",{value:!0}),a);var g={};u(g,{default:()=>b});module.exports=f(g);var s=require("react/jsx-runtime"),l=require("../../helpers/utils.js"),c=require("../../components/index.js");const N=a=>{const{content:t,cns:o}=a;return(0,s.jsx)("div",{className:(0,l.cn)("cpn-card-container relative box-border w-[177px] px-2 pb-3 pt-4 text-center",o?.container),children:t?.map((e,r)=>{switch(e.type){case"tag":return(0,s.jsx)(c.Text,{as:"div",html:e.text},r);case"image":return(0,s.jsx)(c.Picture,{source:`${e.image}, ${e.imageMob||e.image} 768`,className:(0,l.cn)("mx-auto h-[100px]"),imgClassName:(0,l.cn)("h-full object-cover")},r);case"title":return(0,s.jsx)(c.Text,{as:"div",html:e.text,className:(0,l.cn)("text-[14px] font-semibold text-[#333]")},r);case"price":return(0,s.jsx)("div",{className:"mt-3",children:(0,s.jsx)(c.Text,{html:`${e.text}`,className:(0,l.cn)("text-[14px] font-semibold text-[#333]")})});case"buttons":return(0,s.jsx)("div",{className:"mt-2 flex flex-col gap-2",children:e.buttons?.map((n,m)=>(0,s.jsx)(c.Button,{variant:n.variant,className:"w-full",onClick:n.onClick,children:n.text},m))})}})})};var b=N;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cpn-components/CpnProductCard/index.tsx"],
4
+ "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport type { ProductCardProps } from './types.js'\nimport { Button, Picture, Text } from '../../components/index.js'\n\nconst CpnProductCard = (props: ProductCardProps) => {\n const { content, cns } = props\n\n return (\n <div className={cn('cpn-card-container relative box-border w-[177px] px-2 pb-3 pt-4 text-center', cns?.container)}>\n {content?.map((item, index) => {\n switch (item.type) {\n case 'tag':\n return <Text key={index} as=\"div\" html={item.text} />\n case 'image':\n return (\n <Picture\n key={index}\n source={`${item.image}, ${item.imageMob || item.image} 768`}\n className={cn('mx-auto h-[100px]')}\n imgClassName={cn('h-full object-cover')}\n />\n )\n case 'title':\n return (\n <Text key={index} as=\"div\" html={item.text} className={cn('text-[14px] font-semibold text-[#333]')} />\n )\n case 'price':\n return (\n <div className=\"mt-3\">\n <Text html={`${item.text}`} className={cn('text-[14px] font-semibold text-[#333]')} />\n </div>\n )\n case 'buttons':\n return (\n <div className=\"mt-2 flex flex-col gap-2\">\n {item.buttons?.map((button, index) => (\n <Button key={index} variant={button.variant} className=\"w-full\" onClick={button.onClick}>\n {button.text}\n </Button>\n ))}\n </div>\n )\n }\n })}\n </div>\n )\n}\n\nexport default CpnProductCard\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAYmB,IAAAI,EAAA,6BAZnBC,EAAmB,kCAEnBC,EAAsC,qCAEtC,MAAMC,EAAkBC,GAA4B,CAClD,KAAM,CAAE,QAAAC,EAAS,IAAAC,CAAI,EAAIF,EAEzB,SACE,OAAC,OAAI,aAAW,MAAG,8EAA+EE,GAAK,SAAS,EAC7G,SAAAD,GAAS,IAAI,CAACE,EAAMC,IAAU,CAC7B,OAAQD,EAAK,KAAM,CACjB,IAAK,MACH,SAAO,OAAC,QAAiB,GAAG,MAAM,KAAMA,EAAK,MAA3BC,CAAiC,EACrD,IAAK,QACH,SACE,OAAC,WAEC,OAAQ,GAAGD,EAAK,KAAK,KAAKA,EAAK,UAAYA,EAAK,KAAK,OACrD,aAAW,MAAG,mBAAmB,EACjC,gBAAc,MAAG,qBAAqB,GAHjCC,CAIP,EAEJ,IAAK,QACH,SACE,OAAC,QAAiB,GAAG,MAAM,KAAMD,EAAK,KAAM,aAAW,MAAG,uCAAuC,GAAtFC,CAAyF,EAExG,IAAK,QACH,SACE,OAAC,OAAI,UAAU,OACb,mBAAC,QAAK,KAAM,GAAGD,EAAK,IAAI,GAAI,aAAW,MAAG,uCAAuC,EAAG,EACtF,EAEJ,IAAK,UACH,SACE,OAAC,OAAI,UAAU,2BACZ,SAAAA,EAAK,SAAS,IAAI,CAACE,EAAQD,OAC1B,OAAC,UAAmB,QAASC,EAAO,QAAS,UAAU,SAAS,QAASA,EAAO,QAC7E,SAAAA,EAAO,MADGD,CAEb,CACD,EACH,CAEN,CACF,CAAC,EACH,CAEJ,EAEA,IAAOV,EAAQK",
6
+ "names": ["CpnProductCard_exports", "__export", "CpnProductCard_default", "__toCommonJS", "import_jsx_runtime", "import_utils", "import_components", "CpnProductCard", "props", "content", "cns", "item", "index", "button"]
7
+ }
@@ -0,0 +1,109 @@
1
+ export type ProductImage = {
2
+ url: string;
3
+ altText?: string;
4
+ width?: number;
5
+ height?: number;
6
+ };
7
+ export type ProductPrice = {
8
+ value: number;
9
+ currencyCode?: 'USD' | 'EUR' | 'ARS' | string;
10
+ retailPrice?: number;
11
+ salePrice?: number;
12
+ listPrice?: number;
13
+ extendedSalePrice?: number;
14
+ extendedListPrice?: number;
15
+ };
16
+ export type ProductOption = {
17
+ __typename?: 'MultipleChoiceOption';
18
+ id: string;
19
+ displayName: string;
20
+ name?: string;
21
+ values: ProductOptionValues[];
22
+ };
23
+ export type ProductOptionValues = {
24
+ label: string;
25
+ hexColors?: string[];
26
+ };
27
+ export type SellingPlans = {
28
+ id: string;
29
+ name: string;
30
+ options: {
31
+ name: string;
32
+ value: string;
33
+ }[];
34
+ };
35
+ export type SellingPlanGroups = {
36
+ name: string;
37
+ sellingPlans: SellingPlans[];
38
+ };
39
+ export type SellingPlanAllocations = {
40
+ priceAdjustments: [];
41
+ sellingPlan: SellingPlans;
42
+ }[];
43
+ export type ProductVariant = {
44
+ barcode?: string;
45
+ id: string | number;
46
+ options: ProductOption[];
47
+ availableForSale?: boolean;
48
+ quantityAvailable: number;
49
+ metafields?: Record<string, any>;
50
+ sellingPlanAllocations?: SellingPlanAllocations;
51
+ price: number;
52
+ weight?: number;
53
+ name?: string;
54
+ image?: ProductImage;
55
+ requiresShipping?: boolean;
56
+ [key: string]: any;
57
+ };
58
+ export type Product = {
59
+ availableForSale?: boolean;
60
+ id: string;
61
+ name: string;
62
+ description: string;
63
+ descriptionHtml?: string;
64
+ productType?: string;
65
+ onlineStoreUrl?: string | null;
66
+ publishedAt?: string;
67
+ title?: string;
68
+ slug?: string;
69
+ handle?: string;
70
+ path?: string;
71
+ images: ProductImage[];
72
+ variants: ProductVariant[];
73
+ price: ProductPrice;
74
+ listPrice?: number;
75
+ options: ProductOption[];
76
+ seo?: any;
77
+ tags?: string[];
78
+ metafields?: {
79
+ [key: string]: any;
80
+ };
81
+ vendor: string;
82
+ totalInventory: number;
83
+ requiresSellingPlan: boolean;
84
+ sellingPlanGroups: SellingPlanGroups[];
85
+ };
86
+ type Cns = {
87
+ container?: string;
88
+ box?: string;
89
+ item?: string;
90
+ activeItem?: string;
91
+ };
92
+ type ContentType = 'tag' | 'image' | 'title' | 'subtitle' | 'price' | 'buttons' | 'code';
93
+ interface Content {
94
+ type: ContentType;
95
+ text?: string;
96
+ image?: string;
97
+ imageMob?: string;
98
+ url?: string;
99
+ buttons?: {
100
+ text: string;
101
+ variant?: "primary" | "secondary";
102
+ onClick?: () => void;
103
+ }[];
104
+ }
105
+ export type ProductCardProps = {
106
+ content?: Content[];
107
+ cns?: Cns;
108
+ };
109
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";var r=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var g=(t,e,s,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of l(e))!o.call(t,n)&&n!==s&&r(t,n,{get:()=>e[n],enumerable:!(i=a(e,n))||i.enumerable});return t};var p=t=>g(r({},"__esModule",{value:!0}),t);var c={};module.exports=p(c);
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cpn-components/CpnProductCard/types.ts"],
4
+ "sourcesContent": ["export type ProductImage = {\n url: string\n altText?: string\n width?: number\n height?: number\n}\n\nexport type ProductPrice = {\n value: number\n currencyCode?: 'USD' | 'EUR' | 'ARS' | string\n retailPrice?: number\n salePrice?: number\n listPrice?: number\n extendedSalePrice?: number\n extendedListPrice?: number\n}\n\nexport type ProductOption = {\n __typename?: 'MultipleChoiceOption'\n id: string\n displayName: string\n name?: string\n values: ProductOptionValues[]\n}\n\nexport type ProductOptionValues = {\n label: string\n hexColors?: string[]\n}\n\nexport type SellingPlans = {\n id: string\n name: string\n options: {\n name: string\n value: string\n }[]\n}\n\nexport type SellingPlanGroups = {\n name: string\n sellingPlans: SellingPlans[]\n}\n\nexport type SellingPlanAllocations = {\n priceAdjustments: []\n sellingPlan: SellingPlans\n}[]\n\nexport type ProductVariant = {\n barcode?: string\n id: string | number\n options: ProductOption[]\n availableForSale?: boolean\n quantityAvailable: number\n metafields?: Record<string, any>\n sellingPlanAllocations?: SellingPlanAllocations\n price: number\n weight?: number\n name?: string\n image?: ProductImage\n requiresShipping?: boolean\n [key: string]: any\n}\n\nexport type Product = {\n availableForSale?: boolean\n id: string\n name: string\n description: string\n descriptionHtml?: string\n productType?: string\n onlineStoreUrl?: string | null\n publishedAt?: string\n title?: string\n slug?: string\n handle?: string\n path?: string\n images: ProductImage[]\n variants: ProductVariant[]\n price: ProductPrice\n listPrice?: number\n options: ProductOption[]\n seo?: any\n tags?: string[]\n metafields?: { [key: string]: any }\n vendor: string\n totalInventory: number\n requiresSellingPlan: boolean\n sellingPlanGroups: SellingPlanGroups[]\n}\n\ntype Cns = {\n container?: string\n box?: string\n item?: string\n activeItem?: string\n}\n\ninterface TagType {\n type: 'tag'\n text: string\n}\n\ninterface ImageType {\n type: 'image'\n image: string\n imageMob?: string\n imageLink?: string\n}\n\ninterface TitleType {\n type: 'title'\n text: string\n}\n\ninterface SubtitleType {\n type: 'subtitle'\n text: string\n}\n\ninterface PriceType {\n type: 'price'\n price: string\n comparePrice?: string\n soldOut?: boolean\n}\n\ntype ContentType = 'tag' | 'image' | 'title' | 'subtitle' | 'price' | 'buttons' | 'code'\n\ninterface Content {\n type: ContentType\n text?: string\n image?: string\n imageMob?: string\n url?: string\n buttons?: {\n text: string\n variant?: \"primary\" | \"secondary\"\n onClick?: () => void\n }[]\n}\n\nexport type ProductCardProps = {\n content?: Content[]\n cns?: Cns\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["types_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { TitleProps } from './types.js';
2
+ declare const CpnTitle: (props: TitleProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default CpnTitle;
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var m=Object.prototype.hasOwnProperty;var x=(e,t)=>{for(var o in t)s(e,o,{get:t[o],enumerable:!0})},f=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of a(t))!m.call(e,c)&&c!==o&&s(e,c,{get:()=>t[c],enumerable:!(n=p(t,c))||n.enumerable});return e};var u=e=>f(s({},"__esModule",{value:!0}),e);var T={};x(T,{default:()=>N});module.exports=u(T);var i=require("react/jsx-runtime"),r=require("../../helpers/utils.js"),l=require("../../components/index.js");const d=e=>{const{html:t,icon_l:o,icon_r:n,cns:c}=e;return(0,i.jsxs)("div",{className:(0,r.cn)("cpn-title-container flex items-start justify-center gap-5 text-center",c?.container),children:[o&&(0,i.jsx)(l.Picture,{source:o,className:(0,r.cn)("cpn-title-icon-l",c?.icon_l)}),(0,i.jsx)(l.Text,{html:t,className:"cpn-title-text laptop:text-[40px] text-[24px] font-bold"}),n&&(0,i.jsx)(l.Picture,{source:n,className:(0,r.cn)("cpn-title-icon-r",c?.icon_r)})]})};var N=d;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cpn-components/CpnTitle/index.tsx"],
4
+ "sourcesContent": ["import type { TitleProps } from './types.js'\nimport { cn } from '../../helpers/utils.js'\nimport { Picture, Text } from '../../components/index.js'\n\nconst CpnTitle = (props: TitleProps) => {\n const { html, icon_l, icon_r, cns } = props\n\n return (\n <div className={cn('cpn-title-container flex items-start justify-center gap-5 text-center', cns?.container)}>\n {icon_l && <Picture source={icon_l} className={cn('cpn-title-icon-l', cns?.icon_l)} />}\n <Text html={html} className=\"cpn-title-text laptop:text-[40px] text-[24px] font-bold\" />\n {icon_r && <Picture source={icon_r} className={cn('cpn-title-icon-r', cns?.icon_r)} />}\n </div>\n )\n}\n\nexport default CpnTitle\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAQI,IAAAI,EAAA,6BAPJC,EAAmB,kCACnBC,EAA8B,qCAE9B,MAAMC,EAAYC,GAAsB,CACtC,KAAM,CAAE,KAAAC,EAAM,OAAAC,EAAQ,OAAAC,EAAQ,IAAAC,CAAI,EAAIJ,EAEtC,SACE,QAAC,OAAI,aAAW,MAAG,wEAAyEI,GAAK,SAAS,EACvG,UAAAF,MAAU,OAAC,WAAQ,OAAQA,EAAQ,aAAW,MAAG,mBAAoBE,GAAK,MAAM,EAAG,KACpF,OAAC,QAAK,KAAMH,EAAM,UAAU,0DAA0D,EACrFE,MAAU,OAAC,WAAQ,OAAQA,EAAQ,aAAW,MAAG,mBAAoBC,GAAK,MAAM,EAAG,GACtF,CAEJ,EAEA,IAAOV,EAAQK",
6
+ "names": ["CpnTitle_exports", "__export", "CpnTitle_default", "__toCommonJS", "import_jsx_runtime", "import_utils", "import_components", "CpnTitle", "props", "html", "icon_l", "icon_r", "cns"]
7
+ }
@@ -0,0 +1,10 @@
1
+ export type TitleProps = {
2
+ html: string;
3
+ icon_l?: string;
4
+ icon_r?: string;
5
+ cns?: {
6
+ container?: string;
7
+ icon_l?: string;
8
+ icon_r?: string;
9
+ };
10
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var e=Object.prototype.hasOwnProperty;var l=(i,n,o,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of g(n))!e.call(i,r)&&r!==o&&s(i,r,{get:()=>n[r],enumerable:!(t=c(n,r))||t.enumerable});return i};var _=i=>l(s({},"__esModule",{value:!0}),i);var p={};module.exports=_(p);
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/cpn-components/CpnTitle/types.ts"],
4
+ "sourcesContent": ["export type TitleProps = {\n html: string\n icon_l?: string\n icon_r?: string\n cns?: {\n container?: string\n icon_l?: string\n icon_r?: string\n }\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
+ "names": ["types_exports", "__toCommonJS"]
7
+ }
@@ -0,0 +1,5 @@
1
+ export { default as CpnBanner } from './CpnBanner/index.js';
2
+ export { default as CpnCountDown } from './CpnCountDown/index.js';
3
+ export { default as CpnNavigation } from './CpnNavigation/index.js';
4
+ export { default as CpnProductCard } from './CpnProductCard/index.js';
5
+ export { default as CpnTitle } from './CpnTitle/index.js';
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.create;var f=Object.defineProperty;var x=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var c=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var v=(a,o)=>{for(var t in o)f(a,t,{get:o[t],enumerable:!0})},p=(a,o,t,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of i(o))!g.call(a,r)&&r!==t&&f(a,r,{get:()=>o[r],enumerable:!(n=x(o,r))||n.enumerable});return a};var e=(a,o,t)=>(t=a!=null?s(c(a)):{},p(o||!a||!a.__esModule?f(t,"default",{value:a,enumerable:!0}):t,a)),w=a=>p(f({},"__esModule",{value:!0}),a);var B={};v(B,{CpnBanner:()=>d.default,CpnCountDown:()=>u.default,CpnNavigation:()=>C.default,CpnProductCard:()=>l.default,CpnTitle:()=>m.default});module.exports=w(B);var d=e(require("./CpnBanner/index.js")),u=e(require("./CpnCountDown/index.js")),C=e(require("./CpnNavigation/index.js")),l=e(require("./CpnProductCard/index.js")),m=e(require("./CpnTitle/index.js"));
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/cpn-components/index.ts"],
4
+ "sourcesContent": ["export { default as CpnBanner } from './CpnBanner/index.js'\nexport { default as CpnCountDown } from './CpnCountDown/index.js'\nexport { default as CpnNavigation } from './CpnNavigation/index.js'\nexport { default as CpnProductCard } from './CpnProductCard/index.js'\nexport { default as CpnTitle } from './CpnTitle/index.js'\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qJAAAE,EAAAF,GAAA,IAAAG,EAAqC,mCACrCC,EAAwC,sCACxCC,EAAyC,uCACzCC,EAA0C,wCAC1CC,EAAoC",
6
+ "names": ["cpn_components_exports", "__export", "__toCommonJS", "import_CpnBanner", "import_CpnCountDown", "import_CpnNavigation", "import_CpnProductCard", "import_CpnTitle"]
7
+ }
@@ -0,0 +1,10 @@
1
+ interface Time {
2
+ days: string;
3
+ hours: string;
4
+ minutes: string;
5
+ seconds: string;
6
+ }
7
+ declare const useCountDown: ({ endTime }: {
8
+ endTime?: string;
9
+ }) => Time;
10
+ export default useCountDown;
@@ -0,0 +1,2 @@
1
+ "use strict";var u=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var T=(n,t)=>{for(var o in t)u(n,o,{get:t[o],enumerable:!0})},h=(n,t,o,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of w(t))!D.call(n,s)&&s!==o&&u(n,s,{get:()=>t[s],enumerable:!(e=l(t,s))||e.enumerable});return n};var b=n=>h(u({},"__esModule",{value:!0}),n);var S={};T(S,{default:()=>y});module.exports=b(S);var i=require("react");const p=({endTime:n=""})=>{const[t,o]=(0,i.useState)({days:"00",hours:"00",minutes:"00",seconds:"00"});return(0,i.useEffect)(()=>{const e=c=>(c<0?0:Math.floor(c)).toString().padStart(2,"0"),s=new Date(n).getTime(),a=setInterval(()=>{const c=new Date().getTime(),r=s-c,m=e(r/(1e3*60*60*24)),d=e(r%(1e3*60*60*24)/(1e3*60*60)),g=e(r%(1e3*60*60)/(1e3*60)),f=e(r%(1e3*60)/1e3);o({days:m,hours:d,minutes:g,seconds:f})},1e3);return()=>clearInterval(a)},[n]),t};var y=p;
2
+ //# sourceMappingURL=useCountDown.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/useCountDown.ts"],
4
+ "sourcesContent": ["import { useEffect, useState } from 'react'\n\ninterface Time {\n days: string\n hours: string\n minutes: string\n seconds: string\n}\n\nconst useCountDown = ({ endTime = '' }: { endTime?: string }) => {\n const [time, setTime] = useState<Time>({\n days: '00',\n hours: '00',\n minutes: '00',\n seconds: '00',\n })\n\n useEffect(() => {\n const format = (date: number) => {\n const number = date < 0 ? 0 : Math.floor(date)\n return number.toString().padStart(2, '0')\n }\n\n const countDownDate = new Date(endTime).getTime()\n\n const timer = setInterval(() => {\n const now = new Date().getTime()\n const distance = countDownDate - now\n\n const days = format(distance / (1000 * 60 * 60 * 24))\n const hours = format((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))\n const minutes = format((distance % (1000 * 60 * 60)) / (1000 * 60))\n const seconds = format((distance % (1000 * 60)) / 1000)\n\n setTime({\n days,\n hours,\n minutes,\n seconds,\n })\n }, 1000)\n\n return () => clearInterval(timer)\n }, [endTime])\n\n return time\n}\n\nexport default useCountDown\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAoC,iBASpC,MAAMC,EAAe,CAAC,CAAE,QAAAC,EAAU,EAAG,IAA4B,CAC/D,KAAM,CAACC,EAAMC,CAAO,KAAI,YAAe,CACrC,KAAM,KACN,MAAO,KACP,QAAS,KACT,QAAS,IACX,CAAC,EAED,sBAAU,IAAM,CACd,MAAMC,EAAUC,IACCA,EAAO,EAAI,EAAI,KAAK,MAAMA,CAAI,GAC/B,SAAS,EAAE,SAAS,EAAG,GAAG,EAGpCC,EAAgB,IAAI,KAAKL,CAAO,EAAE,QAAQ,EAE1CM,EAAQ,YAAY,IAAM,CAC9B,MAAMC,EAAM,IAAI,KAAK,EAAE,QAAQ,EACzBC,EAAWH,EAAgBE,EAE3BE,EAAON,EAAOK,GAAY,IAAO,GAAK,GAAK,GAAG,EAC9CE,EAAQP,EAAQK,GAAY,IAAO,GAAK,GAAK,KAAQ,IAAO,GAAK,GAAG,EACpEG,EAAUR,EAAQK,GAAY,IAAO,GAAK,KAAQ,IAAO,GAAG,EAC5DI,EAAUT,EAAQK,GAAY,IAAO,IAAO,GAAI,EAEtDN,EAAQ,CACN,KAAAO,EACA,MAAAC,EACA,QAAAC,EACA,QAAAC,CACF,CAAC,CACH,EAAG,GAAI,EAEP,MAAO,IAAM,cAAcN,CAAK,CAClC,EAAG,CAACN,CAAO,CAAC,EAELC,CACT,EAEA,IAAOL,EAAQG",
6
+ "names": ["useCountDown_exports", "__export", "useCountDown_default", "__toCommonJS", "import_react", "useCountDown", "endTime", "time", "setTime", "format", "date", "countDownDate", "timer", "now", "distance", "days", "hours", "minutes", "seconds"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use strict";var m=Object.create;var r=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var n=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var g=(e,t)=>{for(var o in t)r(e,o,{get:t[o],enumerable:!0})},a=(e,t,o,c)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of l(t))!b.call(e,s)&&s!==o&&r(e,s,{get:()=>t[s],enumerable:!(c=p(t,s))||c.enumerable});return e};var u=(e,t,o)=>(o=e!=null?m(n(e)):{},a(t||!e||!e.__esModule?r(o,"default",{value:e,enumerable:!0}):o,e)),y=e=>a(r({},"__esModule",{value:!0}),e);var k={};g(k,{Default:()=>h,Round:()=>P,default:()=>_});module.exports=y(k);var f=u(require("../biz-components/Category/index.js"));const d={title:"Biz-Components/Category",component:f.default,parameters:{layout:"fullscreen"},tags:["autodocs"]};var _=d;const i=[{title:"Anker Prime 27",img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}},{title:"Anker Prime",img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}},{title:"Anker Prime",img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}},{title:"Anker Prime",img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}},{title:"Anker Prime",img:{url:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}}],h={args:{data:{products:i},className:"p-4"}},P={args:{data:{shape:"round",products:i},className:"p-4"}};
1
+ "use strict";var f=Object.create;var s=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var g=(e,t)=>{for(var o in t)s(e,o,{get:t[o],enumerable:!0})},c=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of i(t))!b.call(e,a)&&a!==o&&s(e,a,{get:()=>t[a],enumerable:!(r=n(t,a))||r.enumerable});return e};var d=(e,t,o)=>(o=e!=null?f(y(e)):{},c(t||!e||!e.__esModule?s(o,"default",{value:e,enumerable:!0}):o,e)),l=e=>c(s({},"__esModule",{value:!0}),e);var k={};g(k,{Default:()=>h,Round:()=>P,default:()=>_});module.exports=l(k);var p=d(require("../biz-components/Category/index.js"));const u={title:"Biz-Components/Category",component:p.default,parameters:{layout:"fullscreen"},tags:["autodocs"]};var _=u;const m=[{name:"Anker Prime 27",image:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"},{name:"Anker Prime 27",image:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"},{name:"Anker Prime 27",image:"https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554"}],h={args:{data:{products:m},className:"p-4"}},P={args:{data:{shape:"round",products:m},className:"p-4"}};
2
2
  //# sourceMappingURL=category.stories.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/stories/category.stories.tsx"],
4
- "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport Category from '../biz-components/Category/index.js'\n\nconst meta = {\n title: 'Biz-Components/Category',\n component: Category,\n parameters: {\n layout: 'fullscreen',\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof Category>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nconst mock = [\n {\n title: 'Anker Prime 27',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n },\n {\n title: 'Anker Prime',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n },\n {\n title: 'Anker Prime',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n },\n {\n title: 'Anker Prime',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n },\n {\n title: 'Anker Prime',\n img: {\n url: 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n },\n]\n\nexport const Default: Story = {\n args: {\n data: {\n products: mock,\n },\n className: 'p-4',\n },\n}\n\nexport const Round: Story = {\n args: {\n data: {\n shape: 'round',\n products: mock,\n },\n className: 'p-4',\n },\n}\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,UAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAL,GACA,IAAAM,EAAqB,kDAErB,MAAMC,EAAO,CACX,MAAO,0BACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,YACV,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOJ,EAAQG,EAGf,MAAME,EAAO,CACX,CACE,MAAO,iBACP,IAAK,CACH,IAAK,8HACP,CACF,EACA,CACE,MAAO,cACP,IAAK,CACH,IAAK,8HACP,CACF,EACA,CACE,MAAO,cACP,IAAK,CACH,IAAK,8HACP,CACF,EACA,CACE,MAAO,cACP,IAAK,CACH,IAAK,8HACP,CACF,EACA,CACE,MAAO,cACP,IAAK,CACH,IAAK,8HACP,CACF,CACF,EAEaP,EAAiB,CAC5B,KAAM,CACJ,KAAM,CACJ,SAAUO,CACZ,EACA,UAAW,KACb,CACF,EAEaN,EAAe,CAC1B,KAAM,CACJ,KAAM,CACJ,MAAO,QACP,SAAUM,CACZ,EACA,UAAW,KACb,CACF",
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport Category from '../biz-components/Category/index.js'\n\nconst meta = {\n title: 'Biz-Components/Category',\n component: Category,\n parameters: {\n layout: 'fullscreen',\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof Category>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\nconst mock = [\n {\n name: 'Anker Prime 27',\n image:\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n {\n name: 'Anker Prime 27',\n image:\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n {\n name: 'Anker Prime 27',\n image:\n 'https://cdn.shopify.com/s/files/1/0517/6767/3016/files/e7be0a68-29b9-431c-8c0f-21bf968b1545_Product_Image_2.png?v=1744274554',\n },\n]\n\nexport const Default: Story = {\n args: {\n data: {\n products: mock,\n },\n className: 'p-4',\n },\n}\n\nexport const Round: Story = {\n args: {\n data: {\n shape: 'round',\n products: mock,\n },\n className: 'p-4',\n },\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,UAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAL,GACA,IAAAM,EAAqB,kDAErB,MAAMC,EAAO,CACX,MAAO,0BACP,UAAW,EAAAC,QACX,WAAY,CACV,OAAQ,YACV,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOJ,EAAQG,EAGf,MAAME,EAAO,CACX,CACE,KAAM,iBACN,MACE,8HACJ,EACA,CACE,KAAM,iBACN,MACE,8HACJ,EACA,CACE,KAAM,iBACN,MACE,8HACJ,CACF,EAEaP,EAAiB,CAC5B,KAAM,CACJ,KAAM,CACJ,SAAUO,CACZ,EACA,UAAW,KACb,CACF,EAEaN,EAAe,CAC1B,KAAM,CACJ,KAAM,CACJ,MAAO,QACP,SAAUM,CACZ,EACA,UAAW,KACb,CACF",
6
6
  "names": ["category_stories_exports", "__export", "Default", "Round", "category_stories_default", "__toCommonJS", "import_Category", "meta", "Category", "mock"]
7
7
  }
@@ -0,0 +1,14 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: (props: import("../cpn-components/CpnBanner/types.js").BannerProps) => import("react/jsx-runtime").JSX.Element;
5
+ parameters: {
6
+ viewport: {
7
+ defaultViewport: string;
8
+ };
9
+ };
10
+ tags: string[];
11
+ };
12
+ export default meta;
13
+ type Story = StoryObj<typeof meta>;
14
+ export declare const Default: Story;
@@ -0,0 +1,2 @@
1
+ "use strict";var s=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var c=(e,t)=>{for(var n in t)s(e,n,{get:t[n],enumerable:!0})},y=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of m(t))!r.call(e,o)&&o!==n&&s(e,o,{get:()=>t[o],enumerable:!(i=p(t,o))||i.enumerable});return e};var f=e=>y(s({},"__esModule",{value:!0}),e);var d={};c(d,{Default:()=>b,default:()=>u});module.exports=f(d);var a=require("../cpn-components/index.js");const l={title:"Cpn-Components/CpnBanner",component:a.CpnBanner,parameters:{viewport:{defaultViewport:"tablet"}},tags:["autodocs"]};var u=l;const b={args:{image:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/landing_banner.jpg?v=1742379112",imageMob:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/landing_banner_mob.png?v=1742458121",content:[{type:"subheading",text:"Kick Off Summer with Exclusive Savings"},{type:"title",text:"Kick Off Summer with Exclusive Savings"},{type:"subtitle",text:"Get Early Access to Amazing Offers"},{type:"countdown",endTime:"2025-06-30T00:00:00",copy:{days:"Days",hours:"HRS",minutes:"MINS",seconds:"SEC"}},{type:"button",text:"Check Out Now"}],cns:{box:"",content:"min-md:max-w-[28vw] min-xl:max-w-[25vw] mx-auto",title:"",subtitle:"",button:"",countdown:{item:"bg-[#042637]",copy:"opacity-75"}}}};
2
+ //# sourceMappingURL=cpnBanner.stories.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/stories/cpnBanner.stories.tsx"],
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\n\nimport { CpnBanner } from '../cpn-components/index.js'\n\nconst meta = {\n title: 'Cpn-Components/CpnBanner',\n component: CpnBanner,\n parameters: {\n // layout: 'fullscreen',\n viewport: { defaultViewport: 'tablet' },\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof CpnBanner>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {\n image: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/landing_banner.jpg?v=1742379112',\n imageMob: 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/landing_banner_mob.png?v=1742458121',\n content: [\n {\n type: 'subheading',\n text: 'Kick Off Summer with Exclusive Savings',\n },\n {\n type: 'title',\n text: 'Kick Off Summer with Exclusive Savings',\n },\n {\n type: 'subtitle',\n text: 'Get Early Access to Amazing Offers',\n },\n {\n type: 'countdown',\n endTime: '2025-06-30T00:00:00',\n copy: {\n days: 'Days',\n hours: 'HRS',\n minutes: 'MINS',\n seconds: 'SEC',\n },\n },\n {\n type: 'button',\n text: 'Check Out Now',\n },\n ],\n cns: {\n box: '',\n content: 'min-md:max-w-[28vw] min-xl:max-w-[25vw] mx-auto',\n title: '',\n subtitle: '',\n button: '',\n countdown: {\n item: 'bg-[#042637]',\n copy: 'opacity-75',\n },\n },\n },\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAA0B,sCAE1B,MAAMC,EAAO,CACX,MAAO,2BACP,UAAW,YACX,WAAY,CAEV,SAAU,CAAE,gBAAiB,QAAS,CACxC,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOH,EAAQG,EAIR,MAAMJ,EAAiB,CAC5B,KAAM,CACJ,MAAO,yFACP,SAAU,6FACV,QAAS,CACP,CACE,KAAM,aACN,KAAM,wCACR,EACA,CACE,KAAM,QACN,KAAM,wCACR,EACA,CACE,KAAM,WACN,KAAM,oCACR,EACA,CACE,KAAM,YACN,QAAS,sBACT,KAAM,CACJ,KAAM,OACN,MAAO,MACP,QAAS,OACT,QAAS,KACX,CACF,EACA,CACE,KAAM,SACN,KAAM,eACR,CACF,EACA,IAAK,CACH,IAAK,GACL,QAAS,kDACT,MAAO,GACP,SAAU,GACV,OAAQ,GACR,UAAW,CACT,KAAM,eACN,KAAM,YACR,CACF,CACF,CACF",
6
+ "names": ["cpnBanner_stories_exports", "__export", "Default", "cpnBanner_stories_default", "__toCommonJS", "import_cpn_components", "meta"]
7
+ }
@@ -0,0 +1,12 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: (props: import("../cpn-components/CpnCountDown/types.js").CountDownProps) => import("react/jsx-runtime").JSX.Element;
5
+ parameters: {
6
+ layout: string;
7
+ };
8
+ tags: string[];
9
+ };
10
+ export default meta;
11
+ type Story = StoryObj<typeof meta>;
12
+ export declare const Default: Story;
@@ -0,0 +1,2 @@
1
+ "use strict";var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var C=(o,t)=>{for(var n in t)r(o,n,{get:t[n],enumerable:!0})},f=(o,t,n,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of m(t))!y.call(o,e)&&e!==n&&r(o,e,{get:()=>t[e],enumerable:!(p=s(t,e))||p.enumerable});return o};var u=o=>f(r({},"__esModule",{value:!0}),o);var l={};C(l,{Default:()=>d,default:()=>i});module.exports=u(l);var a=require("../cpn-components/index.js");const c={title:"Cpn-Components/CpnCountDown",component:a.CpnCountDown,parameters:{layout:"centered"},tags:["autodocs"]};var i=c;const d={args:{endTime:"2025-06-30T00:00:00"}};
2
+ //# sourceMappingURL=cpnCountdown.stories.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/stories/cpnCountdown.stories.tsx"],
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\n\nimport { CpnCountDown } from '../cpn-components/index.js'\n\nconst meta = {\n title: 'Cpn-Components/CpnCountDown',\n component: CpnCountDown,\n parameters: {\n layout: 'centered',\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof CpnCountDown>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {\n endTime: '2025-06-30T00:00:00',\n },\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAA6B,sCAE7B,MAAMC,EAAO,CACX,MAAO,8BACP,UAAW,eACX,WAAY,CACV,OAAQ,UACV,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOH,EAAQG,EAIR,MAAMJ,EAAiB,CAC5B,KAAM,CACJ,QAAS,qBACX,CACF",
6
+ "names": ["cpnCountdown_stories_exports", "__export", "Default", "cpnCountdown_stories_default", "__toCommonJS", "import_cpn_components", "meta"]
7
+ }
@@ -0,0 +1,14 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: (props: import("../cpn-components/CpnNavigation/types.js").NavigationProps) => import("react/jsx-runtime").JSX.Element;
5
+ parameters: {
6
+ viewport: {
7
+ defaultViewport: string;
8
+ };
9
+ };
10
+ tags: string[];
11
+ };
12
+ export default meta;
13
+ type Story = StoryObj<typeof meta>;
14
+ export declare const Default: Story;
@@ -0,0 +1,2 @@
1
+ "use strict";var r=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var f=(e,t)=>{for(var a in t)r(e,a,{get:t[a],enumerable:!0})},c=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of s(t))!l.call(e,o)&&o!==a&&r(e,o,{get:()=>t[o],enumerable:!(n=i(t,o))||n.enumerable});return e};var u=e=>c(r({},"__esModule",{value:!0}),e);var g={};f(g,{Default:()=>m,default:()=>b});module.exports=u(g);var p=require("../cpn-components/index.js");const y={title:"Cpn-Components/CpnNavigation",component:p.CpnNavigation,parameters:{viewport:{defaultViewport:"tablet"}},tags:["autodocs"]};var b=y;const m={args:{lists:[{label:"Benefits",anchor:"benefits"},{label:"Super Sale",anchor:"featureProducts"},{label:"Free Gifts",anchor:"giftWithPurchase"},{label:"Group Buy",anchor:"groupBuying"},{label:"Super Gifts",anchor:"superGifts"}],cns:{container:"top-[46px]"}}};
2
+ //# sourceMappingURL=cpnNavigation.stories.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/stories/cpnNavigation.stories.tsx"],
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\n\nimport { CpnNavigation } from '../cpn-components/index.js'\n\nconst meta = {\n title: 'Cpn-Components/CpnNavigation',\n component: CpnNavigation,\n parameters: {\n // layout: 'fullscreen',\n viewport: { defaultViewport: 'tablet' },\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof CpnNavigation>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {\n lists: [\n { label: 'Benefits', anchor: 'benefits' },\n { label: 'Super Sale', anchor: 'featureProducts' },\n { label: 'Free Gifts', anchor: 'giftWithPurchase' },\n { label: 'Group Buy', anchor: 'groupBuying' },\n { label: 'Super Gifts', anchor: 'superGifts' },\n ],\n cns: {\n container: 'top-[46px]',\n },\n },\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAA8B,sCAE9B,MAAMC,EAAO,CACX,MAAO,+BACP,UAAW,gBACX,WAAY,CAEV,SAAU,CAAE,gBAAiB,QAAS,CACxC,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOH,EAAQG,EAIR,MAAMJ,EAAiB,CAC5B,KAAM,CACJ,MAAO,CACL,CAAE,MAAO,WAAY,OAAQ,UAAW,EACxC,CAAE,MAAO,aAAc,OAAQ,iBAAkB,EACjD,CAAE,MAAO,aAAc,OAAQ,kBAAmB,EAClD,CAAE,MAAO,YAAa,OAAQ,aAAc,EAC5C,CAAE,MAAO,cAAe,OAAQ,YAAa,CAC/C,EACA,IAAK,CACH,UAAW,YACb,CACF,CACF",
6
+ "names": ["cpnNavigation_stories_exports", "__export", "Default", "cpnNavigation_stories_default", "__toCommonJS", "import_cpn_components", "meta"]
7
+ }
@@ -0,0 +1,14 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: (props: import("../cpn-components/CpnProductCard/types.js").ProductCardProps) => import("react/jsx-runtime").JSX.Element;
5
+ parameters: {
6
+ viewport: {
7
+ defaultViewport: string;
8
+ };
9
+ };
10
+ tags: string[];
11
+ };
12
+ export default meta;
13
+ type Story = StoryObj<typeof meta>;
14
+ export declare const Default: Story;
@@ -0,0 +1,2 @@
1
+ "use strict";var a=Object.defineProperty;var n=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var i=(e,t)=>{for(var r in t)a(e,r,{get:t[r],enumerable:!0})},d=(e,t,r,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of y(t))!c.call(e,o)&&o!==r&&a(e,o,{get:()=>t[o],enumerable:!(p=n(t,o))||p.enumerable});return e};var m=e=>d(a({},"__esModule",{value:!0}),e);var l={};i(l,{Default:()=>C,default:()=>u});module.exports=m(l);var s=require("../cpn-components/index.js");const f={title:"Cpn-Components/CpnProductCard",component:s.CpnProductCard,parameters:{viewport:{defaultViewport:"tablet"}},tags:["autodocs"]};var u=f;const C={args:{content:[{type:"image",image:"https://cdn.shopify.com/s/files/1/0521/9411/5753/files/s1pro_fce43284-98a8-4454-9133-51924e9659d9.png?v=1745309083"},{type:"title",text:"eufy Robot Vacuum Omni S1 Pro"},{type:"price",text:"1,999.99"},{type:"buttons",buttons:[{text:"Add to Cart",variant:"secondary"},{text:"Buy Now"}]}],cns:{}}};
2
+ //# sourceMappingURL=cpnProductcard.stories.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/stories/cpnProductcard.stories.tsx"],
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\n\nimport { CpnProductCard } from '../cpn-components/index.js'\n\nconst meta = {\n title: 'Cpn-Components/CpnProductCard',\n component: CpnProductCard,\n parameters: {\n // layout: 'fullscreen',\n viewport: { defaultViewport: 'tablet' },\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof CpnProductCard>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {\n content: [\n {\n type: 'image',\n image:\n 'https://cdn.shopify.com/s/files/1/0521/9411/5753/files/s1pro_fce43284-98a8-4454-9133-51924e9659d9.png?v=1745309083',\n },\n { type: 'title', text: 'eufy Robot Vacuum Omni S1 Pro' },\n { type: 'price', text: '1,999.99' },\n {\n type: 'buttons',\n buttons: [\n {\n text: 'Add to Cart',\n variant: 'secondary',\n },\n {\n text: 'Buy Now',\n },\n ],\n },\n ],\n cns: {},\n },\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAA+B,sCAE/B,MAAMC,EAAO,CACX,MAAO,gCACP,UAAW,iBACX,WAAY,CAEV,SAAU,CAAE,gBAAiB,QAAS,CACxC,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOH,EAAQG,EAIR,MAAMJ,EAAiB,CAC5B,KAAM,CACJ,QAAS,CACP,CACE,KAAM,QACN,MACE,oHACJ,EACA,CAAE,KAAM,QAAS,KAAM,+BAAgC,EACvD,CAAE,KAAM,QAAS,KAAM,UAAW,EAClC,CACE,KAAM,UACN,QAAS,CACP,CACE,KAAM,cACN,QAAS,WACX,EACA,CACE,KAAM,SACR,CACF,CACF,CACF,EACA,IAAK,CAAC,CACR,CACF",
6
+ "names": ["cpnProductcard_stories_exports", "__export", "Default", "cpnProductcard_stories_default", "__toCommonJS", "import_cpn_components", "meta"]
7
+ }
@@ -0,0 +1,14 @@
1
+ import type { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: (props: import("../cpn-components/CpnTitle/types.js").TitleProps) => import("react/jsx-runtime").JSX.Element;
5
+ parameters: {
6
+ viewport: {
7
+ defaultViewport: string;
8
+ };
9
+ };
10
+ tags: string[];
11
+ };
12
+ export default meta;
13
+ type Story = StoryObj<typeof meta>;
14
+ export declare const Default: Story;
@@ -0,0 +1,2 @@
1
+ "use strict";var p=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var n=Object.getOwnPropertyNames;var r=Object.prototype.hasOwnProperty;var l=(e,t)=>{for(var s in t)p(e,s,{get:t[s],enumerable:!0})},c=(e,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of n(t))!r.call(e,o)&&o!==s&&p(e,o,{get:()=>t[o],enumerable:!(i=a(t,o))||i.enumerable});return e};var m=e=>c(p({},"__esModule",{value:!0}),e);var h={};l(h,{Default:()=>b,default:()=>d});module.exports=m(h);var f=require("../cpn-components/index.js");const y={title:"Cpn-Components/CpnTitle",component:f.CpnTitle,parameters:{viewport:{defaultViewport:"tablet"}},tags:["autodocs"]};var d=y;const b={args:{html:"Exclusive Holiday Benefits",icon_l:"https://cdn.shopify.com/s/files/1/0887/1798/4111/files/E.png?v=1745373442",icon_r:"https://cdn.shopify.com/s/files/1/0887/1798/4111/files/1_55d7df96-f1ed-440a-ae3f-f02544b1d508.png?v=1745373442",cns:{}}};
2
+ //# sourceMappingURL=cpnTitle.stories.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/stories/cpnTitle.stories.tsx"],
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\n\nimport { CpnTitle } from '../cpn-components/index.js'\n\nconst meta = {\n title: 'Cpn-Components/CpnTitle',\n component: CpnTitle,\n parameters: {\n // layout: 'fullscreen',\n viewport: { defaultViewport: 'tablet' },\n },\n tags: ['autodocs'],\n} satisfies Meta<typeof CpnTitle>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nexport const Default: Story = {\n args: {\n html: 'Exclusive Holiday Benefits',\n icon_l: 'https://cdn.shopify.com/s/files/1/0887/1798/4111/files/E.png?v=1745373442',\n icon_r:\n 'https://cdn.shopify.com/s/files/1/0887/1798/4111/files/1_55d7df96-f1ed-440a-ae3f-f02544b1d508.png?v=1745373442',\n cns: {},\n },\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAAyB,sCAEzB,MAAMC,EAAO,CACX,MAAO,0BACP,UAAW,WACX,WAAY,CAEV,SAAU,CAAE,gBAAiB,QAAS,CACxC,EACA,KAAM,CAAC,UAAU,CACnB,EAEA,IAAOH,EAAQG,EAIR,MAAMJ,EAAiB,CAC5B,KAAM,CACJ,KAAM,6BACN,OAAQ,4EACR,OACE,iHACF,IAAK,CAAC,CACR,CACF",
6
+ "names": ["cpnTitle_stories_exports", "__export", "Default", "cpnTitle_stories_default", "__toCommonJS", "import_cpn_components", "meta"]
7
+ }
@@ -1,2 +1,2 @@
1
- "use client";import{Fragment as E,jsx as r,jsxs as i}from"react/jsx-runtime";import k from"../Title/index.js";import{cn as n}from"../../helpers/utils.js";import f from"../../components/picture.js";import F from"../../components/button.js";import N from"../SwiperBox/index.js";import{useState as v,useEffect as B,useRef as b}from"react";const T=({data:o,className:l="",event:d})=>{const[a,x]=v(0),[h,y]=v({0:!0}),c=b([]),m=b({0:!0}),g=(t,e)=>{e&&(c.current[t]=e)},u=t=>{m.current?.[t]&&y({[t]:!0})};B(()=>{const t=c.current;return t?.forEach((e,s)=>{s?e.style="flex: 1 1 0%; transition: all 0.15s":e.style="flex: 7 1 0%; transition: all 0.15s",e.addEventListener("transitionend",()=>u(s))}),()=>{t?.forEach((e,s)=>{e.removeEventListener("transitionend",()=>u(s))})}},[]);const w=({data:t,configuration:e})=>i("div",{className:"relative shrink-0 grow-0 basis-[296px] border border-solid border-[#dddddd] bg-[#FFFFFF]",children:[r(f,{className:"size-full object-cover [&_img]:h-full [&_img]:object-cover",source:t?.img?.url}),i("div",{className:n("absolute inset-x-0 bottom-0 flex flex-col overflow-hidden px-6 pb-6"),children:[i("div",{className:"mb-6 flex-1 overflow-hidden",children:[r("p",{className:"mb-1 text-2xl font-bold text-[#FFFFFF]",children:t?.title}),r("h3",{className:"text-sm font-medium text-[#FFFFFF]",children:t?.subTitle})]}),r(F,{size:"sm",hoverEffect:"slide",variant:"secondary",onClick:()=>d?.primaryButton?.onClick?.(t),className:n("w-[116px] mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]",e?.shape==="round"?"rounded-2xl":""),children:e?.primaryButton})]})]});return i(E,{children:[o?.title&&r(k,{data:{title:o?.title}}),r("div",{className:"hidden tablet:block",children:r("div",{className:n("laptop:h-[448px] desktop:h-[560px] flex h-[336px] w-full gap-4 overflow-hidden",l),children:o?.products?.map((t,e)=>{const s=a===e;return i("div",{style:{flex:s?7:1},ref:p=>{p&&g(e,p)},className:n("relative cursor-pointer overflow-hidden",o?.itemShape==="round"?"rounded-2xl":""),onClick:()=>{a!==e&&(m.current={[e]:!0},x(e))},children:[r(f,{source:t?.img?.url,className:"size-full object-cover [&_img]:h-full [&_img]:object-cover"}),h?.[e]&&s?i("div",{className:n("absolute inset-x-0 bottom-0 flex items-end justify-between overflow-hidden px-6 pb-6"),children:[i("div",{className:"mr-1 flex-1 overflow-hidden",children:[r("p",{className:"laptop:text-2xl desktop:text-[32px] mb-1 text-xl font-bold text-[#FFFFFF]",children:t?.title}),r("h3",{className:"desktop:text-lg text-sm font-medium text-[#FFFFFF]",children:t?.subTitle})]}),r(F,{size:"sm",hoverEffect:"slide",variant:"secondary",onClick:()=>d?.primaryButton?.onClick?.(t),className:n("desktop:text-base mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]",o?.shape==="round"?"rounded-2xl":""),children:o?.primaryButton})]}):null]},e)})})}),r("div",{className:"block tablet:hidden",children:r(N,{className:n("!overflow-visible h-[400px]",l),id:"AccordionCards"+o?.key,data:{list:o?.products,configuration:{shape:o?.shape,primaryButton:o?.primaryButton}},Slide:w,breakpoints:{0:{spaceBetween:"12px",freeMode:!1,slidesPerView:1},374:{spaceBetween:"12px",freeMode:!1,slidesPerView:1.3},768:{spaceBetween:"16px",freeMode:!1,slidesPerView:4}}})})]})};var j=T;export{j as default};
1
+ "use client";import{Fragment as E,jsx as r,jsxs as i}from"react/jsx-runtime";import k from"../Title/index.js";import{cn as n}from"../../helpers/utils.js";import f from"../../components/picture.js";import F from"../../components/button.js";import N from"../SwiperBox/index.js";import{useState as v,useEffect as B,useRef as b}from"react";const T=({data:o,className:l="",event:d})=>{const[a,x]=v(0),[h,y]=v({0:!0}),c=b([]),m=b({0:!0}),g=(t,e)=>{e&&(c.current[t]=e)},u=t=>{m.current?.[t]&&y({[t]:!0})};B(()=>{const t=c.current;return t?.forEach((e,s)=>{s?e.style="flex: 1 1 0%; transition: all 0.15s":e.style="flex: 7 1 0%; transition: all 0.15s",e.addEventListener("transitionend",()=>u(s))}),()=>{t?.forEach((e,s)=>{e.removeEventListener("transitionend",()=>u(s))})}},[]);const w=({data:t,configuration:e})=>i("div",{className:"relative shrink-0 grow-0 basis-[296px] border border-solid border-[#dddddd] bg-[#FFFFFF]",children:[r(f,{className:"size-full object-cover [&_img]:h-full [&_img]:object-cover",source:t?.img?.url}),i("div",{className:n("absolute inset-x-0 bottom-0 flex flex-col overflow-hidden px-6 pb-6"),children:[i("div",{className:"mb-6 flex-1 overflow-hidden",children:[r("p",{className:"mb-1 text-2xl font-bold text-[#FFFFFF]",children:t?.title}),r("h3",{className:"text-sm font-medium text-[#FFFFFF]",children:t?.subTitle})]}),r(F,{size:"sm",hoverEffect:"slide",variant:"secondary",onClick:()=>d?.primaryButton?.onClick?.(t),className:n("mb-1.5 w-[116px] overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]",e?.shape==="round"?"rounded-2xl":""),children:e?.primaryButton})]})]});return i(E,{children:[o?.title&&r(k,{data:{title:o?.title}}),r("div",{className:"tablet:block hidden",children:r("div",{className:n("laptop:h-[448px] desktop:h-[560px] flex h-[336px] w-full gap-4 overflow-hidden",l),children:o?.products?.map((t,e)=>{const s=a===e;return i("div",{style:{flex:s?7:1},ref:p=>{p&&g(e,p)},className:n("relative cursor-pointer overflow-hidden",o?.itemShape==="round"?"rounded-2xl":""),onClick:()=>{a!==e&&(m.current={[e]:!0},x(e))},children:[r(f,{source:t?.img?.url,className:"size-full object-cover [&_img]:h-full [&_img]:object-cover"}),h?.[e]&&s?i("div",{className:n("absolute inset-x-0 bottom-0 flex items-end justify-between overflow-hidden px-6 pb-6"),children:[i("div",{className:"mr-1 flex-1 overflow-hidden",children:[r("p",{className:"laptop:text-2xl desktop:text-[32px] mb-1 text-xl font-bold text-[#FFFFFF]",children:t?.title}),r("h3",{className:"desktop:text-lg text-sm font-medium text-[#FFFFFF]",children:t?.subTitle})]}),r(F,{size:"sm",hoverEffect:"slide",variant:"secondary",onClick:()=>d?.primaryButton?.onClick?.(t),className:n("desktop:text-base mb-1.5 overflow-hidden border-[#FFFFFF] bg-transparent text-sm font-bold text-[#FFFFFF]",o?.shape==="round"?"rounded-2xl":""),children:o?.primaryButton})]}):null]},e)})})}),r("div",{className:"tablet:hidden block",children:r(N,{className:n("h-[400px] !overflow-visible",l),id:"AccordionCards"+o?.key,data:{list:o?.products,configuration:{shape:o?.shape,primaryButton:o?.primaryButton}},Slide:w,breakpoints:{0:{spaceBetween:"12px",freeMode:!1,slidesPerView:1},374:{spaceBetween:"12px",freeMode:!1,slidesPerView:1.3},768:{spaceBetween:"16px",freeMode:!1,slidesPerView:4}}})})]})};var j=T;export{j as default};
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: {\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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",
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 = ({ data, className = '', event }: 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 'mb-1.5 w-[116px] 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=\"tablet:block hidden\">\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\n source={item?.img?.url}\n className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\"\n />\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=\"tablet:hidden block\">\n <SwiperBox\n className={cn('h-[400px] !overflow-visible', 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": ["Fragment", "jsx", "jsxs", "Title", "cn", "Picture", "Button", "SwiperBox", "useState", "useEffect", "useRef", "AccordionCards", "data", "className", "event", "hoverIndex", "setHoverIndex", "currentWidth", "setCurrentWidth", "accordionRef", "enterRef", "getRef", "index", "el", "handleTransitionEnd", "element", "item", "MobileItem", "configuration", "idx", "isExpanded", "AccordionCards_default"]
7
7
  }