@anker-in/headless-ui 1.3.62 → 1.3.63

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 (77) hide show
  1. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +2 -0
  2. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +1 -1
  3. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +3 -3
  4. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.d.ts +1 -1
  5. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js +1 -1
  6. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js.map +1 -1
  7. package/dist/cjs/biz-components/BuyOneGetOneShelf/types.d.ts +12 -0
  8. package/dist/cjs/biz-components/BuyOneGetOneShelf/types.js +1 -1
  9. package/dist/cjs/biz-components/BuyOneGetOneShelf/types.js.map +1 -1
  10. package/dist/cjs/biz-components/Listing/BizProductProvider.d.ts +1 -1
  11. package/dist/cjs/biz-components/Listing/BizProductProvider.js.map +1 -1
  12. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +6 -0
  13. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +4 -4
  14. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +3 -3
  15. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponInit.d.ts +13 -0
  16. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponInit.js +2 -0
  17. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponInit.js.map +7 -0
  18. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponSuccess.d.ts +13 -0
  19. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponSuccess.js +2 -0
  20. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponSuccess.js.map +7 -0
  21. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CreditCouponListItem.d.ts +19 -0
  22. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CreditCouponListItem.js +2 -0
  23. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CreditCouponListItem.js.map +7 -0
  24. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/RedeemCouponModal.d.ts +18 -0
  25. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/RedeemCouponModal.js +2 -0
  26. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/RedeemCouponModal.js.map +7 -0
  27. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.d.ts +7 -0
  28. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.js +2 -0
  29. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.js.map +7 -0
  30. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/tracking.d.ts +33 -0
  31. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/tracking.js +2 -0
  32. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/tracking.js.map +7 -0
  33. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/types.d.ts +72 -0
  34. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/types.js +2 -0
  35. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/types.js.map +7 -0
  36. package/dist/cjs/biz-components/index.d.ts +3 -0
  37. package/dist/cjs/biz-components/index.js +1 -1
  38. package/dist/cjs/biz-components/index.js.map +3 -3
  39. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +2 -0
  40. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +1 -1
  41. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +3 -3
  42. package/dist/esm/biz-components/BuyOneGetOneShelf/index.d.ts +1 -1
  43. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js +1 -1
  44. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js.map +1 -1
  45. package/dist/esm/biz-components/BuyOneGetOneShelf/types.d.ts +12 -0
  46. package/dist/esm/biz-components/BuyOneGetOneShelf/types.js.map +1 -1
  47. package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +1 -1
  48. package/dist/esm/biz-components/Listing/BizProductProvider.js.map +1 -1
  49. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +6 -0
  50. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js +4 -4
  51. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.js.map +3 -3
  52. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponInit.d.ts +13 -0
  53. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponInit.js +2 -0
  54. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponInit.js.map +7 -0
  55. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponSuccess.d.ts +13 -0
  56. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponSuccess.js +2 -0
  57. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponSuccess.js.map +7 -0
  58. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CreditCouponListItem.d.ts +19 -0
  59. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CreditCouponListItem.js +2 -0
  60. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CreditCouponListItem.js.map +7 -0
  61. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/RedeemCouponModal.d.ts +18 -0
  62. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/RedeemCouponModal.js +2 -0
  63. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/RedeemCouponModal.js.map +7 -0
  64. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.d.ts +7 -0
  65. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.js +2 -0
  66. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.js.map +7 -0
  67. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/tracking.d.ts +33 -0
  68. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/tracking.js +2 -0
  69. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/tracking.js.map +7 -0
  70. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/types.d.ts +72 -0
  71. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/types.js +1 -0
  72. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/types.js.map +7 -0
  73. package/dist/esm/biz-components/index.d.ts +3 -0
  74. package/dist/esm/biz-components/index.js +1 -1
  75. package/dist/esm/biz-components/index.js.map +2 -2
  76. package/package.json +1 -1
  77. package/style.css +67 -0
@@ -0,0 +1,13 @@
1
+ import type { CreditCouponRuleData, CreditCouponRedeemModalCopy } from './types.js';
2
+ export interface CouponSuccessProps {
3
+ couponCode: string;
4
+ copy: CreditCouponRedeemModalCopy;
5
+ item: CreditCouponRuleData;
6
+ /** 当前商品 SKU(埋点上报) */
7
+ sku: string;
8
+ }
9
+ declare const CouponSuccess: {
10
+ ({ couponCode, item, copy, sku }: CouponSuccessProps): import("react/jsx-runtime").JSX.Element;
11
+ displayName: string;
12
+ };
13
+ export default CouponSuccess;
@@ -0,0 +1,2 @@
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Picture as r,Text as p}from"../../../../../../components/index.js";import x from"../../../../hooks/useCopy.js";import{trackCodeCopy as u}from"./tracking.js";const c=({couponCode:s,item:l,copy:o,sku:i})=>{const{copy:n,copied:a}=x(),d=()=>{n(s),u({sku:i},{code:s})};return t("div",{className:"coupon-success flex flex-col gap-6",children:[t("div",{className:"coupon-success-body bg-container-secondary flex flex-col items-center gap-2 rounded-[16px] px-[48px] py-[24px] md:px-[16px] text-center",children:[t("div",{className:"relative mx-auto h-[164px] w-[324px]",children:[e(r,{source:o.modalIcon,className:"h-full [&_img]:h-full"}),e("div",{className:"absolute bottom-[8px] left-[24px] text-[32px] font-extrabold text-white",children:`${l.value} Off`})]}),t("div",{className:"coupon-success-code mt-[8px] flex items-center gap-2",children:[e(p,{as:"span",size:2,className:"text-info-primary text-[24px] font-bold",children:s}),e("button",{type:"button",onClick:d,disabled:a,className:"text-info-primary shrink-0 text-[16px] font-bold underline disabled:pointer-events-none",children:a?o.copiedLabel||"Copied":o.copyLabel||"Copy"})]})]}),t("div",{className:"coupon-success-footer flex flex-col gap-2 text-center px-[48px] pb-[24px]",children:[e(p,{as:"p",html:o.successTitle,className:"text-info-primary text-[20px] font-bold"}),e(p,{as:"p",size:4,html:o.successDesc,className:"text-info-secondary text-[14px] font-bold"})]})]})};c.displayName="CouponSuccess";var b=c;export{b as default};
2
+ //# sourceMappingURL=CouponSuccess.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CouponSuccess.tsx"],
4
+ "sourcesContent": ["import { Picture, Text } from '../../../../../../components/index.js'\nimport useCopy from '../../../../hooks/useCopy.js'\nimport { trackCodeCopy } from './tracking.js'\nimport type { CreditCouponRuleData, CreditCouponRedeemModalCopy } from './types.js'\n\nexport interface CouponSuccessProps {\n couponCode: string\n copy: CreditCouponRedeemModalCopy\n item: CreditCouponRuleData\n /** \u5F53\u524D\u5546\u54C1 SKU\uFF08\u57CB\u70B9\u4E0A\u62A5\uFF09 */\n sku: string\n}\n\nconst CouponSuccess = ({ couponCode, item, copy, sku }: CouponSuccessProps) => {\n const { copy: copyToClipboard, copied } = useCopy()\n\n const handleCopy = () => {\n copyToClipboard(couponCode)\n // 05 \u6298\u6263\u7801\u590D\u5236\n trackCodeCopy({ sku }, { code: couponCode })\n }\n\n return (\n <div className=\"coupon-success flex flex-col gap-6\">\n <div className=\"coupon-success-body bg-container-secondary flex flex-col items-center gap-2 rounded-[16px] px-[48px] py-[24px] md:px-[16px] text-center\">\n <div className=\"relative mx-auto h-[164px] w-[324px]\">\n <Picture source={copy.modalIcon} className=\"h-full [&_img]:h-full\" />\n <div className=\"absolute bottom-[8px] left-[24px] text-[32px] font-extrabold text-white\">{`${item.value} Off`}</div>\n </div>\n <div className=\"coupon-success-code mt-[8px] flex items-center gap-2\">\n <Text as=\"span\" size={2} className=\"text-info-primary text-[24px] font-bold\">\n {couponCode}\n </Text>\n <button\n type=\"button\"\n onClick={handleCopy}\n disabled={copied}\n className=\"text-info-primary shrink-0 text-[16px] font-bold underline disabled:pointer-events-none\"\n >\n {copied ? copy.copiedLabel || 'Copied' : copy.copyLabel || 'Copy'}\n </button>\n </div>\n </div>\n <div className=\"coupon-success-footer flex flex-col gap-2 text-center px-[48px] pb-[24px]\">\n <Text as=\"p\" html={copy.successTitle} className=\"text-info-primary text-[20px] font-bold\" />\n <Text as=\"p\" size={4} html={copy.successDesc} className=\"text-info-secondary text-[14px] font-bold\" />\n </div>\n </div>\n )\n}\n\nCouponSuccess.displayName = 'CouponSuccess'\n\nexport default CouponSuccess\n"],
5
+ "mappings": "AAyBQ,OACE,OAAAA,EADF,QAAAC,MAAA,oBAzBR,OAAS,WAAAC,EAAS,QAAAC,MAAY,wCAC9B,OAAOC,MAAa,+BACpB,OAAS,iBAAAC,MAAqB,gBAW9B,MAAMC,EAAgB,CAAC,CAAE,WAAAC,EAAY,KAAAC,EAAM,KAAAC,EAAM,IAAAC,CAAI,IAA0B,CAC7E,KAAM,CAAE,KAAMC,EAAiB,OAAAC,CAAO,EAAIR,EAAQ,EAE5CS,EAAa,IAAM,CACvBF,EAAgBJ,CAAU,EAE1BF,EAAc,CAAE,IAAAK,CAAI,EAAG,CAAE,KAAMH,CAAW,CAAC,CAC7C,EAEA,OACEN,EAAC,OAAI,UAAU,qCACb,UAAAA,EAAC,OAAI,UAAU,0IACb,UAAAA,EAAC,OAAI,UAAU,uCACb,UAAAD,EAACE,EAAA,CAAQ,OAAQO,EAAK,UAAW,UAAU,wBAAwB,EACnET,EAAC,OAAI,UAAU,0EAA2E,YAAGQ,EAAK,KAAK,OAAO,GAChH,EACAP,EAAC,OAAI,UAAU,uDACb,UAAAD,EAACG,EAAA,CAAK,GAAG,OAAO,KAAM,EAAG,UAAU,0CAChC,SAAAI,EACH,EACAP,EAAC,UACC,KAAK,SACL,QAASa,EACT,SAAUD,EACV,UAAU,0FAET,SAAAA,EAASH,EAAK,aAAe,SAAWA,EAAK,WAAa,OAC7D,GACF,GACF,EACAR,EAAC,OAAI,UAAU,4EACb,UAAAD,EAACG,EAAA,CAAK,GAAG,IAAI,KAAMM,EAAK,aAAc,UAAU,0CAA0C,EAC1FT,EAACG,EAAA,CAAK,GAAG,IAAI,KAAM,EAAG,KAAMM,EAAK,YAAa,UAAU,4CAA4C,GACtG,GACF,CAEJ,EAEAH,EAAc,YAAc,gBAE5B,IAAOQ,EAAQR",
6
+ "names": ["jsx", "jsxs", "Picture", "Text", "useCopy", "trackCodeCopy", "CouponSuccess", "couponCode", "item", "copy", "sku", "copyToClipboard", "copied", "handleCopy", "CouponSuccess_default"]
7
+ }
@@ -0,0 +1,19 @@
1
+ import type { CreditCouponRuleData, CreditCouponRedeemModalCopy } from './types.js';
2
+ export interface CreditCouponListItemProps {
3
+ item: CreditCouponRuleData;
4
+ redeemLabel?: string;
5
+ unLoginLabel?: string;
6
+ iconUrl?: string;
7
+ className?: string;
8
+ copy: CreditCouponRedeemModalCopy;
9
+ /** 发起真实兑换请求,成功 resolve 兑换码,失败 reject Error(message 作为弹窗错误文案) */
10
+ onConfirm: (item: CreditCouponRuleData) => Promise<string>;
11
+ onModalOpenChange?: (open: boolean) => void;
12
+ /** 当前商品 SKU(埋点上报) */
13
+ sku: string;
14
+ }
15
+ declare const CreditCouponListItem: {
16
+ ({ item, redeemLabel, unLoginLabel, iconUrl, className, copy, onConfirm, onModalOpenChange, sku, }: CreditCouponListItemProps): import("react/jsx-runtime").JSX.Element;
17
+ displayName: string;
18
+ };
19
+ export default CreditCouponListItem;
@@ -0,0 +1,2 @@
1
+ import{jsx as i,jsxs as p}from"react/jsx-runtime";import{useState as s}from"react";import{Text as y,Picture as j}from"../../../../../../components/index.js";import{cn as A}from"../../../../../../helpers/index.js";import B from"../../../../hooks/useCopy.js";import{useBizProductContext as q}from"../../../../BizProductProvider.js";import F from"./RedeemCouponModal.js";import{trackEntryClick as f,trackPopupImpression as g,trackRedeemSuccess as h,trackCodeCopy as G,resolveUserIdentity as H}from"./tracking.js";const v=({item:o,redeemLabel:N="Redeem",unLoginLabel:R,iconUrl:C,className:L,copy:r,onConfirm:S,onModalOpenChange:l,sku:t})=>{const{profile:d,openSignUpPopup:w,openAuthCodePopup:I}=q(),{copy:P,copied:x}=B(),[M,c]=s(!1),[T,a]=s("idle"),[k,b]=s(),[z,m]=s(),[O,_]=s(),n=O??o.code,u=H(d),D=()=>{d?d.activated?(f({sku:t},{entryType:"get_discount",userIdentity:u}),c(!0),g({sku:t},{popupSource:"direct"}),l?.(!0)):(f({sku:t},{entryType:"get_discount",userIdentity:u}),I?.(()=>{c(!0),g({sku:t},{popupSource:"after_login"}),l?.(!0)})):(f({sku:t},{entryType:"members_only",userIdentity:u}),w?.())},E=async()=>{a("loading"),m(void 0);try{const e=await S(o);b(e),_(e),a("success"),h({sku:t},{result:"success"})}catch(e){m(e instanceof Error?e.message:String(e)),a("error"),h({sku:t},{result:"fail"})}},U=()=>{n&&(P(n),G({sku:t},{code:n}))},$=e=>{c(e),e||(a("idle"),b(void 0),m(void 0)),l?.(e)};return p("li",{className:A("credit-coupon-list-item border-lines-secondary flex h-[84px] items-center gap-3 border-b bg-white px-4 last:border-b-0 first:rounded-t-2xl last:rounded-b-2xl",L),children:[p("div",{className:"relative size-[70px] flex items-center",children:[C&&i(j,{source:C,alt:o.title,className:"w-full h-fit",imgClassName:"w-full object-contain"}),o.value&&i("div",{className:"absolute inset-0 left-[18px] flex items-center text-right text-[12px] text-white font-[800]",children:`${o.value} Off`})]}),p("div",{className:"credit-coupon-list-item-info flex min-w-0 flex-1 flex-col gap-1",children:[i(y,{as:"p",size:2,html:o.title,className:"credit-coupon-list-item-title text-info-primary line-clamp-2 text-[16px] md:text-[14px] font-bold"}),n&&p(y,{as:"span",size:2,className:"credit-coupon-list-item-code-text text-info-secondary text-[14px] md:text-[13px] font-bold",children:[r.codeLabel?`${r.codeLabel}: `:"",n]})]}),n?i("button",{type:"button",onClick:U,disabled:x,className:"credit-coupon-list-item-copy text-info-primary shrink-0 text-[16px] md:text-[14px] font-bold underline disabled:pointer-events-none",children:x?r.copiedLabel||"Copied":r.copyLabel||"Copy"}):i("button",{type:"button",onClick:D,className:"credit-coupon-list-item-cta text-info-primary shrink-0 whitespace-nowrap text-[16px] md:text-[14px] font-bold underline",children:d?N:R}),i(F,{open:M,onOpenChange:$,item:o,copy:r,redeemStatus:T,couponCode:k,errorMessage:z,onConfirm:E,sku:t})]})};v.displayName="CreditCouponListItem";var Z=v;export{Z as default};
2
+ //# sourceMappingURL=CreditCouponListItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/CreditCouponListItem.tsx"],
4
+ "sourcesContent": ["import { useState } from 'react'\nimport { Text, Picture } from '../../../../../../components/index.js'\nimport { cn } from '../../../../../../helpers/index.js'\nimport useCopy from '../../../../hooks/useCopy.js'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport RedeemCouponModal from './RedeemCouponModal.js'\nimport {\n trackEntryClick,\n trackPopupImpression,\n trackRedeemSuccess,\n trackCodeCopy,\n resolveUserIdentity,\n} from './tracking.js'\nimport type { CreditCouponRuleData, CreditCouponRedeemModalCopy, RedeemStatus } from './types.js'\n\nexport interface CreditCouponListItemProps {\n item: CreditCouponRuleData\n redeemLabel?: string\n unLoginLabel?: string\n iconUrl?: string\n className?: string\n copy: CreditCouponRedeemModalCopy\n /** \u53D1\u8D77\u771F\u5B9E\u5151\u6362\u8BF7\u6C42\uFF0C\u6210\u529F resolve \u5151\u6362\u7801\uFF0C\u5931\u8D25 reject Error\uFF08message \u4F5C\u4E3A\u5F39\u7A97\u9519\u8BEF\u6587\u6848\uFF09 */\n onConfirm: (item: CreditCouponRuleData) => Promise<string>\n onModalOpenChange?: (open: boolean) => void\n /** \u5F53\u524D\u5546\u54C1 SKU\uFF08\u57CB\u70B9\u4E0A\u62A5\uFF09 */\n sku: string\n}\n\nconst CreditCouponListItem = ({\n item,\n redeemLabel = 'Redeem',\n unLoginLabel,\n iconUrl,\n className,\n copy,\n onConfirm,\n onModalOpenChange,\n sku,\n}: CreditCouponListItemProps) => {\n const { profile, openSignUpPopup, openAuthCodePopup } = useBizProductContext()\n const { copy: copyToClipboard, copied } = useCopy()\n\n // \u5151\u6362\u72B6\u6001\u673A + \u5F39\u7A97\uFF0C\u5747\u5185\u805A\u5728\u5355\u6761 item \u5185\u90E8\n const [modalOpen, setModalOpen] = useState(false)\n const [redeemStatus, setRedeemStatus] = useState<RedeemStatus>('idle')\n const [couponCode, setCouponCode] = useState<string>()\n const [errorMessage, setErrorMessage] = useState<string>()\n // \u672C\u6B21\u4F1A\u8BDD\u5151\u6362\u6210\u529F\u540E\u8BB0\u5F55\u7684 code\uFF1B\u9875\u9762\u5237\u65B0\u540E\u7531 item.code \u627F\u63A5\u6301\u4E45\u6001\n const [redeemedCode, setRedeemedCode] = useState<string>()\n\n const code = redeemedCode ?? item.code\n const userIdentity = resolveUserIdentity(profile)\n\n const handleItemClick = () => {\n if (!profile) {\n // \u672A\u767B\u5F55\uFF1A\u4E0A\u62A5 members_only \u5165\u53E3\u70B9\u51FB\u540E\u5524\u8D77\u6CE8\u518C\u5F39\u7A97\n trackEntryClick({ sku }, { entryType: 'members_only', userIdentity })\n openSignUpPopup?.()\n } else if (!profile.activated) {\n // \u5DF2\u767B\u5F55\u672A\u6FC0\u6D3B\uFF1A\u4E0A\u62A5 get_discount \u5165\u53E3\u70B9\u51FB\u540E\u5524\u8D77\u6FC0\u6D3B\u5F39\u7A97\uFF1B\n // \u6FC0\u6D3B\u6210\u529F\u540E\uFF08onSuccess \u56DE\u8C03\uFF09\u81EA\u52A8\u6253\u5F00 redeem \u5F39\u7A97\uFF0C\u7EE7\u7EED\u5151\u6362\n trackEntryClick({ sku }, { entryType: 'get_discount', userIdentity })\n openAuthCodePopup?.(() => {\n setModalOpen(true)\n trackPopupImpression({ sku }, { popupSource: 'after_login' })\n onModalOpenChange?.(true)\n })\n } else {\n // \u5DF2\u767B\u5F55\u5DF2\u6FC0\u6D3B\uFF1A\u4E0A\u62A5\u5165\u53E3\u70B9\u51FB + \u5F39\u7A97\u66DD\u5149\uFF08direct \u8DEF\u5F84\uFF09\n trackEntryClick({ sku }, { entryType: 'get_discount', userIdentity })\n setModalOpen(true)\n trackPopupImpression({ sku }, { popupSource: 'direct' })\n onModalOpenChange?.(true)\n }\n }\n\n const handleConfirm = async () => {\n setRedeemStatus('loading')\n setErrorMessage(undefined)\n try {\n const newCode = await onConfirm(item)\n setCouponCode(newCode)\n setRedeemedCode(newCode)\n setRedeemStatus('success')\n // 04 \u5151\u6362\u6210\u529F\n trackRedeemSuccess({ sku }, { result: 'success' })\n } catch (err) {\n setErrorMessage(err instanceof Error ? err.message : String(err))\n setRedeemStatus('error')\n // \u5151\u6362\u5931\u8D25\u4E5F\u4E0A\u62A5\uFF0Ccomponent_description \u4E3A fail\uFF08\u9884\u7559\uFF09\n trackRedeemSuccess({ sku }, { result: 'fail' })\n }\n }\n\n const handleCopy = () => {\n if (!code) return\n copyToClipboard(code)\n // 05 \u6298\u6263\u7801\u590D\u5236\n trackCodeCopy({ sku }, { code })\n }\n\n const handleOpenChange = (open: boolean) => {\n setModalOpen(open)\n if (!open) {\n // \u5173\u95ED\u5F39\u7A97\u540E\u91CD\u7F6E\u5F39\u7A97\u77AC\u65F6\u72B6\u6001\uFF0C\u4E0B\u6B21\u6253\u5F00\u56DE\u5230\u521D\u59CB\u786E\u8BA4\u6001\uFF1BredeemedCode \u4FDD\u7559\u7528\u4E8E\u5217\u8868\u5C55\u793A\n setRedeemStatus('idle')\n setCouponCode(undefined)\n setErrorMessage(undefined)\n }\n onModalOpenChange?.(open)\n }\n\n return (\n <li\n className={cn(\n 'credit-coupon-list-item border-lines-secondary flex h-[84px] items-center gap-3 border-b bg-white px-4 last:border-b-0 first:rounded-t-2xl last:rounded-b-2xl',\n className\n )}\n >\n <div className=\"relative size-[70px] flex items-center\">\n {iconUrl && (\n <Picture source={iconUrl} alt={item.title} className=\"w-full h-fit\" imgClassName=\"w-full object-contain\" />\n )}\n {item.value && (\n <div className=\"absolute inset-0 left-[18px] flex items-center text-right text-[12px] text-white font-[800]\">\n {`${item.value} Off`}\n </div>\n )}\n </div>\n <div className=\"credit-coupon-list-item-info flex min-w-0 flex-1 flex-col gap-1\">\n <Text\n as=\"p\"\n size={2}\n html={item.title}\n className=\"credit-coupon-list-item-title text-info-primary line-clamp-2 text-[16px] md:text-[14px] font-bold\"\n />\n {code && (\n <Text\n as=\"span\"\n size={2}\n className=\"credit-coupon-list-item-code-text text-info-secondary text-[14px] md:text-[13px] font-bold\"\n >\n {copy.codeLabel ? `${copy.codeLabel}: ` : ''}\n {code}\n </Text>\n )}\n </div>\n {code ? (\n <button\n type=\"button\"\n onClick={handleCopy}\n disabled={copied}\n className=\"credit-coupon-list-item-copy text-info-primary shrink-0 text-[16px] md:text-[14px] font-bold underline disabled:pointer-events-none\"\n >\n {copied ? copy.copiedLabel || 'Copied' : copy.copyLabel || 'Copy'}\n </button>\n ) : (\n <button\n type=\"button\"\n onClick={handleItemClick}\n className=\"credit-coupon-list-item-cta text-info-primary shrink-0 whitespace-nowrap text-[16px] md:text-[14px] font-bold underline\"\n >\n {profile ? redeemLabel : unLoginLabel}\n </button>\n )}\n <RedeemCouponModal\n open={modalOpen}\n onOpenChange={handleOpenChange}\n item={item}\n copy={copy}\n redeemStatus={redeemStatus}\n couponCode={couponCode}\n errorMessage={errorMessage}\n onConfirm={handleConfirm}\n sku={sku}\n />\n </li>\n )\n}\n\nCreditCouponListItem.displayName = 'CreditCouponListItem'\n\nexport default CreditCouponListItem\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "useState", "Text", "Picture", "cn", "useCopy", "useBizProductContext", "RedeemCouponModal", "trackEntryClick", "trackPopupImpression", "trackRedeemSuccess", "trackCodeCopy", "resolveUserIdentity", "CreditCouponListItem", "item", "redeemLabel", "unLoginLabel", "iconUrl", "className", "copy", "onConfirm", "onModalOpenChange", "sku", "profile", "openSignUpPopup", "openAuthCodePopup", "copyToClipboard", "copied", "modalOpen", "setModalOpen", "redeemStatus", "setRedeemStatus", "couponCode", "setCouponCode", "errorMessage", "setErrorMessage", "redeemedCode", "setRedeemedCode", "code", "userIdentity", "handleItemClick", "handleConfirm", "newCode", "err", "handleCopy", "handleOpenChange", "open", "CreditCouponListItem_default"]
7
+ }
@@ -0,0 +1,18 @@
1
+ import type { CreditCouponRuleData, CreditCouponRedeemModalCopy, RedeemStatus } from './types.js';
2
+ export interface RedeemCouponModalProps {
3
+ open: boolean;
4
+ onOpenChange: (open: boolean) => void;
5
+ item: CreditCouponRuleData | null;
6
+ copy: CreditCouponRedeemModalCopy;
7
+ redeemStatus: RedeemStatus;
8
+ couponCode?: string;
9
+ errorMessage?: string;
10
+ onConfirm: () => void;
11
+ /** 当前商品 SKU(埋点上报) */
12
+ sku: string;
13
+ }
14
+ declare const RedeemCouponModal: {
15
+ ({ open, onOpenChange, item, copy, redeemStatus, couponCode, errorMessage, onConfirm, sku, }: RedeemCouponModalProps): import("react/jsx-runtime").JSX.Element | null;
16
+ displayName: string;
17
+ };
18
+ export default RedeemCouponModal;
@@ -0,0 +1,2 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{Dialog as m,DialogContent as C}from"../../../../../../components/index.js";import{cn as s}from"../../../../../../helpers/index.js";import g from"./CouponInit.js";import f from"./CouponSuccess.js";const d=({open:t,onOpenChange:a,item:e,copy:r,redeemStatus:n,couponCode:p,errorMessage:i,onConfirm:l,sku:u})=>e?o(m,{open:t,onOpenChange:a,children:o(C,{className:s("redeem-coupon-modal-root p-0 rounded-[16px] overflow-hidden"),children:n==="success"&&p?o(f,{item:e,couponCode:p,copy:r,sku:u}):o(g,{item:e,copy:r,loading:n==="loading",errorMessage:n==="error"?i:void 0,onConfirm:l})})}):null;d.displayName="RedeemCouponModal";var D=d;export{D as default};
2
+ //# sourceMappingURL=RedeemCouponModal.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/RedeemCouponModal.tsx"],
4
+ "sourcesContent": ["import { Dialog, DialogContent } from '../../../../../../components/index.js'\nimport { cn } from '../../../../../../helpers/index.js'\nimport CouponInit from './CouponInit.js'\nimport CouponSuccess from './CouponSuccess.js'\nimport type { CreditCouponRuleData, CreditCouponRedeemModalCopy, RedeemStatus } from './types.js'\n\nexport interface RedeemCouponModalProps {\n open: boolean\n onOpenChange: (open: boolean) => void\n item: CreditCouponRuleData | null\n copy: CreditCouponRedeemModalCopy\n redeemStatus: RedeemStatus\n couponCode?: string\n errorMessage?: string\n onConfirm: () => void\n /** \u5F53\u524D\u5546\u54C1 SKU\uFF08\u57CB\u70B9\u4E0A\u62A5\uFF09 */\n sku: string\n}\n\nconst RedeemCouponModal = ({\n open,\n onOpenChange,\n item,\n copy,\n redeemStatus,\n couponCode,\n errorMessage,\n onConfirm,\n sku,\n}: RedeemCouponModalProps) => {\n if (!item) return null\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent className={cn('redeem-coupon-modal-root p-0 rounded-[16px] overflow-hidden')}>\n {redeemStatus === 'success' && couponCode ? (\n <CouponSuccess item={item} couponCode={couponCode} copy={copy} sku={sku} />\n ) : (\n <CouponInit\n item={item}\n copy={copy}\n loading={redeemStatus === 'loading'}\n errorMessage={redeemStatus === 'error' ? errorMessage : undefined}\n onConfirm={onConfirm}\n />\n )}\n </DialogContent>\n </Dialog>\n )\n}\n\nRedeemCouponModal.displayName = 'RedeemCouponModal'\n\nexport default RedeemCouponModal\n"],
5
+ "mappings": "AAoCU,cAAAA,MAAA,oBApCV,OAAS,UAAAC,EAAQ,iBAAAC,MAAqB,wCACtC,OAAS,MAAAC,MAAU,qCACnB,OAAOC,MAAgB,kBACvB,OAAOC,MAAmB,qBAgB1B,MAAMC,EAAoB,CAAC,CACzB,KAAAC,EACA,aAAAC,EACA,KAAAC,EACA,KAAAC,EACA,aAAAC,EACA,WAAAC,EACA,aAAAC,EACA,UAAAC,EACA,IAAAC,CACF,IACON,EAGHT,EAACC,EAAA,CAAO,KAAMM,EAAM,aAAcC,EAChC,SAAAR,EAACE,EAAA,CAAc,UAAWC,EAAG,6DAA6D,EACvF,SAAAQ,IAAiB,WAAaC,EAC7BZ,EAACK,EAAA,CAAc,KAAMI,EAAM,WAAYG,EAAY,KAAMF,EAAM,IAAKK,EAAK,EAEzEf,EAACI,EAAA,CACC,KAAMK,EACN,KAAMC,EACN,QAASC,IAAiB,UAC1B,aAAcA,IAAiB,QAAUE,EAAe,OACxD,UAAWC,EACb,EAEJ,EACF,EAjBgB,KAqBpBR,EAAkB,YAAc,oBAEhC,IAAOU,EAAQV",
6
+ "names": ["jsx", "Dialog", "DialogContent", "cn", "CouponInit", "CouponSuccess", "RedeemCouponModal", "open", "onOpenChange", "item", "copy", "redeemStatus", "couponCode", "errorMessage", "onConfirm", "sku", "RedeemCouponModal_default"]
7
+ }
@@ -0,0 +1,7 @@
1
+ import type { CreditCouponRedeemProps } from './types.js';
2
+ declare const CreditCouponRedeem: {
3
+ ({ title, items, visibleCount, viewMoreLabel, redeemLabel, unLoginLabel, className, onModalOpenChange, onConfirm, modalCopy, iconUrl, }: CreditCouponRedeemProps): import("react/jsx-runtime").JSX.Element | null;
4
+ displayName: string;
5
+ };
6
+ export default CreditCouponRedeem;
7
+ export type { CreditCouponRedeemProps, CreditCouponRuleData, RedeemStatus } from './types.js';
@@ -0,0 +1,2 @@
1
+ import{jsx as o,jsxs as B}from"react/jsx-runtime";import{useRef as v,useState as L}from"react";import{Text as g,Link as I}from"../../../../../../components/index.js";import{cn as M}from"../../../../../../helpers/index.js";import{useBizProductContext as N}from"../../../../BizProductProvider.js";import{useIntersectionObserverDelay as D}from"../../../../../../hooks/useIntersectionObserver.js";import P from"./CreditCouponListItem.js";import{trackModuleImpression as w,resolveUserIdentity as F}from"./tracking.js";const i=({title:r,items:e,visibleCount:t,viewMoreLabel:m="View More",redeemLabel:a="Redeem",unLoginLabel:u,className:c,onModalOpenChange:f,onConfirm:C,modalCopy:x,iconUrl:y})=>{const{profile:R,variant:k}=N(),[n,b]=L(!1),d=v(null),s=!!t&&e.length>t,h=n||!s?e:e.slice(0,t),l=k?.sku||"";return D(d,{once:!0,threshold:.5,delay:0,callback:()=>{w({sku:l},F(R))}}),e.length?B("div",{ref:d,className:M("credit-coupon-redeem-root",c),children:[r&&o(g,{html:r,className:"text-[24px] font-bold md:text-[16px]"}),o("ul",{className:"border-lines-secondary mt-[12px] flex list-none flex-col overflow-hidden rounded-[16px] border bg-[#F5F5F7]",children:h.map(p=>o(P,{item:p,redeemLabel:a,unLoginLabel:u,iconUrl:y,copy:x,onConfirm:C,onModalOpenChange:f,sku:l},p.id))}),s&&!n&&o(I,{onClick:()=>b(!0),className:"credit-coupon-redeem-view-more text-info-primary mt-3 inline-flex items-center gap-1 text-[16px] font-bold",children:m})]}):null};i.displayName="CreditCouponRedeem";var H=i;export{H as default};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.tsx"],
4
+ "sourcesContent": ["import { useRef, useState } from 'react'\nimport { Text, Link } from '../../../../../../components/index.js'\nimport { cn } from '../../../../../../helpers/index.js'\nimport { useBizProductContext } from '../../../../BizProductProvider.js'\nimport { useIntersectionObserverDelay } from '../../../../../../hooks/useIntersectionObserver.js'\nimport CreditCouponListItem from './CreditCouponListItem.js'\nimport { trackModuleImpression, resolveUserIdentity } from './tracking.js'\nimport type { CreditCouponRuleData, CreditCouponRedeemProps } from './types.js'\n\nconst CreditCouponRedeem = ({\n title,\n items,\n visibleCount,\n viewMoreLabel = 'View More',\n redeemLabel = 'Redeem',\n unLoginLabel,\n className,\n onModalOpenChange,\n onConfirm,\n modalCopy,\n iconUrl,\n}: CreditCouponRedeemProps) => {\n const { profile, variant } = useBizProductContext()\n const [expanded, setExpanded] = useState(false)\n const rootRef = useRef<HTMLDivElement>(null)\n\n const hasMore = Boolean(visibleCount) && items.length > visibleCount!\n const visibleItems = expanded || !hasMore ? items : items.slice(0, visibleCount)\n\n const sku = variant?.sku || ''\n\n // 01 \u6A21\u5757\u66DD\u5149\uFF1A\u8FDB\u5165\u53EF\u89C6\u533A\uFF08\u226550%\uFF09\u5355\u6B21\u89E6\u53D1\n useIntersectionObserverDelay(rootRef, {\n once: true,\n threshold: 0.5,\n delay: 0,\n callback: () => {\n trackModuleImpression({ sku }, resolveUserIdentity(profile))\n },\n })\n\n if (!items.length) return null\n\n return (\n <div ref={rootRef} className={cn('credit-coupon-redeem-root', className)}>\n {title && <Text html={title} className=\"text-[24px] font-bold md:text-[16px]\" />}\n <ul className=\"border-lines-secondary mt-[12px] flex list-none flex-col overflow-hidden rounded-[16px] border bg-[#F5F5F7]\">\n {visibleItems.map(item => (\n <CreditCouponListItem\n key={item.id}\n item={item}\n redeemLabel={redeemLabel}\n unLoginLabel={unLoginLabel}\n iconUrl={iconUrl}\n copy={modalCopy}\n onConfirm={onConfirm}\n onModalOpenChange={onModalOpenChange}\n sku={sku}\n />\n ))}\n </ul>\n {hasMore && !expanded && (\n <Link\n onClick={() => setExpanded(true)}\n className=\"credit-coupon-redeem-view-more text-info-primary mt-3 inline-flex items-center gap-1 text-[16px] font-bold\"\n >\n {viewMoreLabel}\n </Link>\n )}\n </div>\n )\n}\n\nCreditCouponRedeem.displayName = 'CreditCouponRedeem'\n\nexport default CreditCouponRedeem\nexport type { CreditCouponRedeemProps, CreditCouponRuleData, RedeemStatus } from './types.js'\n"],
5
+ "mappings": "AA4CI,OACY,OAAAA,EADZ,QAAAC,MAAA,oBA5CJ,OAAS,UAAAC,EAAQ,YAAAC,MAAgB,QACjC,OAAS,QAAAC,EAAM,QAAAC,MAAY,wCAC3B,OAAS,MAAAC,MAAU,qCACnB,OAAS,wBAAAC,MAA4B,oCACrC,OAAS,gCAAAC,MAAoC,qDAC7C,OAAOC,MAA0B,4BACjC,OAAS,yBAAAC,EAAuB,uBAAAC,MAA2B,gBAG3D,MAAMC,EAAqB,CAAC,CAC1B,MAAAC,EACA,MAAAC,EACA,aAAAC,EACA,cAAAC,EAAgB,YAChB,YAAAC,EAAc,SACd,aAAAC,EACA,UAAAC,EACA,kBAAAC,EACA,UAAAC,EACA,UAAAC,EACA,QAAAC,CACF,IAA+B,CAC7B,KAAM,CAAE,QAAAC,EAAS,QAAAC,CAAQ,EAAIlB,EAAqB,EAC5C,CAACmB,EAAUC,CAAW,EAAIxB,EAAS,EAAK,EACxCyB,EAAU1B,EAAuB,IAAI,EAErC2B,EAAU,EAAQd,GAAiBD,EAAM,OAASC,EAClDe,EAAeJ,GAAY,CAACG,EAAUf,EAAQA,EAAM,MAAM,EAAGC,CAAY,EAEzEgB,EAAMN,GAAS,KAAO,GAY5B,OATAjB,EAA6BoB,EAAS,CACpC,KAAM,GACN,UAAW,GACX,MAAO,EACP,SAAU,IAAM,CACdlB,EAAsB,CAAE,IAAAqB,CAAI,EAAGpB,EAAoBa,CAAO,CAAC,CAC7D,CACF,CAAC,EAEIV,EAAM,OAGTb,EAAC,OAAI,IAAK2B,EAAS,UAAWtB,EAAG,4BAA6Ba,CAAS,EACpE,UAAAN,GAASb,EAACI,EAAA,CAAK,KAAMS,EAAO,UAAU,uCAAuC,EAC9Eb,EAAC,MAAG,UAAU,8GACX,SAAA8B,EAAa,IAAIE,GAChBhC,EAACS,EAAA,CAEC,KAAMuB,EACN,YAAaf,EACb,aAAcC,EACd,QAASK,EACT,KAAMD,EACN,UAAWD,EACX,kBAAmBD,EACnB,IAAKW,GARAC,EAAK,EASZ,CACD,EACH,EACCH,GAAW,CAACH,GACX1B,EAACK,EAAA,CACC,QAAS,IAAMsB,EAAY,EAAI,EAC/B,UAAU,6GAET,SAAAX,EACH,GAEJ,EA5BwB,IA8B5B,EAEAJ,EAAmB,YAAc,qBAEjC,IAAOqB,EAAQrB",
6
+ "names": ["jsx", "jsxs", "useRef", "useState", "Text", "Link", "cn", "useBizProductContext", "useIntersectionObserverDelay", "CreditCouponListItem", "trackModuleImpression", "resolveUserIdentity", "CreditCouponRedeem", "title", "items", "visibleCount", "viewMoreLabel", "redeemLabel", "unLoginLabel", "className", "onModalOpenChange", "onConfirm", "modalCopy", "iconUrl", "profile", "variant", "expanded", "setExpanded", "rootRef", "hasMore", "visibleItems", "sku", "item", "CreditCouponRedeem_default"]
7
+ }
@@ -0,0 +1,33 @@
1
+ /** 用户身份 → 埋点枚举(component_title) */
2
+ export type UserIdentity = 'guest' | 'member' | 'plus_member';
3
+ /**
4
+ * 将 profile.memberType 映射为埋点用户身份枚举。
5
+ * 通过结构化局部类型读取(避免依赖 UserProfile 全局类型,该类型暂未声明 memberType)。
6
+ * - '0' / 空 → guest(未登录)
7
+ * - '1' → member(普通会员)
8
+ * - '2' → plus_member(付费会员)
9
+ */
10
+ export declare const resolveUserIdentity: (profile?: unknown) => UserIdentity;
11
+ interface TrackingEventBase {
12
+ sku: string;
13
+ }
14
+ /** 01 积分兑换折扣券模块曝光 */
15
+ export declare const trackModuleImpression: ({ sku }: TrackingEventBase, userIdentity: UserIdentity) => void;
16
+ /** 02 积分兑换折扣券模块 - 兑换入口点击 */
17
+ export declare const trackEntryClick: ({ sku }: TrackingEventBase, { entryType, userIdentity }: {
18
+ entryType: "members_only" | "get_discount";
19
+ userIdentity: UserIdentity;
20
+ }) => void;
21
+ /** 03 积分兑换折扣券模块 - 兑换弹窗曝光 */
22
+ export declare const trackPopupImpression: ({ sku }: TrackingEventBase, { popupSource }: {
23
+ popupSource: "direct" | "after_login";
24
+ }) => void;
25
+ /** 04 积分兑换折扣券模块 - 兑换成功(点击 Confirm) */
26
+ export declare const trackRedeemSuccess: ({ sku }: TrackingEventBase, { result }: {
27
+ result: "success" | "fail";
28
+ }) => void;
29
+ /** 05 积分兑换折扣券模块 - 折扣码复制 */
30
+ export declare const trackCodeCopy: ({ sku }: TrackingEventBase, { code }: {
31
+ code: string;
32
+ }) => void;
33
+ export {};
@@ -0,0 +1,2 @@
1
+ import{gaTrack as c}from"../../../../../../shared/track.js";const t="Product Detail Page_",m=e=>{const n=e?.memberType;return n==="2"?"plus_member":n==="1"?"member":"guest"},p="member benefits",o=(e,n)=>{c({event:"ga4Event",event_name:e,event_parameters:n})},s=({sku:e},n)=>{o("component_impression",{page_group:`${t}${e}`,component_type:"copy",component_name:"points_redemption",position:p,creative_id:"",component_title:n,component_description:"",navigation:""})},a=({sku:e},{entryType:n,userIdentity:i})=>{o("component_click",{page_group:`${t}${e}`,component_type:"copy",component_name:"points_redemption",position:p,creative_id:"",button_name:n,component_title:i,component_description:"",SKU:e,navigation:""})},_=({sku:e},{popupSource:n})=>{o("component_impression",{page_group:`${t}${e}`,component_type:"copy",component_name:"redemption_popup",position:1,creative_id:"",component_title:"Redemption Popup",component_description:n,navigation:""})},d=({sku:e},{result:n})=>{o("component_click",{page_group:`${t}${e}`,component_type:"copy",component_name:"redemption_popup",position:1,creative_id:"",button_name:"confirm",component_title:"Redemption Popup",component_description:n,SKU:e,navigation:""})},g=({sku:e},{code:n})=>{o("component_click",{page_group:`${t}${e}`,component_type:"copy",component_name:"discount_code",position:1,creative_id:"",button_name:"copy_code",component_title:n,component_description:"",SKU:e,navigation:""})};export{m as resolveUserIdentity,g as trackCodeCopy,a as trackEntryClick,s as trackModuleImpression,_ as trackPopupImpression,d as trackRedeemSuccess};
2
+ //# sourceMappingURL=tracking.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../src/biz-components/Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/tracking.ts"],
4
+ "sourcesContent": ["import { gaTrack } from '../../../../../../shared/track.js'\n\n/**\n * \u79EF\u5206\u5151\u6362\u6298\u6263\u5238\u57CB\u70B9\uFF08\u89C1\u9700\u6C42\u6587\u6863 5.4.2\uFF09\n *\n * \u7EDF\u4E00\u901A\u8FC7 window.dataLayer \u4E0A\u62A5\uFF0Cevent \u56FA\u5B9A\u4E3A ga4Event\u3002\n * - component_impression\uFF1A\u6A21\u5757\u66DD\u5149 / \u5151\u6362\u5F39\u7A97\u66DD\u5149\n * - component_click\uFF1A\u5165\u53E3\u70B9\u51FB / \u5151\u6362\u6210\u529F / \u6298\u6263\u7801\u590D\u5236\n *\n * page_group \u9075\u5FAA PDP \u89C4\u8303\uFF1A\"Product Detail Page_\" + SKU\u3002\n */\n\nconst PAGE_GROUP_PREFIX = 'Product Detail Page_'\n\n/** \u7528\u6237\u8EAB\u4EFD \u2192 \u57CB\u70B9\u679A\u4E3E\uFF08component_title\uFF09 */\nexport type UserIdentity = 'guest' | 'member' | 'plus_member'\n\n/**\n * \u5C06 profile.memberType \u6620\u5C04\u4E3A\u57CB\u70B9\u7528\u6237\u8EAB\u4EFD\u679A\u4E3E\u3002\n * \u901A\u8FC7\u7ED3\u6784\u5316\u5C40\u90E8\u7C7B\u578B\u8BFB\u53D6\uFF08\u907F\u514D\u4F9D\u8D56 UserProfile \u5168\u5C40\u7C7B\u578B\uFF0C\u8BE5\u7C7B\u578B\u6682\u672A\u58F0\u660E memberType\uFF09\u3002\n * - '0' / \u7A7A \u2192 guest\uFF08\u672A\u767B\u5F55\uFF09\n * - '1' \u2192 member\uFF08\u666E\u901A\u4F1A\u5458\uFF09\n * - '2' \u2192 plus_member\uFF08\u4ED8\u8D39\u4F1A\u5458\uFF09\n */\nexport const resolveUserIdentity = (profile?: unknown): UserIdentity => {\n const memberType = (profile as { memberType?: string } | null | undefined)?.memberType\n if (memberType === '2') return 'plus_member'\n if (memberType === '1') return 'member'\n return 'guest'\n}\n\ninterface TrackingEventBase {\n sku: string\n}\n\n/** \u79EF\u5206\u5151\u6362\u6298\u6263\u5238\u6A21\u5757\u5728 listing \u9875\u7684\u57CB\u70B9\u4F4D\u7F6E\u6807\u8BC6\uFF08\u56FA\u5B9A\u503C\uFF09 */\nconst MODULE_POSITION = 'member benefits'\n\nconst pushEvent = (eventName: 'component_impression' | 'component_click', parameters: Record<string, any>) => {\n gaTrack({\n event: 'ga4Event',\n event_name: eventName,\n event_parameters: parameters,\n })\n}\n\n/** 01 \u79EF\u5206\u5151\u6362\u6298\u6263\u5238\u6A21\u5757\u66DD\u5149 */\nexport const trackModuleImpression = ({ sku }: TrackingEventBase, userIdentity: UserIdentity) => {\n pushEvent('component_impression', {\n page_group: `${PAGE_GROUP_PREFIX}${sku}`,\n component_type: 'copy',\n component_name: 'points_redemption',\n position: MODULE_POSITION,\n creative_id: '',\n component_title: userIdentity,\n component_description: '',\n navigation: '',\n })\n}\n\n/** 02 \u79EF\u5206\u5151\u6362\u6298\u6263\u5238\u6A21\u5757 - \u5151\u6362\u5165\u53E3\u70B9\u51FB */\nexport const trackEntryClick = (\n { sku }: TrackingEventBase,\n { entryType, userIdentity }: { entryType: 'members_only' | 'get_discount'; userIdentity: UserIdentity }\n) => {\n pushEvent('component_click', {\n page_group: `${PAGE_GROUP_PREFIX}${sku}`,\n component_type: 'copy',\n component_name: 'points_redemption',\n position: MODULE_POSITION,\n creative_id: '',\n button_name: entryType,\n component_title: userIdentity,\n component_description: '',\n SKU: sku,\n navigation: '',\n })\n}\n\n/** 03 \u79EF\u5206\u5151\u6362\u6298\u6263\u5238\u6A21\u5757 - \u5151\u6362\u5F39\u7A97\u66DD\u5149 */\nexport const trackPopupImpression = (\n { sku }: TrackingEventBase,\n { popupSource }: { popupSource: 'direct' | 'after_login' }\n) => {\n pushEvent('component_impression', {\n page_group: `${PAGE_GROUP_PREFIX}${sku}`,\n component_type: 'copy',\n component_name: 'redemption_popup',\n position: 1,\n creative_id: '',\n component_title: 'Redemption Popup',\n component_description: popupSource,\n navigation: '',\n })\n}\n\n/** 04 \u79EF\u5206\u5151\u6362\u6298\u6263\u5238\u6A21\u5757 - \u5151\u6362\u6210\u529F\uFF08\u70B9\u51FB Confirm\uFF09 */\nexport const trackRedeemSuccess = (\n { sku }: TrackingEventBase,\n { result }: { result: 'success' | 'fail' }\n) => {\n pushEvent('component_click', {\n page_group: `${PAGE_GROUP_PREFIX}${sku}`,\n component_type: 'copy',\n component_name: 'redemption_popup',\n position: 1,\n creative_id: '',\n button_name: 'confirm',\n component_title: 'Redemption Popup',\n component_description: result,\n SKU: sku,\n navigation: '',\n })\n}\n\n/** 05 \u79EF\u5206\u5151\u6362\u6298\u6263\u5238\u6A21\u5757 - \u6298\u6263\u7801\u590D\u5236 */\nexport const trackCodeCopy = ({ sku }: TrackingEventBase, { code }: { code: string }) => {\n pushEvent('component_click', {\n page_group: `${PAGE_GROUP_PREFIX}${sku}`,\n component_type: 'copy',\n component_name: 'discount_code',\n position: 1,\n creative_id: '',\n button_name: 'copy_code',\n component_title: code,\n component_description: '',\n SKU: sku,\n navigation: '',\n })\n}\n"],
5
+ "mappings": "AAAA,OAAS,WAAAA,MAAe,oCAYxB,MAAMC,EAAoB,uBAYbC,EAAuBC,GAAoC,CACtE,MAAMC,EAAcD,GAAwD,WAC5E,OAAIC,IAAe,IAAY,cAC3BA,IAAe,IAAY,SACxB,OACT,EAOMC,EAAkB,kBAElBC,EAAY,CAACC,EAAuDC,IAAoC,CAC5GR,EAAQ,CACN,MAAO,WACP,WAAYO,EACZ,iBAAkBC,CACpB,CAAC,CACH,EAGaC,EAAwB,CAAC,CAAE,IAAAC,CAAI,EAAsBC,IAA+B,CAC/FL,EAAU,uBAAwB,CAChC,WAAY,GAAGL,CAAiB,GAAGS,CAAG,GACtC,eAAgB,OAChB,eAAgB,oBAChB,SAAUL,EACV,YAAa,GACb,gBAAiBM,EACjB,sBAAuB,GACvB,WAAY,EACd,CAAC,CACH,EAGaC,EAAkB,CAC7B,CAAE,IAAAF,CAAI,EACN,CAAE,UAAAG,EAAW,aAAAF,CAAa,IACvB,CACHL,EAAU,kBAAmB,CAC3B,WAAY,GAAGL,CAAiB,GAAGS,CAAG,GACtC,eAAgB,OAChB,eAAgB,oBAChB,SAAUL,EACV,YAAa,GACb,YAAaQ,EACb,gBAAiBF,EACjB,sBAAuB,GACvB,IAAKD,EACL,WAAY,EACd,CAAC,CACH,EAGaI,EAAuB,CAClC,CAAE,IAAAJ,CAAI,EACN,CAAE,YAAAK,CAAY,IACX,CACHT,EAAU,uBAAwB,CAChC,WAAY,GAAGL,CAAiB,GAAGS,CAAG,GACtC,eAAgB,OAChB,eAAgB,mBAChB,SAAU,EACV,YAAa,GACb,gBAAiB,mBACjB,sBAAuBK,EACvB,WAAY,EACd,CAAC,CACH,EAGaC,EAAqB,CAChC,CAAE,IAAAN,CAAI,EACN,CAAE,OAAAO,CAAO,IACN,CACHX,EAAU,kBAAmB,CAC3B,WAAY,GAAGL,CAAiB,GAAGS,CAAG,GACtC,eAAgB,OAChB,eAAgB,mBAChB,SAAU,EACV,YAAa,GACb,YAAa,UACb,gBAAiB,mBACjB,sBAAuBO,EACvB,IAAKP,EACL,WAAY,EACd,CAAC,CACH,EAGaQ,EAAgB,CAAC,CAAE,IAAAR,CAAI,EAAsB,CAAE,KAAAS,CAAK,IAAwB,CACvFb,EAAU,kBAAmB,CAC3B,WAAY,GAAGL,CAAiB,GAAGS,CAAG,GACtC,eAAgB,OAChB,eAAgB,gBAChB,SAAU,EACV,YAAa,GACb,YAAa,YACb,gBAAiBS,EACjB,sBAAuB,GACvB,IAAKT,EACL,WAAY,EACd,CAAC,CACH",
6
+ "names": ["gaTrack", "PAGE_GROUP_PREFIX", "resolveUserIdentity", "profile", "memberType", "MODULE_POSITION", "pushEvent", "eventName", "parameters", "trackModuleImpression", "sku", "userIdentity", "trackEntryClick", "entryType", "trackPopupImpression", "popupSource", "trackRedeemSuccess", "result", "trackCodeCopy", "code"]
7
+ }
@@ -0,0 +1,72 @@
1
+ /**
2
+ * 积分兑换 Coupon 单条规则数据
3
+ *
4
+ * 纯展示数据,调用方需在传入前完成所有业务判断(登录/激活/积分/库存/是否已兑换),
5
+ * 只把"允许兑换"的行传入 items,本组件不做任何过滤或状态判断。
6
+ */
7
+ export interface CreditCouponRuleData {
8
+ /** 规则唯一标识(用于 key 和兑换请求) */
9
+ id: number | string;
10
+ /** 标题文案,对应接口 name 或运营配置的展示标题 */
11
+ title: string;
12
+ /** 预格式化好的积分文案(如 "2000 pts"),避免组件内嵌 formatPrice/locale 逻辑 */
13
+ consumeCreditsLabel: string;
14
+ /** 展示用规则说明(拆分自 note/coupon_rule 或运营配置),弹窗内展示 */
15
+ rules?: string[];
16
+ /** 折扣金额:百分比 -10 10% 固定金额 -10 10 */
17
+ value?: string;
18
+ /** 已兑换的持久兑换码(页面刷新后由后端返回),有值时列表项展示兑换码 + Copy 按钮(替代 Redeem CTA) */
19
+ code?: string;
20
+ }
21
+ /**
22
+ * 兑换弹窗当前状态,完全由调用方驱动。
23
+ *
24
+ * - idle:初始确认态,Confirm 按钮可点击
25
+ * - loading:调用方正在发起兑换请求,Confirm 按钮 disabled + loading 动效
26
+ * - success:兑换成功,切换渲染成功态,展示 couponCode
27
+ * - error:兑换失败,停留确认态,底部展示 errorMessage,Confirm 按钮恢复可点击
28
+ */
29
+ export type RedeemStatus = 'idle' | 'loading' | 'success' | 'error';
30
+ /** 弹窗文案配置 */
31
+ export interface CreditCouponRedeemModalCopy {
32
+ /** 确认态标题,如 "Confirm to redeem this reward?" */
33
+ confirmTitle: string;
34
+ /** 确认按钮文案 */
35
+ confirmButton: string;
36
+ /** 成功态标题 */
37
+ successTitle: string;
38
+ /** 成功态描述 */
39
+ successDesc: string;
40
+ /** 规则说明区块标签,如 "Rules" */
41
+ ruleLabel?: string;
42
+ /** 已兑换行的兑换码前缀标签,如 "Code";不传则不展示前缀,仅展示纯 code */
43
+ codeLabel?: string;
44
+ /** Copy 按钮默认文案 */
45
+ copyLabel?: string;
46
+ /** Copy 按钮点击后的文案 */
47
+ copiedLabel?: string;
48
+ /** 折扣背景图 */
49
+ modalIcon?: string;
50
+ }
51
+ export interface CreditCouponRedeemProps {
52
+ /** 列表标题,如 "Member benefits you will get" */
53
+ title?: string;
54
+ /** 纯展示数据,调用方已过滤掉所有不可兑换的行 */
55
+ items: CreditCouponRuleData[];
56
+ /** 默认展示条数,超出显示 "View More";不传则展示全部 */
57
+ visibleCount?: number;
58
+ /** "View More" 展开链接文案 */
59
+ viewMoreLabel?: string;
60
+ /** 统一的 CTA 文案(如 "Redeem"),所有行共用,不再按行定制 */
61
+ redeemLabel?: string;
62
+ unLoginLabel?: string;
63
+ className?: string;
64
+ iconUrl?: string;
65
+ /** 弹窗打开状态变化时的旁路通知(可选,便于调用方联动埋点等),弹窗开关本身由组件内部管理 */
66
+ onModalOpenChange?: (open: boolean) => void;
67
+ /** 用户在弹窗内点击"确认兑换"时触发,调用方据此发起真实兑换请求。
68
+ * 成功时 resolve 返回兑换码;失败时 reject 抛出 Error(message 作为弹窗错误文案)。 */
69
+ onConfirm: (item: CreditCouponRuleData) => Promise<string>;
70
+ /** 弹窗文案配置 */
71
+ modalCopy: CreditCouponRedeemModalCopy;
72
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -67,6 +67,8 @@ export { default as ProductGridBox } from './Listing/components/ProductCard/Prod
67
67
  export { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js';
68
68
  export { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js';
69
69
  export { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab.js';
70
+ export { default as CreditCouponRedeem } from './Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.js';
71
+ export type { CreditCouponRedeemProps, CreditCouponRuleData, RedeemStatus, } from './Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.js';
70
72
  export { default as PaidShipping } from './Listing/components/PaidShipping/index.js';
71
73
  export { default as CartActionButtons } from './Listing/components/CartActionButtons/index.js';
72
74
  export type { CartActionButtonsProps } from './Listing/components/CartActionButtons/index.js';
@@ -126,6 +128,7 @@ export { default as PromotionalBar } from './PromotionalBar/index.js';
126
128
  export { default as EventSchedule } from './EventSchedule/index.js';
127
129
  export { default as SecondaryBanner } from './SecondaryBanner/index.js';
128
130
  export { default as BuyOneGetOneShelf } from './BuyOneGetOneShelf/index.js';
131
+ export type { ButtonFunctionType as BuyOneGetOneShelfButtonFunctionType } from './BuyOneGetOneShelf/types.js';
129
132
  export { default as ActiveShelf } from './ActiveShelf/index.js';
130
133
  export { default as MediaShelf } from './MediaShelf/index.js';
131
134
  export { default as CreditsShelf, CreditsProductCard } from './CreditsShelf/index.js';
@@ -1,2 +1,2 @@
1
- import{AccessoriesProductGrid as o,SectionHeader as a,PromoBanner as i,MainProductArea as s,AddToCartSuccessPopover as p}from"./AccessoriesShelf/index.js";import{default as d}from"./ActivitySchedule/index.js";import{default as n}from"./GiftShelf/index.js";import{default as l}from"./GiftTierShelf/index.js";import{default as x}from"./ActivityMechanism/index.js";import{default as P}from"./BrandEquity/index.js";import{default as h}from"./MemberEquity/index.js";import{default as g}from"./Slogan/index.js";import{default as B}from"./Title/index.js";import{default as v}from"./Spacer/index.js";import{default as A}from"./ShelfDisplay/index.js";import{default as j}from"./ShelfDisplayHorizontal/index.js";import{default as F}from"./Evaluate/index.js";import{default as k}from"./Category/index.js";import{default as w}from"./HeroBanner/index.js";import{default as O}from"./AccordionCards/index.js";import{default as N}from"./Graphic/index.js";import{default as q}from"./MediaPlayerBase/index.js";import{default as H}from"./MediaPlayerSticky/index.js";import{default as K}from"./MediaPlayerMulti/index.js";import{default as _}from"./Marquee/index.js";import{default as J}from"./MarqueeReview/index.js";import{default as X}from"./WhyChoose/index.js";import{default as $}from"./Faq/index.js";import{MarqueeItem as te,MarqueeImageContent as re,MarqueeTextContent as oe}from"./Marquee/index.js";import{default as ie}from"./MultiLayoutGraphicBlock/index.js";import{default as pe}from"./GraphicAttractionBlock/index.js";import{default as de}from"./HeaderNavigation/index.js";import{default as ne}from"./FooterNavigation/index.js";import{default as le}from"./SearchPage/index.js";import{IPC_SEARCH_PAGE as xe,SearchPageTabType as ye}from"./SearchPage/types.js";import{withLayout as Se}from"../shared/Styles.js";import{default as Ce}from"./AiuiProvider/index.js";import{default as Me}from"./Tabs/index.js";import{default as Te}from"./SwiperBox/index.js";import{VideoModal as Ie}from"./VideoModal/index.js";import{default as De}from"./CreativeModule/index.js";import{default as be}from"./GraphicOverlay/index.js";import{default as Ge}from"./Specs/index.js";import{default as Le}from"./TabsGroup/index.js";import{default as Ve,useBizProductContext as Oe}from"./Listing/BizProductProvider.js";import{default as Ne}from"./Listing/components/PurchaseBar/index.js";import{default as qe}from"./Listing/components/PurchaseBar/ProductActions/index.js";import{default as He}from"./Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js";import{default as Ke}from"./Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js";import{default as _e}from"./Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js";import{default as Je}from"./Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js";import{default as Xe}from"./Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js";import{default as $e}from"./Listing/components/ProductCard/ProductDetail/ProductOptions/index.js";import{default as tt}from"./Listing/components/ProductCard/ProductDetail/ProductBundle/index.js";import{default as ot}from"./Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js";import{default as it}from"./Listing/components/ProductCard/ProductDetail/ProductBanner/index.js";import{default as pt}from"./Listing/components/ProductCard/ProductGridBox.js";import{default as dt}from"./Listing/components/ProductCard/ProductGallery/index.js";import{default as nt}from"./Listing/components/ProductCard/ProductSummary/index.js";import{default as lt}from"./Listing/components/ProductCard/ProductDetail/BenefitsTab.js";import{default as xt}from"./Listing/components/PaidShipping/index.js";import{default as Pt}from"./Listing/components/CartActionButtons/index.js";import{NotifyMeDialog as ht}from"./NotifyMeDialog/index.js";import{default as gt}from"./Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js";import{default as Bt}from"./Listing/components/ProductCard/ProductPaidShipping/index.js";import{default as vt}from"./GraphicMore/index.js";import{default as At}from"./Features/index.js";import{default as jt}from"./AplusDesc/index.js";import{default as Ft}from"./GiftBox/index.js";import{default as kt}from"./SelectStore/index.js";import{default as wt}from"./DownLoad/index.js";import{default as Ot}from"./FootCharger/index.js";import{default as Nt}from"./BrandCardLink/index.js";import*as Wt from"./IPRedirect/index.js";import{default as Rt}from"./WheelLottery/index.js";import{default as zt}from"./ProductLottery/index.js";import{default as Ut}from"./ProductCompare/index.js";import{default as Yt}from"./Ksp/index.js";import{default as Qt}from"./ImageTextFeature/index.js";import{default as Zt}from"./FeatureCards/index.js";import{default as er}from"./FeaturedBlogPosts/index.js";import{default as rr}from"./ImageWithText/index.js";import{default as ar}from"./VideoFeature/index.js";import{default as sr}from"./TabsWithMedia/index.js";import{default as fr}from"./TabWithImage/index.js";import{default as cr}from"./FeatureShowcase/index.js";import{default as ur}from"./ProductHero/index.js";import{default as mr}from"./SpecsComparison/index.js";import{default as yr}from"./MediaSceneSwitcher/index.js";import{default as Sr}from"./MediaSceneSwitcherV2/index.js";import{default as Cr}from"./ThreeDCarousel/index.js";import{default as Mr}from"./ProductNav/index.js";import{default as Tr}from"./AnchorNavigation/index.js";import{default as Ir}from"./PromotionalBar/index.js";import{default as Dr}from"./EventSchedule/index.js";import{default as br}from"./SecondaryBanner/index.js";import{default as Gr}from"./BuyOneGetOneShelf/index.js";import{default as Lr}from"./ActiveShelf/index.js";import{default as Vr}from"./MediaShelf/index.js";import{default as Er,CreditsProductCard as Nr}from"./CreditsShelf/index.js";import{default as qr,SceneProductCard as Rr}from"./SceneShelf/index.js";import{default as zr,SceneShelfV2ProductCard as Kr}from"./SceneShelfV2/index.js";import{default as _r}from"./SceneShelfV3/index.js";import{default as Jr}from"./MediaEndorsement/index.js";import{default as Xr}from"./MediaTextOverlay/index.js";import{default as $r}from"./ImageOverlayShelf/index.js";import{default as to,AccessoryProductCard as ro}from"./AccessoriesShelf/components/AccessoryShelf/index.js";import{default as ao}from"./ImageTextOverlay/index.js";import{default as so}from"./MiniCart/index.js";import{default as fo}from"./MiniCart/CircleProgress.js";import{default as no,MiniCartDialog as uo}from"./MiniCart/MiniCartDialog.js";import{default as mo}from"./WebPushPopup/index.js";import{useEmarsysWebPush as yo}from"../hooks/useEmarsysWebPush.js";const e={"ipc-accordioncards":"AccordionCards","ipc-aplusdesc":"AplusDesc","ipc-banner":"HeroBanner","ipc-brand-equity":"BrandEquity","ipc-category":"Category","ipc-collection-banner":"CollectionBanner","ipc-collection-shelves":"CollectionShelves","ipc-creativemodule":"CreativeModule","ipc-download":"DownLoad","ipc-evaluate":"Evaluate","ipc-faq":"Faq","ipc-features":"Features","ipc-footcharger":"FootCharger","ipc-ga-block":"GraphicAttractionBlock","ipc-giftbox":"GiftBox","ipc-giftshelf":"GiftShelf","ipc-graphic":"Graphic","ipc-graphicmore":"GraphicMore","ipc-graphicoverlay":"GraphicOverlay","ipc-marquee":"Marquee","ipc-mediaplayerbase":"MediaPlayerBase","ipc-mediaplayermulti":"MediaPlayerMulti","ipc-mediaplayersticky":"MediaPlayerSticky","ipc-member-equity":"MemberEquity","ipc-mlg-block":"MultiLayoutGraphicBlock","ipc-search-page-tabs":"SearchPageBlock","ipc-selectstore":"SelectStore","ipc-shelfdisplay":"ShelfDisplay","ipc-shelfdisplay-horizontal":"ShelfDisplayHorizontal","ipc-slogan":"Slogan","ipc-spacer":"Spacer","ipc-specs":"Specs","ipc-tabs":"Tabs","ipc-text-marquee":"TextMarquee","ipc-title":"Title","ipc-whychoose":"WhyChoose","ipc-product-nav":"ProductNav","ipc-brand-card-link":"BrandCardLink","ipc-ipredirect":"IPRedirect",ksp:"Ksp","ipc-secondary-banner":"SecondaryBanner","ipc-media-endorsement":"MediaEndorsement","ipc-media-scene-switcher-v2":"MediaSceneSwitcherV2","ipc-featured-blog-posts":"FeaturedBlogPosts","ipc-media-text-overlay":"MediaTextOverlay",ProductCompare:"ProductCompare"};import{CartSummaryHeader as So,CartItemRow as ho,CartGiftSection as Co,CartPerksSection as go,CartThirdPartyBanner as Mo,CartPriceSummary as Bo}from"./CartDetail/index.js";import{useAiuiContext as vo}from"./AiuiProvider/index.js";import{default as Ao}from"./ModalRegisterSubscribe/index.js";import{default as jo}from"./ModalSubscribeConfirm/index.js";import{default as Fo}from"./ModalCoupon/index.js";import{default as ko}from"./ModalSmsSubscribe/index.js";import{default as wo}from"./ModalVerify/index.js";export{o as AccessoriesProductGrid,ro as AccessoryProductCard,to as AccessoryShelf,O as AccordionCards,Lr as ActiveShelf,x as ActivityMechanism,d as ActivitySchedule,p as AddToCartSuccessPopover,Ce as AiuiProvider,Tr as AnchorNavigation,jt as AplusDesc,lt as BenefitsTab,Ve as BizProductProvider,Nt as BrandCardLink,P as BrandEquity,Gr as BuyOneGetOneShelf,Pt as CartActionButtons,Co as CartGiftSection,ho as CartItemRow,go as CartPerksSection,Bo as CartPriceSummary,So as CartSummaryHeader,Mo as CartThirdPartyBanner,k as Category,De as CreativeModule,Nr as CreditsProductCard,Er as CreditsShelf,wt as DownLoad,F as Evaluate,Dr as EventSchedule,$ as Faq,Zt as FeatureCards,cr as FeatureShowcase,er as FeaturedBlogPosts,At as Features,Ot as FootCharger,ne as FooterNavigation,Ft as GiftBox,n as GiftShelf,l as GiftTierShelf,N as Graphic,pe as GraphicAttractionBlock,vt as GraphicMore,be as GraphicOverlay,de as HeaderNavigation,w as HeroBanner,xe as IPC_SEARCH_PAGE,Wt as IPRedirect,$r as ImageOverlayShelf,Qt as ImageTextFeature,ao as ImageTextOverlay,rr as ImageWithText,Yt as Ksp,s as MainProductArea,_ as Marquee,re as MarqueeImageContent,te as MarqueeItem,J as MarqueeReview,oe as MarqueeTextContent,Jr as MediaEndorsement,q as MediaPlayerBase,K as MediaPlayerMulti,H as MediaPlayerSticky,yr as MediaSceneSwitcher,Sr as MediaSceneSwitcherV2,Vr as MediaShelf,Xr as MediaTextOverlay,h as MemberEquity,so as MiniCart,fo as MiniCartCircleProgress,no as MiniCartDialog,uo as MiniCartDialogComponent,Fo as ModalCoupon,Ao as ModalRegisterSubscribe,ko as ModalSmsSubscribe,jo as ModalSubscribeConfirm,wo as ModalVerify,ie as MultiLayoutGraphicBlock,ht as NotifyMeDialog,e as PAYLOAD_COMPONENT_MAP,xt as PaidShipping,qe as ProductActions,it as ProductBanner,Ke as ProductBenefits,He as ProductBenefitsTabs,tt as ProductBundle,Ut as ProductCompare,ot as ProductCoupon,Je as ProductFreeGift,Xe as ProductFunctionFreeGift,dt as ProductGallery,pt as ProductGridBox,ur as ProductHero,_e as ProductHighlight,zt as ProductLottery,Mr as ProductNav,$e as ProductOptions,Bt as ProductPaidShipping,gt as ProductServiceBenefits,nt as ProductSummary,i as PromoBanner,Ir as PromotionalBar,Ne as PurchaseBar,Rr as SceneProductCard,qr as SceneShelf,zr as SceneShelfV2,Kr as SceneShelfV2ProductCard,_r as SceneShelfV3,le as SearchPage,ye as SearchPageTabType,br as SecondaryBanner,a as SectionHeader,kt as SelectStore,A as ShelfDisplay,j as ShelfDisplayHorizontal,g as Slogan,v as Spacer,Ge as Specs,mr as SpecsComparison,Te as SwiperBox,Le as TabGroup,fr as TabWithImage,Me as Tabs,sr as TabsWithMedia,Cr as ThreeDCarousel,B as Title,ar as VideoFeature,Ie as VideoModal,mo as WebPushPopup,Rt as WheelLottery,X as WhyChoose,vo as useAiuiContext,Oe as useBizProductContext,yo as useEmarsysWebPush,Se as withLayout};
1
+ import{AccessoriesProductGrid as o,SectionHeader as a,PromoBanner as i,MainProductArea as s,AddToCartSuccessPopover as p}from"./AccessoriesShelf/index.js";import{default as d}from"./ActivitySchedule/index.js";import{default as n}from"./GiftShelf/index.js";import{default as l}from"./GiftTierShelf/index.js";import{default as x}from"./ActivityMechanism/index.js";import{default as P}from"./BrandEquity/index.js";import{default as h}from"./MemberEquity/index.js";import{default as g}from"./Slogan/index.js";import{default as B}from"./Title/index.js";import{default as v}from"./Spacer/index.js";import{default as D}from"./ShelfDisplay/index.js";import{default as A}from"./ShelfDisplayHorizontal/index.js";import{default as F}from"./Evaluate/index.js";import{default as k}from"./Category/index.js";import{default as O}from"./HeroBanner/index.js";import{default as V}from"./AccordionCards/index.js";import{default as N}from"./Graphic/index.js";import{default as q}from"./MediaPlayerBase/index.js";import{default as H}from"./MediaPlayerSticky/index.js";import{default as K}from"./MediaPlayerMulti/index.js";import{default as _}from"./Marquee/index.js";import{default as J}from"./MarqueeReview/index.js";import{default as X}from"./WhyChoose/index.js";import{default as $}from"./Faq/index.js";import{MarqueeItem as te,MarqueeImageContent as re,MarqueeTextContent as oe}from"./Marquee/index.js";import{default as ie}from"./MultiLayoutGraphicBlock/index.js";import{default as pe}from"./GraphicAttractionBlock/index.js";import{default as de}from"./HeaderNavigation/index.js";import{default as ne}from"./FooterNavigation/index.js";import{default as le}from"./SearchPage/index.js";import{IPC_SEARCH_PAGE as xe,SearchPageTabType as ye}from"./SearchPage/types.js";import{withLayout as Se}from"../shared/Styles.js";import{default as Ce}from"./AiuiProvider/index.js";import{default as Me}from"./Tabs/index.js";import{default as Te}from"./SwiperBox/index.js";import{VideoModal as Ie}from"./VideoModal/index.js";import{default as je}from"./CreativeModule/index.js";import{default as be}from"./GraphicOverlay/index.js";import{default as Ge}from"./Specs/index.js";import{default as Le}from"./TabsGroup/index.js";import{default as we,useBizProductContext as Ve}from"./Listing/BizProductProvider.js";import{default as Ne}from"./Listing/components/PurchaseBar/index.js";import{default as qe}from"./Listing/components/PurchaseBar/ProductActions/index.js";import{default as He}from"./Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js";import{default as Ke}from"./Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js";import{default as _e}from"./Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js";import{default as Je}from"./Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js";import{default as Xe}from"./Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js";import{default as $e}from"./Listing/components/ProductCard/ProductDetail/ProductOptions/index.js";import{default as tt}from"./Listing/components/ProductCard/ProductDetail/ProductBundle/index.js";import{default as ot}from"./Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js";import{default as it}from"./Listing/components/ProductCard/ProductDetail/ProductBanner/index.js";import{default as pt}from"./Listing/components/ProductCard/ProductGridBox.js";import{default as dt}from"./Listing/components/ProductCard/ProductGallery/index.js";import{default as nt}from"./Listing/components/ProductCard/ProductSummary/index.js";import{default as lt}from"./Listing/components/ProductCard/ProductDetail/BenefitsTab.js";import{default as xt}from"./Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.js";import{default as Pt}from"./Listing/components/PaidShipping/index.js";import{default as ht}from"./Listing/components/CartActionButtons/index.js";import{NotifyMeDialog as gt}from"./NotifyMeDialog/index.js";import{default as Bt}from"./Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js";import{default as vt}from"./Listing/components/ProductCard/ProductPaidShipping/index.js";import{default as Dt}from"./GraphicMore/index.js";import{default as At}from"./Features/index.js";import{default as Ft}from"./AplusDesc/index.js";import{default as kt}from"./GiftBox/index.js";import{default as Ot}from"./SelectStore/index.js";import{default as Vt}from"./DownLoad/index.js";import{default as Nt}from"./FootCharger/index.js";import{default as qt}from"./BrandCardLink/index.js";import*as Rt from"./IPRedirect/index.js";import{default as zt}from"./WheelLottery/index.js";import{default as Ut}from"./ProductLottery/index.js";import{default as Yt}from"./ProductCompare/index.js";import{default as Qt}from"./Ksp/index.js";import{default as Zt}from"./ImageTextFeature/index.js";import{default as er}from"./FeatureCards/index.js";import{default as rr}from"./FeaturedBlogPosts/index.js";import{default as ar}from"./ImageWithText/index.js";import{default as sr}from"./VideoFeature/index.js";import{default as fr}from"./TabsWithMedia/index.js";import{default as cr}from"./TabWithImage/index.js";import{default as ur}from"./FeatureShowcase/index.js";import{default as mr}from"./ProductHero/index.js";import{default as yr}from"./SpecsComparison/index.js";import{default as Sr}from"./MediaSceneSwitcher/index.js";import{default as Cr}from"./MediaSceneSwitcherV2/index.js";import{default as Mr}from"./ThreeDCarousel/index.js";import{default as Tr}from"./ProductNav/index.js";import{default as Ir}from"./AnchorNavigation/index.js";import{default as jr}from"./PromotionalBar/index.js";import{default as br}from"./EventSchedule/index.js";import{default as Gr}from"./SecondaryBanner/index.js";import{default as Lr}from"./BuyOneGetOneShelf/index.js";import{default as wr}from"./ActiveShelf/index.js";import{default as Er}from"./MediaShelf/index.js";import{default as Wr,CreditsProductCard as qr}from"./CreditsShelf/index.js";import{default as Hr,SceneProductCard as zr}from"./SceneShelf/index.js";import{default as Ur,SceneShelfV2ProductCard as _r}from"./SceneShelfV2/index.js";import{default as Jr}from"./SceneShelfV3/index.js";import{default as Xr}from"./MediaEndorsement/index.js";import{default as $r}from"./MediaTextOverlay/index.js";import{default as to}from"./ImageOverlayShelf/index.js";import{default as oo,AccessoryProductCard as ao}from"./AccessoriesShelf/components/AccessoryShelf/index.js";import{default as so}from"./ImageTextOverlay/index.js";import{default as fo}from"./MiniCart/index.js";import{default as no}from"./MiniCart/CircleProgress.js";import{default as lo,MiniCartDialog as mo}from"./MiniCart/MiniCartDialog.js";import{default as yo}from"./WebPushPopup/index.js";import{useEmarsysWebPush as So}from"../hooks/useEmarsysWebPush.js";const e={"ipc-accordioncards":"AccordionCards","ipc-aplusdesc":"AplusDesc","ipc-banner":"HeroBanner","ipc-brand-equity":"BrandEquity","ipc-category":"Category","ipc-collection-banner":"CollectionBanner","ipc-collection-shelves":"CollectionShelves","ipc-creativemodule":"CreativeModule","ipc-download":"DownLoad","ipc-evaluate":"Evaluate","ipc-faq":"Faq","ipc-features":"Features","ipc-footcharger":"FootCharger","ipc-ga-block":"GraphicAttractionBlock","ipc-giftbox":"GiftBox","ipc-giftshelf":"GiftShelf","ipc-graphic":"Graphic","ipc-graphicmore":"GraphicMore","ipc-graphicoverlay":"GraphicOverlay","ipc-marquee":"Marquee","ipc-mediaplayerbase":"MediaPlayerBase","ipc-mediaplayermulti":"MediaPlayerMulti","ipc-mediaplayersticky":"MediaPlayerSticky","ipc-member-equity":"MemberEquity","ipc-mlg-block":"MultiLayoutGraphicBlock","ipc-search-page-tabs":"SearchPageBlock","ipc-selectstore":"SelectStore","ipc-shelfdisplay":"ShelfDisplay","ipc-shelfdisplay-horizontal":"ShelfDisplayHorizontal","ipc-slogan":"Slogan","ipc-spacer":"Spacer","ipc-specs":"Specs","ipc-tabs":"Tabs","ipc-text-marquee":"TextMarquee","ipc-title":"Title","ipc-whychoose":"WhyChoose","ipc-product-nav":"ProductNav","ipc-brand-card-link":"BrandCardLink","ipc-ipredirect":"IPRedirect",ksp:"Ksp","ipc-secondary-banner":"SecondaryBanner","ipc-media-endorsement":"MediaEndorsement","ipc-media-scene-switcher-v2":"MediaSceneSwitcherV2","ipc-featured-blog-posts":"FeaturedBlogPosts","ipc-media-text-overlay":"MediaTextOverlay",ProductCompare:"ProductCompare"};import{CartSummaryHeader as Co,CartItemRow as go,CartGiftSection as Mo,CartPerksSection as Bo,CartThirdPartyBanner as To,CartPriceSummary as vo}from"./CartDetail/index.js";import{useAiuiContext as Do}from"./AiuiProvider/index.js";import{default as Ao}from"./ModalRegisterSubscribe/index.js";import{default as Fo}from"./ModalSubscribeConfirm/index.js";import{default as ko}from"./ModalCoupon/index.js";import{default as Oo}from"./ModalSmsSubscribe/index.js";import{default as Vo}from"./ModalVerify/index.js";export{o as AccessoriesProductGrid,ao as AccessoryProductCard,oo as AccessoryShelf,V as AccordionCards,wr as ActiveShelf,x as ActivityMechanism,d as ActivitySchedule,p as AddToCartSuccessPopover,Ce as AiuiProvider,Ir as AnchorNavigation,Ft as AplusDesc,lt as BenefitsTab,we as BizProductProvider,qt as BrandCardLink,P as BrandEquity,Lr as BuyOneGetOneShelf,ht as CartActionButtons,Mo as CartGiftSection,go as CartItemRow,Bo as CartPerksSection,vo as CartPriceSummary,Co as CartSummaryHeader,To as CartThirdPartyBanner,k as Category,je as CreativeModule,xt as CreditCouponRedeem,qr as CreditsProductCard,Wr as CreditsShelf,Vt as DownLoad,F as Evaluate,br as EventSchedule,$ as Faq,er as FeatureCards,ur as FeatureShowcase,rr as FeaturedBlogPosts,At as Features,Nt as FootCharger,ne as FooterNavigation,kt as GiftBox,n as GiftShelf,l as GiftTierShelf,N as Graphic,pe as GraphicAttractionBlock,Dt as GraphicMore,be as GraphicOverlay,de as HeaderNavigation,O as HeroBanner,xe as IPC_SEARCH_PAGE,Rt as IPRedirect,to as ImageOverlayShelf,Zt as ImageTextFeature,so as ImageTextOverlay,ar as ImageWithText,Qt as Ksp,s as MainProductArea,_ as Marquee,re as MarqueeImageContent,te as MarqueeItem,J as MarqueeReview,oe as MarqueeTextContent,Xr as MediaEndorsement,q as MediaPlayerBase,K as MediaPlayerMulti,H as MediaPlayerSticky,Sr as MediaSceneSwitcher,Cr as MediaSceneSwitcherV2,Er as MediaShelf,$r as MediaTextOverlay,h as MemberEquity,fo as MiniCart,no as MiniCartCircleProgress,lo as MiniCartDialog,mo as MiniCartDialogComponent,ko as ModalCoupon,Ao as ModalRegisterSubscribe,Oo as ModalSmsSubscribe,Fo as ModalSubscribeConfirm,Vo as ModalVerify,ie as MultiLayoutGraphicBlock,gt as NotifyMeDialog,e as PAYLOAD_COMPONENT_MAP,Pt as PaidShipping,qe as ProductActions,it as ProductBanner,Ke as ProductBenefits,He as ProductBenefitsTabs,tt as ProductBundle,Yt as ProductCompare,ot as ProductCoupon,Je as ProductFreeGift,Xe as ProductFunctionFreeGift,dt as ProductGallery,pt as ProductGridBox,mr as ProductHero,_e as ProductHighlight,Ut as ProductLottery,Tr as ProductNav,$e as ProductOptions,vt as ProductPaidShipping,Bt as ProductServiceBenefits,nt as ProductSummary,i as PromoBanner,jr as PromotionalBar,Ne as PurchaseBar,zr as SceneProductCard,Hr as SceneShelf,Ur as SceneShelfV2,_r as SceneShelfV2ProductCard,Jr as SceneShelfV3,le as SearchPage,ye as SearchPageTabType,Gr as SecondaryBanner,a as SectionHeader,Ot as SelectStore,D as ShelfDisplay,A as ShelfDisplayHorizontal,g as Slogan,v as Spacer,Ge as Specs,yr as SpecsComparison,Te as SwiperBox,Le as TabGroup,cr as TabWithImage,Me as Tabs,fr as TabsWithMedia,Mr as ThreeDCarousel,B as Title,sr as VideoFeature,Ie as VideoModal,yo as WebPushPopup,zt as WheelLottery,X as WhyChoose,Do as useAiuiContext,Ve as useBizProductContext,So as useEmarsysWebPush,Se as withLayout};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/biz-components/index.ts"],
4
- "sourcesContent": ["export {\n AccessoriesProductGrid,\n SectionHeader,\n PromoBanner,\n MainProductArea,\n AddToCartSuccessPopover,\n} from './AccessoriesShelf/index.js'\nexport type {\n UserType,\n BannerConfig,\n BannerAction,\n AddToCartSuccessPopoverProps,\n AddToCartSuccessCopyConfig,\n AddToCartSuccessSemanticName,\n} from './AccessoriesShelf/index.js'\nexport { default as ActivitySchedule } from './ActivitySchedule/index.js'\nexport type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './ActivitySchedule/types.js'\nexport { default as GiftShelf } from './GiftShelf/index.js'\nexport type {\n GiftShelfProps,\n GiftShelfData,\n GiftShelfItem,\n CountdownConfig,\n ResponsiveBackgroundImage as GiftShelfResponsiveBackgroundImage,\n} from './GiftShelf/types.js'\nexport { default as GiftTierShelf } from './GiftTierShelf/index.js'\nexport type { GiftTierShelfProps, GiftTierShelfData, GiftTierItem, GiftTierProduct } from './GiftTierShelf/types.js'\nexport { default as ActivityMechanism } from './ActivityMechanism/index.js'\nexport type {\n ActivityMechanismProps,\n ActivityMechanismItem,\n ActivityMechanismSemanticName,\n ResponsiveBackgroundImage,\n} from './ActivityMechanism/types.js'\nexport { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as Title } from './Title/index.js'\nexport { default as Spacer } from './Spacer/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as ShelfDisplayHorizontal } from './ShelfDisplayHorizontal/index.js'\nexport type {\n ShelfDisplayProps,\n ShelfDisplayType,\n ShelfDisplayItem,\n SocialEndorsementItem,\n} from './ShelfDisplay/shelfDisplay.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport { default as MediaPlayerBase } from './MediaPlayerBase/index.js'\nexport { default as MediaPlayerSticky } from './MediaPlayerSticky/index.js'\nexport { default as MediaPlayerMulti } from './MediaPlayerMulti/index.js'\nexport { default as Marquee } from './Marquee/index.js'\nexport { default as MarqueeReview } from './MarqueeReview/index.js'\nexport type { MarqueeReviewProps, MarqueeReviewData, ReviewItem } from './MarqueeReview/index.js'\nexport { default as WhyChoose } from './WhyChoose/index.js'\nexport { default as Faq } from './Faq/index.js'\nexport { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee/index.js'\nexport { default as MultiLayoutGraphicBlock } from './MultiLayoutGraphicBlock/index.js'\nexport type { MultiLayoutGraphicBlockProps } from './MultiLayoutGraphicBlock/index.js'\nexport { default as GraphicAttractionBlock } from './GraphicAttractionBlock/index.js'\nexport type { GraphicAttractionBlockProps } from './GraphicAttractionBlock/index.js'\nexport { default as HeaderNavigation } from './HeaderNavigation/index.js'\nexport { default as FooterNavigation } from './FooterNavigation/index.js'\nexport { default as SearchPage } from './SearchPage/index.js'\nexport type { SearchPageProps } from './SearchPage/types.js'\nexport { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js'\n\nexport { withLayout } from '../shared/Styles.js'\nexport { default as AiuiProvider } from './AiuiProvider/index.js'\nexport { default as Tabs } from './Tabs/index.js'\nexport { default as SwiperBox } from './SwiperBox/index.js'\nexport { VideoModal } from './VideoModal/index.js'\nexport { default as CreativeModule } from './CreativeModule/index.js'\nexport { default as GraphicOverlay } from './GraphicOverlay/index.js'\nexport { default as Specs } from './Specs/index.js'\nexport { default as TabGroup } from './TabsGroup/index.js'\n\nexport { default as BizProductProvider, useBizProductContext } from './Listing/BizProductProvider.js'\nexport { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js'\nexport { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport type { ProductActionsProps } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport { default as ProductBenefitsTabs } from './Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js'\nexport { default as ProductBenefits } from './Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js'\nexport { default as ProductHighlight } from './Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js'\nexport { default as ProductFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js'\nexport { default as ProductFunctionFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js'\nexport type {\n ProductFunctionFreeGiftProps,\n FunctionFreeGiftItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift'\n// export { default as ProductExchangePurchase } from './Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js'\nexport { default as ProductOptions } from './Listing/components/ProductCard/ProductDetail/ProductOptions/index.js'\nexport { default as ProductBundle } from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport type {\n ProductBundleProps,\n BundleOption,\n BundleVariantItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport { default as ProductCoupon } from './Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js'\nexport { default as ProductBanner } from './Listing/components/ProductCard/ProductDetail/ProductBanner/index.js'\nexport { default as ProductGridBox } from './Listing/components/ProductCard/ProductGridBox.js'\nexport { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js'\nexport { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js'\nexport { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab.js'\nexport { default as PaidShipping } from './Listing/components/PaidShipping/index.js'\nexport { default as CartActionButtons } from './Listing/components/CartActionButtons/index.js'\nexport type { CartActionButtonsProps } from './Listing/components/CartActionButtons/index.js'\nexport { NotifyMeDialog } from './NotifyMeDialog/index.js'\nexport type { NotifyMeDialogProps, CheckboxConfig, SubscriptionMeta } from './NotifyMeDialog/types.js'\nexport { default as ProductServiceBenefits } from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport type {\n ProductServiceBenefitsProps,\n ServiceBenefitItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport { default as ProductPaidShipping } from './Listing/components/ProductCard/ProductPaidShipping/index.js'\n\nexport { default as GraphicMore } from './GraphicMore/index.js'\nexport { default as Features } from './Features/index.js'\nexport { default as AplusDesc } from './AplusDesc/index.js'\nexport { default as GiftBox } from './GiftBox/index.js'\nexport { default as SelectStore } from './SelectStore/index.js'\nexport { default as DownLoad } from './DownLoad/index.js'\nexport { default as FootCharger } from './FootCharger/index.js'\nexport { default as BrandCardLink } from './BrandCardLink/index.js'\nexport type { BrandCardLinkProps, BrandCardLinkItemProps } from './BrandCardLink/types.js'\n\nexport * as IPRedirect from './IPRedirect/index.js'\n\nexport { default as WheelLottery } from './WheelLottery/index.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n WinningInfo,\n UserData,\n} from './WheelLottery/types.js'\nexport { default as ProductLottery } from './ProductLottery/index.js'\nexport type { ProductLotteryProps, ProductLotteryHandle, MediaConfig, CtaButtonConfig } from './ProductLottery/types.js'\nexport { default as ProductCompare } from './ProductCompare/index.js'\nexport type { ProductCompareProps, ProductItemData } from './ProductCompare/index.js'\nexport { default as Ksp } from './Ksp/index.js'\nexport type { KspProps, KspData, KspCardItem } from './Ksp/index.js'\nexport { default as ImageTextFeature } from './ImageTextFeature/index.js'\nexport type { ImageTextFeatureProps, ImageTextFeatureItem } from './ImageTextFeature/index.js'\nexport { default as FeatureCards } from './FeatureCards/index.js'\nexport type { FeatureCardsProps, FeatureCardItem } from './FeatureCards/index.js'\nexport { default as FeaturedBlogPosts } from './FeaturedBlogPosts/index.js'\nexport type {\n FeaturedBlogPostsProps,\n FeaturedBlogPostsData,\n FeaturedBlogPostItem,\n FeaturedBlogPostSpan,\n} from './FeaturedBlogPosts/index.js'\nexport { default as ImageWithText } from './ImageWithText/index.js'\nexport type { ImageWithTextProps } from './ImageWithText/index.js'\nexport { default as VideoFeature } from './VideoFeature/index.js'\nexport type { VideoFeatureProps } from './VideoFeature/index.js'\nexport { default as TabsWithMedia } from './TabsWithMedia/index.js'\nexport type { TabsWithMediaProps, TabItem, TimeIndex } from './TabsWithMedia/index.js'\nexport { default as TabWithImage } from './TabWithImage/index.js'\nexport type { TabWithImageProps, TabWithImageDataItem } from './TabWithImage/index.js'\nexport { default as FeatureShowcase } from './FeatureShowcase/index.js'\nexport type { FeatureShowcaseProps, FeatureShowcaseItem } from './FeatureShowcase/index.js'\nexport { default as ProductHero } from './ProductHero/index.js'\nexport type { ProductHeroProps } from './ProductHero/index.js'\nexport { default as SpecsComparison } from './SpecsComparison/index.js'\nexport type {\n SpecsComparisonProps,\n SpecsComparisonMenuItem,\n SpecsComparisonLeftMenuItem,\n} from './SpecsComparison/index.js'\nexport { default as MediaSceneSwitcher } from './MediaSceneSwitcher/index.js'\nexport type { MediaSceneSwitcherProps } from './MediaSceneSwitcher/types.js'\nexport { default as MediaSceneSwitcherV2 } from './MediaSceneSwitcherV2/index.js'\nexport type {\n MediaSceneSwitcherV2Props,\n MediaSceneSwitcherV2Data,\n MediaSceneSwitcherV2Item,\n MediaSceneSwitcherV2Layout,\n} from './MediaSceneSwitcherV2/index.js'\nexport { default as ThreeDCarousel } from './ThreeDCarousel/index.js'\nexport type { ThreeDCarouselProps } from './ThreeDCarousel/index.js'\nexport { default as ProductNav } from './ProductNav/index.js'\nexport type { ProductNavProps, TabLink, AnchorItem, BuyButton } from './ProductNav/index.js'\nexport { default as AnchorNavigation } from './AnchorNavigation/index.js'\nexport { default as PromotionalBar } from './PromotionalBar/index.js'\nexport { default as EventSchedule } from './EventSchedule/index.js'\nexport { default as SecondaryBanner } from './SecondaryBanner/index.js'\nexport { default as BuyOneGetOneShelf } from './BuyOneGetOneShelf/index.js'\nexport { default as ActiveShelf } from './ActiveShelf/index.js'\nexport { default as MediaShelf } from './MediaShelf/index.js'\nexport { default as CreditsShelf, CreditsProductCard } from './CreditsShelf/index.js'\nexport type {\n CreditsShelfSemanticName,\n CreditsProductCardData,\n CopyConfig as CreditsShelfCopyConfig,\n ButtonFunctionType as CreditsShelfButtonFunctionType,\n} from './CreditsShelf/index.js'\nexport { default as SceneShelf, SceneProductCard } from './SceneShelf/index.js'\nexport type { SceneShelfSemanticName, SceneProductCardData, SceneProductCardSemanticName } from './SceneShelf/index.js'\nexport { default as SceneShelfV2, SceneShelfV2ProductCard } from './SceneShelfV2/index.js'\nexport type {\n SceneShelfV2SemanticName,\n SceneShelfV2Data,\n SceneShelfV2Product,\n SceneShelfV2Props,\n} from './SceneShelfV2/index.js'\nexport { default as SceneShelfV3 } from './SceneShelfV3/index.js'\nexport type { SceneShelfV3Data, SceneShelfV3Props, ProductTab as SceneShelfV3ProductTab } from './SceneShelfV3/index.js'\nexport type {\n SceneShelfV3SemanticName,\n ProductCardData as SceneShelfV3ProductCardData,\n} from './SceneShelfV3/ProductCard.js'\n\nexport { default as MediaEndorsement } from './MediaEndorsement/index.js'\nexport type {\n MediaEndorsementProps,\n MediaEndorsementData,\n MediaEndorsementItem,\n MediaEndorsementSemanticName,\n} from './MediaEndorsement/index.js'\n\nexport { default as MediaTextOverlay } from './MediaTextOverlay/index.js'\nexport type {\n MediaTextOverlayProps,\n MediaTextOverlayData,\n MediaTextOverlayItem,\n MediaTextOverlaySemanticName,\n ResponsiveMedia,\n} from './MediaTextOverlay/index.js'\n\n// Copy configuration types and defaults\nexport type {\n CopyConfig as MediaShelfCopyConfig,\n ButtonFunctionType as MediaShelfButtonFunctionType,\n} from './MediaShelf/types.js'\nexport type { CopyConfig as ActiveShelfCopyConfig, ButtonFunctionType } from './ActiveShelf/types.js'\n\nexport {\n default as ImageOverlayShelf,\n type ButtonFunctionType as ImageOverlayShelfButtonFunctionType,\n} from './ImageOverlayShelf/index.js'\n\nexport { default as AccessoryShelf, AccessoryProductCard } from './AccessoriesShelf/components/AccessoryShelf/index.js'\nexport type {\n AccessoryShelfProps,\n AccessoryProductData,\n AccessoryCardSemanticName,\n AccessoryCopyConfig,\n AccessoryProductCardProps,\n} from './AccessoriesShelf/components/AccessoryShelf'\n\nexport { default as ImageTextOverlay } from './ImageTextOverlay/index.js'\nexport type {\n ImageTextOverlayProps,\n ImageTextOverlayData,\n ImageTextOverlayItem,\n ImageTextOverlaySemanticName,\n ImageTextOverlayBackgroundImage,\n} from './ImageTextOverlay/types.js'\n\n// MiniCart \u7EC4\u4EF6\u53CA\u7C7B\u578B\u5BFC\u51FA\nexport { default as MiniCart } from './MiniCart/index.js'\nexport type { Cart, CartLineItem, MiniCartData, MiniCartProps, CircleProgressConfig } from './MiniCart/index.js'\nexport { default as MiniCartCircleProgress } from './MiniCart/CircleProgress.js'\nexport type { CircleProgressProps as MiniCartCircleProgressProps } from './MiniCart/CircleProgress.js'\nexport { default as MiniCartDialog, MiniCartDialog as MiniCartDialogComponent } from './MiniCart/MiniCartDialog.js'\nexport type {\n MiniCartDialogProps,\n MiniCartDialogCopy,\n MiniCartDialogSemanticName,\n CartData,\n} from './MiniCart/MiniCartDialog.js'\n\n// \u2500\u2500\u2500 Web Push \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport { default as WebPushPopup } from './WebPushPopup/index.js'\nexport type { WebPushPopupProps } from './WebPushPopup/index.js'\nexport { useEmarsysWebPush } from '../hooks/useEmarsysWebPush.js'\nexport type {\n UseEmarsysWebPushOptions,\n UseEmarsysWebPushReturn,\n EmarsysContactInfo,\n EmarsysInitConfig,\n} from '../hooks/useEmarsysWebPush.js'\n\n/**\n * \u7EC4\u4EF6\u6620\u5C04\u5BF9\u8C61\n * \u5C06 CMS block type \u6620\u5C04\u5230\u53EF\u76F4\u63A5\u6E32\u67D3\u7684\u9759\u6001\u7EC4\u4EF6\u540D\u79F0\u3002\n * \u53EA\u6709\u5F00\u7BB1\u5373\u7528\u3001\u65E0\u9700\u6D88\u8D39\u8005\u4E8C\u6B21\u5C01\u88C5\u7684\u7EC4\u4EF6\u624D\u5E94\u52A0\u5165\u6B64\u6620\u5C04\u3002\n */\nexport const PAYLOAD_COMPONENT_MAP = {\n 'ipc-accordioncards': 'AccordionCards',\n 'ipc-aplusdesc': 'AplusDesc',\n 'ipc-banner': 'HeroBanner',\n 'ipc-brand-equity': 'BrandEquity',\n 'ipc-category': 'Category',\n 'ipc-collection-banner': 'CollectionBanner',\n 'ipc-collection-shelves': 'CollectionShelves',\n 'ipc-creativemodule': 'CreativeModule',\n 'ipc-download': 'DownLoad',\n 'ipc-evaluate': 'Evaluate',\n 'ipc-faq': 'Faq',\n 'ipc-features': 'Features',\n 'ipc-footcharger': 'FootCharger',\n 'ipc-ga-block': 'GraphicAttractionBlock',\n 'ipc-giftbox': 'GiftBox',\n 'ipc-giftshelf': 'GiftShelf',\n 'ipc-graphic': 'Graphic',\n 'ipc-graphicmore': 'GraphicMore',\n 'ipc-graphicoverlay': 'GraphicOverlay',\n 'ipc-marquee': 'Marquee',\n 'ipc-mediaplayerbase': 'MediaPlayerBase',\n 'ipc-mediaplayermulti': 'MediaPlayerMulti',\n 'ipc-mediaplayersticky': 'MediaPlayerSticky',\n 'ipc-member-equity': 'MemberEquity',\n 'ipc-mlg-block': 'MultiLayoutGraphicBlock',\n 'ipc-search-page-tabs': 'SearchPageBlock',\n 'ipc-selectstore': 'SelectStore',\n 'ipc-shelfdisplay': 'ShelfDisplay',\n 'ipc-shelfdisplay-horizontal': 'ShelfDisplayHorizontal',\n 'ipc-slogan': 'Slogan',\n 'ipc-spacer': 'Spacer',\n 'ipc-specs': 'Specs',\n 'ipc-tabs': 'Tabs',\n 'ipc-text-marquee': 'TextMarquee',\n 'ipc-title': 'Title',\n 'ipc-whychoose': 'WhyChoose',\n 'ipc-product-nav': 'ProductNav',\n 'ipc-brand-card-link': 'BrandCardLink',\n 'ipc-ipredirect': 'IPRedirect',\n ksp: 'Ksp',\n 'ipc-secondary-banner': 'SecondaryBanner',\n 'ipc-media-endorsement': 'MediaEndorsement',\n 'ipc-media-scene-switcher-v2': 'MediaSceneSwitcherV2',\n 'ipc-featured-blog-posts': 'FeaturedBlogPosts',\n 'ipc-media-text-overlay': 'MediaTextOverlay',\n ProductCompare: 'ProductCompare',\n}\n\n// Cart Components\nexport {\n CartSummaryHeader,\n CartItemRow,\n CartGiftSection,\n CartPerksSection,\n CartThirdPartyBanner,\n CartPriceSummary,\n} from './CartDetail/index.js'\nexport type {\n CartSummaryHeaderProps,\n CartItemRowProps,\n CartGiftSectionProps,\n CartPerksSectionProps,\n CartPerk,\n CartThirdPartyProps,\n GiftOption,\n GiftSlotConfig,\n CartPriceSummaryProps,\n} from './CartDetail/index.js'\n// \u516C\u5F00\u5BFC\u51FA useAiuiContext hook\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport { useAiuiContext } from './AiuiProvider/index.js'\n\n// \u516C\u5F00\u5BFC\u51FA ContainerProps\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u4F7F\u7528\uFF09\nexport type { ContainerProps } from '../shared/Styles.js'\n\n// Modal components\nexport { default as ModalRegisterSubscribe } from './ModalRegisterSubscribe/index.js'\nexport { default as ModalSubscribeConfirm } from './ModalSubscribeConfirm/index.js'\nexport { default as ModalCoupon } from './ModalCoupon/index.js'\nexport { default as ModalSmsSubscribe } from './ModalSmsSubscribe/index.js'\nexport { default as ModalVerify } from './ModalVerify/index.js'\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export {\n AccessoriesProductGrid,\n SectionHeader,\n PromoBanner,\n MainProductArea,\n AddToCartSuccessPopover,\n} from './AccessoriesShelf/index.js'\nexport type {\n UserType,\n BannerConfig,\n BannerAction,\n AddToCartSuccessPopoverProps,\n AddToCartSuccessCopyConfig,\n AddToCartSuccessSemanticName,\n} from './AccessoriesShelf/index.js'\nexport { default as ActivitySchedule } from './ActivitySchedule/index.js'\nexport type { ActivityScheduleProps, ActivityScheduleData, ActivityScheduleItem } from './ActivitySchedule/types.js'\nexport { default as GiftShelf } from './GiftShelf/index.js'\nexport type {\n GiftShelfProps,\n GiftShelfData,\n GiftShelfItem,\n CountdownConfig,\n ResponsiveBackgroundImage as GiftShelfResponsiveBackgroundImage,\n} from './GiftShelf/types.js'\nexport { default as GiftTierShelf } from './GiftTierShelf/index.js'\nexport type { GiftTierShelfProps, GiftTierShelfData, GiftTierItem, GiftTierProduct } from './GiftTierShelf/types.js'\nexport { default as ActivityMechanism } from './ActivityMechanism/index.js'\nexport type {\n ActivityMechanismProps,\n ActivityMechanismItem,\n ActivityMechanismSemanticName,\n ResponsiveBackgroundImage,\n} from './ActivityMechanism/types.js'\nexport { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as Title } from './Title/index.js'\nexport { default as Spacer } from './Spacer/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as ShelfDisplayHorizontal } from './ShelfDisplayHorizontal/index.js'\nexport type {\n ShelfDisplayProps,\n ShelfDisplayType,\n ShelfDisplayItem,\n SocialEndorsementItem,\n} from './ShelfDisplay/shelfDisplay.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport { default as MediaPlayerBase } from './MediaPlayerBase/index.js'\nexport { default as MediaPlayerSticky } from './MediaPlayerSticky/index.js'\nexport { default as MediaPlayerMulti } from './MediaPlayerMulti/index.js'\nexport { default as Marquee } from './Marquee/index.js'\nexport { default as MarqueeReview } from './MarqueeReview/index.js'\nexport type { MarqueeReviewProps, MarqueeReviewData, ReviewItem } from './MarqueeReview/index.js'\nexport { default as WhyChoose } from './WhyChoose/index.js'\nexport { default as Faq } from './Faq/index.js'\nexport { MarqueeItem, MarqueeImageContent, MarqueeTextContent } from './Marquee/index.js'\nexport { default as MultiLayoutGraphicBlock } from './MultiLayoutGraphicBlock/index.js'\nexport type { MultiLayoutGraphicBlockProps } from './MultiLayoutGraphicBlock/index.js'\nexport { default as GraphicAttractionBlock } from './GraphicAttractionBlock/index.js'\nexport type { GraphicAttractionBlockProps } from './GraphicAttractionBlock/index.js'\nexport { default as HeaderNavigation } from './HeaderNavigation/index.js'\nexport { default as FooterNavigation } from './FooterNavigation/index.js'\nexport { default as SearchPage } from './SearchPage/index.js'\nexport type { SearchPageProps } from './SearchPage/types.js'\nexport { IPC_SEARCH_PAGE, SearchPageTabType } from './SearchPage/types.js'\n\nexport { withLayout } from '../shared/Styles.js'\nexport { default as AiuiProvider } from './AiuiProvider/index.js'\nexport { default as Tabs } from './Tabs/index.js'\nexport { default as SwiperBox } from './SwiperBox/index.js'\nexport { VideoModal } from './VideoModal/index.js'\nexport { default as CreativeModule } from './CreativeModule/index.js'\nexport { default as GraphicOverlay } from './GraphicOverlay/index.js'\nexport { default as Specs } from './Specs/index.js'\nexport { default as TabGroup } from './TabsGroup/index.js'\n\nexport { default as BizProductProvider, useBizProductContext } from './Listing/BizProductProvider.js'\nexport { default as PurchaseBar } from './Listing/components/PurchaseBar/index.js'\nexport { default as ProductActions } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport type { ProductActionsProps } from './Listing/components/PurchaseBar/ProductActions/index.js'\nexport { default as ProductBenefitsTabs } from './Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js'\nexport { default as ProductBenefits } from './Listing/components/ProductCard/ProductDetail/ProductBenefits/index.js'\nexport { default as ProductHighlight } from './Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js'\nexport { default as ProductFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js'\nexport { default as ProductFunctionFreeGift } from './Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift/index.js'\nexport type {\n ProductFunctionFreeGiftProps,\n FunctionFreeGiftItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductFunctionFreeGift'\n// export { default as ProductExchangePurchase } from './Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.js'\nexport { default as ProductOptions } from './Listing/components/ProductCard/ProductDetail/ProductOptions/index.js'\nexport { default as ProductBundle } from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport type {\n ProductBundleProps,\n BundleOption,\n BundleVariantItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductBundle/index.js'\nexport { default as ProductCoupon } from './Listing/components/ProductCard/ProductDetail/ProductCoupon/index.js'\nexport { default as ProductBanner } from './Listing/components/ProductCard/ProductDetail/ProductBanner/index.js'\nexport { default as ProductGridBox } from './Listing/components/ProductCard/ProductGridBox.js'\nexport { default as ProductGallery } from './Listing/components/ProductCard/ProductGallery/index.js'\nexport { default as ProductSummary } from './Listing/components/ProductCard/ProductSummary/index.js'\nexport { default as BenefitsTab } from './Listing/components/ProductCard/ProductDetail/BenefitsTab.js'\nexport { default as CreditCouponRedeem } from './Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.js'\nexport type {\n CreditCouponRedeemProps,\n CreditCouponRuleData,\n RedeemStatus,\n} from './Listing/components/ProductCard/ProductDetail/CreditCouponRedeem/index.js'\nexport { default as PaidShipping } from './Listing/components/PaidShipping/index.js'\nexport { default as CartActionButtons } from './Listing/components/CartActionButtons/index.js'\nexport type { CartActionButtonsProps } from './Listing/components/CartActionButtons/index.js'\nexport { NotifyMeDialog } from './NotifyMeDialog/index.js'\nexport type { NotifyMeDialogProps, CheckboxConfig, SubscriptionMeta } from './NotifyMeDialog/types.js'\nexport { default as ProductServiceBenefits } from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport type {\n ProductServiceBenefitsProps,\n ServiceBenefitItem,\n} from './Listing/components/ProductCard/ProductDetail/ProductServiceBenefits/index.js'\nexport { default as ProductPaidShipping } from './Listing/components/ProductCard/ProductPaidShipping/index.js'\n\nexport { default as GraphicMore } from './GraphicMore/index.js'\nexport { default as Features } from './Features/index.js'\nexport { default as AplusDesc } from './AplusDesc/index.js'\nexport { default as GiftBox } from './GiftBox/index.js'\nexport { default as SelectStore } from './SelectStore/index.js'\nexport { default as DownLoad } from './DownLoad/index.js'\nexport { default as FootCharger } from './FootCharger/index.js'\nexport { default as BrandCardLink } from './BrandCardLink/index.js'\nexport type { BrandCardLinkProps, BrandCardLinkItemProps } from './BrandCardLink/types.js'\n\nexport * as IPRedirect from './IPRedirect/index.js'\n\nexport { default as WheelLottery } from './WheelLottery/index.js'\nexport type {\n WheelLotteryProps,\n WheelLotteryHandle,\n Prize,\n ChanceMethod,\n WinningInfo,\n UserData,\n} from './WheelLottery/types.js'\nexport { default as ProductLottery } from './ProductLottery/index.js'\nexport type { ProductLotteryProps, ProductLotteryHandle, MediaConfig, CtaButtonConfig } from './ProductLottery/types.js'\nexport { default as ProductCompare } from './ProductCompare/index.js'\nexport type { ProductCompareProps, ProductItemData } from './ProductCompare/index.js'\nexport { default as Ksp } from './Ksp/index.js'\nexport type { KspProps, KspData, KspCardItem } from './Ksp/index.js'\nexport { default as ImageTextFeature } from './ImageTextFeature/index.js'\nexport type { ImageTextFeatureProps, ImageTextFeatureItem } from './ImageTextFeature/index.js'\nexport { default as FeatureCards } from './FeatureCards/index.js'\nexport type { FeatureCardsProps, FeatureCardItem } from './FeatureCards/index.js'\nexport { default as FeaturedBlogPosts } from './FeaturedBlogPosts/index.js'\nexport type {\n FeaturedBlogPostsProps,\n FeaturedBlogPostsData,\n FeaturedBlogPostItem,\n FeaturedBlogPostSpan,\n} from './FeaturedBlogPosts/index.js'\nexport { default as ImageWithText } from './ImageWithText/index.js'\nexport type { ImageWithTextProps } from './ImageWithText/index.js'\nexport { default as VideoFeature } from './VideoFeature/index.js'\nexport type { VideoFeatureProps } from './VideoFeature/index.js'\nexport { default as TabsWithMedia } from './TabsWithMedia/index.js'\nexport type { TabsWithMediaProps, TabItem, TimeIndex } from './TabsWithMedia/index.js'\nexport { default as TabWithImage } from './TabWithImage/index.js'\nexport type { TabWithImageProps, TabWithImageDataItem } from './TabWithImage/index.js'\nexport { default as FeatureShowcase } from './FeatureShowcase/index.js'\nexport type { FeatureShowcaseProps, FeatureShowcaseItem } from './FeatureShowcase/index.js'\nexport { default as ProductHero } from './ProductHero/index.js'\nexport type { ProductHeroProps } from './ProductHero/index.js'\nexport { default as SpecsComparison } from './SpecsComparison/index.js'\nexport type {\n SpecsComparisonProps,\n SpecsComparisonMenuItem,\n SpecsComparisonLeftMenuItem,\n} from './SpecsComparison/index.js'\nexport { default as MediaSceneSwitcher } from './MediaSceneSwitcher/index.js'\nexport type { MediaSceneSwitcherProps } from './MediaSceneSwitcher/types.js'\nexport { default as MediaSceneSwitcherV2 } from './MediaSceneSwitcherV2/index.js'\nexport type {\n MediaSceneSwitcherV2Props,\n MediaSceneSwitcherV2Data,\n MediaSceneSwitcherV2Item,\n MediaSceneSwitcherV2Layout,\n} from './MediaSceneSwitcherV2/index.js'\nexport { default as ThreeDCarousel } from './ThreeDCarousel/index.js'\nexport type { ThreeDCarouselProps } from './ThreeDCarousel/index.js'\nexport { default as ProductNav } from './ProductNav/index.js'\nexport type { ProductNavProps, TabLink, AnchorItem, BuyButton } from './ProductNav/index.js'\nexport { default as AnchorNavigation } from './AnchorNavigation/index.js'\nexport { default as PromotionalBar } from './PromotionalBar/index.js'\nexport { default as EventSchedule } from './EventSchedule/index.js'\nexport { default as SecondaryBanner } from './SecondaryBanner/index.js'\nexport { default as BuyOneGetOneShelf } from './BuyOneGetOneShelf/index.js'\nexport type { ButtonFunctionType as BuyOneGetOneShelfButtonFunctionType } from './BuyOneGetOneShelf/types.js'\nexport { default as ActiveShelf } from './ActiveShelf/index.js'\nexport { default as MediaShelf } from './MediaShelf/index.js'\nexport { default as CreditsShelf, CreditsProductCard } from './CreditsShelf/index.js'\nexport type {\n CreditsShelfSemanticName,\n CreditsProductCardData,\n CopyConfig as CreditsShelfCopyConfig,\n ButtonFunctionType as CreditsShelfButtonFunctionType,\n} from './CreditsShelf/index.js'\nexport { default as SceneShelf, SceneProductCard } from './SceneShelf/index.js'\nexport type { SceneShelfSemanticName, SceneProductCardData, SceneProductCardSemanticName } from './SceneShelf/index.js'\nexport { default as SceneShelfV2, SceneShelfV2ProductCard } from './SceneShelfV2/index.js'\nexport type {\n SceneShelfV2SemanticName,\n SceneShelfV2Data,\n SceneShelfV2Product,\n SceneShelfV2Props,\n} from './SceneShelfV2/index.js'\nexport { default as SceneShelfV3 } from './SceneShelfV3/index.js'\nexport type { SceneShelfV3Data, SceneShelfV3Props, ProductTab as SceneShelfV3ProductTab } from './SceneShelfV3/index.js'\nexport type {\n SceneShelfV3SemanticName,\n ProductCardData as SceneShelfV3ProductCardData,\n} from './SceneShelfV3/ProductCard.js'\n\nexport { default as MediaEndorsement } from './MediaEndorsement/index.js'\nexport type {\n MediaEndorsementProps,\n MediaEndorsementData,\n MediaEndorsementItem,\n MediaEndorsementSemanticName,\n} from './MediaEndorsement/index.js'\n\nexport { default as MediaTextOverlay } from './MediaTextOverlay/index.js'\nexport type {\n MediaTextOverlayProps,\n MediaTextOverlayData,\n MediaTextOverlayItem,\n MediaTextOverlaySemanticName,\n ResponsiveMedia,\n} from './MediaTextOverlay/index.js'\n\n// Copy configuration types and defaults\nexport type {\n CopyConfig as MediaShelfCopyConfig,\n ButtonFunctionType as MediaShelfButtonFunctionType,\n} from './MediaShelf/types.js'\nexport type { CopyConfig as ActiveShelfCopyConfig, ButtonFunctionType } from './ActiveShelf/types.js'\n\nexport {\n default as ImageOverlayShelf,\n type ButtonFunctionType as ImageOverlayShelfButtonFunctionType,\n} from './ImageOverlayShelf/index.js'\n\nexport { default as AccessoryShelf, AccessoryProductCard } from './AccessoriesShelf/components/AccessoryShelf/index.js'\nexport type {\n AccessoryShelfProps,\n AccessoryProductData,\n AccessoryCardSemanticName,\n AccessoryCopyConfig,\n AccessoryProductCardProps,\n} from './AccessoriesShelf/components/AccessoryShelf'\n\nexport { default as ImageTextOverlay } from './ImageTextOverlay/index.js'\nexport type {\n ImageTextOverlayProps,\n ImageTextOverlayData,\n ImageTextOverlayItem,\n ImageTextOverlaySemanticName,\n ImageTextOverlayBackgroundImage,\n} from './ImageTextOverlay/types.js'\n\n// MiniCart \u7EC4\u4EF6\u53CA\u7C7B\u578B\u5BFC\u51FA\nexport { default as MiniCart } from './MiniCart/index.js'\nexport type { Cart, CartLineItem, MiniCartData, MiniCartProps, CircleProgressConfig } from './MiniCart/index.js'\nexport { default as MiniCartCircleProgress } from './MiniCart/CircleProgress.js'\nexport type { CircleProgressProps as MiniCartCircleProgressProps } from './MiniCart/CircleProgress.js'\nexport { default as MiniCartDialog, MiniCartDialog as MiniCartDialogComponent } from './MiniCart/MiniCartDialog.js'\nexport type {\n MiniCartDialogProps,\n MiniCartDialogCopy,\n MiniCartDialogSemanticName,\n CartData,\n} from './MiniCart/MiniCartDialog.js'\n\n// \u2500\u2500\u2500 Web Push \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nexport { default as WebPushPopup } from './WebPushPopup/index.js'\nexport type { WebPushPopupProps } from './WebPushPopup/index.js'\nexport { useEmarsysWebPush } from '../hooks/useEmarsysWebPush.js'\nexport type {\n UseEmarsysWebPushOptions,\n UseEmarsysWebPushReturn,\n EmarsysContactInfo,\n EmarsysInitConfig,\n} from '../hooks/useEmarsysWebPush.js'\n\n/**\n * \u7EC4\u4EF6\u6620\u5C04\u5BF9\u8C61\n * \u5C06 CMS block type \u6620\u5C04\u5230\u53EF\u76F4\u63A5\u6E32\u67D3\u7684\u9759\u6001\u7EC4\u4EF6\u540D\u79F0\u3002\n * \u53EA\u6709\u5F00\u7BB1\u5373\u7528\u3001\u65E0\u9700\u6D88\u8D39\u8005\u4E8C\u6B21\u5C01\u88C5\u7684\u7EC4\u4EF6\u624D\u5E94\u52A0\u5165\u6B64\u6620\u5C04\u3002\n */\nexport const PAYLOAD_COMPONENT_MAP = {\n 'ipc-accordioncards': 'AccordionCards',\n 'ipc-aplusdesc': 'AplusDesc',\n 'ipc-banner': 'HeroBanner',\n 'ipc-brand-equity': 'BrandEquity',\n 'ipc-category': 'Category',\n 'ipc-collection-banner': 'CollectionBanner',\n 'ipc-collection-shelves': 'CollectionShelves',\n 'ipc-creativemodule': 'CreativeModule',\n 'ipc-download': 'DownLoad',\n 'ipc-evaluate': 'Evaluate',\n 'ipc-faq': 'Faq',\n 'ipc-features': 'Features',\n 'ipc-footcharger': 'FootCharger',\n 'ipc-ga-block': 'GraphicAttractionBlock',\n 'ipc-giftbox': 'GiftBox',\n 'ipc-giftshelf': 'GiftShelf',\n 'ipc-graphic': 'Graphic',\n 'ipc-graphicmore': 'GraphicMore',\n 'ipc-graphicoverlay': 'GraphicOverlay',\n 'ipc-marquee': 'Marquee',\n 'ipc-mediaplayerbase': 'MediaPlayerBase',\n 'ipc-mediaplayermulti': 'MediaPlayerMulti',\n 'ipc-mediaplayersticky': 'MediaPlayerSticky',\n 'ipc-member-equity': 'MemberEquity',\n 'ipc-mlg-block': 'MultiLayoutGraphicBlock',\n 'ipc-search-page-tabs': 'SearchPageBlock',\n 'ipc-selectstore': 'SelectStore',\n 'ipc-shelfdisplay': 'ShelfDisplay',\n 'ipc-shelfdisplay-horizontal': 'ShelfDisplayHorizontal',\n 'ipc-slogan': 'Slogan',\n 'ipc-spacer': 'Spacer',\n 'ipc-specs': 'Specs',\n 'ipc-tabs': 'Tabs',\n 'ipc-text-marquee': 'TextMarquee',\n 'ipc-title': 'Title',\n 'ipc-whychoose': 'WhyChoose',\n 'ipc-product-nav': 'ProductNav',\n 'ipc-brand-card-link': 'BrandCardLink',\n 'ipc-ipredirect': 'IPRedirect',\n ksp: 'Ksp',\n 'ipc-secondary-banner': 'SecondaryBanner',\n 'ipc-media-endorsement': 'MediaEndorsement',\n 'ipc-media-scene-switcher-v2': 'MediaSceneSwitcherV2',\n 'ipc-featured-blog-posts': 'FeaturedBlogPosts',\n 'ipc-media-text-overlay': 'MediaTextOverlay',\n ProductCompare: 'ProductCompare',\n}\n\n// Cart Components\nexport {\n CartSummaryHeader,\n CartItemRow,\n CartGiftSection,\n CartPerksSection,\n CartThirdPartyBanner,\n CartPriceSummary,\n} from './CartDetail/index.js'\nexport type {\n CartSummaryHeaderProps,\n CartItemRowProps,\n CartGiftSectionProps,\n CartPerksSectionProps,\n CartPerk,\n CartThirdPartyProps,\n GiftOption,\n GiftSlotConfig,\n CartPriceSummaryProps,\n} from './CartDetail/index.js'\n// \u516C\u5F00\u5BFC\u51FA useAiuiContext hook\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u6D88\u8D39\u8005\u4F7F\u7528\uFF09\nexport { useAiuiContext } from './AiuiProvider/index.js'\n\n// \u516C\u5F00\u5BFC\u51FA ContainerProps\uFF08\u4F9B Registry \u5206\u53D1\u7684 biz-components \u4F7F\u7528\uFF09\nexport type { ContainerProps } from '../shared/Styles.js'\n\n// Modal components\nexport { default as ModalRegisterSubscribe } from './ModalRegisterSubscribe/index.js'\nexport { default as ModalSubscribeConfirm } from './ModalSubscribeConfirm/index.js'\nexport { default as ModalCoupon } from './ModalCoupon/index.js'\nexport { default as ModalSmsSubscribe } from './ModalSmsSubscribe/index.js'\nexport { default as ModalVerify } from './ModalVerify/index.js'\n"],
5
+ "mappings": "AAAA,OACE,0BAAAA,EACA,iBAAAC,EACA,eAAAC,EACA,mBAAAC,EACA,2BAAAC,MACK,8BASP,OAAoB,WAAXC,MAAmC,8BAE5C,OAAoB,WAAXA,MAA4B,uBAQrC,OAAoB,WAAXA,MAAgC,2BAEzC,OAAoB,WAAXA,MAAoC,+BAO7C,OAAoB,WAAXA,MAA8B,yBACvC,OAAoB,WAAXA,MAA+B,0BACxC,OAAoB,WAAXA,MAAyB,oBAClC,OAAoB,WAAXA,MAAwB,mBACjC,OAAoB,WAAXA,MAAyB,oBAClC,OAAoB,WAAXA,MAA+B,0BACxC,OAAoB,WAAXA,MAAyC,oCAOlD,OAAoB,WAAXA,MAA2B,sBACpC,OAAoB,WAAXA,MAA2B,sBACpC,OAAoB,WAAXA,MAA6B,wBACtC,OAAoB,WAAXA,MAAiC,4BAC1C,OAAoB,WAAXA,MAA0B,qBACnC,OAAoB,WAAXA,MAAkC,6BAC3C,OAAoB,WAAXA,MAAoC,+BAC7C,OAAoB,WAAXA,MAAmC,8BAC5C,OAAoB,WAAXA,MAA0B,qBACnC,OAAoB,WAAXA,MAAgC,2BAEzC,OAAoB,WAAXA,MAA4B,uBACrC,OAAoB,WAAXA,MAAsB,iBAC/B,OAAS,eAAAC,GAAa,uBAAAC,GAAqB,sBAAAC,OAA0B,qBACrE,OAAoB,WAAXH,OAA0C,qCAEnD,OAAoB,WAAXA,OAAyC,oCAElD,OAAoB,WAAXA,OAAmC,8BAC5C,OAAoB,WAAXA,OAAmC,8BAC5C,OAAoB,WAAXA,OAA6B,wBAEtC,OAAS,mBAAAI,GAAiB,qBAAAC,OAAyB,wBAEnD,OAAS,cAAAC,OAAkB,sBAC3B,OAAoB,WAAXN,OAA+B,0BACxC,OAAoB,WAAXA,OAAuB,kBAChC,OAAoB,WAAXA,OAA4B,uBACrC,OAAS,cAAAO,OAAkB,wBAC3B,OAAoB,WAAXP,OAAiC,4BAC1C,OAAoB,WAAXA,OAAiC,4BAC1C,OAAoB,WAAXA,OAAwB,mBACjC,OAAoB,WAAXA,OAA2B,uBAEpC,OAAoB,WAAXA,GAA+B,wBAAAQ,OAA4B,kCACpE,OAAoB,WAAXR,OAA8B,4CACvC,OAAoB,WAAXA,OAAiC,2DAE1C,OAAoB,WAAXA,OAAsC,8EAC/C,OAAoB,WAAXA,OAAkC,0EAC3C,OAAoB,WAAXA,OAAmC,2EAC5C,OAAoB,WAAXA,OAAkC,0EAC3C,OAAoB,WAAXA,OAA0C,kFAMnD,OAAoB,WAAXA,OAAiC,yEAC1C,OAAoB,WAAXA,OAAgC,wEAMzC,OAAoB,WAAXA,OAAgC,wEACzC,OAAoB,WAAXA,OAAgC,wEACzC,OAAoB,WAAXA,OAAiC,qDAC1C,OAAoB,WAAXA,OAAiC,2DAC1C,OAAoB,WAAXA,OAAiC,2DAC1C,OAAoB,WAAXA,OAA8B,gEACvC,OAAoB,WAAXA,OAAqC,6EAM9C,OAAoB,WAAXA,OAA+B,6CACxC,OAAoB,WAAXA,OAAoC,kDAE7C,OAAS,kBAAAS,OAAsB,4BAE/B,OAAoB,WAAXT,OAAyC,iFAKlD,OAAoB,WAAXA,OAAsC,gEAE/C,OAAoB,WAAXA,OAA8B,yBACvC,OAAoB,WAAXA,OAA2B,sBACpC,OAAoB,WAAXA,OAA4B,uBACrC,OAAoB,WAAXA,OAA0B,qBACnC,OAAoB,WAAXA,OAA8B,yBACvC,OAAoB,WAAXA,OAA2B,sBACpC,OAAoB,WAAXA,OAA8B,yBACvC,OAAoB,WAAXA,OAAgC,2BAGzC,UAAYU,OAAgB,wBAE5B,OAAoB,WAAXV,OAA+B,0BASxC,OAAoB,WAAXA,OAAiC,4BAE1C,OAAoB,WAAXA,OAAiC,4BAE1C,OAAoB,WAAXA,OAAsB,iBAE/B,OAAoB,WAAXA,OAAmC,8BAE5C,OAAoB,WAAXA,OAA+B,0BAExC,OAAoB,WAAXA,OAAoC,+BAO7C,OAAoB,WAAXA,OAAgC,2BAEzC,OAAoB,WAAXA,OAA+B,0BAExC,OAAoB,WAAXA,OAAgC,2BAEzC,OAAoB,WAAXA,OAA+B,0BAExC,OAAoB,WAAXA,OAAkC,6BAE3C,OAAoB,WAAXA,OAA8B,yBAEvC,OAAoB,WAAXA,OAAkC,6BAM3C,OAAoB,WAAXA,OAAqC,gCAE9C,OAAoB,WAAXA,OAAuC,kCAOhD,OAAoB,WAAXA,OAAiC,4BAE1C,OAAoB,WAAXA,OAA6B,wBAEtC,OAAoB,WAAXA,OAAmC,8BAC5C,OAAoB,WAAXA,OAAiC,4BAC1C,OAAoB,WAAXA,OAAgC,2BACzC,OAAoB,WAAXA,OAAkC,6BAC3C,OAAoB,WAAXA,OAAoC,+BAE7C,OAAoB,WAAXA,OAA8B,yBACvC,OAAoB,WAAXA,OAA6B,wBACtC,OAAoB,WAAXA,GAAyB,sBAAAW,OAA0B,0BAO5D,OAAoB,WAAXX,GAAuB,oBAAAY,OAAwB,wBAExD,OAAoB,WAAXZ,GAAyB,2BAAAa,OAA+B,0BAOjE,OAAoB,WAAXb,OAA+B,0BAOxC,OAAoB,WAAXA,OAAmC,8BAQ5C,OAAoB,WAAXA,OAAmC,8BAgB5C,OACa,WAAXA,OAEK,+BAEP,OAAoB,WAAXA,GAA2B,wBAAAc,OAA4B,wDAShE,OAAoB,WAAXd,OAAmC,8BAU5C,OAAoB,WAAXA,OAA2B,sBAEpC,OAAoB,WAAXA,OAAyC,+BAElD,OAAoB,WAAXA,GAA6C,kBAAlBe,OAAiD,+BASrF,OAAoB,WAAXf,OAA+B,0BAExC,OAAS,qBAAAgB,OAAyB,gCAa3B,MAAMC,EAAwB,CACnC,qBAAsB,iBACtB,gBAAiB,YACjB,aAAc,aACd,mBAAoB,cACpB,eAAgB,WAChB,wBAAyB,mBACzB,yBAA0B,oBAC1B,qBAAsB,iBACtB,eAAgB,WAChB,eAAgB,WAChB,UAAW,MACX,eAAgB,WAChB,kBAAmB,cACnB,eAAgB,yBAChB,cAAe,UACf,gBAAiB,YACjB,cAAe,UACf,kBAAmB,cACnB,qBAAsB,iBACtB,cAAe,UACf,sBAAuB,kBACvB,uBAAwB,mBACxB,wBAAyB,oBACzB,oBAAqB,eACrB,gBAAiB,0BACjB,uBAAwB,kBACxB,kBAAmB,cACnB,mBAAoB,eACpB,8BAA+B,yBAC/B,aAAc,SACd,aAAc,SACd,YAAa,QACb,WAAY,OACZ,mBAAoB,cACpB,YAAa,QACb,gBAAiB,YACjB,kBAAmB,aACnB,sBAAuB,gBACvB,iBAAkB,aAClB,IAAK,MACL,uBAAwB,kBACxB,wBAAyB,mBACzB,8BAA+B,uBAC/B,0BAA2B,oBAC3B,yBAA0B,mBAC1B,eAAgB,gBAClB,EAGA,OACE,qBAAAC,GACA,eAAAC,GACA,mBAAAC,GACA,oBAAAC,GACA,wBAAAC,GACA,oBAAAC,OACK,wBAaP,OAAS,kBAAAC,OAAsB,0BAM/B,OAAoB,WAAXxB,OAAyC,oCAClD,OAAoB,WAAXA,OAAwC,mCACjD,OAAoB,WAAXA,OAA8B,yBACvC,OAAoB,WAAXA,OAAoC,+BAC7C,OAAoB,WAAXA,OAA8B",
6
6
  "names": ["AccessoriesProductGrid", "SectionHeader", "PromoBanner", "MainProductArea", "AddToCartSuccessPopover", "default", "MarqueeItem", "MarqueeImageContent", "MarqueeTextContent", "IPC_SEARCH_PAGE", "SearchPageTabType", "withLayout", "VideoModal", "useBizProductContext", "NotifyMeDialog", "IPRedirect", "CreditsProductCard", "SceneProductCard", "SceneShelfV2ProductCard", "AccessoryProductCard", "MiniCartDialog", "useEmarsysWebPush", "PAYLOAD_COMPONENT_MAP", "CartSummaryHeader", "CartItemRow", "CartGiftSection", "CartPerksSection", "CartThirdPartyBanner", "CartPriceSummary", "useAiuiContext"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anker-in/headless-ui",
3
- "version": "1.3.62",
3
+ "version": "1.3.63",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",