@anker-in/headless-ui 1.1.81 → 1.1.83

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 (171) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +1 -36
  2. package/dist/cjs/biz-components/ActivitySchedule/index.d.ts +1 -3
  3. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +1 -13
  4. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  5. package/dist/cjs/biz-components/AiuiProvider/index.js.map +3 -3
  6. package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +1 -1
  7. package/dist/cjs/biz-components/AplusDesc/index.d.ts +1 -17
  8. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -2
  9. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +1 -2
  10. package/dist/cjs/biz-components/Category/index.d.ts +1 -1
  11. package/dist/cjs/biz-components/CreativeModule/index.d.ts +1 -7
  12. package/dist/cjs/biz-components/DownLoad/index.d.ts +1 -6
  13. package/dist/cjs/biz-components/Evaluate/index.d.ts +1 -1
  14. package/dist/cjs/biz-components/Faq/Faq.d.ts +2 -3
  15. package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +1 -3
  16. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -3
  17. package/dist/cjs/biz-components/Features/index.d.ts +1 -8
  18. package/dist/cjs/biz-components/FootCharger/index.d.ts +1 -7
  19. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +1 -2
  20. package/dist/cjs/biz-components/GiftBox/index.d.ts +1 -3
  21. package/dist/cjs/biz-components/GiftShelf/index.d.ts +1 -3
  22. package/dist/cjs/biz-components/GiftTierShelf/index.d.ts +1 -3
  23. package/dist/cjs/biz-components/Graphic/index.d.ts +1 -1
  24. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +1 -1
  25. package/dist/cjs/biz-components/GraphicMore/index.d.ts +1 -7
  26. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -10
  27. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +1 -3
  28. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +1 -5
  29. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -3
  30. package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +1 -3
  31. package/dist/cjs/biz-components/Ksp/index.d.ts +1 -1
  32. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +1 -11
  33. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -26
  34. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
  35. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
  36. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
  37. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
  38. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
  39. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
  40. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -11
  41. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
  42. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -2
  43. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +2 -3
  44. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +1 -1
  45. package/dist/cjs/biz-components/MediaEndorsement/index.d.ts +1 -2
  46. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +1 -2
  47. package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
  48. package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +2 -2
  49. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +1 -2
  50. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +1 -5
  51. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -2
  52. package/dist/cjs/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
  53. package/dist/cjs/biz-components/MemberEquity/index.d.ts +1 -3
  54. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -17
  55. package/dist/cjs/biz-components/NavigationSearch/index.d.ts +1 -2
  56. package/dist/cjs/biz-components/ProductCompare/index.d.ts +1 -1
  57. package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +1 -3
  58. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +1 -2
  59. package/dist/cjs/biz-components/PromotionalBar/index.d.ts +1 -1
  60. package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +1 -1
  61. package/dist/cjs/biz-components/SecondaryBanner/index.js +1 -1
  62. package/dist/cjs/biz-components/SecondaryBanner/index.js.map +3 -3
  63. package/dist/cjs/biz-components/SelectStore/index.d.ts +1 -7
  64. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +1 -3
  65. package/dist/cjs/biz-components/Slogan/index.d.ts +1 -3
  66. package/dist/cjs/biz-components/Spacer/index.d.ts +1 -3
  67. package/dist/cjs/biz-components/Specs/index.d.ts +1 -1
  68. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -3
  69. package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +1 -3
  70. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +1 -3
  71. package/dist/cjs/biz-components/TabsGroup/index.d.ts +1 -3
  72. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -3
  73. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -3
  74. package/dist/cjs/biz-components/Title/index.d.ts +1 -1
  75. package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +1 -3
  76. package/dist/cjs/biz-components/WheelLottery/index.d.ts +1 -1
  77. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +2 -3
  78. package/dist/cjs/helpers/ScrollLoadVideo.js +1 -1
  79. package/dist/cjs/helpers/ScrollLoadVideo.js.map +2 -2
  80. package/dist/cjs/shared/Styles.d.ts +1 -2
  81. package/dist/cjs/shared/Styles.js +1 -1
  82. package/dist/cjs/shared/Styles.js.map +2 -2
  83. package/dist/esm/biz-components/AccordionCards/index.d.ts +1 -36
  84. package/dist/esm/biz-components/ActivitySchedule/index.d.ts +1 -3
  85. package/dist/esm/biz-components/AiuiProvider/index.d.ts +1 -13
  86. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  87. package/dist/esm/biz-components/AiuiProvider/index.js.map +3 -3
  88. package/dist/esm/biz-components/AnchorNavigation/index.d.ts +1 -1
  89. package/dist/esm/biz-components/AplusDesc/index.d.ts +1 -17
  90. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +1 -2
  91. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +1 -2
  92. package/dist/esm/biz-components/Category/index.d.ts +1 -1
  93. package/dist/esm/biz-components/CreativeModule/index.d.ts +1 -7
  94. package/dist/esm/biz-components/DownLoad/index.d.ts +1 -6
  95. package/dist/esm/biz-components/Evaluate/index.d.ts +1 -1
  96. package/dist/esm/biz-components/Faq/Faq.d.ts +2 -3
  97. package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +1 -3
  98. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +1 -3
  99. package/dist/esm/biz-components/Features/index.d.ts +1 -8
  100. package/dist/esm/biz-components/FootCharger/index.d.ts +1 -7
  101. package/dist/esm/biz-components/FooterNavigation/index.d.ts +1 -2
  102. package/dist/esm/biz-components/GiftBox/index.d.ts +1 -3
  103. package/dist/esm/biz-components/GiftShelf/index.d.ts +1 -3
  104. package/dist/esm/biz-components/GiftTierShelf/index.d.ts +1 -3
  105. package/dist/esm/biz-components/Graphic/index.d.ts +1 -1
  106. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +1 -1
  107. package/dist/esm/biz-components/GraphicMore/index.d.ts +1 -7
  108. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -10
  109. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +1 -3
  110. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +1 -5
  111. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +1 -3
  112. package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +1 -3
  113. package/dist/esm/biz-components/Ksp/index.d.ts +1 -1
  114. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +1 -11
  115. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +1 -26
  116. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +1 -1
  117. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +1 -1
  118. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +1 -1
  119. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +1 -1
  120. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +1 -1
  121. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +1 -1
  122. package/dist/esm/biz-components/Listing/components/ProductCard/ProductPaidShipping/index.d.ts +1 -11
  123. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +1 -1
  124. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +1 -2
  125. package/dist/esm/biz-components/Marquee/Marquee.d.ts +2 -3
  126. package/dist/esm/biz-components/MarqueeReview/index.d.ts +1 -1
  127. package/dist/esm/biz-components/MediaEndorsement/index.d.ts +1 -2
  128. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +1 -2
  129. package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
  130. package/dist/esm/biz-components/MediaPlayerBase/index.js.map +2 -2
  131. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +1 -2
  132. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +1 -5
  133. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +1 -2
  134. package/dist/esm/biz-components/MediaSceneSwitcherV2/index.d.ts +1 -1
  135. package/dist/esm/biz-components/MemberEquity/index.d.ts +1 -3
  136. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -17
  137. package/dist/esm/biz-components/NavigationSearch/index.d.ts +1 -2
  138. package/dist/esm/biz-components/ProductCompare/index.d.ts +1 -1
  139. package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +1 -3
  140. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +1 -2
  141. package/dist/esm/biz-components/PromotionalBar/index.d.ts +1 -1
  142. package/dist/esm/biz-components/SecondaryBanner/index.d.ts +1 -1
  143. package/dist/esm/biz-components/SecondaryBanner/index.js +1 -1
  144. package/dist/esm/biz-components/SecondaryBanner/index.js.map +2 -2
  145. package/dist/esm/biz-components/SelectStore/index.d.ts +1 -7
  146. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +1 -3
  147. package/dist/esm/biz-components/Slogan/index.d.ts +1 -3
  148. package/dist/esm/biz-components/Spacer/index.d.ts +1 -3
  149. package/dist/esm/biz-components/Specs/index.d.ts +1 -1
  150. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +1 -3
  151. package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +1 -3
  152. package/dist/esm/biz-components/Tabs/Tabs.d.ts +1 -3
  153. package/dist/esm/biz-components/TabsGroup/index.d.ts +1 -3
  154. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +1 -3
  155. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +1 -3
  156. package/dist/esm/biz-components/Title/index.d.ts +1 -1
  157. package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +1 -3
  158. package/dist/esm/biz-components/WheelLottery/index.d.ts +1 -1
  159. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +2 -3
  160. package/dist/esm/helpers/ScrollLoadVideo.js +1 -1
  161. package/dist/esm/helpers/ScrollLoadVideo.js.map +2 -2
  162. package/dist/esm/shared/Styles.d.ts +1 -2
  163. package/dist/esm/shared/Styles.js +1 -1
  164. package/dist/esm/shared/Styles.js.map +2 -2
  165. package/package.json +1 -1
  166. package/dist/cjs/biz-components/AiuiProvider/useAutoTracking.d.ts +0 -17
  167. package/dist/cjs/biz-components/AiuiProvider/useAutoTracking.js +0 -2
  168. package/dist/cjs/biz-components/AiuiProvider/useAutoTracking.js.map +0 -7
  169. package/dist/esm/biz-components/AiuiProvider/useAutoTracking.d.ts +0 -17
  170. package/dist/esm/biz-components/AiuiProvider/useAutoTracking.js +0 -2
  171. package/dist/esm/biz-components/AiuiProvider/useAutoTracking.js.map +0 -7
@@ -1,2 +1,2 @@
1
- import{Fragment as j,jsx as a,jsxs as A}from"react/jsx-runtime";import g,{useMemo as p}from"react";import{simpleHash as h}from"./simpleHash.js";import $ from"./getKeyPropsString.js";import{Grid as w,GridItem as N}from"../components/grid.js";import{Container as x}from"../components/container.js";import L from"./ErrorBoundary.js";const T={12:"col-start-1 col-end-13",10:"col-start-2 col-end-12",8:"col-start-3 col-end-11",6:"col-start-4 col-end-10",4:"col-start-5 col-end-9"},k={12:"tablet:col-start-1 tablet:col-end-13",10:"tablet:col-start-2 tablet:col-end-12",8:"tablet:col-start-3 tablet:col-end-11",6:"tablet:col-start-4 tablet:col-end-10",4:"tablet:col-start-5 tablet:col-end-9"},m=t=>{const r=$(t);return`style_${h(r)}`},E=t=>{const{style:r,uid:n,disabled:o}=t;return{style:r,uid:n,disabled:o}},W=({style:t,uid:r=m({}),disabled:n=!1})=>!t||n?null:a("style",{suppressHydrationWarning:!0,"data-style-id":r,dangerouslySetInnerHTML:{__html:`.block-${r} { ${t} }`}}),_=(t,r)=>{const n=p(()=>t?.uid||m({...t,data:r}),[r,t]),o=p(()=>a(W,{...t,uid:n}),[t,n]);return{className:`block-${n} `,StyleComponent:o,uid:n}},O=t=>{const{desktopSpan:r,mobileSpan:n}=t?.container||{},o=n?T[n]:"",s=r?k[r]:"";return`${o} ${s}`.trim()},u=Symbol("withLayoutWrapped");function U(t,r){if(t[u])return t;const n=g.forwardRef((o,s)=>{const c=E(o),d=e=>e?typeof e=="string"?e:typeof e=="object"&&Object.entries(e).length<=0?"":Object.entries(e).map(([C,b])=>`${C.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${b}`).join("; ")+";":"",l=[r?.style,c?.style].map(d).filter(e=>!!e).map(e=>e.trim().endsWith(";")?e:`${e};`).join(" "),P={...r,...c,...l&&{style:l}},{className:y,StyleComponent:S}=_(P,o?.data),f=e=>a(x,{className:`${y} ${e?.className||""}`.trim(),children:a(w,{className:"container_grid",children:a(N,{className:O(e),children:a(t,{...e,ref:s})})})}),R=e=>a(t,{...e,className:`${y} ${e?.className||""||""}`.trim(),ref:s}),{style:B,...i}=o;return a(j,{children:A(L,{children:[S,Reflect.ownKeys(i?.container||{})?.length>0?f(i):R(i)]})})});return n.displayName=`WithLayout(${t.displayName||t.name||"Component"})`,n[u]=!0,n}export{E as getStylesProps,_ as useStyles,U as withLayout};
1
+ import{Fragment as G,jsx as o,jsxs as E}from"react/jsx-runtime";import $,{useMemo as m}from"react";import{simpleHash as R}from"./simpleHash.js";import N from"./getKeyPropsString.js";import{Grid as h,GridItem as w}from"../components/grid.js";import{Container as k}from"../components/container.js";import T from"./ErrorBoundary.js";const _={12:"col-start-1 col-end-13",10:"col-start-2 col-end-12",8:"col-start-3 col-end-11",6:"col-start-4 col-end-10",4:"col-start-5 col-end-9"},L={12:"tablet:col-start-1 tablet:col-end-13",10:"tablet:col-start-2 tablet:col-end-12",8:"tablet:col-start-3 tablet:col-end-11",6:"tablet:col-start-4 tablet:col-end-10",4:"tablet:col-start-5 tablet:col-end-9"},d=t=>{const n=N(t);return`style_${R(n)}`},O=t=>{const{style:n,uid:r,disabled:s}=t;return{style:n,uid:r,disabled:s}},x=({style:t,uid:n=d({}),disabled:r=!1})=>!t||r?null:o("style",{suppressHydrationWarning:!0,"data-style-id":n,dangerouslySetInnerHTML:{__html:`.block-${n} { ${t} }`}}),j=(t,n)=>{const r=m(()=>t?.uid||d({...t,data:n}),[n,t]),s=m(()=>o(x,{...t,uid:r}),[t,r]);return{className:`block-${r} `,StyleComponent:s,uid:r}},B=t=>{const{desktopSpan:n,mobileSpan:r}=t?.container||{},s=r?_[r]:"",a=n?L[n]:"";return`${s} ${a}`.trim()},u=Symbol("withLayoutWrapped");function U(t,n){if(t[u])return t;const r=$.forwardRef((s,a)=>{const i=O(s),S=e=>e?typeof e=="string"?e:typeof e=="object"&&Object.entries(e).length<=0?"":Object.entries(e).map(([f,C])=>`${f.replace(/([A-Z])/g,"-$1").toLowerCase()}: ${C}`).join("; ")+";":"",c=[n?.style,i?.style].map(S).filter(e=>!!e).map(e=>e.trim().endsWith(";")?e:`${e};`).join(" "),p={...n,...i,...c&&{style:c}},{className:y,StyleComponent:b}=j(p,s?.data),g=e=>o(k,{className:`${y} ${e?.className||""}`.trim(),children:o(h,{className:"container_grid",children:o(w,{className:B(e),children:o(t,{...e,ref:a})})})}),P=e=>o(t,{...e,className:`${y} ${e?.className||""||""}`.trim(),ref:a}),{style:I,...l}=s;return o(G,{children:E(T,{children:[b,Reflect.ownKeys(l?.container||{})?.length>0?g(l):P(l)]})})});return r.displayName=`WithLayout${t.displayName||t.name||"Component"}`,r[u]=!0,r}export{O as getStylesProps,j as useStyles,U as withLayout};
2
2
  //# sourceMappingURL=Styles.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/shared/Styles.tsx"],
4
- "sourcesContent": ["import React, { useMemo } from 'react'\nimport { simpleHash } from './simpleHash.js'\nimport getKeyPropsString from './getKeyPropsString.js'\nimport { Grid, GridItem } from '../components/grid.js'\nimport { Container } from '../components/container.js'\nimport ErrorBoundary from './ErrorBoundary.js'\n\nconst colContentClasses: Record<number, string> = {\n 12: 'col-start-1 col-end-13',\n 10: 'col-start-2 col-end-12',\n 8: 'col-start-3 col-end-11',\n 6: 'col-start-4 col-end-10',\n 4: 'col-start-5 col-end-9',\n} as const\n\n// \u9884\u5B9A\u4E49\u5E26 tablet \u524D\u7F00\u7684\u7C7B\u540D\uFF0C\u786E\u4FDD Tailwind \u53EF\u4EE5\u8BC6\u522B\nconst colContentClassesTablet: Record<number, string> = {\n 12: 'tablet:col-start-1 tablet:col-end-13',\n 10: 'tablet:col-start-2 tablet:col-end-12',\n 8: 'tablet:col-start-3 tablet:col-end-11',\n 6: 'tablet:col-start-4 tablet:col-end-10',\n 4: 'tablet:col-start-5 tablet:col-end-9',\n} as const\n\nexport interface ContainerProps {\n container?: {\n /** \u684C\u9762\u7AEF\u5217\u5185\u5BB9\u5BBD\u5EA6 */\n desktopSpan: number\n /** \u79FB\u52A8\u7AEF\u5217\u5185\u5BB9\u5BBD\u5EA6 */\n mobileSpan: number\n }\n}\n\nexport interface StylesProps {\n /** \u81EA\u5B9A\u4E49\u6837\u5F0F\u5B57\u7B26\u4E32\u6216\u5BF9\u8C61 */\n style?: string | React.CSSProperties\n /** \u552F\u4E00\u6807\u8BC6\u7B26 */\n uid?: string\n /** \u662F\u5426\u7981\u7528 */\n disabled?: boolean\n}\n\n/**\n * \u6839\u636E props \u751F\u6210\u786E\u5B9A\u6027 uid\n */\nconst generateUID = (props: Record<string, any>) => {\n const keyString = getKeyPropsString(props)\n return `style_${simpleHash(keyString)}`\n}\n\n/**\n * \u4ECE\u7EC4\u4EF6 props \u4E2D\u63D0\u53D6\u6837\u5F0F\u76F8\u5173\u5C5E\u6027\n */\nexport const getStylesProps = <T extends Record<string, unknown>>(props: T & StylesProps): StylesProps => {\n const { style, uid, disabled } = props\n return { style, uid, disabled }\n}\n\n/**\n * \u6837\u5F0F\u6CE8\u5165\u7EC4\u4EF6\n */\nconst Styles: React.FC<StylesProps> = ({ style, uid = generateUID({}), disabled = false }) => {\n if (!style || disabled) {\n return null\n }\n\n return (\n <style\n suppressHydrationWarning\n data-style-id={uid}\n dangerouslySetInnerHTML={{ __html: `.block-${uid} { ${style} }` }}\n />\n )\n}\n\n/**\n * \u6837\u5F0F Hook\uFF0C\u8FD4\u56DE\u6837\u5F0F\u7C7B\u540D\u548C\u6837\u5F0F\u7EC4\u4EF6\n * @param styleProps - \u6837\u5F0F\u5C5E\u6027\n */\nexport const useStyles = (styleProps: Partial<StylesProps>, data?: Record<string, any>) => {\n const uid = useMemo(() => styleProps?.uid || generateUID({ ...styleProps, data }), [data, styleProps])\n\n const StyleComponent = useMemo(() => <Styles {...styleProps} uid={uid} />, [styleProps, uid])\n\n return {\n className: `block-${uid} `,\n StyleComponent,\n uid,\n } as const\n}\n\nconst getContainerClassName = (props?: Partial<StylesProps & ContainerProps>) => {\n const { desktopSpan, mobileSpan } = props?.container || {}\n const mobileClasses = mobileSpan ? colContentClasses[mobileSpan] : ''\n const desktopClasses = desktopSpan ? colContentClassesTablet[desktopSpan] : ''\n return `${mobileClasses} ${desktopClasses}`.trim()\n}\n\n/**\n * \u6807\u8BB0\u7EC4\u4EF6\u662F\u5426\u5DF2\u88AB withLayout \u5305\u88C5\n */\nconst WRAPPED_COMPONENT_SYMBOL = Symbol('withLayoutWrapped')\n\n/**\n * \u9AD8\u9636\u7EC4\u4EF6\u901A\u8FC7 withLayout \u5305\u88C5\u7EC4\u4EF6\uFF0C\u81EA\u52A8\u5E94\u7528\u6837\u5F0F\u548C\u5BB9\u5668\u5E03\u5C40\n *\n * @param WrappedComponent - \u9700\u8981\u5305\u88C5\u7684\u7EC4\u4EF6\n * @param defaultLayoutProps - \u9ED8\u8BA4\u6837\u5F0F\u5C5E\u6027\n */\n// \u51FD\u6570\u91CD\u8F7D\uFF1A\u4E13\u95E8\u5904\u7406 forwardRef \u7EC4\u4EF6\uFF0C\u4FDD\u7559\u5B8C\u6574\u7684\u7C7B\u578B\u4FE1\u606F\nexport function withLayout<P, R>(\n WrappedComponent: React.ForwardRefExoticComponent<P & React.RefAttributes<R>>,\n defaultLayoutProps?: Partial<StylesProps & ContainerProps>\n): React.ForwardRefExoticComponent<P & Partial<StylesProps & ContainerProps> & React.RefAttributes<R>>\n// \u51FD\u6570\u91CD\u8F7D\uFF1A\u5904\u7406\u666E\u901A\u7EC4\u4EF6\nexport function withLayout<P>(\n WrappedComponent: React.ComponentType<P>,\n defaultLayoutProps?: Partial<StylesProps & ContainerProps>\n): React.ForwardRefExoticComponent<\n React.PropsWithoutRef<P & Partial<StylesProps & ContainerProps>> & React.RefAttributes<any>\n>\n// \u51FD\u6570\u5B9E\u73B0\nexport function withLayout<P>(\n WrappedComponent: React.ComponentType<P>,\n defaultLayoutProps?: Partial<StylesProps & ContainerProps>\n) {\n // \u9632\u6B62\u91CD\u590D\u5305\u88C5\n if ((WrappedComponent as any)[WRAPPED_COMPONENT_SYMBOL]) {\n return WrappedComponent as any\n }\n // \u4F7F\u7528\u60A8\u7684\u7B80\u6D01\u65B9\u6CD5\uFF1A\u76F4\u63A5\u7528\u6CDB\u578B\u4FDD\u7559\u7C7B\u578B\n const withLayout = React.forwardRef<\n any,\n P & { style?: string | React.CSSProperties; container?: ContainerProps['container'] }\n >((props, ref) => {\n const propsStyleProps = getStylesProps(props)\n\n // \u5C06 style \u5BF9\u8C61\u8F6C\u6362\u4E3A\u5B57\u7B26\u4E32\n const styleToString = (style?: string | React.CSSProperties): string => {\n if (!style) return ''\n if (typeof style === 'string') return style\n if (typeof style === 'object' && Object.entries(style).length <= 0) return ''\n return (\n Object.entries(style)\n .map(([key, value]) => {\n const cssKey = key.replace(/([A-Z])/g, '-$1').toLowerCase()\n return `${cssKey}: ${value}`\n })\n .join('; ') + ';'\n )\n }\n\n // \u5408\u5E76 style \u5B57\u6BB5\uFF0C\u907F\u514D\u8986\u76D6\uFF0C\u786E\u4FDD\u6BCF\u4E2A\u6837\u5F0F\u90FD\u4EE5\u5206\u53F7\u7ED3\u5C3E\n const mergedStyle = [defaultLayoutProps?.style, propsStyleProps?.style]\n .map(styleToString)\n .filter((style): style is string => Boolean(style))\n .map(style => (style.trim().endsWith(';') ? style : `${style};`))\n .join(' ')\n\n const finalStyleProps = {\n ...defaultLayoutProps,\n ...propsStyleProps,\n ...(mergedStyle && { style: mergedStyle }),\n }\n\n const { className, StyleComponent } = useStyles(finalStyleProps, (props as any)?.data)\n\n const WithContainerWrapper = (props: any) => {\n return (\n <Container className={`${className} ${(props as any)?.className || ''}`.trim()}>\n <Grid className=\"container_grid\">\n <GridItem className={getContainerClassName(props)}>\n <WrappedComponent {...props} ref={ref} />\n </GridItem>\n </Grid>\n </Container>\n )\n }\n\n const WithoutContainerWrapper = (props: any) => {\n return <WrappedComponent {...props} className={`${className} ${props?.className || '' || ''}`.trim()} ref={ref} />\n }\n\n // @ts-ignore\n // eslint-disable-next-line no-unused-vars\n const { style: _style, ...withOutStyleProps } = props\n\n return (\n <>\n <ErrorBoundary>\n {StyleComponent}\n {Reflect.ownKeys((withOutStyleProps as any)?.container || {})?.length > 0\n ? WithContainerWrapper(withOutStyleProps)\n : WithoutContainerWrapper(withOutStyleProps)}\n </ErrorBoundary>\n </>\n )\n })\n\n withLayout.displayName = `WithLayout(${WrappedComponent.displayName || WrappedComponent.name || 'Component'})`\n\n // \u6807\u8BB0\u7EC4\u4EF6\u5DF2\u88AB\u5305\u88C5\n ;(withLayout as any)[WRAPPED_COMPONENT_SYMBOL] = true\n\n return withLayout as any\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import React, { useMemo } from 'react'\nimport { simpleHash } from './simpleHash.js'\nimport getKeyPropsString from './getKeyPropsString.js'\nimport { Grid, GridItem } from '../components/grid.js'\nimport { Container } from '../components/container.js'\nimport ErrorBoundary from './ErrorBoundary.js'\n\nconst colContentClasses: Record<number, string> = {\n 12: 'col-start-1 col-end-13',\n 10: 'col-start-2 col-end-12',\n 8: 'col-start-3 col-end-11',\n 6: 'col-start-4 col-end-10',\n 4: 'col-start-5 col-end-9',\n} as const\n\n// \u9884\u5B9A\u4E49\u5E26 tablet \u524D\u7F00\u7684\u7C7B\u540D\uFF0C\u786E\u4FDD Tailwind \u53EF\u4EE5\u8BC6\u522B\nconst colContentClassesTablet: Record<number, string> = {\n 12: 'tablet:col-start-1 tablet:col-end-13',\n 10: 'tablet:col-start-2 tablet:col-end-12',\n 8: 'tablet:col-start-3 tablet:col-end-11',\n 6: 'tablet:col-start-4 tablet:col-end-10',\n 4: 'tablet:col-start-5 tablet:col-end-9',\n} as const\n\nexport interface ContainerProps {\n container?: {\n /** \u684C\u9762\u7AEF\u5217\u5185\u5BB9\u5BBD\u5EA6 */\n desktopSpan: number\n /** \u79FB\u52A8\u7AEF\u5217\u5185\u5BB9\u5BBD\u5EA6 */\n mobileSpan: number\n }\n}\n\nexport interface StylesProps {\n /** \u81EA\u5B9A\u4E49\u6837\u5F0F\u5B57\u7B26\u4E32\u6216\u5BF9\u8C61 */\n style?: string | React.CSSProperties\n /** \u552F\u4E00\u6807\u8BC6\u7B26 */\n uid?: string\n /** \u662F\u5426\u7981\u7528 */\n disabled?: boolean\n}\n\n/**\n * \u6839\u636E props \u751F\u6210\u786E\u5B9A\u6027 uid\n */\nconst generateUID = (props: Record<string, any>) => {\n const keyString = getKeyPropsString(props)\n return `style_${simpleHash(keyString)}`\n}\n\n/**\n * \u4ECE\u7EC4\u4EF6 props \u4E2D\u63D0\u53D6\u6837\u5F0F\u76F8\u5173\u5C5E\u6027\n */\nexport const getStylesProps = <T extends Record<string, unknown>>(props: T & StylesProps): StylesProps => {\n const { style, uid, disabled } = props\n return { style, uid, disabled }\n}\n\n/**\n * \u6837\u5F0F\u6CE8\u5165\u7EC4\u4EF6\n */\nconst Styles: React.FC<StylesProps> = ({ style, uid = generateUID({}), disabled = false }) => {\n if (!style || disabled) {\n return null\n }\n\n return (\n <style\n suppressHydrationWarning\n data-style-id={uid}\n dangerouslySetInnerHTML={{ __html: `.block-${uid} { ${style} }` }}\n />\n )\n}\n\n/**\n * \u6837\u5F0F Hook\uFF0C\u8FD4\u56DE\u6837\u5F0F\u7C7B\u540D\u548C\u6837\u5F0F\u7EC4\u4EF6\n * @param styleProps - \u6837\u5F0F\u5C5E\u6027\n */\nexport const useStyles = (styleProps: Partial<StylesProps>, data?: Record<string, any>) => {\n const uid = useMemo(() => styleProps?.uid || generateUID({ ...styleProps, data }), [data, styleProps])\n\n const StyleComponent = useMemo(() => <Styles {...styleProps} uid={uid} />, [styleProps, uid])\n\n return {\n className: `block-${uid} `,\n StyleComponent,\n uid,\n } as const\n}\n\nconst getContainerClassName = (props?: Partial<StylesProps & ContainerProps>) => {\n const { desktopSpan, mobileSpan } = props?.container || {}\n const mobileClasses = mobileSpan ? colContentClasses[mobileSpan] : ''\n const desktopClasses = desktopSpan ? colContentClassesTablet[desktopSpan] : ''\n return `${mobileClasses} ${desktopClasses}`.trim()\n}\n\n/**\n * \u6807\u8BB0\u7EC4\u4EF6\u662F\u5426\u5DF2\u88AB withLayout \u5305\u88C5\n */\nconst WRAPPED_COMPONENT_SYMBOL = Symbol('withLayoutWrapped')\n\n/**\n * \u9AD8\u9636\u7EC4\u4EF6\u901A\u8FC7 withLayout \u5305\u88C5\u7EC4\u4EF6\uFF0C\u81EA\u52A8\u5E94\u7528\u6837\u5F0F\u548C\u5BB9\u5668\u5E03\u5C40\n *\n * @param WrappedComponent - \u9700\u8981\u5305\u88C5\u7684\u7EC4\u4EF6\n * @param defaultLayoutProps - \u9ED8\u8BA4\u6837\u5F0F\u5C5E\u6027\n */\nexport function withLayout<P>(\n WrappedComponent: React.ComponentType<P>,\n defaultLayoutProps?: Partial<StylesProps & ContainerProps>\n) {\n // \u9632\u6B62\u91CD\u590D\u5305\u88C5\n if ((WrappedComponent as any)[WRAPPED_COMPONENT_SYMBOL]) {\n return WrappedComponent as any\n }\n // \u4F7F\u7528\u60A8\u7684\u7B80\u6D01\u65B9\u6CD5\uFF1A\u76F4\u63A5\u7528\u6CDB\u578B\u4FDD\u7559\u7C7B\u578B\n const withLayout = React.forwardRef<\n any,\n P & { style?: string | React.CSSProperties; container?: ContainerProps['container'] }\n >((props, ref) => {\n const propsStyleProps = getStylesProps(props)\n\n // \u5C06 style \u5BF9\u8C61\u8F6C\u6362\u4E3A\u5B57\u7B26\u4E32\n const styleToString = (style?: string | React.CSSProperties): string => {\n if (!style) return ''\n if (typeof style === 'string') return style\n if (typeof style === 'object' && Object.entries(style).length <= 0) return ''\n return (\n Object.entries(style)\n .map(([key, value]) => {\n const cssKey = key.replace(/([A-Z])/g, '-$1').toLowerCase()\n return `${cssKey}: ${value}`\n })\n .join('; ') + ';'\n )\n }\n\n // \u5408\u5E76 style \u5B57\u6BB5\uFF0C\u907F\u514D\u8986\u76D6\uFF0C\u786E\u4FDD\u6BCF\u4E2A\u6837\u5F0F\u90FD\u4EE5\u5206\u53F7\u7ED3\u5C3E\n const mergedStyle = [defaultLayoutProps?.style, propsStyleProps?.style]\n .map(styleToString)\n .filter((style): style is string => Boolean(style))\n .map(style => (style.trim().endsWith(';') ? style : `${style};`))\n .join(' ')\n\n const finalStyleProps = {\n ...defaultLayoutProps,\n ...propsStyleProps,\n ...(mergedStyle && { style: mergedStyle }),\n }\n\n const { className, StyleComponent } = useStyles(finalStyleProps, (props as any)?.data)\n\n const WithContainerWrapper = (props: any) => {\n return (\n <Container className={`${className} ${(props as any)?.className || ''}`.trim()}>\n <Grid className=\"container_grid\">\n <GridItem className={getContainerClassName(props)}>\n <WrappedComponent {...props} ref={ref} />\n </GridItem>\n </Grid>\n </Container>\n )\n }\n\n const WithoutContainerWrapper = (props: any) => {\n return <WrappedComponent {...props} className={`${className} ${props?.className || '' || ''}`.trim()} ref={ref} />\n }\n\n // @ts-ignore\n // eslint-disable-next-line no-unused-vars\n const { style: _style, ...withOutStyleProps } = props\n\n return (\n <>\n <ErrorBoundary>\n {StyleComponent}\n {Reflect.ownKeys((withOutStyleProps as any)?.container || {})?.length > 0\n ? WithContainerWrapper(withOutStyleProps)\n : WithoutContainerWrapper(withOutStyleProps)}\n </ErrorBoundary>\n </>\n )\n })\n\n withLayout.displayName = `WithLayout${WrappedComponent.displayName || WrappedComponent.name || 'Component'}`\n\n // \u6807\u8BB0\u7EC4\u4EF6\u5DF2\u88AB\u5305\u88C5\n ;(withLayout as any)[WRAPPED_COMPONENT_SYMBOL] = true\n return withLayout\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["Fragment", "jsx", "jsxs", "React", "useMemo", "simpleHash", "getKeyPropsString", "Grid", "GridItem", "Container", "ErrorBoundary", "colContentClasses", "colContentClassesTablet", "generateUID", "props", "keyString", "getStylesProps", "style", "uid", "disabled", "Styles", "useStyles", "styleProps", "data", "StyleComponent", "getContainerClassName", "desktopSpan", "mobileSpan", "mobileClasses", "desktopClasses", "WRAPPED_COMPONENT_SYMBOL", "withLayout", "WrappedComponent", "defaultLayoutProps", "ref", "propsStyleProps", "styleToString", "key", "value", "mergedStyle", "finalStyleProps", "className", "WithContainerWrapper", "WithoutContainerWrapper", "_style", "withOutStyleProps"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anker-in/headless-ui",
3
- "version": "1.1.81",
3
+ "version": "1.1.83",
4
4
  "type": "commonjs",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",
@@ -1,17 +0,0 @@
1
- /**
2
- * 自动点击埋点 Hook
3
- *
4
- * 通过事件委托监听所有带有 `data-headless-type-name` 属性的元素点击事件
5
- *
6
- * @param trackingData - 埋点数据对象,包含 pageGroup 等字段
7
- * @param enabled - 是否启用自动埋点,默认为 true
8
- *
9
- * @example
10
- * ```tsx
11
- * function App() {
12
- * useAutoTracking({ pageGroup: 'Home Page' }, true)
13
- * return <div>...</div>
14
- * }
15
- * ```
16
- */
17
- export declare function useAutoTracking(trackingData: Record<string, any>, enabled?: boolean): void;
@@ -1,2 +0,0 @@
1
- "use strict";var u=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var k=(e,t)=>{for(var o in t)u(e,o,{get:t[o],enumerable:!0})},w=(e,t,o,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of y(t))!h.call(e,n)&&n!==o&&u(e,n,{get:()=>t[n],enumerable:!(s=v(t,n))||s.enumerable});return e};var E=e=>w(u({},"__esModule",{value:!0}),e);var A={};k(A,{useAutoTracking:()=>b});module.exports=E(A);var r=require("react"),l=require("../../shared/track.js");function b(e,t=!0){const o=(0,r.useRef)(e);(0,r.useEffect)(()=>{o.current=e},[e]),(0,r.useEffect)(()=>{if(!t||typeof window>"u")return;const s="__headless_ui_tracking_bound__";if(window[s])return;const n=f=>{const i=f.target.closest("[data-headless-type-name]");if(!i)return;const a={};for(const g of Array.from(i.attributes)){const d=g?.name;d?.startsWith("data-headless-")&&(a[d]=i.getAttribute(d)||"")}const _=a["data-headless-sku"],m=a["data-headless-type-name"]?.split?.("#"),c=a["data-headless-title-desc-button"]?.split?.("#"),p=a["data-headless-nav-position"]?.split?.("#");(0,l.gaTrack)({event:"ga4Event",event_name:"component_click",event_parameters:{page_group:o.current?.pageGroup||"Home Page",component_type:m?.[0]||"",component_name:m?.[1]||"",position:p?.[1]||"",navigation:p?.[0]||"",button_name:c?.[2]||"",SKU:_||"",component_title:c?.[0]||"",component_description:c?.[1]||""}})};return document.addEventListener("click",n),window[s]=!0,()=>{document.removeEventListener("click",n),delete window[s]}},[t])}
2
- //# sourceMappingURL=useAutoTracking.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/biz-components/AiuiProvider/useAutoTracking.ts"],
4
- "sourcesContent": ["import { useEffect, useRef } from 'react'\nimport { gaTrack } from '../../shared/track.js'\n\n/**\n * \u81EA\u52A8\u70B9\u51FB\u57CB\u70B9 Hook\n *\n * \u901A\u8FC7\u4E8B\u4EF6\u59D4\u6258\u76D1\u542C\u6240\u6709\u5E26\u6709 `data-headless-type-name` \u5C5E\u6027\u7684\u5143\u7D20\u70B9\u51FB\u4E8B\u4EF6\n *\n * @param trackingData - \u57CB\u70B9\u6570\u636E\u5BF9\u8C61\uFF0C\u5305\u542B pageGroup \u7B49\u5B57\u6BB5\n * @param enabled - \u662F\u5426\u542F\u7528\u81EA\u52A8\u57CB\u70B9\uFF0C\u9ED8\u8BA4\u4E3A true\n *\n * @example\n * ```tsx\n * function App() {\n * useAutoTracking({ pageGroup: 'Home Page' }, true)\n * return <div>...</div>\n * }\n * ```\n */\nexport function useAutoTracking(trackingData: Record<string, any>, enabled: boolean = true) {\n // \u4F7F\u7528 ref \u4FDD\u5B58\u6700\u65B0\u7684 trackingData\uFF0C\u907F\u514D\u95ED\u5305\u9648\u65E7\n const trackingDataRef = useRef(trackingData)\n\n useEffect(() => {\n trackingDataRef.current = trackingData\n }, [trackingData])\n\n useEffect(() => {\n // \u5982\u679C\u5173\u95ED\u4E86\u81EA\u52A8\u57CB\u70B9\uFF0C\u76F4\u63A5\u8FD4\u56DE\n if (!enabled) return\n\n // SSR \u73AF\u5883\u68C0\u6D4B\n if (typeof window === 'undefined') return\n\n // \u5168\u5C40\u6807\u8BB0\uFF1A\u9632\u6B62\u591A\u4E2A Provider \u5B9E\u4F8B\u91CD\u590D\u7ED1\u5B9A\n const TRACKING_KEY = '__headless_ui_tracking_bound__'\n if ((window as any)[TRACKING_KEY]) return\n\n /**\n * \u4E8B\u4EF6\u59D4\u6258\u5904\u7406\u51FD\u6570\n * \u70B9\u51FB\u4E8B\u4EF6\u5192\u6CE1\u5230 document\uFF0C\u68C0\u6D4B\u662F\u5426\u70B9\u51FB\u4E86\u8FFD\u8E2A\u5143\u7D20\n */\n const handleClick = (e: MouseEvent) => {\n const target = e.target as Element\n const el = target.closest('[data-headless-type-name]')\n if (!el) return\n\n // \u63D0\u53D6 data-headless-* \u5C5E\u6027\n const out: Record<string, string> = {}\n for (const attr of Array.from(el.attributes)) {\n const name = (attr as Attr)?.name\n if (name?.startsWith('data-headless-')) {\n out[name] = el.getAttribute(name) || ''\n }\n }\n\n // \u89E3\u6790\u8FFD\u8E2A\u6570\u636E\n const sku = out['data-headless-sku']\n const nameType = out['data-headless-type-name']?.split?.('#')\n const titleDesc = out['data-headless-title-desc-button']?.split?.('#')\n const navPosition = out['data-headless-nav-position']?.split?.('#')\n\n // \u53D1\u9001 GA \u57CB\u70B9\u4E8B\u4EF6\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: trackingDataRef.current?.pageGroup || 'Home Page',\n component_type: nameType?.[0] || '',\n component_name: nameType?.[1] || '',\n position: navPosition?.[1] || '',\n navigation: navPosition?.[0] || '',\n button_name: titleDesc?.[2] || '',\n SKU: sku || '',\n component_title: titleDesc?.[0] || '',\n component_description: titleDesc?.[1] || '',\n },\n })\n }\n\n // \u7ED1\u5B9A\u5168\u5C40\u70B9\u51FB\u4E8B\u4EF6\n document.addEventListener('click', handleClick)\n ;(window as any)[TRACKING_KEY] = true\n\n // \u6E05\u7406\u51FD\u6570\n return () => {\n document.removeEventListener('click', handleClick)\n delete (window as any)[TRACKING_KEY]\n }\n }, [enabled])\n}\n"],
5
- "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAkC,iBAClCC,EAAwB,iCAkBjB,SAASH,EAAgBI,EAAmCC,EAAmB,GAAM,CAE1F,MAAMC,KAAkB,UAAOF,CAAY,KAE3C,aAAU,IAAM,CACdE,EAAgB,QAAUF,CAC5B,EAAG,CAACA,CAAY,CAAC,KAEjB,aAAU,IAAM,CAKd,GAHI,CAACC,GAGD,OAAO,OAAW,IAAa,OAGnC,MAAME,EAAe,iCACrB,GAAK,OAAeA,CAAY,EAAG,OAMnC,MAAMC,EAAeC,GAAkB,CAErC,MAAMC,EADSD,EAAE,OACC,QAAQ,2BAA2B,EACrD,GAAI,CAACC,EAAI,OAGT,MAAMC,EAA8B,CAAC,EACrC,UAAWC,KAAQ,MAAM,KAAKF,EAAG,UAAU,EAAG,CAC5C,MAAMG,EAAQD,GAAe,KACzBC,GAAM,WAAW,gBAAgB,IACnCF,EAAIE,CAAI,EAAIH,EAAG,aAAaG,CAAI,GAAK,GAEzC,CAGA,MAAMC,EAAMH,EAAI,mBAAmB,EAC7BI,EAAWJ,EAAI,yBAAyB,GAAG,QAAQ,GAAG,EACtDK,EAAYL,EAAI,iCAAiC,GAAG,QAAQ,GAAG,EAC/DM,EAAcN,EAAI,4BAA4B,GAAG,QAAQ,GAAG,KAGlE,WAAQ,CACN,MAAO,WACP,WAAY,kBACZ,iBAAkB,CAChB,WAAYL,EAAgB,SAAS,WAAa,YAClD,eAAgBS,IAAW,CAAC,GAAK,GACjC,eAAgBA,IAAW,CAAC,GAAK,GACjC,SAAUE,IAAc,CAAC,GAAK,GAC9B,WAAYA,IAAc,CAAC,GAAK,GAChC,YAAaD,IAAY,CAAC,GAAK,GAC/B,IAAKF,GAAO,GACZ,gBAAiBE,IAAY,CAAC,GAAK,GACnC,sBAAuBA,IAAY,CAAC,GAAK,EAC3C,CACF,CAAC,CACH,EAGA,gBAAS,iBAAiB,QAASR,CAAW,EAC5C,OAAeD,CAAY,EAAI,GAG1B,IAAM,CACX,SAAS,oBAAoB,QAASC,CAAW,EACjD,OAAQ,OAAeD,CAAY,CACrC,CACF,EAAG,CAACF,CAAO,CAAC,CACd",
6
- "names": ["useAutoTracking_exports", "__export", "useAutoTracking", "__toCommonJS", "import_react", "import_track", "trackingData", "enabled", "trackingDataRef", "TRACKING_KEY", "handleClick", "e", "el", "out", "attr", "name", "sku", "nameType", "titleDesc", "navPosition"]
7
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * 自动点击埋点 Hook
3
- *
4
- * 通过事件委托监听所有带有 `data-headless-type-name` 属性的元素点击事件
5
- *
6
- * @param trackingData - 埋点数据对象,包含 pageGroup 等字段
7
- * @param enabled - 是否启用自动埋点,默认为 true
8
- *
9
- * @example
10
- * ```tsx
11
- * function App() {
12
- * useAutoTracking({ pageGroup: 'Home Page' }, true)
13
- * return <div>...</div>
14
- * }
15
- * ```
16
- */
17
- export declare function useAutoTracking(trackingData: Record<string, any>, enabled?: boolean): void;
@@ -1,2 +0,0 @@
1
- import{useEffect as m,useRef as _}from"react";import{gaTrack as g}from"../../shared/track.js";function k(e,r=!0){const i=_(e);m(()=>{i.current=e},[e]),m(()=>{if(!r||typeof window>"u")return;const n="__headless_ui_tracking_bound__";if(window[n])return;const c=p=>{const o=p.target.closest("[data-headless-type-name]");if(!o)return;const t={};for(const f of Array.from(o.attributes)){const a=f?.name;a?.startsWith("data-headless-")&&(t[a]=o.getAttribute(a)||"")}const l=t["data-headless-sku"],d=t["data-headless-type-name"]?.split?.("#"),s=t["data-headless-title-desc-button"]?.split?.("#"),u=t["data-headless-nav-position"]?.split?.("#");g({event:"ga4Event",event_name:"component_click",event_parameters:{page_group:i.current?.pageGroup||"Home Page",component_type:d?.[0]||"",component_name:d?.[1]||"",position:u?.[1]||"",navigation:u?.[0]||"",button_name:s?.[2]||"",SKU:l||"",component_title:s?.[0]||"",component_description:s?.[1]||""}})};return document.addEventListener("click",c),window[n]=!0,()=>{document.removeEventListener("click",c),delete window[n]}},[r])}export{k as useAutoTracking};
2
- //# sourceMappingURL=useAutoTracking.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/biz-components/AiuiProvider/useAutoTracking.ts"],
4
- "sourcesContent": ["import { useEffect, useRef } from 'react'\nimport { gaTrack } from '../../shared/track.js'\n\n/**\n * \u81EA\u52A8\u70B9\u51FB\u57CB\u70B9 Hook\n *\n * \u901A\u8FC7\u4E8B\u4EF6\u59D4\u6258\u76D1\u542C\u6240\u6709\u5E26\u6709 `data-headless-type-name` \u5C5E\u6027\u7684\u5143\u7D20\u70B9\u51FB\u4E8B\u4EF6\n *\n * @param trackingData - \u57CB\u70B9\u6570\u636E\u5BF9\u8C61\uFF0C\u5305\u542B pageGroup \u7B49\u5B57\u6BB5\n * @param enabled - \u662F\u5426\u542F\u7528\u81EA\u52A8\u57CB\u70B9\uFF0C\u9ED8\u8BA4\u4E3A true\n *\n * @example\n * ```tsx\n * function App() {\n * useAutoTracking({ pageGroup: 'Home Page' }, true)\n * return <div>...</div>\n * }\n * ```\n */\nexport function useAutoTracking(trackingData: Record<string, any>, enabled: boolean = true) {\n // \u4F7F\u7528 ref \u4FDD\u5B58\u6700\u65B0\u7684 trackingData\uFF0C\u907F\u514D\u95ED\u5305\u9648\u65E7\n const trackingDataRef = useRef(trackingData)\n\n useEffect(() => {\n trackingDataRef.current = trackingData\n }, [trackingData])\n\n useEffect(() => {\n // \u5982\u679C\u5173\u95ED\u4E86\u81EA\u52A8\u57CB\u70B9\uFF0C\u76F4\u63A5\u8FD4\u56DE\n if (!enabled) return\n\n // SSR \u73AF\u5883\u68C0\u6D4B\n if (typeof window === 'undefined') return\n\n // \u5168\u5C40\u6807\u8BB0\uFF1A\u9632\u6B62\u591A\u4E2A Provider \u5B9E\u4F8B\u91CD\u590D\u7ED1\u5B9A\n const TRACKING_KEY = '__headless_ui_tracking_bound__'\n if ((window as any)[TRACKING_KEY]) return\n\n /**\n * \u4E8B\u4EF6\u59D4\u6258\u5904\u7406\u51FD\u6570\n * \u70B9\u51FB\u4E8B\u4EF6\u5192\u6CE1\u5230 document\uFF0C\u68C0\u6D4B\u662F\u5426\u70B9\u51FB\u4E86\u8FFD\u8E2A\u5143\u7D20\n */\n const handleClick = (e: MouseEvent) => {\n const target = e.target as Element\n const el = target.closest('[data-headless-type-name]')\n if (!el) return\n\n // \u63D0\u53D6 data-headless-* \u5C5E\u6027\n const out: Record<string, string> = {}\n for (const attr of Array.from(el.attributes)) {\n const name = (attr as Attr)?.name\n if (name?.startsWith('data-headless-')) {\n out[name] = el.getAttribute(name) || ''\n }\n }\n\n // \u89E3\u6790\u8FFD\u8E2A\u6570\u636E\n const sku = out['data-headless-sku']\n const nameType = out['data-headless-type-name']?.split?.('#')\n const titleDesc = out['data-headless-title-desc-button']?.split?.('#')\n const navPosition = out['data-headless-nav-position']?.split?.('#')\n\n // \u53D1\u9001 GA \u57CB\u70B9\u4E8B\u4EF6\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: trackingDataRef.current?.pageGroup || 'Home Page',\n component_type: nameType?.[0] || '',\n component_name: nameType?.[1] || '',\n position: navPosition?.[1] || '',\n navigation: navPosition?.[0] || '',\n button_name: titleDesc?.[2] || '',\n SKU: sku || '',\n component_title: titleDesc?.[0] || '',\n component_description: titleDesc?.[1] || '',\n },\n })\n }\n\n // \u7ED1\u5B9A\u5168\u5C40\u70B9\u51FB\u4E8B\u4EF6\n document.addEventListener('click', handleClick)\n ;(window as any)[TRACKING_KEY] = true\n\n // \u6E05\u7406\u51FD\u6570\n return () => {\n document.removeEventListener('click', handleClick)\n delete (window as any)[TRACKING_KEY]\n }\n }, [enabled])\n}\n"],
5
- "mappings": "AAAA,OAAS,aAAAA,EAAW,UAAAC,MAAc,QAClC,OAAS,WAAAC,MAAe,wBAkBjB,SAASC,EAAgBC,EAAmCC,EAAmB,GAAM,CAE1F,MAAMC,EAAkBL,EAAOG,CAAY,EAE3CJ,EAAU,IAAM,CACdM,EAAgB,QAAUF,CAC5B,EAAG,CAACA,CAAY,CAAC,EAEjBJ,EAAU,IAAM,CAKd,GAHI,CAACK,GAGD,OAAO,OAAW,IAAa,OAGnC,MAAME,EAAe,iCACrB,GAAK,OAAeA,CAAY,EAAG,OAMnC,MAAMC,EAAeC,GAAkB,CAErC,MAAMC,EADSD,EAAE,OACC,QAAQ,2BAA2B,EACrD,GAAI,CAACC,EAAI,OAGT,MAAMC,EAA8B,CAAC,EACrC,UAAWC,KAAQ,MAAM,KAAKF,EAAG,UAAU,EAAG,CAC5C,MAAMG,EAAQD,GAAe,KACzBC,GAAM,WAAW,gBAAgB,IACnCF,EAAIE,CAAI,EAAIH,EAAG,aAAaG,CAAI,GAAK,GAEzC,CAGA,MAAMC,EAAMH,EAAI,mBAAmB,EAC7BI,EAAWJ,EAAI,yBAAyB,GAAG,QAAQ,GAAG,EACtDK,EAAYL,EAAI,iCAAiC,GAAG,QAAQ,GAAG,EAC/DM,EAAcN,EAAI,4BAA4B,GAAG,QAAQ,GAAG,EAGlET,EAAQ,CACN,MAAO,WACP,WAAY,kBACZ,iBAAkB,CAChB,WAAYI,EAAgB,SAAS,WAAa,YAClD,eAAgBS,IAAW,CAAC,GAAK,GACjC,eAAgBA,IAAW,CAAC,GAAK,GACjC,SAAUE,IAAc,CAAC,GAAK,GAC9B,WAAYA,IAAc,CAAC,GAAK,GAChC,YAAaD,IAAY,CAAC,GAAK,GAC/B,IAAKF,GAAO,GACZ,gBAAiBE,IAAY,CAAC,GAAK,GACnC,sBAAuBA,IAAY,CAAC,GAAK,EAC3C,CACF,CAAC,CACH,EAGA,gBAAS,iBAAiB,QAASR,CAAW,EAC5C,OAAeD,CAAY,EAAI,GAG1B,IAAM,CACX,SAAS,oBAAoB,QAASC,CAAW,EACjD,OAAQ,OAAeD,CAAY,CACrC,CACF,EAAG,CAACF,CAAO,CAAC,CACd",
6
- "names": ["useEffect", "useRef", "gaTrack", "useAutoTracking", "trackingData", "enabled", "trackingDataRef", "TRACKING_KEY", "handleClick", "e", "el", "out", "attr", "name", "sku", "nameType", "titleDesc", "navPosition"]
7
- }