@anker-in/headless-ui 1.1.68 → 1.1.69

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 (292) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +37 -2
  2. package/dist/cjs/biz-components/AccordionCards/index.js +1 -1
  3. package/dist/cjs/biz-components/AccordionCards/index.js.map +3 -3
  4. package/dist/cjs/biz-components/AnchorNavigation/index.js +1 -1
  5. package/dist/cjs/biz-components/AnchorNavigation/index.js.map +3 -3
  6. package/dist/cjs/biz-components/AplusDesc/index.d.ts +2 -3
  7. package/dist/cjs/biz-components/AplusDesc/index.js +1 -1
  8. package/dist/cjs/biz-components/AplusDesc/index.js.map +3 -3
  9. package/dist/cjs/biz-components/Category/index.d.ts +1 -2
  10. package/dist/cjs/biz-components/Category/index.js +1 -1
  11. package/dist/cjs/biz-components/Category/index.js.map +3 -3
  12. package/dist/cjs/biz-components/CreativeModule/index.d.ts +2 -3
  13. package/dist/cjs/biz-components/CreativeModule/index.js +1 -1
  14. package/dist/cjs/biz-components/CreativeModule/index.js.map +3 -3
  15. package/dist/cjs/biz-components/DownLoad/index.d.ts +2 -3
  16. package/dist/cjs/biz-components/DownLoad/index.js +1 -1
  17. package/dist/cjs/biz-components/DownLoad/index.js.map +3 -3
  18. package/dist/cjs/biz-components/Evaluate/index.d.ts +1 -2
  19. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  20. package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
  21. package/dist/cjs/biz-components/EventSchedule/index.js +1 -1
  22. package/dist/cjs/biz-components/EventSchedule/index.js.map +3 -3
  23. package/dist/cjs/biz-components/Features/index.d.ts +2 -4
  24. package/dist/cjs/biz-components/Features/index.js +1 -1
  25. package/dist/cjs/biz-components/Features/index.js.map +3 -3
  26. package/dist/cjs/biz-components/FootCharger/index.d.ts +2 -3
  27. package/dist/cjs/biz-components/FootCharger/index.js +1 -1
  28. package/dist/cjs/biz-components/FootCharger/index.js.map +3 -3
  29. package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
  30. package/dist/cjs/biz-components/FooterNavigation/index.js.map +3 -3
  31. package/dist/cjs/biz-components/FooterNavigation/types.d.ts +2 -1
  32. package/dist/cjs/biz-components/FooterNavigation/types.js +1 -1
  33. package/dist/cjs/biz-components/FooterNavigation/types.js.map +2 -2
  34. package/dist/cjs/biz-components/GiftBox/index.d.ts +5 -5
  35. package/dist/cjs/biz-components/GiftBox/index.js +1 -1
  36. package/dist/cjs/biz-components/GiftBox/index.js.map +3 -3
  37. package/dist/cjs/biz-components/Graphic/index.d.ts +1 -2
  38. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  39. package/dist/cjs/biz-components/Graphic/index.js.map +3 -3
  40. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
  41. package/dist/cjs/biz-components/GraphicAttractionBlock/index.js +1 -1
  42. package/dist/cjs/biz-components/GraphicAttractionBlock/index.js.map +3 -3
  43. package/dist/cjs/biz-components/GraphicMore/index.d.ts +2 -3
  44. package/dist/cjs/biz-components/GraphicMore/index.js +1 -1
  45. package/dist/cjs/biz-components/GraphicMore/index.js.map +3 -3
  46. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +9 -2
  47. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
  48. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
  49. package/dist/cjs/biz-components/GraphicOverlay/types.d.ts +1 -2
  50. package/dist/cjs/biz-components/GraphicOverlay/types.js +1 -1
  51. package/dist/cjs/biz-components/GraphicOverlay/types.js.map +1 -1
  52. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  53. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
  54. package/dist/cjs/biz-components/HeaderNavigation/types.d.ts +2 -1
  55. package/dist/cjs/biz-components/HeaderNavigation/types.js +1 -1
  56. package/dist/cjs/biz-components/HeaderNavigation/types.js.map +2 -2
  57. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  58. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  59. package/dist/cjs/biz-components/HeroBanner/types.d.ts +1 -3
  60. package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
  61. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  62. package/dist/cjs/biz-components/InlineVideo/index.d.ts +2 -3
  63. package/dist/cjs/biz-components/InlineVideo/index.js +1 -1
  64. package/dist/cjs/biz-components/InlineVideo/index.js.map +3 -3
  65. package/dist/cjs/biz-components/Ksp/index.d.ts +1 -1
  66. package/dist/cjs/biz-components/Ksp/index.js +1 -1
  67. package/dist/cjs/biz-components/Ksp/index.js.map +3 -3
  68. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +4 -5
  69. package/dist/cjs/biz-components/MarqueeReview/index.js +1 -1
  70. package/dist/cjs/biz-components/MarqueeReview/index.js.map +3 -3
  71. package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
  72. package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
  73. package/dist/cjs/biz-components/MediaPlayerBase/types.d.ts +1 -1
  74. package/dist/cjs/biz-components/MediaPlayerBase/types.js +1 -1
  75. package/dist/cjs/biz-components/MediaPlayerBase/types.js.map +1 -1
  76. package/dist/cjs/biz-components/MediaPlayerMulti/index.js +1 -1
  77. package/dist/cjs/biz-components/MediaPlayerMulti/index.js.map +3 -3
  78. package/dist/cjs/biz-components/MediaPlayerMulti/types.d.ts +1 -1
  79. package/dist/cjs/biz-components/MediaPlayerMulti/types.js +1 -1
  80. package/dist/cjs/biz-components/MediaPlayerMulti/types.js.map +1 -1
  81. package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
  82. package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +3 -3
  83. package/dist/cjs/biz-components/MediaPlayerSticky/types.d.ts +2 -2
  84. package/dist/cjs/biz-components/MediaPlayerSticky/types.js +1 -1
  85. package/dist/cjs/biz-components/MediaPlayerSticky/types.js.map +1 -1
  86. package/dist/cjs/biz-components/MemberEquity/index.js +2 -2
  87. package/dist/cjs/biz-components/MemberEquity/index.js.map +3 -3
  88. package/dist/cjs/biz-components/MemberEquity/types.d.ts +1 -1
  89. package/dist/cjs/biz-components/MemberEquity/types.js +1 -1
  90. package/dist/cjs/biz-components/MemberEquity/types.js.map +1 -1
  91. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +16 -2
  92. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  93. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  94. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.d.ts +1 -2
  95. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js +1 -1
  96. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/types.js.map +1 -1
  97. package/dist/cjs/biz-components/NavigationSearch/index.js +2 -2
  98. package/dist/cjs/biz-components/NavigationSearch/index.js.map +3 -3
  99. package/dist/cjs/biz-components/NavigationSearch/types.d.ts +2 -1
  100. package/dist/cjs/biz-components/NavigationSearch/types.js +1 -1
  101. package/dist/cjs/biz-components/NavigationSearch/types.js.map +2 -2
  102. package/dist/cjs/biz-components/ProductCompare/index.d.ts +1 -3
  103. package/dist/cjs/biz-components/ProductCompare/index.js +1 -1
  104. package/dist/cjs/biz-components/ProductCompare/index.js.map +3 -3
  105. package/dist/cjs/biz-components/ProductNav/ProductNav.js +1 -1
  106. package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +3 -3
  107. package/dist/cjs/biz-components/PromotionalBar/index.js +1 -1
  108. package/dist/cjs/biz-components/PromotionalBar/index.js.map +3 -3
  109. package/dist/cjs/biz-components/SearchPage/index.d.ts +1 -1
  110. package/dist/cjs/biz-components/SearchPage/index.js +1 -1
  111. package/dist/cjs/biz-components/SearchPage/index.js.map +3 -3
  112. package/dist/cjs/biz-components/SearchPage/types.d.ts +1 -1
  113. package/dist/cjs/biz-components/SearchPage/types.js +1 -1
  114. package/dist/cjs/biz-components/SearchPage/types.js.map +1 -1
  115. package/dist/cjs/biz-components/SelectStore/index.d.ts +5 -5
  116. package/dist/cjs/biz-components/SelectStore/index.js +1 -1
  117. package/dist/cjs/biz-components/SelectStore/index.js.map +3 -3
  118. package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
  119. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
  120. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +1 -2
  121. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  122. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +1 -1
  123. package/dist/cjs/biz-components/Slogan/index.js +1 -1
  124. package/dist/cjs/biz-components/Slogan/index.js.map +3 -3
  125. package/dist/cjs/biz-components/Slogan/types.d.ts +2 -5
  126. package/dist/cjs/biz-components/Slogan/types.js +1 -1
  127. package/dist/cjs/biz-components/Slogan/types.js.map +1 -1
  128. package/dist/cjs/biz-components/Spacer/index.js +1 -1
  129. package/dist/cjs/biz-components/Spacer/index.js.map +3 -3
  130. package/dist/cjs/biz-components/Spacer/types.d.ts +1 -5
  131. package/dist/cjs/biz-components/Spacer/types.js +1 -1
  132. package/dist/cjs/biz-components/Spacer/types.js.map +1 -1
  133. package/dist/cjs/biz-components/Specs/index.d.ts +7 -1
  134. package/dist/cjs/biz-components/Specs/index.js +1 -1
  135. package/dist/cjs/biz-components/Specs/index.js.map +3 -3
  136. package/dist/cjs/biz-components/Subscribe/index.d.ts +11 -10
  137. package/dist/cjs/biz-components/Subscribe/index.js +2 -2
  138. package/dist/cjs/biz-components/Subscribe/index.js.map +3 -3
  139. package/dist/cjs/biz-components/SwiperBox/index.js +1 -1
  140. package/dist/cjs/biz-components/SwiperBox/index.js.map +3 -3
  141. package/dist/cjs/biz-components/SwiperBox/types.d.ts +1 -2
  142. package/dist/cjs/biz-components/SwiperBox/types.js +1 -1
  143. package/dist/cjs/biz-components/SwiperBox/types.js.map +1 -1
  144. package/dist/cjs/biz-components/TabsGroup/index.js +1 -1
  145. package/dist/cjs/biz-components/TabsGroup/index.js.map +3 -3
  146. package/dist/cjs/biz-components/TabsGroup/types.d.ts +2 -3
  147. package/dist/cjs/biz-components/TabsGroup/types.js +1 -1
  148. package/dist/cjs/biz-components/TabsGroup/types.js.map +1 -1
  149. package/dist/cjs/biz-components/Title/index.d.ts +3 -1
  150. package/dist/cjs/biz-components/Title/index.js +1 -1
  151. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  152. package/dist/cjs/biz-components/Title/types.d.ts +3 -1
  153. package/dist/cjs/biz-components/Title/types.js +1 -1
  154. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  155. package/dist/cjs/biz-components/VideoModal/index.d.ts +2 -2
  156. package/dist/cjs/biz-components/VideoModal/index.js +1 -1
  157. package/dist/cjs/biz-components/VideoModal/index.js.map +3 -3
  158. package/dist/esm/biz-components/AccordionCards/index.d.ts +37 -2
  159. package/dist/esm/biz-components/AccordionCards/index.js +1 -1
  160. package/dist/esm/biz-components/AccordionCards/index.js.map +3 -3
  161. package/dist/esm/biz-components/AnchorNavigation/index.js +1 -1
  162. package/dist/esm/biz-components/AnchorNavigation/index.js.map +3 -3
  163. package/dist/esm/biz-components/AplusDesc/index.d.ts +2 -3
  164. package/dist/esm/biz-components/AplusDesc/index.js +1 -1
  165. package/dist/esm/biz-components/AplusDesc/index.js.map +3 -3
  166. package/dist/esm/biz-components/Category/index.d.ts +1 -2
  167. package/dist/esm/biz-components/Category/index.js +1 -1
  168. package/dist/esm/biz-components/Category/index.js.map +3 -3
  169. package/dist/esm/biz-components/CreativeModule/index.d.ts +2 -3
  170. package/dist/esm/biz-components/CreativeModule/index.js +1 -1
  171. package/dist/esm/biz-components/CreativeModule/index.js.map +3 -3
  172. package/dist/esm/biz-components/DownLoad/index.d.ts +2 -3
  173. package/dist/esm/biz-components/DownLoad/index.js +1 -1
  174. package/dist/esm/biz-components/DownLoad/index.js.map +3 -3
  175. package/dist/esm/biz-components/Evaluate/index.d.ts +1 -2
  176. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  177. package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
  178. package/dist/esm/biz-components/EventSchedule/index.js +1 -1
  179. package/dist/esm/biz-components/EventSchedule/index.js.map +3 -3
  180. package/dist/esm/biz-components/Features/index.d.ts +2 -4
  181. package/dist/esm/biz-components/Features/index.js +1 -1
  182. package/dist/esm/biz-components/Features/index.js.map +3 -3
  183. package/dist/esm/biz-components/FootCharger/index.d.ts +2 -3
  184. package/dist/esm/biz-components/FootCharger/index.js +1 -1
  185. package/dist/esm/biz-components/FootCharger/index.js.map +3 -3
  186. package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
  187. package/dist/esm/biz-components/FooterNavigation/index.js.map +3 -3
  188. package/dist/esm/biz-components/FooterNavigation/types.d.ts +2 -1
  189. package/dist/esm/biz-components/FooterNavigation/types.js +1 -1
  190. package/dist/esm/biz-components/FooterNavigation/types.js.map +2 -2
  191. package/dist/esm/biz-components/GiftBox/index.d.ts +5 -5
  192. package/dist/esm/biz-components/GiftBox/index.js +1 -1
  193. package/dist/esm/biz-components/GiftBox/index.js.map +3 -3
  194. package/dist/esm/biz-components/Graphic/index.d.ts +1 -2
  195. package/dist/esm/biz-components/Graphic/index.js +1 -1
  196. package/dist/esm/biz-components/Graphic/index.js.map +3 -3
  197. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
  198. package/dist/esm/biz-components/GraphicAttractionBlock/index.js +1 -1
  199. package/dist/esm/biz-components/GraphicAttractionBlock/index.js.map +3 -3
  200. package/dist/esm/biz-components/GraphicMore/index.d.ts +2 -3
  201. package/dist/esm/biz-components/GraphicMore/index.js +1 -1
  202. package/dist/esm/biz-components/GraphicMore/index.js.map +3 -3
  203. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +9 -2
  204. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js +1 -1
  205. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.js.map +3 -3
  206. package/dist/esm/biz-components/GraphicOverlay/types.d.ts +1 -2
  207. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  208. package/dist/esm/biz-components/HeaderNavigation/index.js.map +3 -3
  209. package/dist/esm/biz-components/HeaderNavigation/types.d.ts +2 -1
  210. package/dist/esm/biz-components/HeaderNavigation/types.js +1 -1
  211. package/dist/esm/biz-components/HeaderNavigation/types.js.map +2 -2
  212. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  213. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  214. package/dist/esm/biz-components/HeroBanner/types.d.ts +1 -3
  215. package/dist/esm/biz-components/InlineVideo/index.d.ts +2 -3
  216. package/dist/esm/biz-components/InlineVideo/index.js +1 -1
  217. package/dist/esm/biz-components/InlineVideo/index.js.map +3 -3
  218. package/dist/esm/biz-components/Ksp/index.d.ts +1 -1
  219. package/dist/esm/biz-components/Ksp/index.js +1 -1
  220. package/dist/esm/biz-components/Ksp/index.js.map +3 -3
  221. package/dist/esm/biz-components/MarqueeReview/index.d.ts +4 -5
  222. package/dist/esm/biz-components/MarqueeReview/index.js +1 -1
  223. package/dist/esm/biz-components/MarqueeReview/index.js.map +3 -3
  224. package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
  225. package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
  226. package/dist/esm/biz-components/MediaPlayerBase/types.d.ts +1 -1
  227. package/dist/esm/biz-components/MediaPlayerMulti/index.js +1 -1
  228. package/dist/esm/biz-components/MediaPlayerMulti/index.js.map +3 -3
  229. package/dist/esm/biz-components/MediaPlayerMulti/types.d.ts +1 -1
  230. package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
  231. package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +3 -3
  232. package/dist/esm/biz-components/MediaPlayerSticky/types.d.ts +2 -2
  233. package/dist/esm/biz-components/MemberEquity/index.js +2 -2
  234. package/dist/esm/biz-components/MemberEquity/index.js.map +3 -3
  235. package/dist/esm/biz-components/MemberEquity/types.d.ts +1 -1
  236. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +16 -2
  237. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  238. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +3 -3
  239. package/dist/esm/biz-components/MultiLayoutGraphicBlock/types.d.ts +1 -2
  240. package/dist/esm/biz-components/NavigationSearch/index.js +2 -2
  241. package/dist/esm/biz-components/NavigationSearch/index.js.map +3 -3
  242. package/dist/esm/biz-components/NavigationSearch/types.d.ts +2 -1
  243. package/dist/esm/biz-components/NavigationSearch/types.js +1 -1
  244. package/dist/esm/biz-components/NavigationSearch/types.js.map +2 -2
  245. package/dist/esm/biz-components/ProductCompare/index.d.ts +1 -3
  246. package/dist/esm/biz-components/ProductCompare/index.js +1 -1
  247. package/dist/esm/biz-components/ProductCompare/index.js.map +3 -3
  248. package/dist/esm/biz-components/ProductNav/ProductNav.js +1 -1
  249. package/dist/esm/biz-components/ProductNav/ProductNav.js.map +3 -3
  250. package/dist/esm/biz-components/PromotionalBar/index.js +1 -1
  251. package/dist/esm/biz-components/PromotionalBar/index.js.map +3 -3
  252. package/dist/esm/biz-components/SearchPage/index.d.ts +1 -1
  253. package/dist/esm/biz-components/SearchPage/index.js +1 -1
  254. package/dist/esm/biz-components/SearchPage/index.js.map +3 -3
  255. package/dist/esm/biz-components/SearchPage/types.d.ts +1 -1
  256. package/dist/esm/biz-components/SearchPage/types.js +1 -1
  257. package/dist/esm/biz-components/SearchPage/types.js.map +1 -1
  258. package/dist/esm/biz-components/SelectStore/index.d.ts +5 -5
  259. package/dist/esm/biz-components/SelectStore/index.js +1 -1
  260. package/dist/esm/biz-components/SelectStore/index.js.map +3 -3
  261. package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
  262. package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
  263. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +1 -2
  264. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  265. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +1 -1
  266. package/dist/esm/biz-components/Slogan/index.js +1 -1
  267. package/dist/esm/biz-components/Slogan/index.js.map +3 -3
  268. package/dist/esm/biz-components/Slogan/types.d.ts +2 -5
  269. package/dist/esm/biz-components/Spacer/index.js +1 -1
  270. package/dist/esm/biz-components/Spacer/index.js.map +3 -3
  271. package/dist/esm/biz-components/Spacer/types.d.ts +1 -5
  272. package/dist/esm/biz-components/Specs/index.d.ts +7 -1
  273. package/dist/esm/biz-components/Specs/index.js +1 -1
  274. package/dist/esm/biz-components/Specs/index.js.map +3 -3
  275. package/dist/esm/biz-components/Subscribe/index.d.ts +11 -10
  276. package/dist/esm/biz-components/Subscribe/index.js +2 -2
  277. package/dist/esm/biz-components/Subscribe/index.js.map +3 -3
  278. package/dist/esm/biz-components/SwiperBox/index.js +1 -1
  279. package/dist/esm/biz-components/SwiperBox/index.js.map +3 -3
  280. package/dist/esm/biz-components/SwiperBox/types.d.ts +1 -2
  281. package/dist/esm/biz-components/SwiperBox/types.js.map +1 -1
  282. package/dist/esm/biz-components/TabsGroup/index.js +1 -1
  283. package/dist/esm/biz-components/TabsGroup/index.js.map +3 -3
  284. package/dist/esm/biz-components/TabsGroup/types.d.ts +2 -3
  285. package/dist/esm/biz-components/Title/index.d.ts +3 -1
  286. package/dist/esm/biz-components/Title/index.js +1 -1
  287. package/dist/esm/biz-components/Title/index.js.map +3 -3
  288. package/dist/esm/biz-components/Title/types.d.ts +3 -1
  289. package/dist/esm/biz-components/VideoModal/index.d.ts +2 -2
  290. package/dist/esm/biz-components/VideoModal/index.js +1 -1
  291. package/dist/esm/biz-components/VideoModal/index.js.map +3 -3
  292. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import type React from 'react';
1
2
  import type { Theme } from '../../types/props.js';
2
3
  export interface Feature {
3
4
  /**
@@ -5,7 +6,7 @@ export interface Feature {
5
6
  */
6
7
  title: string;
7
8
  }
8
- export interface SloganProps {
9
+ export interface SloganProps extends React.HTMLAttributes<HTMLDivElement> {
9
10
  data: {
10
11
  /**
11
12
  * 主标题
@@ -25,8 +26,4 @@ export interface SloganProps {
25
26
  theme?: Theme;
26
27
  tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
27
28
  };
28
- /**
29
- * 自定义类名
30
- */
31
- className?: string;
32
29
  }
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as c}from"react/jsx-runtime";import o from"react";import{cn as a}from"../../helpers/utils.js";import{withLayout as s}from"../../shared/Styles.js";const p=o.forwardRef(({className:t,data:r},f)=>{const{space:e="default"}=r;return c("div",{className:a("ipc_spacer",e==="default"&&"laptop:h-16 desktop:h-[96px] lg-desktop:h-[128px] tablet:h-16 h-16",e==="fixed"&&"h-16",t)})});p.displayName="Spacer";var m=s(p);export{m as default};
1
+ "use client";import{jsx as i}from"react/jsx-runtime";import s from"react";import{cn as c}from"../../helpers/utils.js";import{withLayout as f}from"../../shared/Styles.js";const p=s.forwardRef(({className:t,data:r,...o},a)=>{const{space:e="default"}=r;return i("div",{ref:a,...o,className:c("ipc_spacer",e==="default"&&"laptop:h-16 desktop:h-[96px] lg-desktop:h-[128px] tablet:h-16 h-16",e==="fixed"&&"h-16",t)})});p.displayName="Spacer";var h=f(p);export{h as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Spacer/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { SpacerProps } from './types.js'\n\nconst Spacer = React.forwardRef<HTMLDivElement, SpacerProps>(({ className, data }, ref) => {\n const { space = 'default' } = data\n return (\n <div\n className={cn(\n 'ipc_spacer',\n space === 'default' && 'laptop:h-16 desktop:h-[96px] lg-desktop:h-[128px] tablet:h-16 h-16',\n space === 'fixed' && 'h-16',\n className\n )}\n ></div>\n )\n})\n\nSpacer.displayName = 'Spacer'\n\nexport default withLayout(Spacer)\n"],
5
- "mappings": "aASI,cAAAA,MAAA,oBARJ,OAAOC,MAAW,QAClB,OAAS,MAAAC,MAAU,yBACnB,OAAS,cAAAC,MAAkB,yBAG3B,MAAMC,EAASH,EAAM,WAAwC,CAAC,CAAE,UAAAI,EAAW,KAAAC,CAAK,EAAGC,IAAQ,CACzF,KAAM,CAAE,MAAAC,EAAQ,SAAU,EAAIF,EAC9B,OACEN,EAAC,OACC,UAAWE,EACT,aACAM,IAAU,WAAa,qEACvBA,IAAU,SAAW,OACrBH,CACF,EACD,CAEL,CAAC,EAEDD,EAAO,YAAc,SAErB,IAAOK,EAAQN,EAAWC,CAAM",
6
- "names": ["jsx", "React", "cn", "withLayout", "Spacer", "className", "data", "ref", "space", "Spacer_default"]
4
+ "sourcesContent": ["'use client'\nimport React from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { SpacerProps } from './types.js'\n\nconst Spacer = React.forwardRef<HTMLDivElement, SpacerProps>(({ className, data, ...rest }, ref) => {\n const { space = 'default' } = data\n return (\n <div\n ref={ref}\n {...rest}\n className={cn(\n 'ipc_spacer',\n space === 'default' && 'laptop:h-16 desktop:h-[96px] lg-desktop:h-[128px] tablet:h-16 h-16',\n space === 'fixed' && 'h-16',\n className\n )}\n ></div>\n )\n})\n\nSpacer.displayName = 'Spacer'\n\nexport default withLayout(Spacer)\n"],
5
+ "mappings": "aASI,cAAAA,MAAA,oBARJ,OAAOC,MAAW,QAClB,OAAS,MAAAC,MAAU,yBACnB,OAAS,cAAAC,MAAkB,yBAG3B,MAAMC,EAASH,EAAM,WAAwC,CAAC,CAAE,UAAAI,EAAW,KAAAC,EAAM,GAAGC,CAAK,EAAGC,IAAQ,CAClG,KAAM,CAAE,MAAAC,EAAQ,SAAU,EAAIH,EAC9B,OACEN,EAAC,OACC,IAAKQ,EACJ,GAAGD,EACJ,UAAWL,EACT,aACAO,IAAU,WAAa,qEACvBA,IAAU,SAAW,OACrBJ,CACF,EACD,CAEL,CAAC,EAEDD,EAAO,YAAc,SAErB,IAAOM,EAAQP,EAAWC,CAAM",
6
+ "names": ["jsx", "React", "cn", "withLayout", "Spacer", "className", "data", "rest", "ref", "space", "Spacer_default"]
7
7
  }
@@ -1,10 +1,6 @@
1
1
  import type { ComponentCommonProps } from '../../types/props.js';
2
- export interface SpacerProps extends ComponentCommonProps {
2
+ export interface SpacerProps extends ComponentCommonProps, React.HTMLAttributes<HTMLDivElement> {
3
3
  data: {
4
4
  space: 'default' | 'fixed';
5
5
  };
6
- /**
7
- * 自定义类名
8
- */
9
- className?: string;
10
6
  }
@@ -1,5 +1,11 @@
1
1
  import React from 'react';
2
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<any, "ref"> & React.RefAttributes<HTMLDivElement> & {
2
+ export interface SpecsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
3
+ data?: any;
4
+ buildData?: any;
5
+ onChange?: (product: any, index: number) => void;
6
+ onSecondaryChange?: (data: any) => void;
7
+ }
8
+ declare const _default: React.ForwardRefExoticComponent<Omit<SpecsProps & React.RefAttributes<HTMLDivElement> & {
3
9
  style?: string | React.CSSProperties;
4
10
  container?: import("../../shared/Styles.js").ContainerProps["container"];
5
11
  }, "ref"> & React.RefAttributes<any>>;
@@ -1,2 +1,2 @@
1
- "use client";import{Fragment as j,jsx as s,jsxs as c}from"react/jsx-runtime";import V from"./dropdown.js";import{useAiuiContext as B}from"../AiuiProvider/index.js";import{useMediaQuery as z}from"react-responsive";import{useMemo as q,useState as m,useEffect as S}from"react";import{withLayout as Q}from"../../shared/Styles.js";import{formatVariantPrice as W}from"../ShelfDisplay/shelfDisplay.js";import{Picture as f,Text as G,Button as J,Heading as g}from"../../components/index.js";import K,{useImperativeHandle as X,useRef as Y}from"react";const E=K.forwardRef((A,C)=>{const{data:v,buildData:p,onChange:T,onSecondaryChange:Z}=A||{},h=z({query:"(max-width: 768px)"}),[n,b]=m({}),[F,H]=m([]),[k,w]=m(!1),[x,y]=m({}),N=Y(null),{locale:R="us",currencyDisplay:I}=B(),{LeftMenu:D,RightMenu:L,DefaultSelectMenu:u}=q(()=>v?.data||{},[v?.data]),O=e=>{try{const l=new URL(e).pathname.toLowerCase();return/\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/.test(l)}catch{return/\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/i.test(e)}},P=(e,t)=>{const l=e?.variants?.find?.(d=>d?.sku===e?.sku),a=l?.coupons?.[0],{price:r,basePrice:o}=W({locale:R||"us",amount:a?a?.variant_price4wscode:l?.price,baseAmount:a?l?.price:0,currencyDisplay:I,currencyCode:e?.price?.currencyCode||"USD"}),i=typeof u?.buttonText=="string"?u?.buttonText:u?.buttonText?.[String(t)]||"";return c("div",{className:"specs-sku-node-wrap box-border",children:[c(G,{className:"md-tablet:p-2 l-tablet:mb-4 l-tablet:text-sm desktop:px-6 lg-desktop:mb-8 lg-desktop:text-lg openDropDown specs-sku-node-text relative mb-6 box-border block rounded-[50px] border border-[#E4E5E6] bg-[#F5F5F7] px-6 py-4 text-base font-bold",onClick:()=>{if(Object.keys(n||{})?.length<=2)return null;y({...x,[t]:!x?.[t]})},children:[c("div",{className:"flex items-center justify-between overflow-hidden",children:[s("div",{className:"openDropDown md-tablet:text-sm lg-desktop:text-lg specs-sku-node-title flex-1 truncate text-base",title:n?.[t]?.name||"",children:n?.[t]?.name||""}),Object.keys(n||{})?.length>2?s("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"25",viewBox:"0 0 24 25",fill:"none",className:"openDropDown",children:s("path",{d:"M6 9.5L12 15.5L18 9.5",stroke:"#1D1D1F",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):null]}),s(V,{index:t,list:F,active:n,setActive:b,visible:x,setVisible:y})]}),s("div",{className:"lg-desktop:max-h-[196px] lg-desktop:max-w-[196px] max-h-[138px] max-w-[138px]",children:s(f,{source:l?.image?.url||"",className:"aspect-h-[280] aspect-w-[280]",imgClassName:"w-full h-full object-cover hover:scale-105 transition-all duration-300"})}),s("div",{className:"lg-desktop:text-2xl mb-2 mt-6 text-xl font-bold",children:s("div",{className:"lg-desktop:min-h-[32px] flex min-h-[28px] items-center",children:l?.availableForSale?c(j,{children:[s("div",{className:"specs-sku-node-price text-[#080A0F]",children:r||""}),o&&s("div",{className:"lg-desktop:text-2xl specs-sku-node-base-price ml-1 text-xl text-[#86868C] line-through",children:o})]}):null})}),i?s(J,{onClick:()=>{T?.(e,t)},className:"specs-sku-node-button",children:i}):null]})},_=e=>e&&typeof e!="string"?c("div",{className:"size-full",children:[s("p",{className:"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm",dangerouslySetInnerHTML:{__html:e?.text||""}}),s(f,{source:e?.imgUrl,className:"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]",imgClassName:"w-full h-full object-cover"})]}):s("div",{className:"break-all",children:O(e)?s(f,{source:e,className:"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]",imgClassName:"w-full h-full object-cover"}):s("p",{className:"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm",dangerouslySetInnerHTML:{__html:e||""}})}),M=e=>e.map((t,l)=>{const a=l===0;return c("div",{className:"l-tablet:flex l-tablet:flex-col box-border grid w-full cursor-pointer grid-cols-3 overflow-hidden border-t border-t-[#E4E5E6] specs-product-node-wrap",children:[s(g,{as:"h3",html:t||"",className:"tablet:py-6 l-tablet:text-[#86868C] desktop:p-6 lg-desktop:text-lg specs-product-node-title mr-4 flex-1 pt-4 text-base font-bold md:text-sm"}),s("div",{className:`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:p-6 lg-desktop:gap-16 grid-cols-${k?3:2} specs-product-node-body col-span-2 grid flex-1 py-6`,children:Object.keys(n)?.map?.(r=>{const o=n?.[r],i=L?.menus?.find?.(d=>d?.handle===o?.handle)?.subTitle;return _(i?.[t])})})]},t)}),$=e=>{if(!n)return;const{subTitle:t,isProduct:l}=e;return l?c(j,{children:[c("div",{className:"l-tablet:flex l-tablet:flex-col specs-content-item-product box-border grid w-full cursor-pointer grid-cols-3 border-t-0 border-t-[#E4E5E6]",children:[e?.title&&s(g,{as:"h3",html:e?.title||"",className:"l:hidden specs-item-product-title"}),s("div",{className:`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:px-6 desktop:pb-6 lg-desktop:gap-16 grid-cols-${k?3:2} specs-item-product-body col-span-2 grid flex-1 pb-4 pr-0`,children:Object.keys(n)?.map((a,r)=>{const o=n?.[a],i=p?.products?.find?.(d=>d?.handle===o?.handle);return s("div",{children:P({...i,item:a,sku:o?.sku},r)},a)})})]}),e?.categoryLabel&&s(g,{size:2,as:"h4",html:e?.categoryLabel||"",className:"desktop:p-6 specs-item-product-category py-6"}),t?.length?M(t):null]}):M(t)};return X(C,()=>N.current),S(()=>{if(!p?.products?.length)return;const e=u?.sku?.split?.(",")||[];let t={};e?.forEach?.((a,r)=>{const o=p?.products?.find?.(i=>{if(i?.variants?.find?.(U=>U?.sku===a))return!0});o&&(t={...t,[r]:{sku:a,name:o?.name||o?.title,handle:o?.handle}})});const l=p?.products?.filter(a=>L?.menus?.find(r=>r?.handle===a?.handle));b(t),H(l),w(e?.length>2)},[p]),S(()=>{if(h){const e=Object.keys(n||{});if(e?.length>2){const t=e?.slice?.(0,2);let l={};t?.forEach?.(a=>{l={...l,[a]:n?.[a]}}),w(!1),b(l)}}},[h]),s("div",{className:"specs-wrapper w-full overflow-hidden bg-[#F5F5F7]",ref:N,children:D?.data?s("div",{className:"specs-wrapper-content box-border w-full overflow-hidden",children:D?.data?.map?.((e,t)=>s("div",{className:"specs-wrapper-content-item w-full overflow-hidden pt-10 [&:first-child]:pt-0",children:$(e)},t))}):null})});E.displayName="Specs";var ie=Q(E);export{ie as default};
1
+ "use client";import{Fragment as C,jsx as s,jsxs as c}from"react/jsx-runtime";import B from"./dropdown.js";import{useAiuiContext as z}from"../AiuiProvider/index.js";import{useMediaQuery as q}from"react-responsive";import{useMemo as Q,useState as m,useEffect as D}from"react";import{withLayout as W}from"../../shared/Styles.js";import{formatVariantPrice as G}from"../ShelfDisplay/shelfDisplay.js";import{Picture as f,Text as J,Button as K,Heading as g}from"../../components/index.js";import{cn as X}from"../../helpers/index.js";import Y,{useImperativeHandle as Z,useRef as ee}from"react";const E=Y.forwardRef(({data:v,buildData:d,onChange:T,onSecondaryChange:te,className:A,...j},F)=>{const h=q({query:"(max-width: 768px)"}),[a,x]=m({}),[H,P]=m([]),[k,y]=m(!1),[b,w]=m({}),N=ee(null),{locale:R="us",currencyDisplay:O}=z(),{LeftMenu:L,RightMenu:M,DefaultSelectMenu:u}=Q(()=>v?.data||{},[v?.data]),I=e=>{try{const n=new URL(e).pathname.toLowerCase();return/\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/.test(n)}catch{return/\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/i.test(e)}},_=(e,t)=>{const n=e?.variants?.find?.(p=>p?.sku===e?.sku),o=n?.coupons?.[0],{price:r,basePrice:l}=G({locale:R||"us",amount:o?o?.variant_price4wscode:n?.price,baseAmount:o?n?.price:0,currencyDisplay:O,currencyCode:e?.price?.currencyCode||"USD"}),i=typeof u?.buttonText=="string"?u?.buttonText:u?.buttonText?.[String(t)]||"";return c("div",{className:"specs-sku-node-wrap box-border",children:[c(J,{className:"md-tablet:p-2 l-tablet:mb-4 l-tablet:text-sm desktop:px-6 lg-desktop:mb-8 lg-desktop:text-lg openDropDown specs-sku-node-text relative mb-6 box-border block rounded-[50px] border border-[#E4E5E6] bg-[#F5F5F7] px-6 py-4 text-base font-bold",onClick:()=>{if(Object.keys(a||{})?.length<=2)return null;w({...b,[t]:!b?.[t]})},children:[c("div",{className:"flex items-center justify-between overflow-hidden",children:[s("div",{className:"openDropDown md-tablet:text-sm lg-desktop:text-lg specs-sku-node-title flex-1 truncate text-base",title:a?.[t]?.name||"",children:a?.[t]?.name||""}),Object.keys(a||{})?.length>2?s("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"25",viewBox:"0 0 24 25",fill:"none",className:"openDropDown",children:s("path",{d:"M6 9.5L12 15.5L18 9.5",stroke:"#1D1D1F",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):null]}),s(B,{index:t,list:H,active:a,setActive:x,visible:b,setVisible:w})]}),s("div",{className:"lg-desktop:max-h-[196px] lg-desktop:max-w-[196px] max-h-[138px] max-w-[138px]",children:s(f,{source:n?.image?.url||"",className:"aspect-h-[280] aspect-w-[280]",imgClassName:"w-full h-full object-cover hover:scale-105 transition-all duration-300"})}),s("div",{className:"lg-desktop:text-2xl mb-2 mt-6 text-xl font-bold",children:s("div",{className:"lg-desktop:min-h-[32px] flex min-h-[28px] items-center",children:n?.availableForSale?c(C,{children:[s("div",{className:"specs-sku-node-price text-[#080A0F]",children:r||""}),l&&s("div",{className:"lg-desktop:text-2xl specs-sku-node-base-price ml-1 text-xl text-[#86868C] line-through",children:l})]}):null})}),i?s(K,{onClick:()=>{T?.(e,t)},className:"specs-sku-node-button",children:i}):null]})},$=e=>e&&typeof e!="string"?c("div",{className:"size-full",children:[s("p",{className:"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm",dangerouslySetInnerHTML:{__html:e?.text||""}}),s(f,{source:e?.imgUrl,className:"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]",imgClassName:"w-full h-full object-cover"})]}):s("div",{className:"break-all",children:I(e)?s(f,{source:e,className:"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]",imgClassName:"w-full h-full object-cover"}):s("p",{className:"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm",dangerouslySetInnerHTML:{__html:e||""}})}),S=e=>e.map((t,n)=>{const o=n===0;return c("div",{className:"l-tablet:flex l-tablet:flex-col box-border grid w-full cursor-pointer grid-cols-3 overflow-hidden border-t border-t-[#E4E5E6] specs-product-node-wrap",children:[s(g,{as:"h3",html:t||"",className:"tablet:py-6 l-tablet:text-[#86868C] desktop:p-6 lg-desktop:text-lg specs-product-node-title mr-4 flex-1 pt-4 text-base font-bold md:text-sm"}),s("div",{className:`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:p-6 lg-desktop:gap-16 grid-cols-${k?3:2} specs-product-node-body col-span-2 grid flex-1 py-6`,children:Object.keys(a)?.map?.(r=>{const l=a?.[r],i=M?.menus?.find?.(p=>p?.handle===l?.handle)?.subTitle;return $(i?.[t])})})]},t)}),U=e=>{if(!a)return;const{subTitle:t,isProduct:n}=e;return n?c(C,{children:[c("div",{className:"l-tablet:flex l-tablet:flex-col specs-content-item-product box-border grid w-full cursor-pointer grid-cols-3 border-t-0 border-t-[#E4E5E6]",children:[e?.title&&s(g,{as:"h3",html:e?.title||"",className:"l:hidden specs-item-product-title"}),s("div",{className:`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:px-6 desktop:pb-6 lg-desktop:gap-16 grid-cols-${k?3:2} specs-item-product-body col-span-2 grid flex-1 pb-4 pr-0`,children:Object.keys(a)?.map((o,r)=>{const l=a?.[o],i=d?.products?.find?.(p=>p?.handle===l?.handle);return s("div",{children:_({...i,item:o,sku:l?.sku},r)},o)})})]}),e?.categoryLabel&&s(g,{size:2,as:"h4",html:e?.categoryLabel||"",className:"desktop:p-6 specs-item-product-category py-6"}),t?.length?S(t):null]}):S(t)};return Z(F,()=>N.current),D(()=>{if(!d?.products?.length)return;const e=u?.sku?.split?.(",")||[];let t={};e?.forEach?.((o,r)=>{const l=d?.products?.find?.(i=>{if(i?.variants?.find?.(V=>V?.sku===o))return!0});l&&(t={...t,[r]:{sku:o,name:l?.name||l?.title,handle:l?.handle}})});const n=d?.products?.filter(o=>M?.menus?.find(r=>r?.handle===o?.handle));x(t),P(n),y(e?.length>2)},[d]),D(()=>{if(h){const e=Object.keys(a||{});if(e?.length>2){const t=e?.slice?.(0,2);let n={};t?.forEach?.(o=>{n={...n,[o]:a?.[o]}}),y(!1),x(n)}}},[h]),s("div",{...j,className:X("specs-wrapper w-full overflow-hidden bg-[#F5F5F7]",A),ref:N,children:L?.data?s("div",{className:"specs-wrapper-content box-border w-full overflow-hidden",children:L?.data?.map?.((e,t)=>s("div",{className:"specs-wrapper-content-item w-full overflow-hidden pt-10 [&:first-child]:pt-0",children:U(e)},t))}):null})});E.displayName="Specs";var de=W(E);export{de as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Specs/index.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport DropDown from './dropdown.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useMemo, useState, useEffect } from 'react'\nimport { withLayout } from '../../shared/Styles.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport { Picture, Text, Button, Heading } from '../../components/index.js'\nimport React, { useImperativeHandle, useRef } from 'react'\n\nconst Specs = React.forwardRef<HTMLDivElement, any>((page: any, ref) => {\n const { data, buildData, onChange, onSecondaryChange } = page || {}\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const [active, setActive] = useState<any>({})\n const [menuList, setMenuList] = useState<any[]>([])\n const [isShowMax, setIsShowMax] = useState<boolean>(false)\n const [visibleActive, setVisibleActive] = useState<{ [key: number]: boolean }>({})\n\n const innerRef = useRef<HTMLDivElement>(null)\n\n const { locale = 'us', currencyDisplay } = useAiuiContext()\n\n const { LeftMenu, RightMenu, DefaultSelectMenu } = useMemo(() => data?.data || {}, [data?.data])\n\n const isImageUrl = (urlPath: string) => {\n try {\n const url = new URL(urlPath)\n const path = url.pathname.toLowerCase()\n return /\\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/.test(path)\n } catch (e) {\n // \u5982\u679C\u4F20\u5165\u7684\u4E0D\u662F\u6709\u6548URL\uFF08\u5982\u76F8\u5BF9\u8DEF\u5F84\uFF09\uFF0C\u76F4\u63A5\u68C0\u67E5\u8DEF\u5F84\n return /\\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/i.test(urlPath)\n }\n }\n\n const skuNode = (product: any, index: number) => {\n const findSku = product?.variants?.find?.((item: any) => item?.sku === product?.sku)\n const coupon = findSku?.coupons?.[0]\n const { price, basePrice } = formatVariantPrice({\n locale: locale || 'us',\n amount: coupon ? coupon?.variant_price4wscode : findSku?.price,\n baseAmount: coupon ? findSku?.price : 0,\n currencyDisplay,\n currencyCode: product?.price?.currencyCode || 'USD',\n })\n const buttonTextValue =\n typeof DefaultSelectMenu?.buttonText === 'string'\n ? DefaultSelectMenu?.buttonText\n : DefaultSelectMenu?.buttonText?.[String(index)] || ''\n return (\n <div className=\"specs-sku-node-wrap box-border\">\n <Text\n className={`md-tablet:p-2 l-tablet:mb-4 l-tablet:text-sm desktop:px-6 lg-desktop:mb-8 lg-desktop:text-lg openDropDown specs-sku-node-text relative mb-6 box-border block rounded-[50px] border border-[#E4E5E6] bg-[#F5F5F7] px-6 py-4 text-base font-bold`}\n onClick={() => {\n if (Object.keys(active || {})?.length <= 2) return null\n\n setVisibleActive({\n ...visibleActive,\n [index]: !visibleActive?.[index],\n })\n }}\n >\n <div className=\"flex items-center justify-between overflow-hidden\">\n <div\n className=\"openDropDown md-tablet:text-sm lg-desktop:text-lg specs-sku-node-title flex-1 truncate text-base\"\n title={active?.[index]?.name || ''}\n >\n {active?.[index]?.name || ''}\n </div>\n {Object.keys(active || {})?.length > 2 ? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"25\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n className=\"openDropDown\"\n >\n <path\n d=\"M6 9.5L12 15.5L18 9.5\"\n stroke=\"#1D1D1F\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ) : null}\n </div>\n <DropDown\n index={index}\n list={menuList}\n active={active}\n setActive={setActive}\n visible={visibleActive}\n setVisible={setVisibleActive}\n />\n </Text>\n <div className=\"lg-desktop:max-h-[196px] lg-desktop:max-w-[196px] max-h-[138px] max-w-[138px]\">\n <Picture\n source={findSku?.image?.url || ''}\n className=\"aspect-h-[280] aspect-w-[280]\"\n imgClassName=\"w-full h-full object-cover hover:scale-105 transition-all duration-300\"\n />\n </div>\n <div className=\"lg-desktop:text-2xl mb-2 mt-6 text-xl font-bold\">\n <div className=\"lg-desktop:min-h-[32px] flex min-h-[28px] items-center\">\n {findSku?.availableForSale ? (\n <>\n <div className=\"specs-sku-node-price text-[#080A0F]\">{price || ''}</div>\n {basePrice && (\n <div className=\"lg-desktop:text-2xl specs-sku-node-base-price ml-1 text-xl text-[#86868C] line-through\">\n {basePrice}\n </div>\n )}\n </>\n ) : null}\n </div>\n </div>\n {buttonTextValue ? (\n <Button\n onClick={() => {\n onChange?.(product, index)\n }}\n className=\"specs-sku-node-button\"\n >\n {buttonTextValue}\n </Button>\n ) : null}\n </div>\n )\n }\n\n const normalNode = (v: any) => {\n if (v && typeof v !== 'string') {\n return (\n <div className=\"size-full\">\n <p\n className=\"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm\"\n dangerouslySetInnerHTML={{\n __html: v?.text || '',\n }}\n />\n <Picture\n source={v?.imgUrl}\n className=\"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n </div>\n )\n }\n return (\n <div className=\"break-all\">\n {isImageUrl(v) ? (\n <Picture\n source={v}\n className=\"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n ) : (\n <p\n className=\"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm\"\n dangerouslySetInnerHTML={{\n __html: v || '',\n }}\n />\n )}\n </div>\n )\n }\n\n const productNode = (data: any) => {\n return data.map((st: any, idx: number) => {\n const isFirstParameter = idx === 0\n return (\n <div\n key={st}\n className={`l-tablet:flex l-tablet:flex-col box-border grid w-full cursor-pointer grid-cols-3 overflow-hidden border-t border-t-[#E4E5E6] ${isFirstParameter ? '' : ''} specs-product-node-wrap`}\n >\n <Heading\n as=\"h3\"\n html={st || ''}\n className=\"tablet:py-6 l-tablet:text-[#86868C] desktop:p-6 lg-desktop:text-lg specs-product-node-title mr-4 flex-1 pt-4 text-base font-bold md:text-sm\"\n />\n <div\n className={`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:p-6 lg-desktop:gap-16 grid-cols-${isShowMax ? 3 : 2} specs-product-node-body col-span-2 grid flex-1 py-6`}\n >\n {Object.keys(active)?.map?.((item: string) => {\n const currentData = active?.[item]\n const currentMenus = RightMenu?.menus?.find?.(\n (item: any) => item?.handle === currentData?.handle\n )?.subTitle\n return normalNode(currentMenus?.[st])\n })}\n </div>\n </div>\n )\n })\n }\n\n // \u5DE6\u4FA7\u6807\u9898\u83DC\u5355\n const childrenNode = (node: any) => {\n if (!active) return\n const { subTitle, isProduct } = node\n // \u5982\u679C\u662F\u4EA7\u54C1\n if (isProduct) {\n return (\n <>\n <div\n className={`l-tablet:flex l-tablet:flex-col specs-content-item-product box-border grid w-full cursor-pointer grid-cols-3 border-t-0 border-t-[#E4E5E6]`}\n >\n {node?.title && <Heading as=\"h3\" html={node?.title || ''} className=\"l:hidden specs-item-product-title\" />}\n <div\n className={`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:px-6 desktop:pb-6 lg-desktop:gap-16 grid-cols-${isShowMax ? 3 : 2} specs-item-product-body col-span-2 grid flex-1 pb-4 pr-0`}\n >\n {Object.keys(active)?.map((item: string, index: number) => {\n const currentData = active?.[item]\n const currentProduct = buildData?.products?.find?.((item: any) => item?.handle === currentData?.handle)\n return <div key={item}>{skuNode({ ...currentProduct, item: item, sku: currentData?.sku }, index)}</div>\n })}\n </div>\n </div>\n {node?.categoryLabel && (\n <Heading\n size={2}\n as=\"h4\"\n html={node?.categoryLabel || ''}\n className=\"desktop:p-6 specs-item-product-category py-6\"\n />\n )}\n {subTitle?.length ? productNode(subTitle) : null}\n </>\n )\n }\n return productNode(subTitle)\n }\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useEffect(() => {\n if (!buildData?.products?.length) return\n const skus = DefaultSelectMenu?.sku?.split?.(',') || []\n let currentActive = {}\n skus?.forEach?.((sku: string, index: number) => {\n const findData = buildData?.products?.find?.((item: any) => {\n const findSku = item?.variants?.find?.((v: any) => v?.sku === sku)\n if (findSku) return true\n })\n if (findData) {\n currentActive = {\n ...currentActive,\n [index]: {\n sku: sku,\n name: findData?.name || findData?.title,\n handle: findData?.handle,\n },\n }\n }\n })\n const currentMenu = buildData?.products?.filter((item: any) => {\n return RightMenu?.menus?.find((params: any) => params?.handle === item?.handle)\n })\n setActive(currentActive)\n setMenuList(currentMenu)\n setIsShowMax(skus?.length > 2)\n }, [buildData])\n\n useEffect(() => {\n if (isMobile) {\n const currentActive = Object.keys(active || {})\n if (currentActive?.length > 2) {\n const newActive = currentActive?.slice?.(0, 2)\n let newShowActive = {}\n newActive?.forEach?.((item: string) => {\n newShowActive = { ...newShowActive, [item]: active?.[item] }\n })\n setIsShowMax(false)\n setActive(newShowActive)\n }\n }\n }, [isMobile])\n\n return (\n <div className=\"specs-wrapper w-full overflow-hidden bg-[#F5F5F7]\" ref={innerRef}>\n {LeftMenu?.data ? (\n <div className=\"specs-wrapper-content box-border w-full overflow-hidden\">\n {LeftMenu?.data?.map?.((item: any, index: number) => {\n return (\n <div key={index} className=\"specs-wrapper-content-item w-full overflow-hidden pt-10 [&:first-child]:pt-0\">\n {childrenNode(item)}\n </div>\n )\n })}\n </div>\n ) : null}\n </div>\n )\n})\n\nSpecs.displayName = 'Specs'\n\nexport default withLayout(Specs)\n"],
5
- "mappings": "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",
6
- "names": ["Fragment", "jsx", "jsxs", "DropDown", "useAiuiContext", "useMediaQuery", "useMemo", "useState", "useEffect", "withLayout", "formatVariantPrice", "Picture", "Text", "Button", "Heading", "React", "useImperativeHandle", "useRef", "Specs", "page", "ref", "data", "buildData", "onChange", "onSecondaryChange", "isMobile", "active", "setActive", "menuList", "setMenuList", "isShowMax", "setIsShowMax", "visibleActive", "setVisibleActive", "innerRef", "locale", "currencyDisplay", "LeftMenu", "RightMenu", "DefaultSelectMenu", "isImageUrl", "urlPath", "path", "skuNode", "product", "index", "findSku", "item", "coupon", "price", "basePrice", "buttonTextValue", "normalNode", "v", "productNode", "st", "idx", "isFirstParameter", "currentData", "currentMenus", "childrenNode", "node", "subTitle", "isProduct", "currentProduct", "skus", "currentActive", "sku", "findData", "currentMenu", "params", "newActive", "newShowActive", "Specs_default"]
4
+ "sourcesContent": ["'use client'\n\nimport DropDown from './dropdown.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useMemo, useState, useEffect } from 'react'\nimport { withLayout } from '../../shared/Styles.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport { Picture, Text, Button, Heading } from '../../components/index.js'\nimport { cn } from '../../helpers/index.js'\nimport React, { useImperativeHandle, useRef } from 'react'\n\nexport interface SpecsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n data?: any\n buildData?: any\n onChange?: (product: any, index: number) => void\n onSecondaryChange?: (data: any) => void\n}\n\nconst Specs = React.forwardRef<HTMLDivElement, SpecsProps>(\n ({ data, buildData, onChange, onSecondaryChange, className, ...rest }, ref) => {\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const [active, setActive] = useState<any>({})\n const [menuList, setMenuList] = useState<any[]>([])\n const [isShowMax, setIsShowMax] = useState<boolean>(false)\n const [visibleActive, setVisibleActive] = useState<{ [key: number]: boolean }>({})\n\n const innerRef = useRef<HTMLDivElement>(null)\n\n const { locale = 'us', currencyDisplay } = useAiuiContext()\n\n const { LeftMenu, RightMenu, DefaultSelectMenu } = useMemo(() => data?.data || {}, [data?.data])\n\n const isImageUrl = (urlPath: string) => {\n try {\n const url = new URL(urlPath)\n const path = url.pathname.toLowerCase()\n return /\\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/.test(path)\n } catch (e) {\n // \u5982\u679C\u4F20\u5165\u7684\u4E0D\u662F\u6709\u6548URL\uFF08\u5982\u76F8\u5BF9\u8DEF\u5F84\uFF09\uFF0C\u76F4\u63A5\u68C0\u67E5\u8DEF\u5F84\n return /\\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/i.test(urlPath)\n }\n }\n\n const skuNode = (product: any, index: number) => {\n const findSku = product?.variants?.find?.((item: any) => item?.sku === product?.sku)\n const coupon = findSku?.coupons?.[0]\n const { price, basePrice } = formatVariantPrice({\n locale: locale || 'us',\n amount: coupon ? coupon?.variant_price4wscode : findSku?.price,\n baseAmount: coupon ? findSku?.price : 0,\n currencyDisplay,\n currencyCode: product?.price?.currencyCode || 'USD',\n })\n const buttonTextValue =\n typeof DefaultSelectMenu?.buttonText === 'string'\n ? DefaultSelectMenu?.buttonText\n : DefaultSelectMenu?.buttonText?.[String(index)] || ''\n return (\n <div className=\"specs-sku-node-wrap box-border\">\n <Text\n className={`md-tablet:p-2 l-tablet:mb-4 l-tablet:text-sm desktop:px-6 lg-desktop:mb-8 lg-desktop:text-lg openDropDown specs-sku-node-text relative mb-6 box-border block rounded-[50px] border border-[#E4E5E6] bg-[#F5F5F7] px-6 py-4 text-base font-bold`}\n onClick={() => {\n if (Object.keys(active || {})?.length <= 2) return null\n\n setVisibleActive({\n ...visibleActive,\n [index]: !visibleActive?.[index],\n })\n }}\n >\n <div className=\"flex items-center justify-between overflow-hidden\">\n <div\n className=\"openDropDown md-tablet:text-sm lg-desktop:text-lg specs-sku-node-title flex-1 truncate text-base\"\n title={active?.[index]?.name || ''}\n >\n {active?.[index]?.name || ''}\n </div>\n {Object.keys(active || {})?.length > 2 ? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"25\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n className=\"openDropDown\"\n >\n <path\n d=\"M6 9.5L12 15.5L18 9.5\"\n stroke=\"#1D1D1F\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ) : null}\n </div>\n <DropDown\n index={index}\n list={menuList}\n active={active}\n setActive={setActive}\n visible={visibleActive}\n setVisible={setVisibleActive}\n />\n </Text>\n <div className=\"lg-desktop:max-h-[196px] lg-desktop:max-w-[196px] max-h-[138px] max-w-[138px]\">\n <Picture\n source={findSku?.image?.url || ''}\n className=\"aspect-h-[280] aspect-w-[280]\"\n imgClassName=\"w-full h-full object-cover hover:scale-105 transition-all duration-300\"\n />\n </div>\n <div className=\"lg-desktop:text-2xl mb-2 mt-6 text-xl font-bold\">\n <div className=\"lg-desktop:min-h-[32px] flex min-h-[28px] items-center\">\n {findSku?.availableForSale ? (\n <>\n <div className=\"specs-sku-node-price text-[#080A0F]\">{price || ''}</div>\n {basePrice && (\n <div className=\"lg-desktop:text-2xl specs-sku-node-base-price ml-1 text-xl text-[#86868C] line-through\">\n {basePrice}\n </div>\n )}\n </>\n ) : null}\n </div>\n </div>\n {buttonTextValue ? (\n <Button\n onClick={() => {\n onChange?.(product, index)\n }}\n className=\"specs-sku-node-button\"\n >\n {buttonTextValue}\n </Button>\n ) : null}\n </div>\n )\n }\n\n const normalNode = (v: any) => {\n if (v && typeof v !== 'string') {\n return (\n <div className=\"size-full\">\n <p\n className=\"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm\"\n dangerouslySetInnerHTML={{\n __html: v?.text || '',\n }}\n />\n <Picture\n source={v?.imgUrl}\n className=\"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n </div>\n )\n }\n return (\n <div className=\"break-all\">\n {isImageUrl(v) ? (\n <Picture\n source={v}\n className=\"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n ) : (\n <p\n className=\"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm\"\n dangerouslySetInnerHTML={{\n __html: v || '',\n }}\n />\n )}\n </div>\n )\n }\n\n const productNode = (data: any) => {\n return data.map((st: any, idx: number) => {\n const isFirstParameter = idx === 0\n return (\n <div\n key={st}\n className={`l-tablet:flex l-tablet:flex-col box-border grid w-full cursor-pointer grid-cols-3 overflow-hidden border-t border-t-[#E4E5E6] ${isFirstParameter ? '' : ''} specs-product-node-wrap`}\n >\n <Heading\n as=\"h3\"\n html={st || ''}\n className=\"tablet:py-6 l-tablet:text-[#86868C] desktop:p-6 lg-desktop:text-lg specs-product-node-title mr-4 flex-1 pt-4 text-base font-bold md:text-sm\"\n />\n <div\n className={`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:p-6 lg-desktop:gap-16 grid-cols-${isShowMax ? 3 : 2} specs-product-node-body col-span-2 grid flex-1 py-6`}\n >\n {Object.keys(active)?.map?.((item: string) => {\n const currentData = active?.[item]\n const currentMenus = RightMenu?.menus?.find?.(\n (item: any) => item?.handle === currentData?.handle\n )?.subTitle\n return normalNode(currentMenus?.[st])\n })}\n </div>\n </div>\n )\n })\n }\n\n // \u5DE6\u4FA7\u6807\u9898\u83DC\u5355\n const childrenNode = (node: any) => {\n if (!active) return\n const { subTitle, isProduct } = node\n // \u5982\u679C\u662F\u4EA7\u54C1\n if (isProduct) {\n return (\n <>\n <div\n className={`l-tablet:flex l-tablet:flex-col specs-content-item-product box-border grid w-full cursor-pointer grid-cols-3 border-t-0 border-t-[#E4E5E6]`}\n >\n {node?.title && (\n <Heading as=\"h3\" html={node?.title || ''} className=\"l:hidden specs-item-product-title\" />\n )}\n <div\n className={`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:px-6 desktop:pb-6 lg-desktop:gap-16 grid-cols-${isShowMax ? 3 : 2} specs-item-product-body col-span-2 grid flex-1 pb-4 pr-0`}\n >\n {Object.keys(active)?.map((item: string, index: number) => {\n const currentData = active?.[item]\n const currentProduct = buildData?.products?.find?.(\n (item: any) => item?.handle === currentData?.handle\n )\n return (\n <div key={item}>{skuNode({ ...currentProduct, item: item, sku: currentData?.sku }, index)}</div>\n )\n })}\n </div>\n </div>\n {node?.categoryLabel && (\n <Heading\n size={2}\n as=\"h4\"\n html={node?.categoryLabel || ''}\n className=\"desktop:p-6 specs-item-product-category py-6\"\n />\n )}\n {subTitle?.length ? productNode(subTitle) : null}\n </>\n )\n }\n return productNode(subTitle)\n }\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useEffect(() => {\n if (!buildData?.products?.length) return\n const skus = DefaultSelectMenu?.sku?.split?.(',') || []\n let currentActive = {}\n skus?.forEach?.((sku: string, index: number) => {\n const findData = buildData?.products?.find?.((item: any) => {\n const findSku = item?.variants?.find?.((v: any) => v?.sku === sku)\n if (findSku) return true\n })\n if (findData) {\n currentActive = {\n ...currentActive,\n [index]: {\n sku: sku,\n name: findData?.name || findData?.title,\n handle: findData?.handle,\n },\n }\n }\n })\n const currentMenu = buildData?.products?.filter((item: any) => {\n return RightMenu?.menus?.find((params: any) => params?.handle === item?.handle)\n })\n setActive(currentActive)\n setMenuList(currentMenu)\n setIsShowMax(skus?.length > 2)\n }, [buildData])\n\n useEffect(() => {\n if (isMobile) {\n const currentActive = Object.keys(active || {})\n if (currentActive?.length > 2) {\n const newActive = currentActive?.slice?.(0, 2)\n let newShowActive = {}\n newActive?.forEach?.((item: string) => {\n newShowActive = { ...newShowActive, [item]: active?.[item] }\n })\n setIsShowMax(false)\n setActive(newShowActive)\n }\n }\n }, [isMobile])\n\n return (\n <div {...rest} className={cn('specs-wrapper w-full overflow-hidden bg-[#F5F5F7]', className)} ref={innerRef}>\n {LeftMenu?.data ? (\n <div className=\"specs-wrapper-content box-border w-full overflow-hidden\">\n {LeftMenu?.data?.map?.((item: any, index: number) => {\n return (\n <div\n key={index}\n className=\"specs-wrapper-content-item w-full overflow-hidden pt-10 [&:first-child]:pt-0\"\n >\n {childrenNode(item)}\n </div>\n )\n })}\n </div>\n ) : null}\n </div>\n )\n }\n)\n\nSpecs.displayName = 'Specs'\n\nexport default withLayout(Specs)\n"],
5
+ "mappings": "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",
6
+ "names": ["Fragment", "jsx", "jsxs", "DropDown", "useAiuiContext", "useMediaQuery", "useMemo", "useState", "useEffect", "withLayout", "formatVariantPrice", "Picture", "Text", "Button", "Heading", "cn", "React", "useImperativeHandle", "useRef", "Specs", "data", "buildData", "onChange", "onSecondaryChange", "className", "rest", "ref", "isMobile", "active", "setActive", "menuList", "setMenuList", "isShowMax", "setIsShowMax", "visibleActive", "setVisibleActive", "innerRef", "locale", "currencyDisplay", "LeftMenu", "RightMenu", "DefaultSelectMenu", "isImageUrl", "urlPath", "path", "skuNode", "product", "index", "findSku", "item", "coupon", "price", "basePrice", "buttonTextValue", "normalNode", "v", "productNode", "st", "idx", "isFirstParameter", "currentData", "currentMenus", "childrenNode", "node", "subTitle", "isProduct", "currentProduct", "skus", "currentActive", "sku", "findData", "currentMenu", "params", "newActive", "newShowActive", "Specs_default"]
7
7
  }
@@ -1,11 +1,5 @@
1
- /**
2
- * Subscribe 订阅模块
3
- * @param subscribeMetadata 订阅模块数据
4
- * @param onSubmit 提交事件
5
- * @param className 类名
6
- * @returns
7
- */
8
- declare const Subscribe: ({ subscribeMetadata, onSubmit, className, loading, }: {
1
+ import React from 'react';
2
+ export interface SubscribeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {
9
3
  subscribeMetadata: any;
10
4
  onSubmit?: ({ email, terms, news, dealsType, onSuccess, }: {
11
5
  email: string;
@@ -14,7 +8,14 @@ declare const Subscribe: ({ subscribeMetadata, onSubmit, className, loading, }:
14
8
  dealsType?: string;
15
9
  onSuccess?: () => void;
16
10
  }) => void;
17
- className?: string;
18
11
  loading?: boolean;
19
- }) => import("react/jsx-runtime").JSX.Element;
12
+ }
13
+ /**
14
+ * Subscribe 订阅模块
15
+ * @param subscribeMetadata 订阅模块数据
16
+ * @param onSubmit 提交事件
17
+ * @param className 类名
18
+ * @returns
19
+ */
20
+ declare const Subscribe: ({ subscribeMetadata, onSubmit, className, loading, ...rest }: SubscribeProps) => import("react/jsx-runtime").JSX.Element;
20
21
  export default Subscribe;
@@ -1,4 +1,4 @@
1
- import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useState as a}from"react";import{Text as l,Checkbox as g,Button as E}from"../../components/index.js";import{cn as u}from"../../helpers/utils.js";import{LoadingDots as S}from"../../components/index.js";const z=({subscribeMetadata:t,onSubmit:h,className:k,loading:w})=>{const[i,n]=a(null),[v,N]=a(t?.termsChecked),[B,C]=a(t?.newsChecked),[d,c]=a(null),[F,p]=a(!1),[x,f]=a(""),y=s=>{s.preventDefault();const r=new FormData(s.target),m=r.get("email"),b=r.get("terms"),T=r.get("news");if(!m){n(t?.emptyError);return}if(!/^[a-zA-Z0-9.,%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(m)){n(t?.formatError);return}if(!b){c(t?.termsError);return}h?.({email:m,terms:b,news:T,dealsType:t?.dealsType,onSuccess:()=>{p(!0);let A=setTimeout(()=>{p(!1),clearTimeout(A)},3e3)}})};return o("div",{className:u("subscribe-component laptop:flex-row laptop:gap-4 desktop:flex-col desktop:gap-8 flex flex-col gap-4",k),children:[e("style",{jsx:!0,global:!0,children:`
1
+ import{jsx as e,jsxs as l}from"react/jsx-runtime";import{useState as a}from"react";import{Text as o,Checkbox as u,Button as E}from"../../components/index.js";import{cn as g}from"../../helpers/utils.js";import{LoadingDots as D}from"../../components/index.js";const z=({subscribeMetadata:t,onSubmit:h,className:k,loading:w,...v})=>{const[i,n]=a(null),[N,B]=a(t?.termsChecked),[C,F]=a(t?.newsChecked),[c,d]=a(null),[T,p]=a(!1),[x,b]=a(""),y=s=>{s.preventDefault();const r=new FormData(s.target),m=r.get("email"),f=r.get("terms"),S=r.get("news");if(!m){n(t?.emptyError);return}if(!/^[a-zA-Z0-9.,%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(m)){n(t?.formatError);return}if(!f){d(t?.termsError);return}h?.({email:m,terms:f,news:S,dealsType:t?.dealsType,onSuccess:()=>{p(!0);let A=setTimeout(()=>{p(!1),clearTimeout(A)},3e3)}})};return l("div",{...v,className:g("subscribe-component laptop:flex-row laptop:gap-4 desktop:flex-col desktop:gap-8 flex flex-col gap-4",k),children:[e("style",{jsx:!0,global:!0,children:`
2
2
  .subscribe-component input:-webkit-autofill,
3
3
  .subscribe-component input:-webkit-autofill:hover,
4
4
  .subscribe-component input:-webkit-autofill:focus {
@@ -7,5 +7,5 @@ import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useState as a}from"reac
7
7
  transition: background-color 9999s ease-in-out 0s !important;
8
8
  caret-color: #fff;
9
9
  }
10
- `}),o("div",{className:"laptop:flex-1",children:[e(l,{as:"p",html:t?.title,className:"desktop:text-base text-sm font-bold leading-[1.4] text-white"}),e(l,{as:"p",html:t?.subtitle,className:"desktop:mt-2 desktop:text-[32px] mt-1 text-2xl font-bold leading-[1.2] text-white"})]}),o("form",{className:"laptop:flex-1",onSubmit:y,children:[o("div",{className:"desktop:h-[48px] flex h-[38px] items-center",children:[o("div",{className:"tablet:max-w-[320px] laptop:max-w-[404px] relative h-full flex-1",children:[e("input",{name:"email",onFocus:()=>n(null),value:x,onChange:s=>f(s.target.value),placeholder:t?.placeholder,className:"desktop:text-base rounded-l-btn size-full rounded-r-none border border-[#B6B6BA] bg-transparent px-4 text-sm font-bold leading-[1.2] text-white"}),e("button",{onClick:()=>f(""),className:u("absolute right-4 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",{hidden:!x}),children:"\u2715"})]}),e(E,{type:"submit",className:"desktop:px-7 rounded-r-btn desktop:text-base h-full !rounded-l-none bg-white px-5 text-sm font-bold leading-[1.2] text-black",children:w?e(S,{}):e(l,{html:t?.button,className:"desktop:text-base text-sm font-bold leading-[1.2]"})})]}),i&&e(l,{as:"p",html:i,className:"laptop:text-base mt-2 text-sm font-bold leading-[1.2] text-[#F84D4F]"}),o("div",{className:"mt-4 flex flex-col gap-2",children:[o("div",{className:"laptop:items-center flex items-start gap-2",children:[e(g,{name:"terms",id:"terms",size:"base",checked:v,onCheckedChange:s=>{N(s),s&&c(null)},className:"border-[#B6B6BA] data-[state=checked]:bg-white data-[state=checked]:text-[#080A0F]"}),e("label",{htmlFor:"terms",children:e(l,{as:"p",html:t?.terms,className:"desktop:text-base text-sm font-bold leading-[1.4] text-[#B6B6BA]"})})]}),d&&e(l,{as:"p",html:d,className:"laptop:text-base text-sm font-bold leading-[1.2] text-[#F84D4F]"}),o("div",{className:"flex items-start gap-2",children:[e(g,{name:"news",id:"news",size:"base",checked:B,onCheckedChange:s=>{C(s)},className:"border-[#B6B6BA] data-[state=checked]:bg-white data-[state=checked]:text-[#080A0F]"}),e("label",{htmlFor:"news",children:e(l,{as:"p",html:t?.news,className:"desktop:text-base text-sm font-bold leading-[1.4] text-[#B6B6BA]"})})]}),F&&e(l,{as:"p",html:t?.successMessage,className:"text-brand-0 text-base font-bold leading-[1.2]"})]})]})]})};var $=z;export{$ as default};
10
+ `}),l("div",{className:"laptop:flex-1",children:[e(o,{as:"p",html:t?.title,className:"desktop:text-base text-sm font-bold leading-[1.4] text-white"}),e(o,{as:"p",html:t?.subtitle,className:"desktop:mt-2 desktop:text-[32px] mt-1 text-2xl font-bold leading-[1.2] text-white"})]}),l("form",{className:"laptop:flex-1",onSubmit:y,children:[l("div",{className:"desktop:h-[48px] flex h-[38px] items-center",children:[l("div",{className:"tablet:max-w-[320px] laptop:max-w-[404px] relative h-full flex-1",children:[e("input",{name:"email",onFocus:()=>n(null),value:x,onChange:s=>b(s.target.value),placeholder:t?.placeholder,className:"desktop:text-base rounded-l-btn size-full rounded-r-none border border-[#B6B6BA] bg-transparent px-4 text-sm font-bold leading-[1.2] text-white"}),e("button",{onClick:()=>b(""),className:g("absolute right-4 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600",{hidden:!x}),children:"\u2715"})]}),e(E,{type:"submit",className:"desktop:px-7 rounded-r-btn desktop:text-base h-full !rounded-l-none bg-white px-5 text-sm font-bold leading-[1.2] text-black",children:w?e(D,{}):e(o,{html:t?.button,className:"desktop:text-base text-sm font-bold leading-[1.2]"})})]}),i&&e(o,{as:"p",html:i,className:"laptop:text-base mt-2 text-sm font-bold leading-[1.2] text-[#F84D4F]"}),l("div",{className:"mt-4 flex flex-col gap-2",children:[l("div",{className:"laptop:items-center flex items-start gap-2",children:[e(u,{name:"terms",id:"terms",size:"base",checked:N,onCheckedChange:s=>{B(s),s&&d(null)},className:"border-[#B6B6BA] data-[state=checked]:bg-white data-[state=checked]:text-[#080A0F]"}),e("label",{htmlFor:"terms",children:e(o,{as:"p",html:t?.terms,className:"desktop:text-base text-sm font-bold leading-[1.4] text-[#B6B6BA]"})})]}),c&&e(o,{as:"p",html:c,className:"laptop:text-base text-sm font-bold leading-[1.2] text-[#F84D4F]"}),l("div",{className:"flex items-start gap-2",children:[e(u,{name:"news",id:"news",size:"base",checked:C,onCheckedChange:s=>{F(s)},className:"border-[#B6B6BA] data-[state=checked]:bg-white data-[state=checked]:text-[#080A0F]"}),e("label",{htmlFor:"news",children:e(o,{as:"p",html:t?.news,className:"desktop:text-base text-sm font-bold leading-[1.4] text-[#B6B6BA]"})})]}),T&&e(o,{as:"p",html:t?.successMessage,className:"text-brand-0 text-base font-bold leading-[1.2]"})]})]})]})};var O=z;export{O as default};
11
11
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Subscribe/index.tsx"],
4
- "sourcesContent": ["/* eslint-disable react/no-unknown-property */\nimport React, { useState } from 'react'\nimport { Text, Checkbox, Button } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { LoadingDots } from '../../components/index.js'\n\n/**\n * Subscribe \u8BA2\u9605\u6A21\u5757\n * @param subscribeMetadata \u8BA2\u9605\u6A21\u5757\u6570\u636E\n * @param onSubmit \u63D0\u4EA4\u4E8B\u4EF6\n * @param className \u7C7B\u540D\n * @returns\n */\nconst Subscribe = ({\n subscribeMetadata,\n onSubmit,\n className,\n loading,\n}: {\n subscribeMetadata: any\n onSubmit?: ({\n email,\n terms,\n news,\n dealsType,\n onSuccess,\n }: {\n email: string\n terms: string\n news: string\n dealsType?: string\n onSuccess?: () => void\n }) => void\n className?: string\n loading?: boolean\n}) => {\n const [error, setError] = useState<string | null>(null)\n const [termsChecked, setTermsChecked] = useState<boolean>(subscribeMetadata?.termsChecked)\n const [newsChecked, setNewsChecked] = useState<boolean>(subscribeMetadata?.newsChecked)\n const [termsError, setTermsError] = useState<string | null>(null)\n const [success, setSuccess] = useState<boolean>(false)\n const [email, setEmail] = useState<string>('')\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n const formData = new FormData(e.target as HTMLFormElement)\n const email = formData.get('email')\n const terms = formData.get('terms')\n const news = formData.get('news')\n if (!email) {\n setError(subscribeMetadata?.emptyError)\n return\n }\n if (!/^[a-zA-Z0-9.,%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/.test(email as string)) {\n setError(subscribeMetadata?.formatError)\n return\n }\n if (!terms) {\n setTermsError(subscribeMetadata?.termsError)\n return\n }\n onSubmit?.({\n email: email as string,\n terms: terms as string,\n news: news as string,\n dealsType: subscribeMetadata?.dealsType,\n onSuccess: () => {\n setSuccess(true)\n let timer = setTimeout(() => {\n setSuccess(false)\n clearTimeout(timer)\n }, 3000)\n },\n })\n }\n\n return (\n <div\n className={cn(\n 'subscribe-component laptop:flex-row laptop:gap-4 desktop:flex-col desktop:gap-8 flex flex-col gap-4',\n className\n )}\n >\n {/* TODO: @seasail \u7528tailwind \u539F\u5B50\u7C7B\u6216\u8005\u884C\u5185\u6837\u5F0F(Inline Style)\u4EE3\u66FF jsx global */}\n <style jsx global>\n {`\n .subscribe-component input:-webkit-autofill,\n .subscribe-component input:-webkit-autofill:hover,\n .subscribe-component input:-webkit-autofill:focus {\n -webkit-box-shadow: 0 0 0 1000px transparent inset !important; /* \u80CC\u666F\u900F\u660E */\n -webkit-text-fill-color: #fff !important;\n transition: background-color 9999s ease-in-out 0s !important;\n caret-color: #fff;\n }\n `}\n </style>\n <div className=\"laptop:flex-1\">\n <Text\n as=\"p\"\n html={subscribeMetadata?.title}\n className=\"desktop:text-base text-sm font-bold leading-[1.4] text-white\"\n />\n <Text\n as=\"p\"\n html={subscribeMetadata?.subtitle}\n className=\"desktop:mt-2 desktop:text-[32px] mt-1 text-2xl font-bold leading-[1.2] text-white\"\n />\n </div>\n <form className=\"laptop:flex-1\" onSubmit={handleSubmit}>\n <div className=\"desktop:h-[48px] flex h-[38px] items-center\">\n <div className=\"tablet:max-w-[320px] laptop:max-w-[404px] relative h-full flex-1\">\n <input\n name=\"email\"\n onFocus={() => setError(null)}\n value={email}\n onChange={e => setEmail(e.target.value)}\n placeholder={subscribeMetadata?.placeholder}\n className=\"desktop:text-base rounded-l-btn size-full rounded-r-none border border-[#B6B6BA] bg-transparent px-4 text-sm font-bold leading-[1.2] text-white\"\n />\n <button\n onClick={() => setEmail('')}\n className={cn('absolute right-4 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600', {\n hidden: !email,\n })}\n >\n \u2715\n </button>\n </div>\n <Button\n type=\"submit\"\n className=\"desktop:px-7 rounded-r-btn desktop:text-base h-full !rounded-l-none bg-white px-5 text-sm font-bold leading-[1.2] text-black\"\n >\n {loading ? (\n <LoadingDots />\n ) : (\n <Text html={subscribeMetadata?.button} className=\"desktop:text-base text-sm font-bold leading-[1.2]\" />\n )}\n </Button>\n </div>\n {error && (\n <Text as=\"p\" html={error} className=\"laptop:text-base mt-2 text-sm font-bold leading-[1.2] text-[#F84D4F]\" />\n )}\n <div className=\"mt-4 flex flex-col gap-2\">\n <div className=\"laptop:items-center flex items-start gap-2\">\n <Checkbox\n name=\"terms\"\n id=\"terms\"\n size=\"base\"\n checked={termsChecked}\n onCheckedChange={(checked: boolean) => {\n setTermsChecked(checked)\n checked && setTermsError(null)\n }}\n className=\"border-[#B6B6BA] data-[state=checked]:bg-white data-[state=checked]:text-[#080A0F]\"\n />\n <label htmlFor=\"terms\">\n <Text\n as=\"p\"\n html={subscribeMetadata?.terms}\n className=\"desktop:text-base text-sm font-bold leading-[1.4] text-[#B6B6BA]\"\n />\n </label>\n </div>\n {termsError && (\n <Text\n as=\"p\"\n html={termsError}\n className=\"laptop:text-base text-sm font-bold leading-[1.2] text-[#F84D4F]\"\n />\n )}\n <div className=\"flex items-start gap-2\">\n <Checkbox\n name=\"news\"\n id=\"news\"\n size=\"base\"\n checked={newsChecked}\n onCheckedChange={(checked: boolean) => {\n setNewsChecked(checked)\n }}\n className=\"border-[#B6B6BA] data-[state=checked]:bg-white data-[state=checked]:text-[#080A0F]\"\n />\n <label htmlFor=\"news\">\n <Text\n as=\"p\"\n html={subscribeMetadata?.news}\n className=\"desktop:text-base text-sm font-bold leading-[1.4] text-[#B6B6BA]\"\n />\n </label>\n </div>\n {success && (\n <Text\n as=\"p\"\n html={subscribeMetadata?.successMessage}\n className=\"text-brand-0 text-base font-bold leading-[1.2]\"\n />\n )}\n </div>\n </form>\n </div>\n )\n}\n\nexport default Subscribe\n"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "useState", "Text", "Checkbox", "Button", "cn", "LoadingDots", "Subscribe", "subscribeMetadata", "onSubmit", "className", "loading", "error", "setError", "termsChecked", "setTermsChecked", "newsChecked", "setNewsChecked", "termsError", "setTermsError", "success", "setSuccess", "email", "setEmail", "handleSubmit", "e", "formData", "terms", "news", "timer", "checked", "Subscribe_default"]
4
+ "sourcesContent": ["/* eslint-disable react/no-unknown-property */\nimport React, { useState } from 'react'\nimport { Text, Checkbox, Button } from '../../components/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport { LoadingDots } from '../../components/index.js'\n\nexport interface SubscribeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {\n subscribeMetadata: any\n onSubmit?: ({\n email,\n terms,\n news,\n dealsType,\n onSuccess,\n }: {\n email: string\n terms: string\n news: string\n dealsType?: string\n onSuccess?: () => void\n }) => void\n loading?: boolean\n}\n\n/**\n * Subscribe \u8BA2\u9605\u6A21\u5757\n * @param subscribeMetadata \u8BA2\u9605\u6A21\u5757\u6570\u636E\n * @param onSubmit \u63D0\u4EA4\u4E8B\u4EF6\n * @param className \u7C7B\u540D\n * @returns\n */\nconst Subscribe = ({ subscribeMetadata, onSubmit, className, loading, ...rest }: SubscribeProps) => {\n const [error, setError] = useState<string | null>(null)\n const [termsChecked, setTermsChecked] = useState<boolean>(subscribeMetadata?.termsChecked)\n const [newsChecked, setNewsChecked] = useState<boolean>(subscribeMetadata?.newsChecked)\n const [termsError, setTermsError] = useState<string | null>(null)\n const [success, setSuccess] = useState<boolean>(false)\n const [email, setEmail] = useState<string>('')\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n const formData = new FormData(e.target as HTMLFormElement)\n const email = formData.get('email')\n const terms = formData.get('terms')\n const news = formData.get('news')\n if (!email) {\n setError(subscribeMetadata?.emptyError)\n return\n }\n if (!/^[a-zA-Z0-9.,%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/.test(email as string)) {\n setError(subscribeMetadata?.formatError)\n return\n }\n if (!terms) {\n setTermsError(subscribeMetadata?.termsError)\n return\n }\n onSubmit?.({\n email: email as string,\n terms: terms as string,\n news: news as string,\n dealsType: subscribeMetadata?.dealsType,\n onSuccess: () => {\n setSuccess(true)\n let timer = setTimeout(() => {\n setSuccess(false)\n clearTimeout(timer)\n }, 3000)\n },\n })\n }\n\n return (\n <div\n {...rest}\n className={cn(\n 'subscribe-component laptop:flex-row laptop:gap-4 desktop:flex-col desktop:gap-8 flex flex-col gap-4',\n className\n )}\n >\n {/* TODO: @seasail \u7528tailwind \u539F\u5B50\u7C7B\u6216\u8005\u884C\u5185\u6837\u5F0F(Inline Style)\u4EE3\u66FF jsx global */}\n <style jsx global>\n {`\n .subscribe-component input:-webkit-autofill,\n .subscribe-component input:-webkit-autofill:hover,\n .subscribe-component input:-webkit-autofill:focus {\n -webkit-box-shadow: 0 0 0 1000px transparent inset !important; /* \u80CC\u666F\u900F\u660E */\n -webkit-text-fill-color: #fff !important;\n transition: background-color 9999s ease-in-out 0s !important;\n caret-color: #fff;\n }\n `}\n </style>\n <div className=\"laptop:flex-1\">\n <Text\n as=\"p\"\n html={subscribeMetadata?.title}\n className=\"desktop:text-base text-sm font-bold leading-[1.4] text-white\"\n />\n <Text\n as=\"p\"\n html={subscribeMetadata?.subtitle}\n className=\"desktop:mt-2 desktop:text-[32px] mt-1 text-2xl font-bold leading-[1.2] text-white\"\n />\n </div>\n <form className=\"laptop:flex-1\" onSubmit={handleSubmit}>\n <div className=\"desktop:h-[48px] flex h-[38px] items-center\">\n <div className=\"tablet:max-w-[320px] laptop:max-w-[404px] relative h-full flex-1\">\n <input\n name=\"email\"\n onFocus={() => setError(null)}\n value={email}\n onChange={e => setEmail(e.target.value)}\n placeholder={subscribeMetadata?.placeholder}\n className=\"desktop:text-base rounded-l-btn size-full rounded-r-none border border-[#B6B6BA] bg-transparent px-4 text-sm font-bold leading-[1.2] text-white\"\n />\n <button\n onClick={() => setEmail('')}\n className={cn('absolute right-4 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600', {\n hidden: !email,\n })}\n >\n \u2715\n </button>\n </div>\n <Button\n type=\"submit\"\n className=\"desktop:px-7 rounded-r-btn desktop:text-base h-full !rounded-l-none bg-white px-5 text-sm font-bold leading-[1.2] text-black\"\n >\n {loading ? (\n <LoadingDots />\n ) : (\n <Text html={subscribeMetadata?.button} className=\"desktop:text-base text-sm font-bold leading-[1.2]\" />\n )}\n </Button>\n </div>\n {error && (\n <Text as=\"p\" html={error} className=\"laptop:text-base mt-2 text-sm font-bold leading-[1.2] text-[#F84D4F]\" />\n )}\n <div className=\"mt-4 flex flex-col gap-2\">\n <div className=\"laptop:items-center flex items-start gap-2\">\n <Checkbox\n name=\"terms\"\n id=\"terms\"\n size=\"base\"\n checked={termsChecked}\n onCheckedChange={(checked: boolean) => {\n setTermsChecked(checked)\n checked && setTermsError(null)\n }}\n className=\"border-[#B6B6BA] data-[state=checked]:bg-white data-[state=checked]:text-[#080A0F]\"\n />\n <label htmlFor=\"terms\">\n <Text\n as=\"p\"\n html={subscribeMetadata?.terms}\n className=\"desktop:text-base text-sm font-bold leading-[1.4] text-[#B6B6BA]\"\n />\n </label>\n </div>\n {termsError && (\n <Text\n as=\"p\"\n html={termsError}\n className=\"laptop:text-base text-sm font-bold leading-[1.2] text-[#F84D4F]\"\n />\n )}\n <div className=\"flex items-start gap-2\">\n <Checkbox\n name=\"news\"\n id=\"news\"\n size=\"base\"\n checked={newsChecked}\n onCheckedChange={(checked: boolean) => {\n setNewsChecked(checked)\n }}\n className=\"border-[#B6B6BA] data-[state=checked]:bg-white data-[state=checked]:text-[#080A0F]\"\n />\n <label htmlFor=\"news\">\n <Text\n as=\"p\"\n html={subscribeMetadata?.news}\n className=\"desktop:text-base text-sm font-bold leading-[1.4] text-[#B6B6BA]\"\n />\n </label>\n </div>\n {success && (\n <Text\n as=\"p\"\n html={subscribeMetadata?.successMessage}\n className=\"text-brand-0 text-base font-bold leading-[1.2]\"\n />\n )}\n </div>\n </form>\n </div>\n )\n}\n\nexport default Subscribe\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "useState", "Text", "Checkbox", "Button", "cn", "LoadingDots", "Subscribe", "subscribeMetadata", "onSubmit", "className", "loading", "rest", "error", "setError", "termsChecked", "setTermsChecked", "newsChecked", "setNewsChecked", "termsError", "setTermsError", "success", "setSuccess", "email", "setEmail", "handleSubmit", "e", "formData", "terms", "news", "timer", "checked", "Subscribe_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as s}from"react/jsx-runtime";import c,{useState as t}from"react";import{cn as n}from"../../helpers/utils.js";import{Swiper as d,SwiperSlide as S}from"swiper/react";import{Navigation as g,FreeMode as x,Mousewheel as B}from"swiper/modules";const p=c.forwardRef(({data:o,breakpoints:a,Slide:l,className:f,id:i,itemClassName:w},M)=>{const[E,m]=t(!0),[P,u]=t(!1);return s(d,{className:n(f),navigation:{nextEl:`.${i}-custom-swiper-button-next`,prevEl:`.${i}-custom-swiper-button-prev`},onProgress:e=>{m(e.isBeginning),u(e.isEnd)},modules:[g,x,B],freeMode:!0,mousewheel:{forceToAxis:!0},breakpoints:a||{0:{spaceBetween:12,slidesPerView:1,freeMode:!1},374:{spaceBetween:12,slidesPerView:1.2,freeMode:!1},768:{spaceBetween:16,slidesPerView:2,freeMode:!1}},children:o?.list?.map((e,r)=>s(S,{className:n("!flex !h-[unset]",w),children:s(l,{data:e,configuration:o?.configuration?{...o?.configuration,index:r}:{index:r},jIndex:r})},i+"SwiperSlide"+r))})});p.displayName="SwiperBox";var h=p;export{h as default};
1
+ "use client";import{jsx as i}from"react/jsx-runtime";import S,{useState as t}from"react";import{cn as n}from"../../helpers/utils.js";import{Swiper as g,SwiperSlide as x}from"swiper/react";import{Navigation as B,FreeMode as v,Mousewheel as M}from"swiper/modules";const p=S.forwardRef(({data:o,breakpoints:a,Slide:l,className:f,id:s,itemClassName:w,...m},d)=>{const[E,u]=t(!0),[P,c]=t(!1);return i("div",{...m,ref:d,children:i(g,{className:n(f),navigation:{nextEl:`.${s}-custom-swiper-button-next`,prevEl:`.${s}-custom-swiper-button-prev`},onProgress:e=>{u(e.isBeginning),c(e.isEnd)},modules:[B,v,M],freeMode:!0,mousewheel:{forceToAxis:!0},breakpoints:a||{0:{spaceBetween:12,slidesPerView:1,freeMode:!1},374:{spaceBetween:12,slidesPerView:1.2,freeMode:!1},768:{spaceBetween:16,slidesPerView:2,freeMode:!1}},children:o?.list?.map((e,r)=>i(x,{className:n("!flex !h-[unset]",w),children:i(l,{data:e,configuration:o?.configuration?{...o?.configuration,index:r}:{index:r},jIndex:r})},s+"SwiperSlide"+r))})})});p.displayName="SwiperBox";var V=p;export{V as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/SwiperBox/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, { useState } from 'react'\nimport { cn } from '../../helpers/utils.js'\n// import 'swiper/css'\n// import 'swiper/css/free-mode'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Navigation, FreeMode, Mousewheel } from 'swiper/modules'\nimport type { SwiperBoxProps } from './types.js'\n\nconst SwiperBox = React.forwardRef<HTMLDivElement, SwiperBoxProps>(\n ({ data, breakpoints, Slide, className, id, itemClassName }, ref) => {\n const [isStart, setStart] = useState(true)\n const [isEnd, setEnd] = useState(false)\n\n return (\n <Swiper\n className={cn(className)}\n navigation={{\n nextEl: `.${id}-custom-swiper-button-next`,\n prevEl: `.${id}-custom-swiper-button-prev`,\n }}\n onProgress={swiper => {\n setStart(swiper.isBeginning)\n setEnd(swiper.isEnd)\n }}\n modules={[Navigation, FreeMode, Mousewheel]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n breakpoints={\n breakpoints || {\n 0: {\n spaceBetween: 12,\n slidesPerView: 1,\n freeMode: false,\n },\n 374: {\n spaceBetween: 12,\n slidesPerView: 1.2,\n freeMode: false,\n },\n 768: {\n spaceBetween: 16,\n slidesPerView: 2,\n freeMode: false,\n },\n }\n }\n >\n {data?.list?.map((item, jIndex) => (\n <SwiperSlide key={id + 'SwiperSlide' + jIndex} className={cn('!flex !h-[unset]', itemClassName)}>\n <Slide\n data={item}\n configuration={data?.configuration ? { ...data?.configuration, index: jIndex } : { index: jIndex }}\n jIndex={jIndex}\n />\n </SwiperSlide>\n ))}\n </Swiper>\n )\n }\n)\n\nSwiperBox.displayName = 'SwiperBox'\n\nexport default SwiperBox\n"],
5
- "mappings": "aAoDY,cAAAA,MAAA,oBAnDZ,OAAOC,GAAS,YAAAC,MAAgB,QAChC,OAAS,MAAAC,MAAU,yBAGnB,OAAS,UAAAC,EAAQ,eAAAC,MAAmB,eACpC,OAAS,cAAAC,EAAY,YAAAC,EAAU,cAAAC,MAAkB,iBAGjD,MAAMC,EAAYR,EAAM,WACtB,CAAC,CAAE,KAAAS,EAAM,YAAAC,EAAa,MAAAC,EAAO,UAAAC,EAAW,GAAAC,EAAI,cAAAC,CAAc,EAAGC,IAAQ,CACnE,KAAM,CAACC,EAASC,CAAQ,EAAIhB,EAAS,EAAI,EACnC,CAACiB,EAAOC,CAAM,EAAIlB,EAAS,EAAK,EAEtC,OACEF,EAACI,EAAA,CACC,UAAWD,EAAGU,CAAS,EACvB,WAAY,CACV,OAAQ,IAAIC,CAAE,6BACd,OAAQ,IAAIA,CAAE,4BAChB,EACA,WAAYO,GAAU,CACpBH,EAASG,EAAO,WAAW,EAC3BD,EAAOC,EAAO,KAAK,CACrB,EACA,QAAS,CAACf,EAAYC,EAAUC,CAAU,EAC1C,SAAU,GACV,WAAY,CACV,YAAa,EACf,EACA,YACEG,GAAe,CACb,EAAG,CACD,aAAc,GACd,cAAe,EACf,SAAU,EACZ,EACA,IAAK,CACH,aAAc,GACd,cAAe,IACf,SAAU,EACZ,EACA,IAAK,CACH,aAAc,GACd,cAAe,EACf,SAAU,EACZ,CACF,EAGD,SAAAD,GAAM,MAAM,IAAI,CAACY,EAAMC,IACtBvB,EAACK,EAAA,CAA8C,UAAWF,EAAG,mBAAoBY,CAAa,EAC5F,SAAAf,EAACY,EAAA,CACC,KAAMU,EACN,cAAeZ,GAAM,cAAgB,CAAE,GAAGA,GAAM,cAAe,MAAOa,CAAO,EAAI,CAAE,MAAOA,CAAO,EACjG,OAAQA,EACV,GALgBT,EAAK,cAAgBS,CAMvC,CACD,EACH,CAEJ,CACF,EAEAd,EAAU,YAAc,YAExB,IAAOe,EAAQf",
6
- "names": ["jsx", "React", "useState", "cn", "Swiper", "SwiperSlide", "Navigation", "FreeMode", "Mousewheel", "SwiperBox", "data", "breakpoints", "Slide", "className", "id", "itemClassName", "ref", "isStart", "setStart", "isEnd", "setEnd", "swiper", "item", "jIndex", "SwiperBox_default"]
4
+ "sourcesContent": ["'use client'\nimport React, { useState } from 'react'\nimport { cn } from '../../helpers/utils.js'\n// import 'swiper/css'\n// import 'swiper/css/free-mode'\nimport { Swiper, SwiperSlide } from 'swiper/react'\nimport { Navigation, FreeMode, Mousewheel } from 'swiper/modules'\nimport type { SwiperBoxProps } from './types.js'\n\nconst SwiperBox = React.forwardRef<HTMLDivElement, SwiperBoxProps>(\n ({ data, breakpoints, Slide, className, id, itemClassName, ...rest }, ref) => {\n const [isStart, setStart] = useState(true)\n const [isEnd, setEnd] = useState(false)\n\n return (\n <div {...rest} ref={ref}>\n <Swiper\n className={cn(className)}\n navigation={{\n nextEl: `.${id}-custom-swiper-button-next`,\n prevEl: `.${id}-custom-swiper-button-prev`,\n }}\n onProgress={swiper => {\n setStart(swiper.isBeginning)\n setEnd(swiper.isEnd)\n }}\n modules={[Navigation, FreeMode, Mousewheel]}\n freeMode={true}\n mousewheel={{\n forceToAxis: true,\n }}\n breakpoints={\n breakpoints || {\n 0: {\n spaceBetween: 12,\n slidesPerView: 1,\n freeMode: false,\n },\n 374: {\n spaceBetween: 12,\n slidesPerView: 1.2,\n freeMode: false,\n },\n 768: {\n spaceBetween: 16,\n slidesPerView: 2,\n freeMode: false,\n },\n }\n }\n >\n {data?.list?.map((item, jIndex) => (\n <SwiperSlide key={id + 'SwiperSlide' + jIndex} className={cn('!flex !h-[unset]', itemClassName)}>\n <Slide\n data={item}\n configuration={data?.configuration ? { ...data?.configuration, index: jIndex } : { index: jIndex }}\n jIndex={jIndex}\n />\n </SwiperSlide>\n ))}\n </Swiper>\n </div>\n )\n }\n)\n\nSwiperBox.displayName = 'SwiperBox'\n\nexport default SwiperBox\n"],
5
+ "mappings": "aAqDc,cAAAA,MAAA,oBApDd,OAAOC,GAAS,YAAAC,MAAgB,QAChC,OAAS,MAAAC,MAAU,yBAGnB,OAAS,UAAAC,EAAQ,eAAAC,MAAmB,eACpC,OAAS,cAAAC,EAAY,YAAAC,EAAU,cAAAC,MAAkB,iBAGjD,MAAMC,EAAYR,EAAM,WACtB,CAAC,CAAE,KAAAS,EAAM,YAAAC,EAAa,MAAAC,EAAO,UAAAC,EAAW,GAAAC,EAAI,cAAAC,EAAe,GAAGC,CAAK,EAAGC,IAAQ,CAC5E,KAAM,CAACC,EAASC,CAAQ,EAAIjB,EAAS,EAAI,EACnC,CAACkB,EAAOC,CAAM,EAAInB,EAAS,EAAK,EAEtC,OACEF,EAAC,OAAK,GAAGgB,EAAM,IAAKC,EAClB,SAAAjB,EAACI,EAAA,CACC,UAAWD,EAAGU,CAAS,EACvB,WAAY,CACV,OAAQ,IAAIC,CAAE,6BACd,OAAQ,IAAIA,CAAE,4BAChB,EACA,WAAYQ,GAAU,CACpBH,EAASG,EAAO,WAAW,EAC3BD,EAAOC,EAAO,KAAK,CACrB,EACA,QAAS,CAAChB,EAAYC,EAAUC,CAAU,EAC1C,SAAU,GACV,WAAY,CACV,YAAa,EACf,EACA,YACEG,GAAe,CACb,EAAG,CACD,aAAc,GACd,cAAe,EACf,SAAU,EACZ,EACA,IAAK,CACH,aAAc,GACd,cAAe,IACf,SAAU,EACZ,EACA,IAAK,CACH,aAAc,GACd,cAAe,EACf,SAAU,EACZ,CACF,EAGD,SAAAD,GAAM,MAAM,IAAI,CAACa,EAAMC,IACtBxB,EAACK,EAAA,CAA8C,UAAWF,EAAG,mBAAoBY,CAAa,EAC5F,SAAAf,EAACY,EAAA,CACC,KAAMW,EACN,cAAeb,GAAM,cAAgB,CAAE,GAAGA,GAAM,cAAe,MAAOc,CAAO,EAAI,CAAE,MAAOA,CAAO,EACjG,OAAQA,EACV,GALgBV,EAAK,cAAgBU,CAMvC,CACD,EACH,EACF,CAEJ,CACF,EAEAf,EAAU,YAAc,YAExB,IAAOgB,EAAQhB",
6
+ "names": ["jsx", "React", "useState", "cn", "Swiper", "SwiperSlide", "Navigation", "FreeMode", "Mousewheel", "SwiperBox", "data", "breakpoints", "Slide", "className", "id", "itemClassName", "rest", "ref", "isStart", "setStart", "isEnd", "setEnd", "swiper", "item", "jIndex", "SwiperBox_default"]
7
7
  }
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
- export interface SwiperBoxProps {
2
+ export interface SwiperBoxProps extends React.HTMLAttributes<HTMLDivElement> {
3
3
  data: {
4
4
  list: any[];
5
5
  configuration?: any;
6
6
  onVideoPlayBtnClick?: (jIndex: number) => void;
7
7
  };
8
8
  id: string;
9
- className?: string;
10
9
  itemClassName?: string;
11
10
  breakpoints?: Record<number, Object>;
12
11
  Slide: React.ComponentType<{
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/SwiperBox/types.ts"],
4
- "sourcesContent": ["import React from 'react'\n\nexport interface SwiperBoxProps {\n data: {\n list: any[]\n configuration?: any\n onVideoPlayBtnClick?: (jIndex: number) => void\n }\n id: string\n className?: string\n itemClassName?: string\n breakpoints?: Record<number, Object>\n Slide: React.ComponentType<{ data: any; configuration?: any; jIndex?: number }>\n}\n"],
4
+ "sourcesContent": ["import React from 'react'\n\nexport interface SwiperBoxProps extends React.HTMLAttributes<HTMLDivElement> {\n data: {\n list: any[]\n configuration?: any\n onVideoPlayBtnClick?: (jIndex: number) => void\n }\n id: string\n itemClassName?: string\n breakpoints?: Record<number, Object>\n Slide: React.ComponentType<{ data: any; configuration?: any; jIndex?: number }>\n}\n"],
5
5
  "mappings": "AAAA,MAAkB",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as s,jsxs as u}from"react/jsx-runtime";import{withLayout as n}from"../../shared/Styles.js";import*as e from"../../components/tabs.js";import{cn as l}from"../../helpers/index.js";import c from"react";const i=c.forwardRef(({data:r,className:m},o)=>{const{theme:b,shape:T,align:p,tabs:t}=r;return s("section",{ref:o,className:l(b==="dark"?"aiui-dark":"",m),children:u(e.Tabs,{shape:T,align:p,defaultValue:t[0].tabName,children:[s(e.TabsList,{className:"tabs-list",children:t.map(a=>s(e.TabsTrigger,{value:a.tabName,className:"tabs-trigger",children:a.tabName},a.tabName))}),t.map(a=>s(e.TabsContent,{value:a.tabName,className:"tabs-content",children:a.children(a.tabContent?.[0])},a.tabName))]})})});i.displayName="TabsGroup";var v=n(i);export{v as default};
1
+ "use client";import{jsx as s,jsxs as N}from"react/jsx-runtime";import{withLayout as l}from"../../shared/Styles.js";import*as e from"../../components/tabs.js";import{cn as c}from"../../helpers/index.js";import u from"react";const i=u.forwardRef(({data:r,className:m,...o},b)=>{const{theme:T,shape:p,align:n,tabs:t}=r;return s("section",{ref:b,...o,className:c(T==="dark"?"aiui-dark":"",m),children:N(e.Tabs,{shape:p,align:n,defaultValue:t[0].tabName,children:[s(e.TabsList,{className:"tabs-list",children:t.map(a=>s(e.TabsTrigger,{value:a.tabName,className:"tabs-trigger",children:a.tabName},a.tabName))}),t.map(a=>s(e.TabsContent,{value:a.tabName,className:"tabs-content",children:a.children(a.tabContent?.[0])},a.tabName))]})})});i.displayName="TabsGroup";var d=l(i);export{d as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/TabsGroup/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport { withLayout } from '../../shared/Styles.js'\nimport * as TabsPrimitive from '../../components/tabs.js'\nimport { cn } from '../../helpers/index.js'\nimport type { TabsGroupProps } from './types.js'\nimport React from 'react'\n\nconst TabsGroup = React.forwardRef<HTMLDivElement, TabsGroupProps>(({ data, className }, forwardedRef) => {\n const { theme, shape, align, tabs } = data\n\n return (\n <section ref={forwardedRef} className={cn(theme === 'dark' ? 'aiui-dark' : '', className)}>\n <TabsPrimitive.Tabs shape={shape} align={align} defaultValue={tabs[0].tabName}>\n <TabsPrimitive.TabsList className=\"tabs-list\">\n {tabs.map(tab => (\n <TabsPrimitive.TabsTrigger key={tab.tabName} value={tab.tabName} className=\"tabs-trigger\">\n {tab.tabName}\n </TabsPrimitive.TabsTrigger>\n ))}\n </TabsPrimitive.TabsList>\n {tabs.map(tab => (\n <TabsPrimitive.TabsContent key={tab.tabName} value={tab.tabName} className=\"tabs-content\">\n {tab.children(tab.tabContent?.[0])}\n </TabsPrimitive.TabsContent>\n ))}\n </TabsPrimitive.Tabs>\n </section>\n )\n})\n\nTabsGroup.displayName = 'TabsGroup'\nexport default withLayout(TabsGroup)\n"],
5
- "mappings": "aAYM,OAGM,OAAAA,EAHN,QAAAC,MAAA,oBAXN,OAAS,cAAAC,MAAkB,yBAC3B,UAAYC,MAAmB,2BAC/B,OAAS,MAAAC,MAAU,yBAEnB,OAAOC,MAAW,QAElB,MAAMC,EAAYD,EAAM,WAA2C,CAAC,CAAE,KAAAE,EAAM,UAAAC,CAAU,EAAGC,IAAiB,CACxG,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,MAAAC,EAAO,KAAAC,CAAK,EAAIN,EAEtC,OACEP,EAAC,WAAQ,IAAKS,EAAc,UAAWL,EAAGM,IAAU,OAAS,YAAc,GAAIF,CAAS,EACtF,SAAAP,EAACE,EAAc,KAAd,CAAmB,MAAOQ,EAAO,MAAOC,EAAO,aAAcC,EAAK,CAAC,EAAE,QACpE,UAAAb,EAACG,EAAc,SAAd,CAAuB,UAAU,YAC/B,SAAAU,EAAK,IAAIC,GACRd,EAACG,EAAc,YAAd,CAA4C,MAAOW,EAAI,QAAS,UAAU,eACxE,SAAAA,EAAI,SADyBA,EAAI,OAEpC,CACD,EACH,EACCD,EAAK,IAAIC,GACRd,EAACG,EAAc,YAAd,CAA4C,MAAOW,EAAI,QAAS,UAAU,eACxE,SAAAA,EAAI,SAASA,EAAI,aAAa,CAAC,CAAC,GADHA,EAAI,OAEpC,CACD,GACH,EACF,CAEJ,CAAC,EAEDR,EAAU,YAAc,YACxB,IAAOS,EAAQb,EAAWI,CAAS",
6
- "names": ["jsx", "jsxs", "withLayout", "TabsPrimitive", "cn", "React", "TabsGroup", "data", "className", "forwardedRef", "theme", "shape", "align", "tabs", "tab", "TabsGroup_default"]
4
+ "sourcesContent": ["'use client'\nimport { withLayout } from '../../shared/Styles.js'\nimport * as TabsPrimitive from '../../components/tabs.js'\nimport { cn } from '../../helpers/index.js'\nimport type { TabsGroupProps } from './types.js'\nimport React from 'react'\n\nconst TabsGroup = React.forwardRef<HTMLDivElement, TabsGroupProps>(({ data, className, ...rest }, forwardedRef) => {\n const { theme, shape, align, tabs } = data\n\n return (\n <section ref={forwardedRef} {...rest} className={cn(theme === 'dark' ? 'aiui-dark' : '', className)}>\n <TabsPrimitive.Tabs shape={shape} align={align} defaultValue={tabs[0].tabName}>\n <TabsPrimitive.TabsList className=\"tabs-list\">\n {tabs.map(tab => (\n <TabsPrimitive.TabsTrigger key={tab.tabName} value={tab.tabName} className=\"tabs-trigger\">\n {tab.tabName}\n </TabsPrimitive.TabsTrigger>\n ))}\n </TabsPrimitive.TabsList>\n {tabs.map(tab => (\n <TabsPrimitive.TabsContent key={tab.tabName} value={tab.tabName} className=\"tabs-content\">\n {tab.children(tab.tabContent?.[0])}\n </TabsPrimitive.TabsContent>\n ))}\n </TabsPrimitive.Tabs>\n </section>\n )\n})\n\nTabsGroup.displayName = 'TabsGroup'\nexport default withLayout(TabsGroup)\n"],
5
+ "mappings": "aAYM,OAGM,OAAAA,EAHN,QAAAC,MAAA,oBAXN,OAAS,cAAAC,MAAkB,yBAC3B,UAAYC,MAAmB,2BAC/B,OAAS,MAAAC,MAAU,yBAEnB,OAAOC,MAAW,QAElB,MAAMC,EAAYD,EAAM,WAA2C,CAAC,CAAE,KAAAE,EAAM,UAAAC,EAAW,GAAGC,CAAK,EAAGC,IAAiB,CACjH,KAAM,CAAE,MAAAC,EAAO,MAAAC,EAAO,MAAAC,EAAO,KAAAC,CAAK,EAAIP,EAEtC,OACEP,EAAC,WAAQ,IAAKU,EAAe,GAAGD,EAAM,UAAWL,EAAGO,IAAU,OAAS,YAAc,GAAIH,CAAS,EAChG,SAAAP,EAACE,EAAc,KAAd,CAAmB,MAAOS,EAAO,MAAOC,EAAO,aAAcC,EAAK,CAAC,EAAE,QACpE,UAAAd,EAACG,EAAc,SAAd,CAAuB,UAAU,YAC/B,SAAAW,EAAK,IAAIC,GACRf,EAACG,EAAc,YAAd,CAA4C,MAAOY,EAAI,QAAS,UAAU,eACxE,SAAAA,EAAI,SADyBA,EAAI,OAEpC,CACD,EACH,EACCD,EAAK,IAAIC,GACRf,EAACG,EAAc,YAAd,CAA4C,MAAOY,EAAI,QAAS,UAAU,eACxE,SAAAA,EAAI,SAASA,EAAI,aAAa,CAAC,CAAC,GADHA,EAAI,OAEpC,CACD,GACH,EACF,CAEJ,CAAC,EAEDT,EAAU,YAAc,YACxB,IAAOU,EAAQd,EAAWI,CAAS",
6
+ "names": ["jsx", "jsxs", "withLayout", "TabsPrimitive", "cn", "React", "TabsGroup", "data", "className", "rest", "forwardedRef", "theme", "shape", "align", "tabs", "tab", "TabsGroup_default"]
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import type React from 'react';
2
2
  import type { Align, Shape, Theme } from '../../types/props.js';
3
- export type TabsGroupProps = {
3
+ export interface TabsGroupProps extends React.HTMLAttributes<HTMLElement> {
4
4
  data: {
5
5
  sectionTitle?: string;
6
6
  theme: Theme;
@@ -12,5 +12,4 @@ export type TabsGroupProps = {
12
12
  children: (data: any) => React.ReactNode;
13
13
  }[];
14
14
  };
15
- className?: string;
16
- };
15
+ }
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
- import type { TitleProps } from './types.js';
2
+ import type { TitlePropsBase } from './types.js';
3
+ export interface TitleProps extends TitlePropsBase, Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'title'> {
4
+ }
3
5
  declare const _default: React.ForwardRefExoticComponent<Omit<TitleProps & React.RefAttributes<HTMLDivElement> & {
4
6
  style?: string | React.CSSProperties;
5
7
  container?: import("../../shared/Styles.js").ContainerProps["container"];
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as t,jsxs as v}from"react/jsx-runtime";import Q,{useEffect as W,useRef as u,useImperativeHandle as X,useState as Y}from"react";import{gsap as w}from"gsap";import{SplitText as L}from"gsap/dist/SplitText";import{ScrollTrigger as R}from"gsap/dist/ScrollTrigger";import{cn as c}from"../../helpers/utils.js";import{cva as E}from"class-variance-authority";import{Heading as tt,Text as et}from"../../components/index.js";import{withLayout as nt}from"../../shared/Styles.js";import{trackUrlRef as rt}from"../../shared/trackUrlRef.js";import{useInView as it}from"react-intersection-observer";import st from"./Countdown.js";const H="link",V="title",ot=E("",{variants:{theme:{light:"text-[#080A0F]",dark:"text-[#F5F6F7]"}},defaultVariants:{theme:"light"}}),at=E("desktop:text-base desktop:mt-2 lg-desktop:text-[18px] mt-1 text-[14px] font-bold leading-[1.4] tracking-[-0.36px]",{variants:{theme:{light:"text-[#080A0F]",dark:"text-[#F5F6F7]"}},defaultVariants:{theme:"light"}}),M=({data:r,className:p})=>{const{theme:e="light",extensions:i,title:f,caption:d,align:s}=r;return i?.textLink?v("a",{className:c({"aiui-dark":e==="dark"},"hover:text-brand-0 [&_svg_path]:hover:fill-brand-0 lg-desktop:text-base flex items-center overflow-hidden text-sm font-[700] leading-[1.4] transition-all duration-[0.4s]",{"text-[#080A0F]":e==="light"},{"text-[#F5F6F7]":e==="dark"},{"justify-center mt-4":s==="center"},{"mt-1 laptop:mt-0":s==="left"},p),href:rt(i?.link,`${H}_${V}`),"data-headless-type-name":`${H}#${V}`,"data-headless-title-desc-button":`${f}#${d}`,children:[t("div",{className:"truncate whitespace-nowrap",children:i?.textLink}),t("div",{className:"lg-desktop:size-5 size-4",children:t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",viewBox:"0 0 20 20",fill:"none",children:t("path",{d:"M6.91058 4.41083C7.23602 4.08539 7.76353 4.08539 8.08897 4.41083L13.089 9.41083C13.4144 9.73626 13.4144 10.2638 13.089 10.5892L8.08897 15.5892C7.76353 15.9146 7.23602 15.9146 6.91058 15.5892C6.58515 15.2638 6.58514 14.7363 6.91058 14.4108L11.3214 10L6.91058 5.58921C6.58514 5.26377 6.58514 4.73626 6.91058 4.41083Z",fill:e==="dark"?"#F5F6F7":"#080A0F",className:"transition-all duration-[0.4s]"})})})]}):null},$=Q.forwardRef(({data:r,className:p,as:e="h2",weight:i="bold"},f)=>{const{title:d,caption:s,subtitle:k,countdown:b,showCountdown:z=!1,theme:m="light",extensions:P,align:o="left"}=r,T=u(null),a=u(null),n=u(null),l=u(null),[S,j]=Y(!0),{ref:A,inView:F}=it();X(f,()=>T.current);const I=()=>{j(!1)};return W(()=>{w.registerPlugin(L,R);function B(){if(!a.current)return;const D=a.current?.clientHeight||80;n.current&&n.current.revert(),l.current&&l.current.kill(),n.current=new L(a.current,{type:"words",wordsClass:"word"});const g=n.current.words;w.set(g,{opacity:0}),l.current=R.create({trigger:a.current,start:"bottom bottom-=4%",end:`bottom+=${D*1.5+60}px bottom-=4%`,scrub:!0,invalidateOnRefresh:!0,onUpdate:_=>{const U=_.progress,y=g.length||1,O=.5,h=1/y,N=h*(1-O),C=(y-1)*N+h,Z=Math.min(1,C>0?U/C:0);g.forEach((q,G)=>{const J=G*N,K=h;let x=(Z-J)/K;x=Math.max(0,Math.min(1,x)),w.set(q,{opacity:x})})}})}return F&&B(),()=>{n.current&&n.current.revert(),l.current&&l.current.kill()}},[F]),v("div",{id:P?.id,className:"titleBottom title-box flex items-end justify-between gap-2 pb-6",ref:T,children:[v("div",{ref:A,className:c("flex-1",p,{"aiui-dark":m==="dark","text-center":o==="center","text-left":o==="left"}),children:[(s||d)&&t(tt,{ref:a,as:e,size:4,html:s||d,weight:i,className:ot({theme:m})}),k&&t(et,{html:k,as:"p",className:at({theme:m})}),t(M,{data:r,className:c({"laptop:hidden":o==="left"})}),z&&b&&S&&t(st,{className:c("mt-4 justify-start",{"justify-center":o==="center"}),config:b,onCountdownEnd:I,theme:m})]}),t(M,{data:r,className:c("hidden",{"laptop:flex":o==="left"})})]})});$.displayName="Title";var vt=nt($);export{vt as default};
1
+ "use client";import{jsx as t,jsxs as v}from"react/jsx-runtime";import W,{useEffect as X,useRef as m,useImperativeHandle as Y,useState as tt}from"react";import{gsap as w}from"gsap";import{SplitText as H}from"gsap/dist/SplitText";import{ScrollTrigger as R}from"gsap/dist/ScrollTrigger";import{cn as c}from"../../helpers/utils.js";import{cva as E}from"class-variance-authority";import{Heading as et,Text as nt}from"../../components/index.js";import{withLayout as rt}from"../../shared/Styles.js";import{trackUrlRef as it}from"../../shared/trackUrlRef.js";import{useInView as st}from"react-intersection-observer";import ot from"./Countdown.js";const M="link",V="title",at=E("",{variants:{theme:{light:"text-[#080A0F]",dark:"text-[#F5F6F7]"}},defaultVariants:{theme:"light"}}),lt=E("desktop:text-base desktop:mt-2 lg-desktop:text-[18px] mt-1 text-[14px] font-bold leading-[1.4] tracking-[-0.36px]",{variants:{theme:{light:"text-[#080A0F]",dark:"text-[#F5F6F7]"}},defaultVariants:{theme:"light"}}),P=({data:r,className:p})=>{const{theme:e="light",extensions:i,title:u,caption:f,align:s}=r;return i?.textLink?v("a",{className:c({"aiui-dark":e==="dark"},"hover:text-brand-0 [&_svg_path]:hover:fill-brand-0 lg-desktop:text-base flex items-center overflow-hidden text-sm font-[700] leading-[1.4] transition-all duration-[0.4s]",{"text-[#080A0F]":e==="light"},{"text-[#F5F6F7]":e==="dark"},{"justify-center mt-4":s==="center"},{"mt-1 laptop:mt-0":s==="left"},p),href:it(i?.link,`${M}_${V}`),"data-headless-type-name":`${M}#${V}`,"data-headless-title-desc-button":`${u}#${f}`,children:[t("div",{className:"truncate whitespace-nowrap",children:i?.textLink}),t("div",{className:"lg-desktop:size-5 size-4",children:t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"100%",height:"100%",viewBox:"0 0 20 20",fill:"none",children:t("path",{d:"M6.91058 4.41083C7.23602 4.08539 7.76353 4.08539 8.08897 4.41083L13.089 9.41083C13.4144 9.73626 13.4144 10.2638 13.089 10.5892L8.08897 15.5892C7.76353 15.9146 7.23602 15.9146 6.91058 15.5892C6.58515 15.2638 6.58514 14.7363 6.91058 14.4108L11.3214 10L6.91058 5.58921C6.58514 5.26377 6.58514 4.73626 6.91058 4.41083Z",fill:e==="dark"?"#F5F6F7":"#080A0F",className:"transition-all duration-[0.4s]"})})})]}):null},$=W.forwardRef(({data:r,className:p,as:e="h2",weight:i="bold",...u},f)=>{const{title:s,caption:T,subtitle:b,countdown:k,showCountdown:z=!1,theme:d="light",extensions:A,align:o="left"}=r,F=m(null),a=m(null),n=m(null),l=m(null),[B,S]=tt(!0),{ref:j,inView:y}=st();Y(f,()=>F.current);const D=()=>{S(!1)};return X(()=>{w.registerPlugin(H,R);function I(){if(!a.current)return;const _=a.current?.clientHeight||80;n.current&&n.current.revert(),l.current&&l.current.kill(),n.current=new H(a.current,{type:"words",wordsClass:"word"});const g=n.current.words;w.set(g,{opacity:0}),l.current=R.create({trigger:a.current,start:"bottom bottom-=4%",end:`bottom+=${_*1.5+60}px bottom-=4%`,scrub:!0,invalidateOnRefresh:!0,onUpdate:O=>{const U=O.progress,N=g.length||1,Z=.5,h=1/N,L=h*(1-Z),C=(N-1)*L+h,q=Math.min(1,C>0?U/C:0);g.forEach((G,J)=>{const K=J*L,Q=h;let x=(q-K)/Q;x=Math.max(0,Math.min(1,x)),w.set(G,{opacity:x})})}})}return y&&I(),()=>{n.current&&n.current.revert(),l.current&&l.current.kill()}},[y]),v("div",{...u,id:A?.id,className:"titleBottom title-box flex items-end justify-between gap-2 pb-6",ref:F,children:[v("div",{ref:j,className:c("flex-1",p,{"aiui-dark":d==="dark","text-center":o==="center","text-left":o==="left"}),children:[(T||s)&&t(et,{ref:a,as:e,size:4,html:T||s,weight:i,className:at({theme:d})}),b&&t(nt,{html:b,as:"p",className:lt({theme:d})}),t(P,{data:r,className:c({"laptop:hidden":o==="left"})}),z&&k&&B&&t(ot,{className:c("mt-4 justify-start",{"justify-center":o==="center"}),config:k,onCountdownEnd:D,theme:d})]}),t(P,{data:r,className:c("hidden",{"laptop:flex":o==="left"})})]})});$.displayName="Title";var Tt=rt($);export{Tt as default};
2
2
  //# sourceMappingURL=index.js.map