@anker-in/headless-ui 0.0.27-alpha.0 → 0.0.27-alpha.10

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 (233) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +25 -0
  2. package/dist/cjs/biz-components/AccordionCards/index.js +2 -0
  3. package/dist/cjs/biz-components/AccordionCards/index.js.map +7 -0
  4. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  5. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +2 -2
  6. package/dist/cjs/biz-components/Category/index.js +1 -1
  7. package/dist/cjs/biz-components/Category/index.js.map +2 -2
  8. package/dist/cjs/biz-components/Evaluate/index.d.ts +1 -0
  9. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  10. package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
  11. package/dist/cjs/biz-components/Graphic/index.d.ts +15 -0
  12. package/dist/cjs/biz-components/Graphic/index.js +2 -0
  13. package/dist/cjs/biz-components/Graphic/index.js.map +7 -0
  14. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  15. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +2 -2
  16. package/dist/cjs/biz-components/HeroBanner/types.d.ts +1 -1
  17. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  18. package/dist/cjs/biz-components/Marquee/index.js +1 -1
  19. package/dist/cjs/biz-components/Marquee/index.js.map +3 -3
  20. package/dist/cjs/biz-components/MemberEquity/index.js +30 -30
  21. package/dist/cjs/biz-components/MemberEquity/index.js.map +2 -2
  22. package/dist/cjs/biz-components/ShelfDisplay/index.js +9 -9
  23. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +2 -2
  24. package/dist/cjs/biz-components/Slogan/index.js +1 -1
  25. package/dist/cjs/biz-components/Slogan/index.js.map +2 -2
  26. package/dist/cjs/biz-components/index.d.ts +3 -1
  27. package/dist/cjs/biz-components/index.js +1 -1
  28. package/dist/cjs/biz-components/index.js.map +3 -3
  29. package/dist/cjs/components/badge.d.ts +1 -1
  30. package/dist/cjs/components/badge.js +1 -1
  31. package/dist/cjs/components/badge.js.map +2 -2
  32. package/dist/cjs/components/button.d.ts +1 -1
  33. package/dist/cjs/components/button.js +1 -1
  34. package/dist/cjs/components/button.js.map +2 -2
  35. package/dist/cjs/components/card.js +1 -1
  36. package/dist/cjs/components/card.js.map +2 -2
  37. package/dist/cjs/components/carousel.js +1 -1
  38. package/dist/cjs/components/carousel.js.map +2 -2
  39. package/dist/cjs/components/container.js +1 -1
  40. package/dist/cjs/components/container.js.map +2 -2
  41. package/dist/cjs/components/dialog.js +1 -1
  42. package/dist/cjs/components/dialog.js.map +2 -2
  43. package/dist/cjs/components/gird.js +1 -1
  44. package/dist/cjs/components/gird.js.map +2 -2
  45. package/dist/cjs/components/heading.d.ts +1 -1
  46. package/dist/cjs/components/heading.js +1 -1
  47. package/dist/cjs/components/heading.js.map +2 -2
  48. package/dist/cjs/components/text.js +1 -1
  49. package/dist/cjs/components/text.js.map +2 -2
  50. package/dist/cjs/helpers/utils.js +1 -1
  51. package/dist/cjs/helpers/utils.js.map +2 -2
  52. package/dist/cjs/stories/accordionCards.stories.d.ts +28 -0
  53. package/dist/cjs/stories/accordionCards.stories.js +2 -0
  54. package/dist/cjs/stories/accordionCards.stories.js.map +7 -0
  55. package/dist/cjs/stories/badge.stories.d.ts +17 -2
  56. package/dist/cjs/stories/badge.stories.js +1 -1
  57. package/dist/cjs/stories/badge.stories.js.map +2 -2
  58. package/dist/cjs/stories/button.stories.d.ts +3 -1
  59. package/dist/cjs/stories/button.stories.js +1 -1
  60. package/dist/cjs/stories/button.stories.js.map +3 -3
  61. package/dist/cjs/stories/container.stories.js +6 -6
  62. package/dist/cjs/stories/container.stories.js.map +2 -2
  63. package/dist/cjs/stories/dialog.stories.js +1 -1
  64. package/dist/cjs/stories/dialog.stories.js.map +2 -2
  65. package/dist/cjs/stories/evaluate.stories.js +1 -1
  66. package/dist/cjs/stories/evaluate.stories.js.map +2 -2
  67. package/dist/cjs/stories/graphic.stories.d.ts +49 -0
  68. package/dist/cjs/stories/graphic.stories.js +2 -0
  69. package/dist/cjs/stories/graphic.stories.js.map +7 -0
  70. package/dist/cjs/stories/heading.stories.d.ts +3 -2
  71. package/dist/cjs/stories/heading.stories.js +1 -1
  72. package/dist/cjs/stories/heading.stories.js.map +2 -2
  73. package/dist/cjs/stories/text.stories.js +1 -1
  74. package/dist/cjs/stories/text.stories.js.map +2 -2
  75. package/dist/esm/biz-components/AccordionCards/index.d.ts +25 -0
  76. package/dist/esm/biz-components/AccordionCards/index.js +2 -0
  77. package/dist/esm/biz-components/AccordionCards/index.js.map +7 -0
  78. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  79. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +2 -2
  80. package/dist/esm/biz-components/Category/index.js +1 -1
  81. package/dist/esm/biz-components/Category/index.js.map +2 -2
  82. package/dist/esm/biz-components/Evaluate/index.d.ts +1 -0
  83. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  84. package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
  85. package/dist/esm/biz-components/Graphic/index.d.ts +15 -0
  86. package/dist/esm/biz-components/Graphic/index.js +2 -0
  87. package/dist/esm/biz-components/Graphic/index.js.map +7 -0
  88. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  89. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +2 -2
  90. package/dist/esm/biz-components/HeroBanner/types.d.ts +1 -1
  91. package/dist/esm/biz-components/Marquee/index.js +1 -1
  92. package/dist/esm/biz-components/Marquee/index.js.map +3 -3
  93. package/dist/esm/biz-components/MemberEquity/index.js +29 -29
  94. package/dist/esm/biz-components/MemberEquity/index.js.map +2 -2
  95. package/dist/esm/biz-components/ShelfDisplay/index.js +9 -9
  96. package/dist/esm/biz-components/ShelfDisplay/index.js.map +2 -2
  97. package/dist/esm/biz-components/Slogan/index.js +1 -1
  98. package/dist/esm/biz-components/Slogan/index.js.map +2 -2
  99. package/dist/esm/biz-components/index.d.ts +3 -1
  100. package/dist/esm/biz-components/index.js +1 -1
  101. package/dist/esm/biz-components/index.js.map +2 -2
  102. package/dist/esm/components/badge.d.ts +1 -1
  103. package/dist/esm/components/badge.js +1 -1
  104. package/dist/esm/components/badge.js.map +2 -2
  105. package/dist/esm/components/button.d.ts +1 -1
  106. package/dist/esm/components/button.js +1 -1
  107. package/dist/esm/components/button.js.map +2 -2
  108. package/dist/esm/components/card.js +1 -1
  109. package/dist/esm/components/card.js.map +2 -2
  110. package/dist/esm/components/carousel.js +1 -1
  111. package/dist/esm/components/carousel.js.map +2 -2
  112. package/dist/esm/components/container.js +1 -1
  113. package/dist/esm/components/container.js.map +2 -2
  114. package/dist/esm/components/dialog.js +1 -1
  115. package/dist/esm/components/dialog.js.map +2 -2
  116. package/dist/esm/components/gird.js +1 -1
  117. package/dist/esm/components/gird.js.map +2 -2
  118. package/dist/esm/components/heading.d.ts +1 -1
  119. package/dist/esm/components/heading.js +1 -1
  120. package/dist/esm/components/heading.js.map +2 -2
  121. package/dist/esm/components/text.js +1 -1
  122. package/dist/esm/components/text.js.map +2 -2
  123. package/dist/esm/helpers/utils.js +1 -1
  124. package/dist/esm/helpers/utils.js.map +2 -2
  125. package/dist/esm/stories/accordionCards.stories.d.ts +28 -0
  126. package/dist/esm/stories/accordionCards.stories.js +2 -0
  127. package/dist/esm/stories/accordionCards.stories.js.map +7 -0
  128. package/dist/esm/stories/badge.stories.d.ts +17 -2
  129. package/dist/esm/stories/badge.stories.js +1 -1
  130. package/dist/esm/stories/badge.stories.js.map +3 -3
  131. package/dist/esm/stories/button.stories.d.ts +3 -1
  132. package/dist/esm/stories/button.stories.js +1 -1
  133. package/dist/esm/stories/button.stories.js.map +3 -3
  134. package/dist/esm/stories/container.stories.js +6 -6
  135. package/dist/esm/stories/container.stories.js.map +2 -2
  136. package/dist/esm/stories/dialog.stories.js +1 -1
  137. package/dist/esm/stories/dialog.stories.js.map +2 -2
  138. package/dist/esm/stories/evaluate.stories.js +1 -1
  139. package/dist/esm/stories/evaluate.stories.js.map +2 -2
  140. package/dist/esm/stories/graphic.stories.d.ts +49 -0
  141. package/dist/esm/stories/graphic.stories.js +2 -0
  142. package/dist/esm/stories/graphic.stories.js.map +7 -0
  143. package/dist/esm/stories/heading.stories.d.ts +3 -2
  144. package/dist/esm/stories/heading.stories.js +1 -1
  145. package/dist/esm/stories/heading.stories.js.map +2 -2
  146. package/dist/esm/stories/text.stories.js +2 -2
  147. package/dist/esm/stories/text.stories.js.map +2 -2
  148. package/package.json +5 -4
  149. package/style.css +180 -70
  150. package/src/biz-components/BrandEquity/BrandEquity.tsx +0 -77
  151. package/src/biz-components/BrandEquity/index.ts +0 -1
  152. package/src/biz-components/Category/index.tsx +0 -57
  153. package/src/biz-components/Evaluate/index.tsx +0 -85
  154. package/src/biz-components/HeroBanner/HeroBanner.tsx +0 -103
  155. package/src/biz-components/HeroBanner/index.tsx +0 -1
  156. package/src/biz-components/HeroBanner/types.ts +0 -28
  157. package/src/biz-components/Marquee/index.tsx +0 -79
  158. package/src/biz-components/MemberEquity/index.tsx +0 -114
  159. package/src/biz-components/MemberEquity/types.ts +0 -26
  160. package/src/biz-components/Shelf/Shelf.tsx +0 -22
  161. package/src/biz-components/Shelf/index.ts +0 -1
  162. package/src/biz-components/Shelf/types.ts +0 -6
  163. package/src/biz-components/ShelfDisplay/index.tsx +0 -142
  164. package/src/biz-components/Slogan/index.tsx +0 -53
  165. package/src/biz-components/Slogan/types.ts +0 -25
  166. package/src/biz-components/index.ts +0 -11
  167. package/src/components/alert.tsx +0 -124
  168. package/src/components/avatar.tsx +0 -126
  169. package/src/components/badge.tsx +0 -27
  170. package/src/components/button.tsx +0 -183
  171. package/src/components/card.tsx +0 -51
  172. package/src/components/carousel.tsx +0 -352
  173. package/src/components/checkbox.tsx +0 -42
  174. package/src/components/color.tsx +0 -77
  175. package/src/components/container.tsx +0 -28
  176. package/src/components/dialog.tsx +0 -98
  177. package/src/components/drawer.tsx +0 -115
  178. package/src/components/drop-down.tsx +0 -182
  179. package/src/components/gird.tsx +0 -90
  180. package/src/components/heading.tsx +0 -80
  181. package/src/components/index.ts +0 -26
  182. package/src/components/input-number.tsx +0 -216
  183. package/src/components/input.tsx +0 -79
  184. package/src/components/link.tsx +0 -99
  185. package/src/components/picture.tsx +0 -100
  186. package/src/components/popover.tsx +0 -31
  187. package/src/components/radio.tsx +0 -85
  188. package/src/components/skeleton.tsx +0 -41
  189. package/src/components/tabs.tsx +0 -78
  190. package/src/components/text.tsx +0 -99
  191. package/src/components/theme.tsx +0 -20
  192. package/src/helpers/component-props.ts +0 -17
  193. package/src/helpers/constants.ts +0 -0
  194. package/src/helpers/index.ts +0 -2
  195. package/src/helpers/utils.ts +0 -16
  196. package/src/icons/spinner.tsx +0 -26
  197. package/src/index.ts +0 -1
  198. package/src/shared/Styles.tsx +0 -94
  199. package/src/stories/HeroBanner.stories.tsx +0 -86
  200. package/src/stories/MemberEquity.stories.tsx +0 -107
  201. package/src/stories/alert.stories.tsx +0 -41
  202. package/src/stories/avatar.stories.tsx +0 -83
  203. package/src/stories/badge.stories.tsx +0 -40
  204. package/src/stories/brandEquity.stories.tsx +0 -73
  205. package/src/stories/button.stories.tsx +0 -145
  206. package/src/stories/card.stories.tsx +0 -97
  207. package/src/stories/carousel.stories.tsx +0 -161
  208. package/src/stories/category.stories.tsx +0 -52
  209. package/src/stories/checkbox.stories.tsx +0 -93
  210. package/src/stories/container.stories.tsx +0 -97
  211. package/src/stories/dialog.stories.tsx +0 -74
  212. package/src/stories/drawer.stories.tsx +0 -88
  213. package/src/stories/drop-down.stories.tsx +0 -83
  214. package/src/stories/evaluate.stories.tsx +0 -53
  215. package/src/stories/grid.stories.tsx +0 -190
  216. package/src/stories/heading.stories.tsx +0 -96
  217. package/src/stories/input-number.stories.tsx +0 -52
  218. package/src/stories/input.stories.tsx +0 -64
  219. package/src/stories/link.stories.tsx +0 -142
  220. package/src/stories/marquee.stories.tsx +0 -102
  221. package/src/stories/picture.stories.tsx +0 -51
  222. package/src/stories/popover.stories.tsx +0 -41
  223. package/src/stories/radio.stories.tsx +0 -55
  224. package/src/stories/shelf.stories.tsx +0 -35
  225. package/src/stories/shelfDisplay.stories.tsx +0 -69
  226. package/src/stories/skeleton.stories.tsx +0 -67
  227. package/src/stories/slogan.stories.tsx +0 -99
  228. package/src/stories/tabs.stories.tsx +0 -179
  229. package/src/stories/text.stories.tsx +0 -130
  230. package/src/styles/global.css +0 -4
  231. package/src/styles/index.css +0 -0
  232. package/src/types/index.ts +0 -0
  233. package/src/types/props.ts +0 -5
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/MemberEquity/index.tsx"],
4
- "sourcesContent": ["import React from 'react';\nimport { Button } from '../../components/index.js';\nimport { withStyles } from '../../shared/Styles.js';\nimport type { MemberEquityProps } from './types.js';\n\nconst MemberEquity: React.FC<MemberEquityProps> = ({\n title,\n description,\n backgroundImage,\n primaryButton,\n secondaryButton,\n shape = 'square',\n theme = 'light',\n className = '',\n}) => {\n\n const handleButtonPrimaryClick = () => {\n // \u6267\u884C\u4E3B\u6309\u94AE\u7684\u70B9\u51FB\u4E8B\u4EF6\n\n }\n\n const handleButtonSecondaryClick = () => {\n // \u6267\u884C\u526F\u6309\u94AE\u7684\u70B9\u51FB\u4E8B\u4EF6\n }\n\n return (\n <section\n data-ui-component-id=\"MemberEquity\"\n className={`\n relative w-full overflow-hidden bg-[#242426]\n ${shape === 'round' ? 'rounded-none sm:rounded-lg md:rounded-xl lg:rounded-2xl' : ''}\n ${className}\n `}\n >\n\n <div\n className=\"absolute inset-0 w-full h-full\"\n style={{\n backgroundImage: `\n radial-gradient(circle at 70% 176%, rgba(84, 85, 87, 0) 72%, rgba(84, 85, 87, 1) 100%),\n url(${backgroundImage})\n `,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n }}\n />\n <div className={`\n relative w-full mx-auto\n aspect-[343/200] xs:aspect-[343/200]\n sm:aspect-[343/200] \n md:aspect-[592/336]\n lg:aspect-[800/448]\n xl:aspect-[1000/560]\n flex items-center\n `}>\n <div className={`\n w-full px-4 sm:px-6 md:px-[76px] lg:px-[111px] xl:px-[139px]\n flex flex-col gap-4 sm:gap-5 md:gap-6 lg:gap-7 xl:gap-8\n `}>\n <div className=\"flex flex-col gap-2 sm:gap-2 md:gap-3 lg:gap-3 xl:gap-4\">\n <h2 className={`\n member-equity-title font-mont font-bold text-white tracking-[-0.04em]\n text-xl sm:text-2xl md:text-3xl lg:text-4xl xl:text-[32px]\n leading-[1.2]\n max-w-[280px] sm:max-w-[300px] md:max-w-[400px] lg:max-w-[500px] xl:max-w-[547px]\n `}>\n {title}\n </h2>\n <p className={`\n member-equity-description font-pingfang font-semibold text-white tracking-[-0.02em]\n text-sm sm:text-sm md:text-base lg:text-lg xl:text-lg\n leading-[1.4]\n max-w-[260px] sm:max-w-[286px] md:max-w-[350px] lg:max-w-[426px] xl:max-w-[547px]\n `}>\n {description}\n </p>\n </div>\n\n {/* \u6309\u94AE\u7EC4 */}\n <div className=\"flex items-center gap-3 sm:gap-3 md:gap-4 lg:gap-4 xl:gap-4\">\n <Button\n theme={theme}\n variant=\"primary\"\n onClick={handleButtonPrimaryClick}\n className={`\n member-equity-button-primary bg-transparent border-white border-[1px] text-white text-xs sm:text-sm md:text-sm lg:text-base xl:text-base\n px-4 sm:px-5 md:px-6 lg:px-7 xl:px-7 hover:bg-white hover:text-black\n py-2 sm:py-[10px] md:py-[11px] lg:py-[12px] xl:py-[14px]\n ${shape === 'round' ? 'rounded-[16px] sm:rounded-[19px] md:rounded-[20px] lg:rounded-[22px] xl:rounded-[24px]' : ''}\n `}\n >\n {primaryButton.text}\n </Button>\n <Button\n theme={theme}\n variant=\"secondary\"\n onClick={handleButtonSecondaryClick}\n className={`\n member-equity-button-secondary text-xs sm:text-sm md:text-sm lg:text-base xl:text-base\n px-4 sm:px-5 md:px-6 lg:px-7 xl:px-7\n py-2 sm:py-[10px] md:py-[11px] lg:py-[12px] xl:py-[14px]\n ${shape === 'round' ? 'rounded-[16px] sm:rounded-[19px] md:rounded-[20px] lg:rounded-[22px] xl:rounded-[24px]' : ''}\n `}\n >\n {secondaryButton.text}\n </Button>\n </div>\n </div>\n </div>\n </section>\n );\n};\n\nexport default withStyles(MemberEquity); "],
5
- "mappings": "AAmCM,cAAAA,EAwBI,QAAAC,MAxBJ,oBAnCN,MAAkB,QAClB,OAAS,UAAAC,MAAc,4BACvB,OAAS,cAAAC,MAAkB,yBAG3B,MAAMC,EAA4C,CAAC,CACjD,MAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,cAAAC,EACA,gBAAAC,EACA,MAAAC,EAAQ,SACR,MAAAC,EAAQ,QACR,UAAAC,EAAY,EACd,IAAM,CAEJ,MAAMC,EAA2B,IAAM,CAGvC,EAEMC,EAA6B,IAAM,CAEzC,EAEA,OACEb,EAAC,WACC,uBAAqB,eACrB,UAAW;AAAA;AAAA,UAEPS,IAAU,QAAU,0DAA4D,EAAE;AAAA,UAClFE,CAAS;AAAA,QAIb,UAAAZ,EAAC,OACC,UAAU,iCACV,MAAO,CACL,gBAAiB;AAAA;AAAA,kBAETO,CAAe;AAAA,YAEvB,eAAgB,QAChB,mBAAoB,QACtB,EACF,EACAP,EAAC,OAAI,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QASd,SAAAC,EAAC,OAAI,UAAW;AAAA;AAAA;AAAA,UAId,UAAAA,EAAC,OAAI,UAAU,0DACb,UAAAD,EAAC,MAAG,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA,cAMZ,SAAAK,EACH,EACAL,EAAC,KAAE,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA,cAMX,SAAAM,EACH,GACF,EAGAL,EAAC,OAAI,UAAU,8DACb,UAAAD,EAACE,EAAA,CACC,MAAOS,EACP,QAAQ,UACR,QAASE,EACT,UAAW;AAAA;AAAA;AAAA;AAAA,kBAIPH,IAAU,QAAU,yFAA2F,EAAE;AAAA,gBAGpH,SAAAF,EAAc,KACjB,EACAR,EAACE,EAAA,CACC,MAAOS,EACP,QAAQ,YACR,QAASG,EACT,UAAW;AAAA;AAAA;AAAA;AAAA,kBAIPJ,IAAU,QAAU,yFAA2F,EAAE;AAAA,gBAGpH,SAAAD,EAAgB,KACnB,GACF,GACF,EACF,GACF,CAEJ,EAEA,IAAOM,EAAQZ,EAAWC,CAAY",
4
+ "sourcesContent": ["import React from 'react';\nimport { Button } from '../../components/index.js';\nimport { withStyles } from '../../shared/Styles.js';\nimport type { MemberEquityProps } from './types.js';\n\nconst MemberEquity: React.FC<MemberEquityProps> = ({\n title,\n description,\n backgroundImage,\n primaryButton,\n secondaryButton,\n shape = 'square',\n theme = 'light',\n className = '',\n}) => {\n\n const handleButtonPrimaryClick = () => {\n // \u6267\u884C\u4E3B\u6309\u94AE\u7684\u70B9\u51FB\u4E8B\u4EF6\n\n }\n\n const handleButtonSecondaryClick = () => {\n // \u6267\u884C\u526F\u6309\u94AE\u7684\u70B9\u51FB\u4E8B\u4EF6\n }\n\n return (\n <section\n data-ui-component-id=\"MemberEquity\"\n className={`\n relative w-full overflow-hidden bg-[#242426]\n ${shape === 'round' ? 'rounded-none tablet:rounded-lg laptop:rounded-xl desktop:rounded-2xl' : ''}\n ${className}\n `}\n >\n\n <div\n className=\"absolute inset-0 w-full h-full\"\n style={{\n backgroundImage: `\n radial-gradient(circle at 70% 176%, rgba(84, 85, 87, 0) 72%, rgba(84, 85, 87, 1) 100%),\n url(${backgroundImage})\n `,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n }}\n />\n <div className={`\n relative w-full mx-auto\n aspect-[343/200] xs:aspect-[343/200]\n tablet:aspect-[343/200] \n laptop:aspect-[592/336]\n desktop:aspect-[800/448]\n lg-desktop:aspect-[1000/560]\n flex items-center\n `}>\n <div className={`\n w-full px-4 tablet:px-6 laptop:px-[76px] desktop:px-[111px] lg-desktop:px-[139px]\n flex flex-col gap-4 tablet:gap-5 laptop:gap-6 desktop:gap-7 lg-desktop:gap-8\n `}>\n <div className=\"flex flex-col gap-2 tablet:gap-2 laptop:gap-3 desktop:gap-3 lg-desktop:gap-4\">\n <h2 className={`\n member-equity-title font-mont font-bold text-white tracking-[-0.04em]\n text-xl tablet:text-2xl laptop:text-3xl desktop:text-4xl lg-desktop:text-[32px]\n leading-[1.2]\n max-w-[280px] tablet:max-w-[300px] laptop:max-w-[400px] desktop:max-w-[500px] lg-desktop:max-w-[547px]\n `}>\n {title}\n </h2>\n <p className={`\n member-equity-description font-pingfang font-semibold text-white tracking-[-0.02em]\n text-sm tablet:text-sm laptop:text-base desktop:text-lg lg-desktop:text-lg\n leading-[1.4]\n max-w-[260px] tablet:max-w-[286px] laptop:max-w-[350px] desktop:max-w-[426px] lg-desktop:max-w-[547px]\n `}>\n {description}\n </p>\n </div>\n\n {/* \u6309\u94AE\u7EC4 */}\n <div className=\"flex items-center gap-3 tablet:gap-3 laptop:gap-4 desktop:gap-4 lg-desktop:gap-4\">\n <Button\n theme={theme}\n variant=\"primary\"\n onClick={handleButtonPrimaryClick}\n className={`\n member-equity-button-primary bg-transparent border-white border-[1px] text-white text-xs tablet:text-sm laptop:text-sm desktop:text-base lg-desktop:text-base\n px-4 tablet:px-5 laptop:px-6 desktop:px-7 lg-desktop:px-7 hover:bg-white hover:text-black\n py-2 tablet:py-[10px] laptop:py-[11px] desktop:py-[12px] lg-desktop:py-[14px]\n ${shape === 'round' ? 'rounded-[16px] tablet:rounded-[19px] laptop:rounded-[20px] desktop:rounded-[22px] lg-desktop:rounded-[24px]' : ''}\n `}\n >\n {primaryButton.text}\n </Button>\n <Button\n theme={theme}\n variant=\"secondary\"\n onClick={handleButtonSecondaryClick}\n className={`\n member-equity-button-secondary text-xs tablet:text-sm laptop:text-sm desktop:text-base lg-desktop:text-base\n px-4 tablet:px-5 laptop:px-6 desktop:px-7 lg-desktop:px-7\n py-2 tablet:py-[10px] laptop:py-[11px] desktop:py-[12px] lg-desktop:py-[14px]\n ${shape === 'round' ? 'rounded-[16px] tablet:rounded-[19px] laptop:rounded-[20px] desktop:rounded-[22px] lg-desktop:rounded-[24px]' : ''}\n `}\n >\n {secondaryButton.text}\n </Button>\n </div>\n </div>\n </div>\n </section>\n );\n};\n\nexport default withStyles(MemberEquity); "],
5
+ "mappings": "AAmCM,cAAAA,EAwBI,QAAAC,MAxBJ,oBAnCN,MAAkB,QAClB,OAAS,UAAAC,MAAc,4BACvB,OAAS,cAAAC,MAAkB,yBAG3B,MAAMC,EAA4C,CAAC,CACjD,MAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,cAAAC,EACA,gBAAAC,EACA,MAAAC,EAAQ,SACR,MAAAC,EAAQ,QACR,UAAAC,EAAY,EACd,IAAM,CAEJ,MAAMC,EAA2B,IAAM,CAGvC,EAEMC,EAA6B,IAAM,CAEzC,EAEA,OACEb,EAAC,WACC,uBAAqB,eACrB,UAAW;AAAA;AAAA,UAEPS,IAAU,QAAU,uEAAyE,EAAE;AAAA,UAC/FE,CAAS;AAAA,QAIb,UAAAZ,EAAC,OACC,UAAU,iCACV,MAAO,CACL,gBAAiB;AAAA;AAAA,kBAETO,CAAe;AAAA,YAEvB,eAAgB,QAChB,mBAAoB,QACtB,EACF,EACAP,EAAC,OAAI,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QASd,SAAAC,EAAC,OAAI,UAAW;AAAA;AAAA;AAAA,UAId,UAAAA,EAAC,OAAI,UAAU,+EACb,UAAAD,EAAC,MAAG,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA,cAMZ,SAAAK,EACH,EACAL,EAAC,KAAE,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA,cAMX,SAAAM,EACH,GACF,EAGAL,EAAC,OAAI,UAAU,mFACb,UAAAD,EAACE,EAAA,CACC,MAAOS,EACP,QAAQ,UACR,QAASE,EACT,UAAW;AAAA;AAAA;AAAA;AAAA,kBAIPH,IAAU,QAAU,8GAAgH,EAAE;AAAA,gBAGzI,SAAAF,EAAc,KACjB,EACAR,EAACE,EAAA,CACC,MAAOS,EACP,QAAQ,YACR,QAASG,EACT,UAAW;AAAA;AAAA;AAAA;AAAA,kBAIPJ,IAAU,QAAU,8GAAgH,EAAE;AAAA,gBAGzI,SAAAD,EAAgB,KACnB,GACF,GACF,EACF,GACF,CAEJ,EAEA,IAAOM,EAAQZ,EAAWC,CAAY",
6
6
  "names": ["jsx", "jsxs", "Button", "withStyles", "MemberEquity", "title", "description", "backgroundImage", "primaryButton", "secondaryButton", "shape", "theme", "className", "handleButtonPrimaryClick", "handleButtonSecondaryClick", "MemberEquity_default"]
7
7
  }
@@ -1,10 +1,10 @@
1
- import{Fragment as y,jsx as e,jsxs as r}from"react/jsx-runtime";import"react";import{cn as l}from"../../helpers/utils";import b from"../../components/picture";import i from"../../components/button";const v=({className:n="",shape:a="square",itemShape:s="square",products:d=[],primaryButton:x,secondaryButton:m,event:o})=>{const p=t=>{o?.primaryButton?.onClick?.(t)},c=t=>{o?.secondaryButton?.onClick(t)};return e(y,{children:e("div",{className:l("w-full",n),children:e("div",{className:l("flex overflow-hidden","md:px-[140px] lg:px-[268px]"),children:e("div",{className:l("w-full flex","gap-3 md:gap-4 overflow-x-auto overflow-y-hidden"),children:d?.map((t,g)=>r("div",{className:l("bg-[#EAEAEC] p-4 flex flex-col min-w-[288px] max-w-[288px]","md:min-w-[316px] md:max-w-[316px] lg:min-w-[404px] lg:max-w-[404px] lg:pt-4 lg:px-6 lg:pb-6",s==="round"?"rounded-2xl":"rounded-none"),children:[e("div",{className:l("h-[137px] overflow-hidden relative inline-block mb-2","lg:mb-3 lg:h-[195px]"),children:e(b,{source:t?.img||"",className:"h-full [&_img]:w-auto object-cover flex justify-center"})}),e("div",{className:"mb-1 flex gap-1 flex-wrap lg:mb-2",children:t?.tagItems?.map((u,f)=>e("div",{className:"border-2 border-[#00BEFA] px-2 py-1 text-sm font-bold rounded-3xl text-[#00BEFA] lg:text-base",children:u},f))}),e("p",{className:"flex-1 font-bold text-xl text-[#1D1D1F] leading-[1.2] tracking-[-0.04em] lg:text-2xl",children:t?.title||""}),e("h3",{className:"mt-1 mb-5 text-sm font-semibold text-[#1D1D1F] leading-[1.2] tracking-[-0.02em] lg:mt-2 lg:mb-6 lg:text-lg",children:t?.subTitle||""}),r("div",{className:"mb-2 flex items-center",children:[e("div",{className:"font-bold text-xl text-[#1D1D1F] lg:text-2xl",children:t?.price||""}),e("div",{className:"ml-1 font-bold text-xl text-[#86868C] lg:text-2xl",children:t?.basePrice||""})]}),r("div",{className:"flex items-center gap-3",children:[e(i,{variant:"primary",onClick:()=>p(t),className:`
2
- flex-1 bg-transparent border-[#1D1D1F] border box-border text-[#1D1D1F] text-xs md:text-sm lg:text-base
3
- px-4 md:px-6 lg:px-7 hover:bg-transparent hover:text-black py-2 md:py-2.5 lg:py-3 tracking-[-0.04em]
4
- ${a==="round"?"rounded-[20px] lg:rounded-3xl":""}
5
- `,children:x||""}),e(i,{variant:"secondary",onClick:()=>c(t),className:`
6
- flex-1 bg-[#1D1D1F] border-[#1D1D1F] border text-white box-border text-xs md:text-sm lg:text-base
7
- px-4 md:px-6 lg:px-7 py-2 md:py-2.5 lg:py-3 tracking-[-0.04em]
8
- ${a==="round"?"rounded-[20px] lg:rounded-3xl":""}
9
- `,children:m||""})]})]},g))})})})})};var B=v;export{B as default};
1
+ import{Fragment as g,jsx as e,jsxs as s}from"react/jsx-runtime";import"react";import{cn as o}from"../../helpers/utils.js";import b from"../../components/picture.js";import p from"../../components/button.js";const v=({className:l="",shape:a="square",itemShape:d="square",products:i=[],primaryButton:n,secondaryButton:x,event:r})=>{const m=t=>{r?.primaryButton?.onClick?.(t)},c=t=>{r?.secondaryButton?.onClick(t)};return e(g,{children:e("div",{className:o("w-full",l),children:e("div",{className:o("flex overflow-hidden"),children:e("div",{className:o("w-full flex","gap-3 laptop:gap-4 overflow-x-auto overflow-y-hidden"),children:i?.map((t,u)=>s("div",{className:o("bg-[#EAEAEC] p-4 flex flex-col min-w-[288px] max-w-[288px]","laptop:min-w-[316px] laptop:max-w-[316px] desktop:min-w-[404px] desktop:max-w-[404px] desktop:pt-4 desktop:px-6 desktop:pb-6",d==="round"?"rounded-2xl":"rounded-none"),children:[e("div",{className:o("h-[137px] overflow-hidden relative inline-block mb-2","desktop:mb-3 desktop:h-[195px]"),children:e(b,{source:t?.img||"",className:"h-full [&_img]:w-auto object-cover flex justify-center"})}),e("div",{className:"mb-1 flex gap-1 flex-wrap desktop:mb-2",children:t?.tagItems?.map((f,k)=>e("div",{className:"border-2 border-[#00BEFA] px-2 py-1 text-sm font-bold rounded-3xl text-[#00BEFA] desktop:text-base",children:f},k))}),e("p",{className:"flex-1 font-bold text-xl text-[#1D1D1F] leading-[1.2] tracking-[-0.04em] desktop:text-2xl",children:t?.title||""}),e("h3",{className:"mt-1 mb-5 text-sm font-semibold text-[#1D1D1F] leading-[1.2] tracking-[-0.02em] desktop:mt-2 desktop:mb-6 desktop:text-lg",children:t?.subTitle||""}),s("div",{className:"mb-2 flex items-center",children:[e("div",{className:"font-bold text-xl text-[#1D1D1F] desktop:text-2xl",children:t?.price||""}),e("div",{className:"ml-1 font-bold text-xl text-[#86868C] desktop:text-2xl",children:t?.basePrice||""})]}),s("div",{className:"flex items-center gap-3",children:[e(p,{variant:"primary",onClick:()=>m(t),className:`
2
+ flex-1 bg-transparent border-[#1D1D1F] border box-border text-[#1D1D1F] text-xs laptop:text-sm desktop:text-base
3
+ px-4 laptop:px-6 desktop:px-7 hover:bg-transparent hover:text-black py-2 laptop:py-2.5 desktop:py-3 tracking-[-0.04em]
4
+ ${a==="round"?"rounded-[20px] desktop:rounded-3xl":""}
5
+ `,children:n||""}),e(p,{variant:"secondary",onClick:()=>c(t),className:`
6
+ flex-1 bg-[#1D1D1F] border-[#1D1D1F] border text-white box-border text-xs laptop:text-sm desktop:text-base
7
+ px-4 laptop:px-6 desktop:px-7 py-2 laptop:py-2.5 desktop:py-3 tracking-[-0.04em]
8
+ ${a==="round"?"rounded-[20px] desktop:rounded-3xl":""}
9
+ `,children:x||""})]})]},u))})})})})};var B=v;export{B as default};
10
10
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/ShelfDisplay/index.tsx"],
4
- "sourcesContent": ["import React from 'react'\nimport { cn } from '../../helpers/utils'\nimport Picture from '../../components/picture'\nimport Button from '../../components/button'\nexport interface ShelfDisplayItem {\n /** \u4EA7\u54C1\u56FE\u7247*/\n img: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price: string\n title: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice: string\n subTitle: string\n /** \u6807\u7B7E*/\n tagItems: string[]\n}\n\nexport interface ShelfDisplayProps {\n products: ShelfDisplayItem[]\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n className?: string\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: {\n primaryButton?: {\n onClick: (v: any) => void\n },\n secondaryButton?: {\n onClick: (v: any) => void\n }\n },\n}\n\nconst ShelfDisplay: React.FC<ShelfDisplayProps> = ({\n className = '',\n shape = 'square',\n itemShape = 'square',\n products = [],\n primaryButton,\n secondaryButton,\n event\n}) => {\n\n const onPrimaryButton = (params: ShelfDisplayItem) => {\n event?.primaryButton?.onClick?.(params)\n }\n\n const onSecondaryButton = (params: ShelfDisplayItem) => {\n event?.secondaryButton?.onClick(params)\n }\n\n return (\n <>\n <div className={cn('w-full', className)}>\n <div className={cn('flex overflow-hidden', 'md:px-[140px] lg:px-[268px]')}>\n <div className={cn('w-full flex', 'gap-3 md:gap-4 overflow-x-auto overflow-y-hidden')}>\n {products?.map((item, index) => {\n return (\n <div\n key={index}\n className={cn(\n 'bg-[#EAEAEC] p-4 flex flex-col min-w-[288px] max-w-[288px]',\n 'md:min-w-[316px] md:max-w-[316px] lg:min-w-[404px] lg:max-w-[404px] lg:pt-4 lg:px-6 lg:pb-6',\n itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('h-[137px] overflow-hidden relative inline-block mb-2', 'lg:mb-3 lg:h-[195px]')}>\n <Picture\n source={item?.img || ''}\n className=\"h-full [&_img]:w-auto object-cover flex justify-center\"\n />\n </div>\n <div className=\"mb-1 flex gap-1 flex-wrap lg:mb-2\">\n {item?.tagItems?.map((tag, index) => {\n return (\n <div\n key={index}\n className=\"border-2 border-[#00BEFA] px-2 py-1 text-sm font-bold rounded-3xl text-[#00BEFA] lg:text-base\"\n >\n {tag}\n </div>\n )\n })}\n </div>\n <p className=\"flex-1 font-bold text-xl text-[#1D1D1F] leading-[1.2] tracking-[-0.04em] lg:text-2xl\">\n {item?.title || ''}\n </p>\n <h3 className=\"mt-1 mb-5 text-sm font-semibold text-[#1D1D1F] leading-[1.2] tracking-[-0.02em] lg:mt-2 lg:mb-6 lg:text-lg\">\n {item?.subTitle || ''}\n </h3>\n <div className=\"mb-2 flex items-center\">\n <div className=\"font-bold text-xl text-[#1D1D1F] lg:text-2xl\">\n {item?.price || ''}\n </div>\n <div className=\"ml-1 font-bold text-xl text-[#86868C] lg:text-2xl\">\n {item?.basePrice || ''}\n </div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div className=\"flex items-center gap-3\">\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(item)}\n className={`\n flex-1 bg-transparent border-[#1D1D1F] border box-border text-[#1D1D1F] text-xs md:text-sm lg:text-base\n px-4 md:px-6 lg:px-7 hover:bg-transparent hover:text-black py-2 md:py-2.5 lg:py-3 tracking-[-0.04em]\n ${shape === 'round' ? 'rounded-[20px] lg:rounded-3xl' : ''}\n `}\n >\n {primaryButton || ''}\n </Button>\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(item)}\n className={`\n flex-1 bg-[#1D1D1F] border-[#1D1D1F] border text-white box-border text-xs md:text-sm lg:text-base\n px-4 md:px-6 lg:px-7 py-2 md:py-2.5 lg:py-3 tracking-[-0.04em]\n ${shape === 'round' ? 'rounded-[20px] lg:rounded-3xl' : ''}\n `}\n >\n {secondaryButton || ''}\n </Button>\n </div>\n </div>\n )\n })}\n </div>\n </div>\n </div>\n </>\n )\n}\n\nexport default ShelfDisplay\n"],
5
- "mappings": "AA4DI,mBAAAA,EAegB,OAAAC,EAuBF,QAAAC,MAtCd,oBA5DJ,MAAkB,QAClB,OAAS,MAAAC,MAAU,sBACnB,OAAOC,MAAa,2BACpB,OAAOC,MAAY,0BAsCnB,MAAMC,EAA4C,CAAC,CACjD,UAAAC,EAAY,GACZ,MAAAC,EAAQ,SACR,UAAAC,EAAY,SACZ,SAAAC,EAAW,CAAC,EACZ,cAAAC,EACA,gBAAAC,EACA,MAAAC,CACF,IAAM,CAEJ,MAAMC,EAAmBC,GAA6B,CACpDF,GAAO,eAAe,UAAUE,CAAM,CACxC,EAEMC,EAAqBD,GAA6B,CACtDF,GAAO,iBAAiB,QAAQE,CAAM,CACxC,EAEA,OACEd,EAAAD,EAAA,CACE,SAAAC,EAAC,OAAI,UAAWE,EAAG,SAAUI,CAAS,EACpC,SAAAN,EAAC,OAAI,UAAWE,EAAG,uBAAwB,6BAA6B,EACtE,SAAAF,EAAC,OAAI,UAAWE,EAAG,cAAe,kDAAkD,EACjF,SAAAO,GAAU,IAAI,CAACO,EAAMC,IAElBhB,EAAC,OAEC,UAAWC,EACT,6DACA,8FACAM,IAAc,QAAU,cAAgB,cAC1C,EAEA,UAAAR,EAAC,OAAI,UAAWE,EAAG,uDAAwD,sBAAsB,EAC/F,SAAAF,EAACG,EAAA,CACC,OAAQa,GAAM,KAAO,GACrB,UAAU,yDACZ,EACF,EACAhB,EAAC,OAAI,UAAU,oCACZ,SAAAgB,GAAM,UAAU,IAAI,CAACE,EAAKD,IAEvBjB,EAAC,OAEC,UAAU,gGAET,SAAAkB,GAHID,CAIP,CAEH,EACH,EACAjB,EAAC,KAAE,UAAU,uFACV,SAAAgB,GAAM,OAAS,GAClB,EACAhB,EAAC,MAAG,UAAU,6GACX,SAAAgB,GAAM,UAAY,GACrB,EACAf,EAAC,OAAI,UAAU,yBACb,UAAAD,EAAC,OAAI,UAAU,+CACZ,SAAAgB,GAAM,OAAS,GAClB,EACAhB,EAAC,OAAI,UAAU,oDACZ,SAAAgB,GAAM,WAAa,GACtB,GACF,EAEAf,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACI,EAAA,CACC,QAAQ,UACR,QAAS,IAAMS,EAAgBG,CAAI,EACnC,UAAW;AAAA;AAAA;AAAA,0BAGPT,IAAU,QAAU,gCAAkC,EAAE;AAAA,wBAG3D,SAAAG,GAAiB,GACpB,EACAV,EAACI,EAAA,CACC,QAAQ,YACR,QAAS,IAAMW,EAAkBC,CAAI,EACrC,UAAW;AAAA;AAAA;AAAA,0BAGPT,IAAU,QAAU,gCAAkC,EAAE;AAAA,wBAG3D,SAAAI,GAAmB,GACtB,GACF,IA/DKM,CAgEP,CAEH,EACH,EACF,EACF,EACF,CAEJ,EAEA,IAAOE,EAAQd",
4
+ "sourcesContent": ["import React from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nexport interface ShelfDisplayItem {\n /** \u4EA7\u54C1\u56FE\u7247*/\n img: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price: string\n title: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice: string\n subTitle: string\n /** \u6807\u7B7E*/\n tagItems: string[]\n}\n\nexport interface ShelfDisplayProps {\n products: ShelfDisplayItem[]\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n className?: string\n /** \u4E3B\u9898\u8272*/\n theme?: 'light' | 'dark'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: {\n primaryButton?: {\n onClick: (v: any) => void\n },\n secondaryButton?: {\n onClick: (v: any) => void\n }\n },\n}\n\nconst ShelfDisplay: React.FC<ShelfDisplayProps> = ({\n className = '',\n shape = 'square',\n itemShape = 'square',\n products = [],\n primaryButton,\n secondaryButton,\n event\n}) => {\n\n const onPrimaryButton = (params: ShelfDisplayItem) => {\n event?.primaryButton?.onClick?.(params)\n }\n\n const onSecondaryButton = (params: ShelfDisplayItem) => {\n event?.secondaryButton?.onClick(params)\n }\n\n return (\n <>\n <div className={cn('w-full', className)}>\n <div className={cn('flex overflow-hidden')}>\n <div className={cn('w-full flex', 'gap-3 laptop:gap-4 overflow-x-auto overflow-y-hidden')}>\n {products?.map((item, index) => {\n return (\n <div\n key={index}\n className={cn(\n 'bg-[#EAEAEC] p-4 flex flex-col min-w-[288px] max-w-[288px]',\n 'laptop:min-w-[316px] laptop:max-w-[316px] desktop:min-w-[404px] desktop:max-w-[404px] desktop:pt-4 desktop:px-6 desktop:pb-6',\n itemShape === 'round' ? 'rounded-2xl' : 'rounded-none'\n )}\n >\n <div className={cn('h-[137px] overflow-hidden relative inline-block mb-2', 'desktop:mb-3 desktop:h-[195px]')}>\n <Picture\n source={item?.img || ''}\n className=\"h-full [&_img]:w-auto object-cover flex justify-center\"\n />\n </div>\n <div className=\"mb-1 flex gap-1 flex-wrap desktop:mb-2\">\n {item?.tagItems?.map((tag, index) => {\n return (\n <div\n key={index}\n className=\"border-2 border-[#00BEFA] px-2 py-1 text-sm font-bold rounded-3xl text-[#00BEFA] desktop:text-base\"\n >\n {tag}\n </div>\n )\n })}\n </div>\n <p className=\"flex-1 font-bold text-xl text-[#1D1D1F] leading-[1.2] tracking-[-0.04em] desktop:text-2xl\">\n {item?.title || ''}\n </p>\n <h3 className=\"mt-1 mb-5 text-sm font-semibold text-[#1D1D1F] leading-[1.2] tracking-[-0.02em] desktop:mt-2 desktop:mb-6 desktop:text-lg\">\n {item?.subTitle || ''}\n </h3>\n <div className=\"mb-2 flex items-center\">\n <div className=\"font-bold text-xl text-[#1D1D1F] desktop:text-2xl\">\n {item?.price || ''}\n </div>\n <div className=\"ml-1 font-bold text-xl text-[#86868C] desktop:text-2xl\">\n {item?.basePrice || ''}\n </div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div className=\"flex items-center gap-3\">\n <Button\n variant=\"primary\"\n onClick={() => onPrimaryButton(item)}\n className={`\n flex-1 bg-transparent border-[#1D1D1F] border box-border text-[#1D1D1F] text-xs laptop:text-sm desktop:text-base\n px-4 laptop:px-6 desktop:px-7 hover:bg-transparent hover:text-black py-2 laptop:py-2.5 desktop:py-3 tracking-[-0.04em]\n ${shape === 'round' ? 'rounded-[20px] desktop:rounded-3xl' : ''}\n `}\n >\n {primaryButton || ''}\n </Button>\n <Button\n variant=\"secondary\"\n onClick={() => onSecondaryButton(item)}\n className={`\n flex-1 bg-[#1D1D1F] border-[#1D1D1F] border text-white box-border text-xs laptop:text-sm desktop:text-base\n px-4 laptop:px-6 desktop:px-7 py-2 laptop:py-2.5 desktop:py-3 tracking-[-0.04em]\n ${shape === 'round' ? 'rounded-[20px] desktop:rounded-3xl' : ''}\n `}\n >\n {secondaryButton || ''}\n </Button>\n </div>\n </div>\n )\n })}\n </div>\n </div>\n </div>\n </>\n )\n}\n\nexport default ShelfDisplay\n"],
5
+ "mappings": "AA4DI,mBAAAA,EAegB,OAAAC,EAuBF,QAAAC,MAtCd,oBA5DJ,MAAkB,QAClB,OAAS,MAAAC,MAAU,yBACnB,OAAOC,MAAa,8BACpB,OAAOC,MAAY,6BAsCnB,MAAMC,EAA4C,CAAC,CACjD,UAAAC,EAAY,GACZ,MAAAC,EAAQ,SACR,UAAAC,EAAY,SACZ,SAAAC,EAAW,CAAC,EACZ,cAAAC,EACA,gBAAAC,EACA,MAAAC,CACF,IAAM,CAEJ,MAAMC,EAAmBC,GAA6B,CACpDF,GAAO,eAAe,UAAUE,CAAM,CACxC,EAEMC,EAAqBD,GAA6B,CACtDF,GAAO,iBAAiB,QAAQE,CAAM,CACxC,EAEA,OACEd,EAAAD,EAAA,CACE,SAAAC,EAAC,OAAI,UAAWE,EAAG,SAAUI,CAAS,EACpC,SAAAN,EAAC,OAAI,UAAWE,EAAG,sBAAsB,EACvC,SAAAF,EAAC,OAAI,UAAWE,EAAG,cAAe,sDAAsD,EACrF,SAAAO,GAAU,IAAI,CAACO,EAAMC,IAElBhB,EAAC,OAEC,UAAWC,EACT,6DACA,+HACAM,IAAc,QAAU,cAAgB,cAC1C,EAEA,UAAAR,EAAC,OAAI,UAAWE,EAAG,uDAAwD,gCAAgC,EACzG,SAAAF,EAACG,EAAA,CACC,OAAQa,GAAM,KAAO,GACrB,UAAU,yDACZ,EACF,EACAhB,EAAC,OAAI,UAAU,yCACZ,SAAAgB,GAAM,UAAU,IAAI,CAACE,EAAKD,IAEvBjB,EAAC,OAEC,UAAU,qGAET,SAAAkB,GAHID,CAIP,CAEH,EACH,EACAjB,EAAC,KAAE,UAAU,4FACV,SAAAgB,GAAM,OAAS,GAClB,EACAhB,EAAC,MAAG,UAAU,4HACX,SAAAgB,GAAM,UAAY,GACrB,EACAf,EAAC,OAAI,UAAU,yBACb,UAAAD,EAAC,OAAI,UAAU,oDACZ,SAAAgB,GAAM,OAAS,GAClB,EACAhB,EAAC,OAAI,UAAU,yDACZ,SAAAgB,GAAM,WAAa,GACtB,GACF,EAEAf,EAAC,OAAI,UAAU,0BACb,UAAAD,EAACI,EAAA,CACC,QAAQ,UACR,QAAS,IAAMS,EAAgBG,CAAI,EACnC,UAAW;AAAA;AAAA;AAAA,0BAGPT,IAAU,QAAU,qCAAuC,EAAE;AAAA,wBAGhE,SAAAG,GAAiB,GACpB,EACAV,EAACI,EAAA,CACC,QAAQ,YACR,QAAS,IAAMW,EAAkBC,CAAI,EACrC,UAAW;AAAA;AAAA;AAAA,0BAGPT,IAAU,QAAU,qCAAuC,EAAE;AAAA,wBAGhE,SAAAI,GAAmB,GACtB,GACF,IA/DKM,CAgEP,CAEH,EACH,EACF,EACF,EACF,CAEJ,EAEA,IAAOE,EAAQd",
6
6
  "names": ["Fragment", "jsx", "jsxs", "cn", "Picture", "Button", "ShelfDisplay", "className", "shape", "itemShape", "products", "primaryButton", "secondaryButton", "event", "onPrimaryButton", "params", "onSecondaryButton", "item", "index", "tag", "ShelfDisplay_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as p}from"react/jsx-runtime";import m from"react";import{cn as o}from"../../helpers/utils.js";import{Heading as d,Text as r}from"../../components/index.js";import{withStyles as f}from"../../shared/Styles.js";const a=m.forwardRef(({title:x,features:t,className:s},i)=>p("div",{ref:i,className:o("flex flex-col items-start md:flex-row md:items-end justify-center md:justify-between text-center w-full","px-4 sm:px-6 md:px-8 lg:px-16 xl:px-32","gap-8 py-8 sm:py-10 md:py-12 lg:py-16 xl:py-20",s),children:[e(d,{as:"h2",size:2,weight:"bold",align:"left",className:"slogan-title text-[#1D1D1F] !leading-none text-[40px] md:text-[40px] lg:text-[48px] xl:text-[64px]",children:x}),t&&t.length>0&&e("div",{className:"flex flex-row w-full gap-3 max-w-[423px] items-center",children:t.slice(0,3).map((n,l)=>p(m.Fragment,{children:[l>0&&e("div",{className:"self-stretch w-px bg-[#D9D9D9]"}),e("div",{className:"flex-1",children:e(r,{align:"left",className:"slogan-feature-text font-medium line-clamp-3 md:line-clamp-2 text-[#1D1D1F] text-[12px] leading-[1.4] sm:text-[13px] md:text-[14px]",html:n})})]},l))})]}));a.displayName="Slogan";var v=f(a);export{v as default};
1
+ import{jsx as t,jsxs as o}from"react/jsx-runtime";import p from"react";import{cn as n}from"../../helpers/utils.js";import{Heading as r,Text as d}from"../../components/index.js";import{withStyles as f}from"../../shared/Styles.js";const a=p.forwardRef(({title:s,features:e,className:x},i)=>o("div",{ref:i,className:n("flex flex-col items-start laptop:flex-row laptop:items-end justify-center laptop:justify-between text-center w-full","px-4 tablet:px-6 laptop:px-8 desktop:px-16 lg-desktop:px-32","gap-8 py-8 tablet:py-10 laptop:py-12 desktop:py-16 lg-desktop:py-20",x),children:[t(r,{as:"h2",size:2,weight:"bold",align:"left",className:"slogan-title text-[#1D1D1F] !leading-none text-[40px] laptop:text-[40px] desktop:text-[48px] lg-desktop:text-[64px]",children:s}),e&&e.length>0&&t("div",{className:"flex flex-row w-full gap-3 max-w-[423px] items-center",children:e.slice(0,3).map((m,l)=>o(p.Fragment,{children:[l>0&&t("div",{className:"self-stretch w-px bg-[#D9D9D9]"}),t("div",{className:"flex-1",children:t(d,{align:"left",className:"slogan-feature-text font-medium line-clamp-3 laptop:line-clamp-2 text-[#1D1D1F] text-[12px] leading-[1.4] tablet:text-[13px] laptop:text-[14px]",html:m})})]},l))})]}));a.displayName="Slogan";var v=f(a);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/Slogan/index.tsx"],
4
- "sourcesContent": ["import React from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { Heading, Text } from '../../components/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport type { SloganProps } from './types.js'\n\nconst Slogan = React.forwardRef<HTMLDivElement, SloganProps>(\n ({ title, features, className }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-col items-start md:flex-row md:items-end justify-center md:justify-between text-center w-full',\n 'px-4 sm:px-6 md:px-8 lg:px-16 xl:px-32',\n 'gap-8 py-8 sm:py-10 md:py-12 lg:py-16 xl:py-20',\n className\n )}\n >\n <Heading\n as=\"h2\"\n size={2}\n weight={\"bold\"}\n align={\"left\"}\n className='slogan-title text-[#1D1D1F] !leading-none text-[40px] md:text-[40px] lg:text-[48px] xl:text-[64px]'\n >\n {title}\n </Heading>\n {features && features.length > 0 && (\n <div className=\"flex flex-row w-full gap-3 max-w-[423px] items-center\">\n {features.slice(0, 3).map((feature, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <div className=\"self-stretch w-px bg-[#D9D9D9]\" />\n )}\n <div className=\"flex-1\">\n <Text \n align=\"left\" \n className=\"slogan-feature-text font-medium line-clamp-3 md:line-clamp-2 text-[#1D1D1F] text-[12px] leading-[1.4] sm:text-[13px] md:text-[14px]\" \n html={feature}\n />\n </div>\n </React.Fragment>\n ))}\n </div>\n )}\n </div>\n )\n }\n)\n\nSlogan.displayName = 'Slogan'\n\nexport default withStyles(Slogan)"],
5
- "mappings": "AAkBQ,cAAAA,EAYM,QAAAC,MAZN,oBAlBR,OAAOC,MAAW,QAClB,OAAS,MAAAC,MAAU,yBACnB,OAAS,WAAAC,EAAS,QAAAC,MAAY,4BAC9B,OAAS,cAAAC,MAAkB,yBAG3B,MAAMC,EAASL,EAAM,WACnB,CAAC,CAAE,MAAAM,EAAO,SAAAC,EAAU,UAAAC,CAAU,EAAGC,IAE7BV,EAAC,OACC,IAAKU,EACL,UAAWR,EACT,0GACA,yCACA,iDACAO,CACF,EAEA,UAAAV,EAACI,EAAA,CACC,GAAG,KACH,KAAM,EACN,OAAQ,OACR,MAAO,OACP,UAAU,qGAET,SAAAI,EACH,EACCC,GAAYA,EAAS,OAAS,GAC7BT,EAAC,OAAI,UAAU,wDACZ,SAAAS,EAAS,MAAM,EAAG,CAAC,EAAE,IAAI,CAACG,EAASC,IAClCZ,EAACC,EAAM,SAAN,CACE,UAAAW,EAAQ,GACPb,EAAC,OAAI,UAAU,iCAAiC,EAElDA,EAAC,OAAI,UAAU,SACb,SAAAA,EAACK,EAAA,CACC,MAAM,OACN,UAAU,sIACV,KAAMO,EACR,EACF,IAVmBC,CAWrB,CACD,EACH,GAEJ,CAGN,EAEAN,EAAO,YAAc,SAErB,IAAOO,EAAQR,EAAWC,CAAM",
4
+ "sourcesContent": ["import React from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport { Heading, Text } from '../../components/index.js'\nimport { withStyles } from '../../shared/Styles.js'\nimport type { SloganProps } from './types.js'\n\nconst Slogan = React.forwardRef<HTMLDivElement, SloganProps>(\n ({ title, features, className }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n 'flex flex-col items-start laptop:flex-row laptop:items-end justify-center laptop:justify-between text-center w-full',\n 'px-4 tablet:px-6 laptop:px-8 desktop:px-16 lg-desktop:px-32',\n 'gap-8 py-8 tablet:py-10 laptop:py-12 desktop:py-16 lg-desktop:py-20',\n className\n )}\n >\n <Heading\n as=\"h2\"\n size={2}\n weight={\"bold\"}\n align={\"left\"}\n className='slogan-title text-[#1D1D1F] !leading-none text-[40px] laptop:text-[40px] desktop:text-[48px] lg-desktop:text-[64px]'\n >\n {title}\n </Heading>\n {features && features.length > 0 && (\n <div className=\"flex flex-row w-full gap-3 max-w-[423px] items-center\">\n {features.slice(0, 3).map((feature, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <div className=\"self-stretch w-px bg-[#D9D9D9]\" />\n )}\n <div className=\"flex-1\">\n <Text \n align=\"left\" \n className=\"slogan-feature-text font-medium line-clamp-3 laptop:line-clamp-2 text-[#1D1D1F] text-[12px] leading-[1.4] tablet:text-[13px] laptop:text-[14px]\" \n html={feature}\n />\n </div>\n </React.Fragment>\n ))}\n </div>\n )}\n </div>\n )\n }\n)\n\nSlogan.displayName = 'Slogan'\n\nexport default withStyles(Slogan)"],
5
+ "mappings": "AAkBQ,cAAAA,EAYM,QAAAC,MAZN,oBAlBR,OAAOC,MAAW,QAClB,OAAS,MAAAC,MAAU,yBACnB,OAAS,WAAAC,EAAS,QAAAC,MAAY,4BAC9B,OAAS,cAAAC,MAAkB,yBAG3B,MAAMC,EAASL,EAAM,WACnB,CAAC,CAAE,MAAAM,EAAO,SAAAC,EAAU,UAAAC,CAAU,EAAGC,IAE7BV,EAAC,OACC,IAAKU,EACL,UAAWR,EACT,sHACA,8DACA,sEACAO,CACF,EAEA,UAAAV,EAACI,EAAA,CACC,GAAG,KACH,KAAM,EACN,OAAQ,OACR,MAAO,OACP,UAAU,sHAET,SAAAI,EACH,EACCC,GAAYA,EAAS,OAAS,GAC7BT,EAAC,OAAI,UAAU,wDACZ,SAAAS,EAAS,MAAM,EAAG,CAAC,EAAE,IAAI,CAACG,EAASC,IAClCZ,EAACC,EAAM,SAAN,CACE,UAAAW,EAAQ,GACPb,EAAC,OAAI,UAAU,iCAAiC,EAElDA,EAAC,OAAI,UAAU,SACb,SAAAA,EAACK,EAAA,CACC,MAAM,OACN,UAAU,kJACV,KAAMO,EACR,EACF,IAVmBC,CAWrB,CACD,EACH,GAEJ,CAGN,EAEAN,EAAO,YAAc,SAErB,IAAOO,EAAQR,EAAWC,CAAM",
6
6
  "names": ["jsx", "jsxs", "React", "cn", "Heading", "Text", "withStyles", "Slogan", "title", "features", "className", "ref", "feature", "index", "Slogan_default"]
7
7
  }
@@ -6,4 +6,6 @@ export { default as ShelfDisplay } from './ShelfDisplay/index.js';
6
6
  export { default as Evaluate } from './Evaluate/index.js';
7
7
  export { default as Category } from './Category/index.js';
8
8
  export { default as HeroBanner } from './HeroBanner/index.js';
9
- export * from './Marquee';
9
+ export { default as AccordionCards } from './AccordionCards/index.js';
10
+ export { default as Graphic } from './Graphic/index.js';
11
+ export * from './Marquee/index.js';
@@ -1,2 +1,2 @@
1
- import{default as r}from"./Shelf/index.js";import{default as t}from"./BrandEquity/index.js";import{default as l}from"./MemberEquity/index.js";import{default as m}from"./Slogan/index.js";import{default as d}from"./ShelfDisplay/index.js";import{default as x}from"./Evaluate/index.js";import{default as y}from"./Category/index.js";import{default as E}from"./HeroBanner/index.js";export*from"./Marquee";export{t as BrandEquity,y as Category,x as Evaluate,E as HeroBanner,l as MemberEquity,r as Shelf,d as ShelfDisplay,m as Slogan};
1
+ import{default as e}from"./Shelf/index.js";import{default as t}from"./BrandEquity/index.js";import{default as l}from"./MemberEquity/index.js";import{default as p}from"./Slogan/index.js";import{default as m}from"./ShelfDisplay/index.js";import{default as x}from"./Evaluate/index.js";import{default as n}from"./Category/index.js";import{default as c}from"./HeroBanner/index.js";import{default as E}from"./AccordionCards/index.js";import{default as g}from"./Graphic/index.js";export*from"./Marquee/index.js";export{E as AccordionCards,t as BrandEquity,n as Category,x as Evaluate,g as Graphic,c as HeroBanner,l as MemberEquity,e as Shelf,m as ShelfDisplay,p as Slogan};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/biz-components/index.ts"],
4
- "sourcesContent": ["export { default as Shelf } from './Shelf/index.js'\nexport { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\n\n\nexport * from './Marquee'"],
5
- "mappings": "AAAA,OAAoB,WAAXA,MAAwB,mBACjC,OAAoB,WAAXA,MAA8B,yBACvC,OAAoB,WAAXA,MAA+B,0BACxC,OAAoB,WAAXA,MAAyB,oBAClC,OAAoB,WAAXA,MAA+B,0BACxC,OAAoB,WAAXA,MAA2B,sBACpC,OAAoB,WAAXA,MAA2B,sBACpC,OAAoB,WAAXA,MAA6B,wBAGtC,WAAc",
4
+ "sourcesContent": ["export { default as Shelf } from './Shelf/index.js'\nexport { default as BrandEquity } from './BrandEquity/index.js'\nexport { default as MemberEquity } from './MemberEquity/index.js'\nexport { default as Slogan } from './Slogan/index.js'\nexport { default as ShelfDisplay } from './ShelfDisplay/index.js'\nexport { default as Evaluate } from './Evaluate/index.js'\nexport { default as Category } from './Category/index.js'\nexport { default as HeroBanner } from './HeroBanner/index.js'\nexport { default as AccordionCards } from './AccordionCards/index.js'\nexport { default as Graphic } from './Graphic/index.js'\nexport * from './Marquee/index.js'"],
5
+ "mappings": "AAAA,OAAoB,WAAXA,MAAwB,mBACjC,OAAoB,WAAXA,MAA8B,yBACvC,OAAoB,WAAXA,MAA+B,0BACxC,OAAoB,WAAXA,MAAyB,oBAClC,OAAoB,WAAXA,MAA+B,0BACxC,OAAoB,WAAXA,MAA2B,sBACpC,OAAoB,WAAXA,MAA2B,sBACpC,OAAoB,WAAXA,MAA6B,wBACtC,OAAoB,WAAXA,MAAiC,4BAC1C,OAAoB,WAAXA,MAA0B,qBACnC,WAAc",
6
6
  "names": ["default"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const badgeVariants: (props?: ({
4
- size?: "sm" | "base" | null | undefined;
4
+ size?: "sm" | "lg" | null | undefined;
5
5
  } & import("class-variance-authority/dist/types.js").ClassProp) | undefined) => string;
6
6
  export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as o}from"react/jsx-runtime";import"react";import{cva as a}from"class-variance-authority";import{cn as n}from"../helpers/index.js";const s=a("inline-flex justify-center text-btn-primary border-btn-primary items-center font-medium rounded-[20px] border px-[10px] py-1 text-xs transition-colors focus:outline-none",{variants:{size:{sm:"text-xs",base:"text-sm"}},defaultVariants:{size:"base"}});function i({className:t,size:e,...r}){return o("div",{className:n(s({size:e}),t),...r})}var f=i;export{f as default};
1
+ import{jsx as p}from"react/jsx-runtime";import"react";import{cva as a}from"class-variance-authority";import{cn as i}from"../helpers/index.js";const n=a("inline-flex justify-center rounded-[16px] font-bold text-btn-primary border-btn-primary border-[1.6px] items-center text-xs transition-colors focus:outline-none backdrop-blur-sm",{variants:{size:{sm:"px-[6px] py-[4px] text-[14px] leading-tight",lg:"px-[8px] py-[4px] text-[16px] leading-tight"}},defaultVariants:{size:"lg"}});function o({className:t,size:e,...r}){return p("div",{className:i(n({size:e}),t),...r})}var l=o;export{l as default};
2
2
  //# sourceMappingURL=badge.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/badge.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport { type VariantProps, cva } from 'class-variance-authority'\n\nimport { cn } from '../helpers/index.js'\n\nconst badgeVariants = cva(\n 'inline-flex justify-center text-btn-primary border-btn-primary items-center font-medium rounded-[20px] border px-[10px] py-1 text-xs transition-colors focus:outline-none',\n {\n variants: {\n size: {\n sm: 'text-xs',\n base: 'text-sm',\n }\n },\n defaultVariants: {\n size: 'base',\n },\n }\n)\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> { }\n\nfunction Badge({ className, size, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ size }), className)} {...props} />\n}\n\nexport default Badge\n"],
5
- "mappings": "AAuBS,cAAAA,MAAA,oBAvBT,MAAuB,QACvB,OAA4B,OAAAC,MAAW,2BAEvC,OAAS,MAAAC,MAAU,sBAEnB,MAAMC,EAAgBF,EACpB,4KACA,CACE,SAAU,CACR,KAAM,CACJ,GAAI,UACJ,KAAM,SACR,CACF,EACA,gBAAiB,CACf,KAAM,MACR,CACF,CACF,EAIA,SAASG,EAAM,CAAE,UAAAC,EAAW,KAAAC,EAAM,GAAGC,CAAM,EAAe,CACxD,OAAOP,EAAC,OAAI,UAAWE,EAAGC,EAAc,CAAE,KAAAG,CAAK,CAAC,EAAGD,CAAS,EAAI,GAAGE,EAAO,CAC5E,CAEA,IAAOC,EAAQJ",
4
+ "sourcesContent": ["import * as React from 'react'\nimport { type VariantProps, cva } from 'class-variance-authority'\n\nimport { cn } from '../helpers/index.js'\n\nconst badgeVariants = cva(\n 'inline-flex justify-center rounded-[16px] font-bold text-btn-primary border-btn-primary border-[1.6px] items-center text-xs transition-colors focus:outline-none backdrop-blur-sm',\n {\n variants: {\n size: {\n sm: 'px-[6px] py-[4px] text-[14px] leading-tight',\n lg: 'px-[8px] py-[4px] text-[16px] leading-tight',\n }\n },\n defaultVariants: {\n size: 'lg',\n },\n }\n)\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> { }\n\nfunction Badge({ className, size, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ size }), className)} {...props} />\n}\n\nexport default Badge\n"],
5
+ "mappings": "AAuBS,cAAAA,MAAA,oBAvBT,MAAuB,QACvB,OAA4B,OAAAC,MAAW,2BAEvC,OAAS,MAAAC,MAAU,sBAEnB,MAAMC,EAAgBF,EACpB,oLACA,CACE,SAAU,CACR,KAAM,CACJ,GAAI,8CACJ,GAAI,6CACN,CACF,EACA,gBAAiB,CACf,KAAM,IACR,CACF,CACF,EAIA,SAASG,EAAM,CAAE,UAAAC,EAAW,KAAAC,EAAM,GAAGC,CAAM,EAAe,CACxD,OAAOP,EAAC,OAAI,UAAWE,EAAGC,EAAc,CAAE,KAAAG,CAAK,CAAC,EAAGD,CAAS,EAAI,GAAGE,EAAO,CAC5E,CAEA,IAAOC,EAAQJ",
6
6
  "names": ["jsx", "cva", "cn", "badgeVariants", "Badge", "className", "size", "props", "badge_default"]
7
7
  }
@@ -4,7 +4,7 @@ import { type VariantProps } from 'class-variance-authority';
4
4
  * Button Variants
5
5
  */
6
6
  declare const buttonVariants: (props?: ({
7
- variant?: "link" | "nature" | "primary" | "secondary" | "ghost" | null | undefined;
7
+ variant?: "link" | "primary" | "secondary" | "ghost" | null | undefined;
8
8
  size?: "sm" | "base" | "lg" | "icon" | null | undefined;
9
9
  hoverEffect?: "none" | "slide" | null | undefined;
10
10
  state?: "default" | "disabled" | "loading" | null | undefined;
@@ -1,2 +1,2 @@
1
- "use client";import{Fragment as V,jsx as e,jsxs as B}from"react/jsx-runtime";import*as m from"react";import{Slot as g}from"@radix-ui/react-slot";import{VisuallyHidden as y}from"@radix-ui/react-visually-hidden";import{cva as i}from"class-variance-authority";import v from"../icons/spinner.js";import{cn as h}from"../helpers/index.js";const x=i("ring-offset-background focus-visible:ring-ring rounded-btn inline-flex items-center justify-center text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none",{variants:{variant:{nature:"border border-solid border-black",primary:"bg-btn-primary text-btn-primary-foreground hover:bg-btn-primary-active",secondary:"bg-btn-secondary text-btn-secondary-foreground hover:bg-btn-secondary-active hover:text-btn-secondary border border-solid",link:"text-primary underline-offset-4 hover:underline",ghost:"hover:bg-btn-primary hover:text-btn-primary-foreground"},size:{sm:"px-3 py-2 text-[12px] leading-tight",base:"px-5 pt-[11px] pb-[10px] text-[14px] leading-tight",lg:"px-7 pt-[15px] pb-[14px] text-[16px] leading-tight",icon:"size-10 rounded-full leading-tight"},hoverEffect:{none:"",slide:""},state:{default:"",disabled:"",loading:""},theme:{dark:"",light:""}},compoundVariants:[{variant:"primary",hoverEffect:"slide",class:'z-[1] before:-z-[1] before:rounded-btn hover:!bg-btn-primary before:bg-btn-primary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[""] hover:before:translate-x-0'},{variant:"secondary",hoverEffect:"slide",class:'z-[1] before:-z-[1] before:rounded-btn hover:!bg-btn-secondary before:bg-btn-secondary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[""] hover:before:translate-x-0'},{variant:"primary",state:"loading",class:"bg-btn-primary"},{variant:"secondary",state:"loading",class:"bg-btn-secondary disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground"},{variant:"primary",state:"disabled",class:"disabled:bg-btn-primary-disabled disabled:text-btn-primary-disabled-foreground"},{variant:"secondary",state:"disabled",class:"disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground"},{variant:"nature",theme:"dark",class:"bg-transparent text-black"},{variant:"nature",theme:"light",class:"bg-black text-white"}],defaultVariants:{variant:"primary",size:"base",hoverEffect:"none",state:"default",theme:"light"}}),k=i("",{variants:{variant:{nature:"stroke-btn-primary-foreground",primary:"stroke-btn-primary-foreground",secondary:"stroke-btn-secondary-foreground",link:"stroke-primary",ghost:"stroke-primary"}},defaultVariants:{variant:"primary"}}),s=m.forwardRef(({asChild:d=!1,size:b="base",children:t,variant:a,theme:l="light",hoverEffect:f="none",className:c,disabled:n=!1,loading:r=!1,spinner:o,...p},u)=>e(d?g:"button",{disabled:n||r,className:h(x({variant:a,size:b,hoverEffect:f,state:r?"loading":n?"disabled":"default",theme:l}),c),ref:u,...p,children:r?B(V,{children:[e("span",{style:{display:"contents",visibility:"hidden"},"aria-hidden":!0,children:t}),e("span",{className:"absolute",children:o||e(v,{className:k({variant:a})})}),e(y,{children:t})]}):t}));s.displayName="Button";var L=s;export{L as default};
1
+ "use client";import{Fragment as w,jsx as e,jsxs as V}from"react/jsx-runtime";import*as y from"react";import{Slot as v}from"@radix-ui/react-slot";import{VisuallyHidden as g}from"@radix-ui/react-visually-hidden";import{cva as s}from"class-variance-authority";import u from"../icons/spinner.js";import{cn as h}from"../helpers/index.js";const x=s("ring-offset-background border-[1.6px] border-solid focus-visible:ring-ring rounded-btn inline-flex items-center justify-center text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none",{variants:{variant:{primary:"bg-btn-primary text-btn-primary-foreground hover:bg-btn-primary-active",secondary:"bg-btn-secondary border-info-primary text-btn-secondary-foreground hover:bg-btn-secondary-active hover:text-btn-secondary border border-solid",link:"text-info-primary underline-offset-4 hover:underline border-none hover:text-btn-primary-active",ghost:"hover:bg-btn-primary hover:text-btn-primary-foreground"},size:{sm:"px-3 py-2 text-[12px] leading-tight",base:"px-5 pt-[11px] pb-[10px] text-[14px] leading-tight",lg:"px-7 pt-[15px] pb-[14px] text-[16px] leading-tight",icon:"size-10 rounded-full leading-tight"},hoverEffect:{none:"",slide:""},state:{default:"",disabled:"",loading:""},theme:{dark:"",light:""}},compoundVariants:[{variant:"primary",hoverEffect:"slide",class:'z-[1] before:-z-[1] before:rounded-btn hover:!bg-btn-primary before:bg-btn-primary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[""] hover:before:translate-x-0'},{variant:"secondary",hoverEffect:"slide",class:'z-[1] before:-z-[1] before:rounded-btn hover:!bg-btn-secondary before:bg-btn-secondary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[""] hover:before:translate-x-0'},{variant:"primary",state:"loading",class:"bg-btn-primary-active"},{variant:"secondary",state:"loading",class:"bg-btn-secondary disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground"},{variant:"primary",state:"disabled",class:"disabled:bg-btn-primary-disabled disabled:text-btn-primary-disabled-foreground"},{variant:"secondary",state:"disabled",class:"disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground disabled:border-btn-secondary-disabled-border"},{variant:"secondary",theme:"dark",class:"text-info-white bg-info-primary hover:border-info-white hover:text-info-primary hover:bg-info-white"},{variant:"secondary",theme:"dark",state:"loading",class:"bg-btn-info-white text-info-primary border-info-white"},{variant:"secondary",theme:"dark",state:"disabled",class:"disabled:bg-text-info-quaternary disabled:text-info-white"},{variant:"link",state:"disabled",class:"disabled:text-info-quaternary"},{variant:"primary",theme:"dark",class:"text-info-primary hover:text-info-white bg-info-white hover:border-brand-0"},{variant:"primary",theme:"dark",state:"loading",class:"bg-btn-primary-active text-info-white border-brand-0"},{variant:"secondary",theme:"dark",class:"border-info-white"},{variant:"secondary",theme:"light",class:""},{variant:"link",theme:"dark",class:"text-info-white"}],defaultVariants:{variant:"primary",size:"base",hoverEffect:"none",state:"default",theme:"light"}}),k=s("",{variants:{variant:{primary:"stroke-btn-primary-foreground",secondary:"stroke-btn-secondary-foreground",link:"stroke-primary",ghost:"stroke-primary"},theme:{dark:"",light:""}},defaultVariants:{variant:"primary",theme:"light"}}),d=y.forwardRef(({asChild:b=!1,size:l="base",children:t,variant:a,theme:n="light",hoverEffect:f="none",className:c,disabled:o=!1,loading:r=!1,spinner:i,...p},m)=>e(b?v:"button",{disabled:o||r,className:h(x({variant:a,size:l,hoverEffect:f,state:r?"loading":o?"disabled":"default",theme:n}),c),ref:m,...p,children:r?V(w,{children:[e("span",{style:{display:"contents",visibility:"hidden"},"aria-hidden":!0,children:t}),e("span",{className:"absolute",children:i||e(u,{className:k({variant:a,theme:n})})}),e(g,{children:t})]}):t}));d.displayName="Button";var L=d;export{L as default};
2
2
  //# sourceMappingURL=button.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/button.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport Spinner from '../icons/spinner.js'\nimport { cn } from '../helpers/index.js'\n\n/**\n * Button Variants\n */\nconst buttonVariants = cva(\n 'ring-offset-background focus-visible:ring-ring rounded-btn inline-flex items-center justify-center text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none',\n {\n variants: {\n variant: {\n nature: 'border border-solid border-black',\n primary: 'bg-btn-primary text-btn-primary-foreground hover:bg-btn-primary-active',\n secondary:\n 'bg-btn-secondary text-btn-secondary-foreground hover:bg-btn-secondary-active hover:text-btn-secondary border border-solid',\n link: 'text-primary underline-offset-4 hover:underline',\n ghost: 'hover:bg-btn-primary hover:text-btn-primary-foreground',\n },\n size: {\n sm: 'px-3 py-2 text-[12px] leading-tight',\n base: 'px-5 pt-[11px] pb-[10px] text-[14px] leading-tight',\n lg: 'px-7 pt-[15px] pb-[14px] text-[16px] leading-tight',\n icon: 'size-10 rounded-full leading-tight',\n },\n /** hover \u72B6\u6001\u4E0B\u7684\u52A8\u753B\u6548\u679C,\u9700\u8981\u6CE8\u610F\u4E0D\u540Cvariant \u4E0B\u7684\u6548\u679C */\n hoverEffect: {\n none: '',\n slide: '',\n },\n state: {\n default: '',\n disabled: '',\n loading: '',\n },\n theme: {\n dark: '',\n light: '',\n },\n },\n compoundVariants: [\n {\n variant: 'primary',\n hoverEffect: 'slide',\n class:\n 'z-[1] before:-z-[1] before:rounded-btn hover:!bg-btn-primary before:bg-btn-primary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[\"\"] hover:before:translate-x-0',\n },\n {\n variant: 'secondary',\n hoverEffect: 'slide',\n class:\n 'z-[1] before:-z-[1] before:rounded-btn hover:!bg-btn-secondary before:bg-btn-secondary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[\"\"] hover:before:translate-x-0',\n },\n {\n variant: 'primary',\n state: 'loading',\n class: 'bg-btn-primary',\n },\n {\n variant: 'secondary',\n state: 'loading',\n class: 'bg-btn-secondary disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground',\n },\n {\n variant: 'primary',\n state: 'disabled',\n class: 'disabled:bg-btn-primary-disabled disabled:text-btn-primary-disabled-foreground',\n },\n {\n variant: 'secondary',\n state: 'disabled',\n class: 'disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground',\n },\n {\n variant: 'nature',\n theme: 'dark',\n class: 'bg-transparent text-black',\n },\n {\n variant: 'nature',\n theme: 'light',\n class: 'bg-black text-white',\n },\n ],\n defaultVariants: {\n variant: 'primary',\n size: 'base',\n hoverEffect: 'none',\n state: 'default',\n theme: 'light',\n },\n }\n)\n\nconst loadingSvgVariants = cva('', {\n variants: {\n variant: {\n nature: 'stroke-btn-primary-foreground',\n primary: 'stroke-btn-primary-foreground',\n secondary: 'stroke-btn-secondary-foreground',\n link: 'stroke-primary',\n ghost: 'stroke-primary',\n },\n },\n defaultVariants: {\n variant: 'primary',\n },\n})\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n /** \u8BBE\u7F6E\u6309\u94AE\u8F7D\u5165\u72B6\u6001 */\n loading?: boolean\n /** \u8BBE\u7F6E\u6309\u94AE\u5931\u6548\u72B6\u6001 */\n disabled?: boolean\n /** \u5B9A\u4E49\u81EA\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B\uFF0C \u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n /** \u81EA\u5B9A\u4E49loading */\n spinner?: React.ReactNode\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n asChild = false,\n size = 'base',\n children,\n variant,\n theme = 'light',\n hoverEffect = 'none',\n className,\n disabled = false,\n loading = false,\n spinner,\n ...props\n }: ButtonProps,\n ref\n ) => {\n const Comp = asChild ? Slot : 'button'\n const isInactive = disabled || loading\n const state = loading ? 'loading' : disabled ? 'disabled' : 'default'\n\n return (\n <Comp\n disabled={isInactive}\n className={cn(buttonVariants({ variant, size, hoverEffect, state, theme }), className)}\n ref={ref}\n {...props}\n >\n {loading ? (\n <>\n <span style={{ display: 'contents', visibility: 'hidden' }} aria-hidden>\n {children}\n </span>\n <span className=\"absolute\">\n {spinner ? (\n spinner\n ) : (\n <Spinner\n className={loadingSvgVariants({\n variant,\n })}\n />\n )}\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n </>\n ) : (\n children\n )}\n </Comp>\n )\n }\n)\n\nButton.displayName = 'Button'\nexport default Button\n"],
5
- "mappings": "aA4JU,mBAAAA,EACE,OAAAC,EADF,QAAAC,MAAA,oBA1JV,UAAYC,MAAW,QACvB,OAAS,QAAAC,MAAY,uBACrB,OAAS,kBAAAC,MAAsB,kCAC/B,OAA4B,OAAAC,MAAW,2BACvC,OAAOC,MAAa,sBACpB,OAAS,MAAAC,MAAU,sBAKnB,MAAMC,EAAiBH,EACrB,oPACA,CACE,SAAU,CACR,QAAS,CACP,OAAQ,mCACR,QAAS,yEACT,UACE,4HACF,KAAM,kDACN,MAAO,wDACT,EACA,KAAM,CACJ,GAAI,uCACJ,KAAM,sDACN,GAAI,sDACJ,KAAM,qCACR,EAEA,YAAa,CACX,KAAM,GACN,MAAO,EACT,EACA,MAAO,CACL,QAAS,GACT,SAAU,GACV,QAAS,EACX,EACA,MAAO,CACL,KAAM,GACN,MAAO,EACT,CACF,EACA,iBAAkB,CAChB,CACE,QAAS,UACT,YAAa,QACb,MACE,+SACJ,EACA,CACE,QAAS,YACT,YAAa,QACb,MACE,mTACJ,EACA,CACE,QAAS,UACT,MAAO,UACP,MAAO,gBACT,EACA,CACE,QAAS,YACT,MAAO,UACP,MAAO,qGACT,EACA,CACE,QAAS,UACT,MAAO,WACP,MAAO,gFACT,EACA,CACE,QAAS,YACT,MAAO,WACP,MAAO,oFACT,EACA,CACE,QAAS,SACT,MAAO,OACP,MAAO,2BACT,EACA,CACE,QAAS,SACT,MAAO,QACP,MAAO,qBACT,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,OACN,YAAa,OACb,MAAO,UACP,MAAO,OACT,CACF,CACF,EAEMI,EAAqBJ,EAAI,GAAI,CACjC,SAAU,CACR,QAAS,CACP,OAAQ,gCACR,QAAS,gCACT,UAAW,kCACX,KAAM,iBACN,MAAO,gBACT,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CAAC,EAeKK,EAASR,EAAM,WACnB,CACE,CACE,QAAAS,EAAU,GACV,KAAAC,EAAO,OACP,SAAAC,EACA,QAAAC,EACA,MAAAC,EAAQ,QACR,YAAAC,EAAc,OACd,UAAAC,EACA,SAAAC,EAAW,GACX,QAAAC,EAAU,GACV,QAAAC,EACA,GAAGC,CACL,EACAC,IAOEtB,EALWW,EAAUR,EAAO,SAK3B,CACC,SALee,GAAYC,EAM3B,UAAWZ,EAAGC,EAAe,CAAE,QAAAM,EAAS,KAAAF,EAAM,YAAAI,EAAa,MALjDG,EAAU,UAAYD,EAAW,WAAa,UAKU,MAAAH,CAAM,CAAC,EAAGE,CAAS,EACrF,IAAKK,EACJ,GAAGD,EAEH,SAAAF,EACClB,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAK,MAAO,CAAE,QAAS,WAAY,WAAY,QAAS,EAAG,cAAW,GACpE,SAAAa,EACH,EACAb,EAAC,QAAK,UAAU,WACb,SAAAoB,GAGCpB,EAACM,EAAA,CACC,UAAWG,EAAmB,CAC5B,QAAAK,CACF,CAAC,EACH,EAEJ,EACAd,EAACI,EAAA,CAAgB,SAAAS,EAAS,GAC5B,EAEAA,EAEJ,CAGN,EAEAH,EAAO,YAAc,SACrB,IAAOa,EAAQb",
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden'\nimport { type VariantProps, cva } from 'class-variance-authority'\nimport Spinner from '../icons/spinner.js'\nimport { cn } from '../helpers/index.js'\n\n/**\n * Button Variants\n */\nconst buttonVariants = cva(\n 'ring-offset-background border-[1.6px] border-solid focus-visible:ring-ring rounded-btn inline-flex items-center justify-center text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none',\n {\n variants: {\n variant: {\n primary: 'bg-btn-primary text-btn-primary-foreground hover:bg-btn-primary-active',\n secondary:\n 'bg-btn-secondary border-info-primary text-btn-secondary-foreground hover:bg-btn-secondary-active hover:text-btn-secondary border border-solid',\n link: 'text-info-primary underline-offset-4 hover:underline border-none hover:text-btn-primary-active',\n ghost: 'hover:bg-btn-primary hover:text-btn-primary-foreground',\n },\n size: {\n sm: 'px-3 py-2 text-[12px] leading-tight',\n base: 'px-5 pt-[11px] pb-[10px] text-[14px] leading-tight',\n lg: 'px-7 pt-[15px] pb-[14px] text-[16px] leading-tight',\n icon: 'size-10 rounded-full leading-tight',\n },\n /** hover \u72B6\u6001\u4E0B\u7684\u52A8\u753B\u6548\u679C,\u9700\u8981\u6CE8\u610F\u4E0D\u540Cvariant \u4E0B\u7684\u6548\u679C */\n hoverEffect: {\n none: '',\n slide: '',\n },\n state: {\n default: '',\n disabled: '',\n loading: '',\n },\n theme: {\n dark: '',\n light: '',\n },\n },\n compoundVariants: [\n {\n variant: 'primary',\n hoverEffect: 'slide',\n class:\n 'z-[1] before:-z-[1] before:rounded-btn hover:!bg-btn-primary before:bg-btn-primary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[\"\"] hover:before:translate-x-0',\n },\n {\n variant: 'secondary',\n hoverEffect: 'slide',\n class:\n 'z-[1] before:-z-[1] before:rounded-btn hover:!bg-btn-secondary before:bg-btn-secondary-active relative overflow-hidden before:absolute before:inset-y-0 before:w-full before:-translate-x-full before:transition-transform before:duration-300 before:ease-in-out before:content-[\"\"] hover:before:translate-x-0',\n },\n {\n variant: 'primary',\n state: 'loading',\n class: 'bg-btn-primary-active',\n },\n {\n variant: 'secondary',\n state: 'loading',\n class: 'bg-btn-secondary disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground',\n },\n {\n variant: 'primary',\n state: 'disabled',\n class: 'disabled:bg-btn-primary-disabled disabled:text-btn-primary-disabled-foreground',\n },\n {\n variant: 'secondary',\n state: 'disabled',\n class: 'disabled:bg-btn-secondary-disabled disabled:text-btn-secondary-disabled-foreground disabled:border-btn-secondary-disabled-border',\n },\n {\n variant: 'secondary',\n theme: 'dark',\n class: 'text-info-white bg-info-primary hover:border-info-white hover:text-info-primary hover:bg-info-white',\n },\n {\n variant: 'secondary',\n theme: 'dark',\n state: 'loading',\n class: 'bg-btn-info-white text-info-primary border-info-white',\n },\n {\n variant: 'secondary',\n theme: 'dark',\n state: 'disabled',\n class: 'disabled:bg-text-info-quaternary disabled:text-info-white',\n },\n {\n variant: 'link',\n state: 'disabled',\n class: 'disabled:text-info-quaternary',\n },\n {\n variant: 'primary',\n theme: 'dark',\n class: 'text-info-primary hover:text-info-white bg-info-white hover:border-brand-0',\n },\n {\n variant: 'primary',\n theme: 'dark',\n state: 'loading',\n class: 'bg-btn-primary-active text-info-white border-brand-0', \n },\n {\n variant: 'secondary',\n theme: 'dark',\n class: 'border-info-white',\n },\n {\n variant: 'secondary',\n theme: 'light',\n class: '',\n },\n {\n variant: 'link',\n theme: 'dark',\n class: 'text-info-white',\n },\n ],\n defaultVariants: {\n variant: 'primary',\n size: 'base',\n hoverEffect: 'none',\n state: 'default',\n theme: 'light',\n },\n }\n)\n\nconst loadingSvgVariants = cva('', {\n variants: {\n variant: {\n primary: 'stroke-btn-primary-foreground',\n secondary: 'stroke-btn-secondary-foreground',\n link: 'stroke-primary',\n ghost: 'stroke-primary',\n },\n theme: {\n dark: '',\n light: '',\n },\n },\n defaultVariants: {\n variant: 'primary',\n theme: 'light',\n },\n})\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n /** \u8BBE\u7F6E\u6309\u94AE\u8F7D\u5165\u72B6\u6001 */\n loading?: boolean\n /** \u8BBE\u7F6E\u6309\u94AE\u5931\u6548\u72B6\u6001 */\n disabled?: boolean\n /** \u5B9A\u4E49\u81EA\u7EC4\u4EF6\u4F5C\u4E3A\u7236\u7EC4\u4EF6\u7684\u7C7B\u578B\uFF0C \u8BE6\u7EC6\u4F7F\u7528\u65B9\u5F0F\u8BF7\u53C2\u8003radix-ui */\n asChild?: boolean\n /** \u81EA\u5B9A\u4E49loading */\n spinner?: React.ReactNode\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n asChild = false,\n size = 'base',\n children,\n variant,\n theme = 'light',\n hoverEffect = 'none',\n className,\n disabled = false,\n loading = false,\n spinner,\n ...props\n }: ButtonProps,\n ref\n ) => {\n const Comp = asChild ? Slot : 'button'\n const isInactive = disabled || loading\n const state = loading ? 'loading' : disabled ? 'disabled' : 'default'\n\n return (\n <Comp\n disabled={isInactive}\n className={cn(buttonVariants({ variant, size, hoverEffect, state, theme }), className)}\n ref={ref}\n {...props}\n >\n {loading ? (\n <>\n <span style={{ display: 'contents', visibility: 'hidden' }} aria-hidden>\n {children}\n </span>\n <span className=\"absolute\">\n {spinner ? (\n spinner\n ) : (\n <Spinner\n className={loadingSvgVariants({\n variant,\n theme,\n })}\n />\n )}\n </span>\n <VisuallyHidden>{children}</VisuallyHidden>\n </>\n ) : (\n children\n )}\n </Comp>\n )\n }\n)\n\nButton.displayName = 'Button'\nexport default Button\n"],
5
+ "mappings": "aAqMU,mBAAAA,EACE,OAAAC,EADF,QAAAC,MAAA,oBAnMV,UAAYC,MAAW,QACvB,OAAS,QAAAC,MAAY,uBACrB,OAAS,kBAAAC,MAAsB,kCAC/B,OAA4B,OAAAC,MAAW,2BACvC,OAAOC,MAAa,sBACpB,OAAS,MAAAC,MAAU,sBAKnB,MAAMC,EAAiBH,EACrB,gRACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,yEACT,UACE,gJACF,KAAM,iGACN,MAAO,wDACT,EACA,KAAM,CACJ,GAAI,uCACJ,KAAM,qDACN,GAAI,sDACJ,KAAM,qCACR,EAEA,YAAa,CACX,KAAM,GACN,MAAO,EACT,EACA,MAAO,CACL,QAAS,GACT,SAAU,GACV,QAAS,EACX,EACA,MAAO,CACL,KAAM,GACN,MAAO,EACT,CACF,EACA,iBAAkB,CAChB,CACE,QAAS,UACT,YAAa,QACb,MACE,8SACJ,EACA,CACE,QAAS,YACT,YAAa,QACb,MACE,mTACJ,EACA,CACE,QAAS,UACT,MAAO,UACP,MAAO,uBACT,EACA,CACE,QAAS,YACT,MAAO,UACP,MAAO,qGACT,EACA,CACE,QAAS,UACT,MAAO,WACP,MAAO,gFACT,EACA,CACE,QAAS,YACT,MAAO,WACP,MAAO,kIACT,EACA,CACE,QAAS,YACT,MAAO,OACP,MAAO,qGACT,EACA,CACE,QAAS,YACT,MAAO,OACP,MAAO,UACP,MAAO,uDACT,EACA,CACE,QAAS,YACT,MAAO,OACP,MAAO,WACP,MAAO,2DACT,EACA,CACE,QAAS,OACT,MAAO,WACP,MAAO,+BACT,EACA,CACE,QAAS,UACT,MAAO,OACP,MAAO,4EACT,EACA,CACE,QAAS,UACT,MAAO,OACP,MAAO,UACP,MAAO,sDACT,EACA,CACE,QAAS,YACT,MAAO,OACP,MAAO,mBACT,EACA,CACE,QAAS,YACT,MAAO,QACP,MAAO,EACT,EACA,CACE,QAAS,OACT,MAAO,OACP,MAAO,iBACT,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,OACN,YAAa,OACb,MAAO,UACP,MAAO,OACT,CACF,CACF,EAEMI,EAAqBJ,EAAI,GAAI,CACjC,SAAU,CACR,QAAS,CACP,QAAS,gCACT,UAAW,kCACX,KAAM,iBACN,MAAO,gBACT,EACA,MAAO,CACL,KAAM,GACN,MAAO,EACT,CACF,EACA,gBAAiB,CACf,QAAS,UACT,MAAO,OACT,CACF,CAAC,EAeKK,EAASR,EAAM,WACnB,CACE,CACE,QAAAS,EAAU,GACV,KAAAC,EAAO,OACP,SAAAC,EACA,QAAAC,EACA,MAAAC,EAAQ,QACR,YAAAC,EAAc,OACd,UAAAC,EACA,SAAAC,EAAW,GACX,QAAAC,EAAU,GACV,QAAAC,EACA,GAAGC,CACL,EACAC,IAOEtB,EALWW,EAAUR,EAAO,SAK3B,CACC,SALee,GAAYC,EAM3B,UAAWZ,EAAGC,EAAe,CAAE,QAAAM,EAAS,KAAAF,EAAM,YAAAI,EAAa,MALjDG,EAAU,UAAYD,EAAW,WAAa,UAKU,MAAAH,CAAM,CAAC,EAAGE,CAAS,EACrF,IAAKK,EACJ,GAAGD,EAEH,SAAAF,EACClB,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAK,MAAO,CAAE,QAAS,WAAY,WAAY,QAAS,EAAG,cAAW,GACpE,SAAAa,EACH,EACAb,EAAC,QAAK,UAAU,WACb,SAAAoB,GAGCpB,EAACM,EAAA,CACC,UAAWG,EAAmB,CAC5B,QAAAK,EACA,MAAAC,CACF,CAAC,EACH,EAEJ,EACAf,EAACI,EAAA,CAAgB,SAAAS,EAAS,GAC5B,EAEAA,EAEJ,CAGN,EAEAH,EAAO,YAAc,SACrB,IAAOa,EAAQb",
6
6
  "names": ["Fragment", "jsx", "jsxs", "React", "Slot", "VisuallyHidden", "cva", "Spinner", "cn", "buttonVariants", "loadingSvgVariants", "Button", "asChild", "size", "children", "variant", "theme", "hoverEffect", "className", "disabled", "loading", "spinner", "props", "ref", "button_default"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as d}from"react/jsx-runtime";import*as r from"react";import{cn as i}from"../helpers/index.js";const l=r.forwardRef(({className:e,...t},a)=>d("div",{ref:a,className:i("bg-card text-card-foreground rounded-lg border shadow-sm",e),...t}));l.displayName="Card";const n=r.forwardRef(({className:e,...t},a)=>d("div",{ref:a,className:i("min-xl:px-6 min-xl:pt-[32px] flex flex-col space-y-1.5 px-4 pt-6",e),...t}));n.displayName="CardHeader";const s=r.forwardRef(({className:e,...t},a)=>d("div",{ref:a,className:i("text-2xl font-semibold leading-none tracking-tight",e),...t}));s.displayName="CardTitle";const m=r.forwardRef(({className:e,...t},a)=>d("div",{ref:a,className:i("text-muted-foreground text-sm",e),...t}));m.displayName="CardDescription";const o=r.forwardRef(({className:e,...t},a)=>d("div",{ref:a,className:i("min-xl:p-6 p-4 pt-0",e),...t}));o.displayName="CardContent";const c=r.forwardRef(({className:e,...t},a)=>d("div",{ref:a,className:i("min-xl:px-6 min-xl:pb-[32px] flex items-center px-4 pb-6 pt-0",e),...t}));c.displayName="CardFooter";export{l as Card,o as CardContent,m as CardDescription,c as CardFooter,n as CardHeader,s as CardTitle};
1
+ import{jsx as s}from"react/jsx-runtime";import*as r from"react";import{cn as d}from"../helpers/index.js";const i=r.forwardRef(({className:e,...t},a)=>s("div",{ref:a,className:d("bg-card text-card-foreground rounded-lg border shadow-sm",e),...t}));i.displayName="Card";const o=r.forwardRef(({className:e,...t},a)=>s("div",{ref:a,className:d("lg-desktop:px-6 lg-desktop:pt-[32px] flex flex-col space-y-1.5 px-4 pt-6",e),...t}));o.displayName="CardHeader";const l=r.forwardRef(({className:e,...t},a)=>s("div",{ref:a,className:d("text-2xl font-semibold leading-none tracking-tight",e),...t}));l.displayName="CardTitle";const n=r.forwardRef(({className:e,...t},a)=>s("div",{ref:a,className:d("text-muted-foreground text-sm",e),...t}));n.displayName="CardDescription";const m=r.forwardRef(({className:e,...t},a)=>s("div",{ref:a,className:d("lg-desktop:p-6 p-4 pt-0",e),...t}));m.displayName="CardContent";const p=r.forwardRef(({className:e,...t},a)=>s("div",{ref:a,className:d("lg-desktop:px-6 lg-desktop:pb-[32px] flex items-center px-4 pb-6 pt-0",e),...t}));p.displayName="CardFooter";export{i as Card,m as CardContent,n as CardDescription,p as CardFooter,o as CardHeader,l as CardTitle};
2
2
  //# sourceMappingURL=card.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/card.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\n\nimport { cn } from '../helpers/index.js'\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('bg-card text-card-foreground rounded-lg border shadow-sm', className)} {...props} />\n))\nCard.displayName = 'Card'\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('min-xl:px-6 min-xl:pt-[32px] flex flex-col space-y-1.5 px-4 pt-6', className)}\n {...props}\n />\n )\n)\nCardHeader.displayName = 'CardHeader'\n\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('text-2xl font-semibold leading-none tracking-tight', className)} {...props} />\n )\n)\nCardTitle.displayName = 'CardTitle'\n\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />\n )\n)\nCardDescription.displayName = 'CardDescription'\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => <div ref={ref} className={cn('min-xl:p-6 p-4 pt-0', className)} {...props} />\n)\nCardContent.displayName = 'CardContent'\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('min-xl:px-6 min-xl:pb-[32px] flex items-center px-4 pb-6 pt-0', className)}\n {...props}\n />\n )\n)\nCardFooter.displayName = 'CardFooter'\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n"],
5
- "mappings": "AAKE,cAAAA,MAAA,oBALF,UAAYC,MAAW,QAEvB,OAAS,MAAAC,MAAU,sBAEnB,MAAMC,EAAOF,EAAM,WAAiE,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IAC5GN,EAAC,OAAI,IAAKM,EAAK,UAAWJ,EAAG,2DAA4DE,CAAS,EAAI,GAAGC,EAAO,CACjH,EACDF,EAAK,YAAc,OAEnB,MAAMI,EAAaN,EAAM,WACvB,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IACxBN,EAAC,OACC,IAAKM,EACL,UAAWJ,EAAG,mEAAoEE,CAAS,EAC1F,GAAGC,EACN,CAEJ,EACAE,EAAW,YAAc,aAEzB,MAAMC,EAAYP,EAAM,WACtB,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IACxBN,EAAC,OAAI,IAAKM,EAAK,UAAWJ,EAAG,qDAAsDE,CAAS,EAAI,GAAGC,EAAO,CAE9G,EACAG,EAAU,YAAc,YAExB,MAAMC,EAAkBR,EAAM,WAC5B,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IACxBN,EAAC,OAAI,IAAKM,EAAK,UAAWJ,EAAG,gCAAiCE,CAAS,EAAI,GAAGC,EAAO,CAEzF,EACAI,EAAgB,YAAc,kBAE9B,MAAMC,EAAcT,EAAM,WACxB,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IAAQN,EAAC,OAAI,IAAKM,EAAK,UAAWJ,EAAG,sBAAuBE,CAAS,EAAI,GAAGC,EAAO,CAC/G,EACAK,EAAY,YAAc,cAE1B,MAAMC,EAAaV,EAAM,WACvB,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IACxBN,EAAC,OACC,IAAKM,EACL,UAAWJ,EAAG,gEAAiEE,CAAS,EACvF,GAAGC,EACN,CAEJ,EACAM,EAAW,YAAc",
4
+ "sourcesContent": ["import * as React from 'react'\n\nimport { cn } from '../helpers/index.js'\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('bg-card text-card-foreground rounded-lg border shadow-sm', className)} {...props} />\n))\nCard.displayName = 'Card'\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('lg-desktop:px-6 lg-desktop:pt-[32px] flex flex-col space-y-1.5 px-4 pt-6', className)}\n {...props}\n />\n )\n)\nCardHeader.displayName = 'CardHeader'\n\nconst CardTitle = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('text-2xl font-semibold leading-none tracking-tight', className)} {...props} />\n )\n)\nCardTitle.displayName = 'CardTitle'\n\nconst CardDescription = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />\n )\n)\nCardDescription.displayName = 'CardDescription'\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => <div ref={ref} className={cn('lg-desktop:p-6 p-4 pt-0', className)} {...props} />\n)\nCardContent.displayName = 'CardContent'\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('lg-desktop:px-6 lg-desktop:pb-[32px] flex items-center px-4 pb-6 pt-0', className)}\n {...props}\n />\n )\n)\nCardFooter.displayName = 'CardFooter'\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n"],
5
+ "mappings": "AAKE,cAAAA,MAAA,oBALF,UAAYC,MAAW,QAEvB,OAAS,MAAAC,MAAU,sBAEnB,MAAMC,EAAOF,EAAM,WAAiE,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IAC5GN,EAAC,OAAI,IAAKM,EAAK,UAAWJ,EAAG,2DAA4DE,CAAS,EAAI,GAAGC,EAAO,CACjH,EACDF,EAAK,YAAc,OAEnB,MAAMI,EAAaN,EAAM,WACvB,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IACxBN,EAAC,OACC,IAAKM,EACL,UAAWJ,EAAG,2EAA4EE,CAAS,EAClG,GAAGC,EACN,CAEJ,EACAE,EAAW,YAAc,aAEzB,MAAMC,EAAYP,EAAM,WACtB,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IACxBN,EAAC,OAAI,IAAKM,EAAK,UAAWJ,EAAG,qDAAsDE,CAAS,EAAI,GAAGC,EAAO,CAE9G,EACAG,EAAU,YAAc,YAExB,MAAMC,EAAkBR,EAAM,WAC5B,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IACxBN,EAAC,OAAI,IAAKM,EAAK,UAAWJ,EAAG,gCAAiCE,CAAS,EAAI,GAAGC,EAAO,CAEzF,EACAI,EAAgB,YAAc,kBAE9B,MAAMC,EAAcT,EAAM,WACxB,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IAAQN,EAAC,OAAI,IAAKM,EAAK,UAAWJ,EAAG,0BAA2BE,CAAS,EAAI,GAAGC,EAAO,CACnH,EACAK,EAAY,YAAc,cAE1B,MAAMC,EAAaV,EAAM,WACvB,CAAC,CAAE,UAAAG,EAAW,GAAGC,CAAM,EAAGC,IACxBN,EAAC,OACC,IAAKM,EACL,UAAWJ,EAAG,wEAAyEE,CAAS,EAC/F,GAAGC,EACN,CAEJ,EACAM,EAAW,YAAc",
6
6
  "names": ["jsx", "React", "cn", "Card", "className", "props", "ref", "CardHeader", "CardTitle", "CardDescription", "CardContent", "CardFooter"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as a,jsxs as y}from"react/jsx-runtime";import*as t from"react";import U from"embla-carousel-react";import{cn as m}from"../helpers/index.js";import P from"./button.js";const F=(e,o)=>{const[s,r]=t.useState(0),[n,p]=t.useState([]),C=t.useCallback(f=>{e&&(e.scrollTo(f),o&&o(e))},[e,o]),u=t.useCallback(f=>{p(f.scrollSnapList())},[]),i=t.useCallback(f=>{r(f.selectedScrollSnap())},[]);return t.useEffect(()=>{e&&(u(e),i(e),e.on("reInit",u).on("reInit",i).on("select",i))},[e,u,i]),{selectedIndex:s,scrollSnaps:n,onDotButtonClick:C}},K=e=>{const{children:o,...s}=e;return a("button",{type:"button",...s,children:o})},h=t.createContext(null);function v(){const e=t.useContext(h);if(!e)throw new Error("useCarousel must be used within a <Carousel />");return e}const N=t.forwardRef(({orientation:e="horizontal",showNavigation:o=!1,navigationPosition:s="inner",opts:r,setApi:n,plugins:p,className:C,children:u,...i},f)=>{const[g,l]=U({...r,axis:e==="horizontal"?"x":"y"},p),[L,R]=t.useState(!1),[k,B]=t.useState(!1),{selectedIndex:M,scrollSnaps:z,onDotButtonClick:H}=F(l),d=t.useCallback(c=>{c&&(R(c.canScrollPrev()),B(c.canScrollNext()))},[]),x=t.useCallback(()=>{l?.scrollPrev()},[l]),b=t.useCallback(()=>{l?.scrollNext()},[l]),I=t.useCallback(c=>{c.key==="ArrowLeft"?(c.preventDefault(),x()):c.key==="ArrowRight"&&(c.preventDefault(),b())},[x,b]);return t.useEffect(()=>{!l||!n||n(l)},[l,n]),t.useEffect(()=>{if(l)return d(l),l.on("reInit",d),l.on("select",d),()=>{l?.off("select",d)}},[l,d]),a(h.Provider,{value:{carouselRef:g,api:l,opts:r,orientation:e||(r?.axis==="y"?"vertical":"horizontal"),scrollPrev:x,scrollNext:b,canScrollPrev:L,canScrollNext:k},children:y("div",{ref:f,onKeyDownCapture:I,className:m("relative",C),role:"region","aria-roledescription":"carousel",...i,children:[u,o&&a("div",{className:m("absolute left-1/2 mx-auto flex -translate-x-1/2 justify-center gap-[8px]",{"min-md:bottom-[40px] bottom-[24px]":s==="inner","min-md:-bottom-[40px] -bottom-[24px]":s==="outter"}),children:z.map((c,w)=>a(K,{onClick:()=>H(w),className:m("min-md:w-[30px] h-[3px] w-[16px] bg-[#86868C]",{"bg-[#1D1D1F]":w===M})},w))})]})})});N.displayName="Carousel";const T=t.forwardRef(({className:e,...o},s)=>{const{carouselRef:r,orientation:n}=v();return a("div",{ref:r,className:"overflow-hidden",children:a("div",{ref:s,className:m("flex",n==="horizontal"?"-ml-4":"-mt-4 flex-col",e),...o})})});T.displayName="CarouselContent";const E=t.forwardRef(({className:e,...o},s)=>{const{orientation:r}=v();return a("div",{ref:s,role:"group","aria-roledescription":"slide",className:m("min-w-0 shrink-0 grow-0 basis-full",r==="horizontal"?"pl-4":"pt-4",e),...o})});E.displayName="CarouselItem";const S=t.forwardRef(({className:e,variant:o="secondary",size:s="icon",children:r,...n},p)=>{const{orientation:C,scrollPrev:u,canScrollPrev:i}=v();return y(P,{ref:p,variant:o,size:s,className:m("absolute size-8 rounded-full",C==="horizontal"?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!i,onClick:u,...n,children:[r||y("svg",{width:"58",height:"58",viewBox:"0 0 58 58",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a("circle",{opacity:"0.2",cx:"29",cy:"29",r:"29",transform:"matrix(1 -8.74228e-08 -8.74228e-08 -1 0 58)",fill:"#1D1D1F"}),a("path",{d:"M32.1583 36.8248C32.6139 36.3692 32.6139 35.6305 32.1583 35.1749L25.9832 28.9998L32.1583 22.8248C32.6139 22.3692 32.6139 21.6305 32.1583 21.1749C31.7027 20.7193 30.964 20.7193 30.5084 21.1749L23.5084 28.1749C23.0528 28.6305 23.0528 29.3692 23.5084 29.8248L30.5084 36.8248C30.964 37.2804 31.7027 37.2804 32.1583 36.8248Z",fill:"white"})]}),a("span",{className:"sr-only",children:"Previous slide"})]})});S.displayName="CarouselPrevious";const D=t.forwardRef(({className:e,variant:o="secondary",size:s="icon",children:r,...n},p)=>{const{orientation:C,scrollNext:u,canScrollNext:i}=v();return y(P,{ref:p,variant:o,size:s,className:m("absolute size-8 rounded-full",C==="horizontal"?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!i,onClick:u,...n,children:[r||y("svg",{width:"58",height:"58",viewBox:"0 0 58 58",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a("circle",{opacity:"0.2",cx:"29",cy:"29",r:"29",transform:"rotate(-180 29 29)",fill:"#1D1D1F"}),a("path",{d:"M25.8417 36.8248C25.3861 36.3692 25.3861 35.6305 25.8417 35.1749L32.0168 28.9998L25.8417 22.8248C25.3861 22.3692 25.3861 21.6305 25.8417 21.1749C26.2973 20.7193 27.036 20.7193 27.4916 21.1749L34.4916 28.1749C34.9472 28.6305 34.9472 29.3692 34.4916 29.8248L27.4916 36.8248C27.036 37.2804 26.2973 37.2804 25.8417 36.8248Z",fill:"white"})]}),a("span",{className:"sr-only",children:"Next slide"})]})});D.displayName="CarouselNext";export{N as Carousel,T as CarouselContent,E as CarouselItem,D as CarouselNext,S as CarouselPrevious,K as DotButton};
1
+ "use client";import{jsx as a,jsxs as y}from"react/jsx-runtime";import*as t from"react";import U from"embla-carousel-react";import{cn as m}from"../helpers/index.js";import P from"./button.js";const F=(e,o)=>{const[s,r]=t.useState(0),[n,p]=t.useState([]),C=t.useCallback(f=>{e&&(e.scrollTo(f),o&&o(e))},[e,o]),i=t.useCallback(f=>{p(f.scrollSnapList())},[]),u=t.useCallback(f=>{r(f.selectedScrollSnap())},[]);return t.useEffect(()=>{e&&(i(e),u(e),e.on("reInit",i).on("reInit",u).on("select",u))},[e,i,u]),{selectedIndex:s,scrollSnaps:n,onDotButtonClick:C}},K=e=>{const{children:o,...s}=e;return a("button",{type:"button",...s,children:o})},h=t.createContext(null);function v(){const e=t.useContext(h);if(!e)throw new Error("useCarousel must be used within a <Carousel />");return e}const N=t.forwardRef(({orientation:e="horizontal",showNavigation:o=!1,navigationPosition:s="inner",opts:r,setApi:n,plugins:p,className:C,children:i,...u},f)=>{const[g,l]=U({...r,axis:e==="horizontal"?"x":"y"},p),[L,R]=t.useState(!1),[k,B]=t.useState(!1),{selectedIndex:M,scrollSnaps:z,onDotButtonClick:H}=F(l),d=t.useCallback(c=>{c&&(R(c.canScrollPrev()),B(c.canScrollNext()))},[]),x=t.useCallback(()=>{l?.scrollPrev()},[l]),b=t.useCallback(()=>{l?.scrollNext()},[l]),I=t.useCallback(c=>{c.key==="ArrowLeft"?(c.preventDefault(),x()):c.key==="ArrowRight"&&(c.preventDefault(),b())},[x,b]);return t.useEffect(()=>{!l||!n||n(l)},[l,n]),t.useEffect(()=>{if(l)return d(l),l.on("reInit",d),l.on("select",d),()=>{l?.off("select",d)}},[l,d]),a(h.Provider,{value:{carouselRef:g,api:l,opts:r,orientation:e||(r?.axis==="y"?"vertical":"horizontal"),scrollPrev:x,scrollNext:b,canScrollPrev:L,canScrollNext:k},children:y("div",{ref:f,onKeyDownCapture:I,className:m("relative",C),role:"region","aria-roledescription":"carousel",...u,children:[i,o&&a("div",{className:m("absolute left-1/2 mx-auto flex -translate-x-1/2 justify-center gap-[8px]",{"laptop:bottom-[40px] bottom-[24px]":s==="inner","laptop:-bottom-[40px] -bottom-[24px]":s==="outter"}),children:z.map((c,w)=>a(K,{onClick:()=>H(w),className:m("laptop:w-[30px] h-[3px] w-[16px] bg-[#86868C]",{"bg-[#1D1D1F]":w===M})},w))})]})})});N.displayName="Carousel";const T=t.forwardRef(({className:e,...o},s)=>{const{carouselRef:r,orientation:n}=v();return a("div",{ref:r,className:"overflow-hidden",children:a("div",{ref:s,className:m("flex",n==="horizontal"?"-ml-4":"-mt-4 flex-col",e),...o})})});T.displayName="CarouselContent";const E=t.forwardRef(({className:e,...o},s)=>{const{orientation:r}=v();return a("div",{ref:s,role:"group","aria-roledescription":"slide",className:m("w-0 shrink-0 grow-0 basis-full",r==="horizontal"?"pl-4":"pt-4",e),...o})});E.displayName="CarouselItem";const S=t.forwardRef(({className:e,variant:o="secondary",size:s="icon",children:r,...n},p)=>{const{orientation:C,scrollPrev:i,canScrollPrev:u}=v();return y(P,{ref:p,variant:o,size:s,className:m("absolute size-8 rounded-full",C==="horizontal"?"-left-12 top-1/2 -translate-y-1/2":"-top-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!u,onClick:i,...n,children:[r||y("svg",{width:"58",height:"58",viewBox:"0 0 58 58",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a("circle",{opacity:"0.2",cx:"29",cy:"29",r:"29",transform:"matrix(1 -8.74228e-08 -8.74228e-08 -1 0 58)",fill:"#1D1D1F"}),a("path",{d:"M32.1583 36.8248C32.6139 36.3692 32.6139 35.6305 32.1583 35.1749L25.9832 28.9998L32.1583 22.8248C32.6139 22.3692 32.6139 21.6305 32.1583 21.1749C31.7027 20.7193 30.964 20.7193 30.5084 21.1749L23.5084 28.1749C23.0528 28.6305 23.0528 29.3692 23.5084 29.8248L30.5084 36.8248C30.964 37.2804 31.7027 37.2804 32.1583 36.8248Z",fill:"white"})]}),a("span",{className:"sr-only",children:"Previous slide"})]})});S.displayName="CarouselPrevious";const D=t.forwardRef(({className:e,variant:o="secondary",size:s="icon",children:r,...n},p)=>{const{orientation:C,scrollNext:i,canScrollNext:u}=v();return y(P,{ref:p,variant:o,size:s,className:m("absolute size-8 rounded-full",C==="horizontal"?"-right-12 top-1/2 -translate-y-1/2":"-bottom-12 left-1/2 -translate-x-1/2 rotate-90",e),disabled:!u,onClick:i,...n,children:[r||y("svg",{width:"58",height:"58",viewBox:"0 0 58 58",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a("circle",{opacity:"0.2",cx:"29",cy:"29",r:"29",transform:"rotate(-180 29 29)",fill:"#1D1D1F"}),a("path",{d:"M25.8417 36.8248C25.3861 36.3692 25.3861 35.6305 25.8417 35.1749L32.0168 28.9998L25.8417 22.8248C25.3861 22.3692 25.3861 21.6305 25.8417 21.1749C26.2973 20.7193 27.036 20.7193 27.4916 21.1749L34.4916 28.1749C34.9472 28.6305 34.9472 29.3692 34.4916 29.8248L27.4916 36.8248C27.036 37.2804 26.2973 37.2804 25.8417 36.8248Z",fill:"white"})]}),a("span",{className:"sr-only",children:"Next slide"})]})});D.displayName="CarouselNext";export{N as Carousel,T as CarouselContent,E as CarouselItem,D as CarouselNext,S as CarouselPrevious,K as DotButton};
2
2
  //# sourceMappingURL=carousel.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/carousel.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport type { EmblaCarouselType } from 'embla-carousel'\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react'\n\nimport { cn } from '../helpers/index.js'\nimport Button from './button.js'\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n /**\n * \u662F\u5426\u663E\u793A\u5BFC\u822A\u70B9\n */\n showNavigation?: boolean\n /**\n * \u5BFC\u822A\u70B9\u4F4D\u7F6E default inner\n */\n navigationPosition?: 'inner' | 'outter'\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: 'horizontal' | 'vertical'\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\ntype UseDotButtonType = {\n selectedIndex: number\n scrollSnaps: number[]\n onDotButtonClick: (index: number) => void\n}\n\nconst useDotButton = (\n emblaApi: EmblaCarouselType | undefined,\n onButtonClick?: (emblaApi: EmblaCarouselType) => void\n): UseDotButtonType => {\n const [selectedIndex, setSelectedIndex] = React.useState(0)\n const [scrollSnaps, setScrollSnaps] = React.useState<number[]>([])\n\n const onDotButtonClick = React.useCallback(\n (index: number) => {\n if (!emblaApi) return\n emblaApi.scrollTo(index)\n if (onButtonClick) onButtonClick(emblaApi)\n },\n [emblaApi, onButtonClick]\n )\n\n const onInit = React.useCallback((emblaApi: EmblaCarouselType) => {\n setScrollSnaps(emblaApi.scrollSnapList())\n }, [])\n\n const onSelect = React.useCallback((emblaApi: EmblaCarouselType) => {\n setSelectedIndex(emblaApi.selectedScrollSnap())\n }, [])\n\n React.useEffect(() => {\n if (!emblaApi) return\n\n onInit(emblaApi)\n onSelect(emblaApi)\n\n emblaApi.on('reInit', onInit).on('reInit', onSelect).on('select', onSelect)\n }, [emblaApi, onInit, onSelect])\n\n return {\n selectedIndex,\n scrollSnaps,\n onDotButtonClick,\n }\n}\n\ntype PropType = React.ComponentPropsWithRef<'button'>\n\nexport const DotButton: React.FC<PropType> = props => {\n const { children, ...restProps } = props\n\n return (\n <button type=\"button\" {...restProps}>\n {children}\n </button>\n )\n}\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error('useCarousel must be used within a <Carousel />')\n }\n\n return context\n}\n\nconst Carousel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & CarouselProps>(\n (\n {\n orientation = 'horizontal',\n showNavigation = false,\n navigationPosition = 'inner',\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const { selectedIndex, scrollSnaps, onDotButtonClick } = useDotButton(api)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return\n }\n\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === 'ArrowRight') {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n onSelect(api)\n api.on('reInit', onSelect)\n api.on('select', onSelect)\n\n return () => {\n api?.off('select', onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn('relative', className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n {showNavigation && (\n <div\n className={cn('absolute left-1/2 mx-auto flex -translate-x-1/2 justify-center gap-[8px]', {\n 'min-md:bottom-[40px] bottom-[24px]': navigationPosition === 'inner',\n 'min-md:-bottom-[40px] -bottom-[24px]': navigationPosition === 'outter',\n })}\n >\n {scrollSnaps.map((_, index) => (\n <DotButton\n key={index}\n onClick={() => onDotButtonClick(index)}\n className={cn('min-md:w-[30px] h-[3px] w-[16px] bg-[#86868C]', {\n 'bg-[#1D1D1F]': index === selectedIndex,\n })}\n />\n ))}\n </div>\n )}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = 'Carousel'\n\nconst CarouselContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)}\n {...props}\n />\n </div>\n )\n }\n)\nCarouselContent.displayName = 'CarouselContent'\n\nconst CarouselItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { orientation } = useCarousel()\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn('min-w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)}\n {...props}\n />\n )\n }\n)\nCarouselItem.displayName = 'CarouselItem'\n\nconst CarouselPrevious = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\n ({ className, variant = 'secondary', size = 'icon', children, ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? '-left-12 top-1/2 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n {children ? (\n children\n ) : (\n <svg width=\"58\" height=\"58\" viewBox=\"0 0 58 58\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle\n opacity=\"0.2\"\n cx=\"29\"\n cy=\"29\"\n r=\"29\"\n transform=\"matrix(1 -8.74228e-08 -8.74228e-08 -1 0 58)\"\n fill=\"#1D1D1F\"\n />\n <path\n d=\"M32.1583 36.8248C32.6139 36.3692 32.6139 35.6305 32.1583 35.1749L25.9832 28.9998L32.1583 22.8248C32.6139 22.3692 32.6139 21.6305 32.1583 21.1749C31.7027 20.7193 30.964 20.7193 30.5084 21.1749L23.5084 28.1749C23.0528 28.6305 23.0528 29.3692 23.5084 29.8248L30.5084 36.8248C30.964 37.2804 31.7027 37.2804 32.1583 36.8248Z\"\n fill=\"white\"\n />\n </svg>\n )}\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n }\n)\nCarouselPrevious.displayName = 'CarouselPrevious'\n\nconst CarouselNext = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\n ({ className, variant = 'secondary', size = 'icon', children, ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? '-right-12 top-1/2 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n {children ? (\n children\n ) : (\n <svg width=\"58\" height=\"58\" viewBox=\"0 0 58 58\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle opacity=\"0.2\" cx=\"29\" cy=\"29\" r=\"29\" transform=\"rotate(-180 29 29)\" fill=\"#1D1D1F\" />\n <path\n d=\"M25.8417 36.8248C25.3861 36.3692 25.3861 35.6305 25.8417 35.1749L32.0168 28.9998L25.8417 22.8248C25.3861 22.3692 25.3861 21.6305 25.8417 21.1749C26.2973 20.7193 27.036 20.7193 27.4916 21.1749L34.4916 28.1749C34.9472 28.6305 34.9472 29.3692 34.4916 29.8248L27.4916 36.8248C27.036 37.2804 26.2973 37.2804 25.8417 36.8248Z\"\n fill=\"white\"\n />\n </svg>\n )}\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n }\n)\nCarouselNext.displayName = 'CarouselNext'\n\nexport { type CarouselApi, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext }\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport type { EmblaCarouselType } from 'embla-carousel'\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react'\n\nimport { cn } from '../helpers/index.js'\nimport Button from './button.js'\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n /**\n * \u662F\u5426\u663E\u793A\u5BFC\u822A\u70B9\n */\n showNavigation?: boolean\n /**\n * \u5BFC\u822A\u70B9\u4F4D\u7F6E default inner\n */\n navigationPosition?: 'inner' | 'outter'\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: 'horizontal' | 'vertical'\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\ntype UseDotButtonType = {\n selectedIndex: number\n scrollSnaps: number[]\n onDotButtonClick: (index: number) => void\n}\n\nconst useDotButton = (\n emblaApi: EmblaCarouselType | undefined,\n onButtonClick?: (emblaApi: EmblaCarouselType) => void\n): UseDotButtonType => {\n const [selectedIndex, setSelectedIndex] = React.useState(0)\n const [scrollSnaps, setScrollSnaps] = React.useState<number[]>([])\n\n const onDotButtonClick = React.useCallback(\n (index: number) => {\n if (!emblaApi) return\n emblaApi.scrollTo(index)\n if (onButtonClick) onButtonClick(emblaApi)\n },\n [emblaApi, onButtonClick]\n )\n\n const onInit = React.useCallback((emblaApi: EmblaCarouselType) => {\n setScrollSnaps(emblaApi.scrollSnapList())\n }, [])\n\n const onSelect = React.useCallback((emblaApi: EmblaCarouselType) => {\n setSelectedIndex(emblaApi.selectedScrollSnap())\n }, [])\n\n React.useEffect(() => {\n if (!emblaApi) return\n\n onInit(emblaApi)\n onSelect(emblaApi)\n\n emblaApi.on('reInit', onInit).on('reInit', onSelect).on('select', onSelect)\n }, [emblaApi, onInit, onSelect])\n\n return {\n selectedIndex,\n scrollSnaps,\n onDotButtonClick,\n }\n}\n\ntype PropType = React.ComponentPropsWithRef<'button'>\n\nexport const DotButton: React.FC<PropType> = props => {\n const { children, ...restProps } = props\n\n return (\n <button type=\"button\" {...restProps}>\n {children}\n </button>\n )\n}\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error('useCarousel must be used within a <Carousel />')\n }\n\n return context\n}\n\nconst Carousel = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement> & CarouselProps>(\n (\n {\n orientation = 'horizontal',\n showNavigation = false,\n navigationPosition = 'inner',\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === 'horizontal' ? 'x' : 'y',\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const { selectedIndex, scrollSnaps, onDotButtonClick } = useDotButton(api)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return\n }\n\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === 'ArrowRight') {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n onSelect(api)\n api.on('reInit', onSelect)\n api.on('select', onSelect)\n\n return () => {\n api?.off('select', onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn('relative', className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n {showNavigation && (\n <div\n className={cn('absolute left-1/2 mx-auto flex -translate-x-1/2 justify-center gap-[8px]', {\n 'laptop:bottom-[40px] bottom-[24px]': navigationPosition === 'inner',\n 'laptop:-bottom-[40px] -bottom-[24px]': navigationPosition === 'outter',\n })}\n >\n {scrollSnaps.map((_, index) => (\n <DotButton\n key={index}\n onClick={() => onDotButtonClick(index)}\n className={cn('laptop:w-[30px] h-[3px] w-[16px] bg-[#86868C]', {\n 'bg-[#1D1D1F]': index === selectedIndex,\n })}\n />\n ))}\n </div>\n )}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = 'Carousel'\n\nconst CarouselContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)}\n {...props}\n />\n </div>\n )\n }\n)\nCarouselContent.displayName = 'CarouselContent'\n\nconst CarouselItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const { orientation } = useCarousel()\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn('w-0 shrink-0 grow-0 basis-full', orientation === 'horizontal' ? 'pl-4' : 'pt-4', className)}\n {...props}\n />\n )\n }\n)\nCarouselItem.displayName = 'CarouselItem'\n\nconst CarouselPrevious = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\n ({ className, variant = 'secondary', size = 'icon', children, ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? '-left-12 top-1/2 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n {children ? (\n children\n ) : (\n <svg width=\"58\" height=\"58\" viewBox=\"0 0 58 58\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle\n opacity=\"0.2\"\n cx=\"29\"\n cy=\"29\"\n r=\"29\"\n transform=\"matrix(1 -8.74228e-08 -8.74228e-08 -1 0 58)\"\n fill=\"#1D1D1F\"\n />\n <path\n d=\"M32.1583 36.8248C32.6139 36.3692 32.6139 35.6305 32.1583 35.1749L25.9832 28.9998L32.1583 22.8248C32.6139 22.3692 32.6139 21.6305 32.1583 21.1749C31.7027 20.7193 30.964 20.7193 30.5084 21.1749L23.5084 28.1749C23.0528 28.6305 23.0528 29.3692 23.5084 29.8248L30.5084 36.8248C30.964 37.2804 31.7027 37.2804 32.1583 36.8248Z\"\n fill=\"white\"\n />\n </svg>\n )}\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n }\n)\nCarouselPrevious.displayName = 'CarouselPrevious'\n\nconst CarouselNext = React.forwardRef<HTMLButtonElement, React.ComponentProps<typeof Button>>(\n ({ className, variant = 'secondary', size = 'icon', children, ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? '-right-12 top-1/2 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n {children ? (\n children\n ) : (\n <svg width=\"58\" height=\"58\" viewBox=\"0 0 58 58\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle opacity=\"0.2\" cx=\"29\" cy=\"29\" r=\"29\" transform=\"rotate(-180 29 29)\" fill=\"#1D1D1F\" />\n <path\n d=\"M25.8417 36.8248C25.3861 36.3692 25.3861 35.6305 25.8417 35.1749L32.0168 28.9998L25.8417 22.8248C25.3861 22.3692 25.3861 21.6305 25.8417 21.1749C26.2973 20.7193 27.036 20.7193 27.4916 21.1749L34.4916 28.1749C34.9472 28.6305 34.9472 29.3692 34.4916 29.8248L27.4916 36.8248C27.036 37.2804 26.2973 37.2804 25.8417 36.8248Z\"\n fill=\"white\"\n />\n </svg>\n )}\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n }\n)\nCarouselNext.displayName = 'CarouselNext'\n\nexport { type CarouselApi, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext }\n"],
5
+ "mappings": "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",
6
6
  "names": ["jsx", "jsxs", "React", "useEmblaCarousel", "cn", "Button", "useDotButton", "emblaApi", "onButtonClick", "selectedIndex", "setSelectedIndex", "scrollSnaps", "setScrollSnaps", "onDotButtonClick", "index", "onInit", "onSelect", "DotButton", "props", "children", "restProps", "CarouselContext", "useCarousel", "context", "Carousel", "orientation", "showNavigation", "navigationPosition", "opts", "setApi", "plugins", "className", "ref", "carouselRef", "api", "canScrollPrev", "setCanScrollPrev", "canScrollNext", "setCanScrollNext", "scrollPrev", "scrollNext", "handleKeyDown", "event", "_", "CarouselContent", "CarouselItem", "CarouselPrevious", "variant", "size", "CarouselNext"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as l}from"react/jsx-runtime";import i from"react";import{cn as p}from"../helpers/utils.js";import{Slot as s}from"@radix-ui/react-slot";const o=i.forwardRef(({...e},t)=>{const{asChild:n,children:r,className:a,...m}=e;return l(n?s:"div",{...m,ref:t,className:p("box-border max-w-[1664px] mx-4 sm:mx-8 md:mx-16 lg:mx-16 xl:mx-auto ",a),children:r})});o.displayName="Container";export{o as Container};
1
+ import{jsx as l}from"react/jsx-runtime";import m from"react";import{cn as i}from"../helpers/utils.js";import{Slot as s}from"@radix-ui/react-slot";const o=m.forwardRef(({...e},t)=>{const{asChild:n,children:r,className:a,...p}=e;return l(n?s:"div",{...p,ref:t,className:i("box-border max-w-[1664px] mx-4 tablet:mx-8 laptop:mx-16 desktop:mx-16 lg-desktop:mx-auto ",a),children:r})});o.displayName="Container";export{o as Container};
2
2
  //# sourceMappingURL=container.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/container.tsx"],
4
- "sourcesContent": ["import React from 'react'\nimport { cn } from '../helpers/utils.js'\nimport { Slot } from '@radix-ui/react-slot'\n\ntype ContainerElement = React.ElementRef<'div'>\ntype ContainerProps = {\n asChild?: boolean\n children?: React.ReactNode\n className?: string\n} & React.ComponentPropsWithoutRef<'div'>\nconst Container = React.forwardRef<ContainerElement, ContainerProps>(({ ...props }, forwardedRef) => {\n const { asChild, children, className, ...containerProps } = props\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...containerProps}\n ref={forwardedRef}\n className={cn(\"box-border max-w-[1664px] mx-4 sm:mx-8 md:mx-16 lg:mx-16 xl:mx-auto \", className)}\n >\n {children}\n </Comp>\n )\n})\nContainer.displayName = 'Container'\n\nexport { Container }\nexport type { ContainerProps }\n"],
5
- "mappings": "AAeI,cAAAA,MAAA,oBAfJ,OAAOC,MAAW,QAClB,OAAS,MAAAC,MAAU,sBACnB,OAAS,QAAAC,MAAY,uBAQrB,MAAMC,EAAYH,EAAM,WAA6C,CAAC,CAAE,GAAGI,CAAM,EAAGC,IAAiB,CACnG,KAAM,CAAE,QAAAC,EAAS,SAAAC,EAAU,UAAAC,EAAW,GAAGC,CAAe,EAAIL,EAG5D,OACEL,EAHWO,EAAUJ,EAAO,MAG3B,CACE,GAAGO,EACJ,IAAKJ,EACL,UAAWJ,EAAG,uEAAwEO,CAAS,EAE9F,SAAAD,EACH,CAEJ,CAAC,EACDJ,EAAU,YAAc",
4
+ "sourcesContent": ["import React from 'react'\nimport { cn } from '../helpers/utils.js'\nimport { Slot } from '@radix-ui/react-slot'\n\ntype ContainerElement = React.ElementRef<'div'>\ntype ContainerProps = {\n asChild?: boolean\n children?: React.ReactNode\n className?: string\n} & React.ComponentPropsWithoutRef<'div'>\nconst Container = React.forwardRef<ContainerElement, ContainerProps>(({ ...props }, forwardedRef) => {\n const { asChild, children, className, ...containerProps } = props\n const Comp = asChild ? Slot : 'div'\n\n return (\n <Comp\n {...containerProps}\n ref={forwardedRef}\n className={cn(\"box-border max-w-[1664px] mx-4 tablet:mx-8 laptop:mx-16 desktop:mx-16 lg-desktop:mx-auto \", className)}\n >\n {children}\n </Comp>\n )\n})\nContainer.displayName = 'Container'\n\nexport { Container }\nexport type { ContainerProps }\n"],
5
+ "mappings": "AAeI,cAAAA,MAAA,oBAfJ,OAAOC,MAAW,QAClB,OAAS,MAAAC,MAAU,sBACnB,OAAS,QAAAC,MAAY,uBAQrB,MAAMC,EAAYH,EAAM,WAA6C,CAAC,CAAE,GAAGI,CAAM,EAAGC,IAAiB,CACnG,KAAM,CAAE,QAAAC,EAAS,SAAAC,EAAU,UAAAC,EAAW,GAAGC,CAAe,EAAIL,EAG5D,OACEL,EAHWO,EAAUJ,EAAO,MAG3B,CACE,GAAGO,EACJ,IAAKJ,EACL,UAAWJ,EAAG,4FAA6FO,CAAS,EAEnH,SAAAD,EACH,CAEJ,CAAC,EACDJ,EAAU,YAAc",
6
6
  "names": ["jsx", "React", "cn", "Slot", "Container", "props", "forwardedRef", "asChild", "children", "className", "containerProps"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use client";import{jsx as o,jsxs as r}from"react/jsx-runtime";import*as l from"react";import*as e from"@radix-ui/react-dialog";import{Cross2Icon as u}from"@radix-ui/react-icons";import{cn as s}from"../helpers/index.js";const d=e.Root;d.displayName="Dialog";const R=e.Trigger,m=e.Portal,v=e.Close,n=l.forwardRef(({className:t,...a},i)=>o(e.Overlay,{ref:i,className:s("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",t),...a}));n.displayName=e.Overlay.displayName;const c=l.forwardRef(({className:t,children:a,...i},y)=>r(m,{children:[o(n,{}),r(e.Content,{ref:y,className:s("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg",t),...i,children:[a,r(e.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none",children:[o(u,{className:"size-4"}),o("span",{className:"sr-only",children:"Close"})]})]})]}));c.displayName=e.Content.displayName;const f=({className:t,...a})=>o("div",{className:s("flex flex-col space-y-1.5 text-center sm:text-left",t),...a});f.displayName="DialogHeader";const p=({className:t,...a})=>o("div",{className:s("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});p.displayName="DialogFooter";const g=l.forwardRef(({className:t,...a},i)=>o(e.Title,{ref:i,className:s("text-lg font-semibold leading-none tracking-tight",t),...a}));g.displayName=e.Title.displayName;const D=l.forwardRef(({className:t,...a},i)=>o(e.Description,{ref:i,className:s("text-muted-foreground text-sm",t),...a}));D.displayName=e.Description.displayName;export{d as Dialog,v as DialogClose,c as DialogContent,D as DialogDescription,p as DialogFooter,f as DialogHeader,n as DialogOverlay,m as DialogPortal,g as DialogTitle,R as DialogTrigger};
1
+ "use client";import{jsx as o,jsxs as r}from"react/jsx-runtime";import*as s from"react";import*as e from"@radix-ui/react-dialog";import{Cross2Icon as u}from"@radix-ui/react-icons";import{cn as l}from"../helpers/index.js";const d=e.Root;d.displayName="Dialog";const R=e.Trigger,c=e.Portal,v=e.Close,n=s.forwardRef(({className:t,...a},i)=>o(e.Overlay,{ref:i,className:l("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",t),...a}));n.displayName=e.Overlay.displayName;const f=s.forwardRef(({className:t,children:a,...i},y)=>r(c,{children:[o(n,{}),r(e.Content,{ref:y,className:l("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg duration-200 tablet:rounded-lg",t),...i,children:[a,r(e.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none",children:[o(u,{className:"size-4"}),o("span",{className:"sr-only",children:"Close"})]})]})]}));f.displayName=e.Content.displayName;const m=({className:t,...a})=>o("div",{className:l("flex flex-col space-y-1.5 text-center tablet:text-left",t),...a});m.displayName="DialogHeader";const p=({className:t,...a})=>o("div",{className:l("flex flex-col-reverse tablet:flex-row tablet:justify-end tablet:space-x-2",t),...a});p.displayName="DialogFooter";const g=s.forwardRef(({className:t,...a},i)=>o(e.Title,{ref:i,className:l("text-lg font-semibold leading-none tracking-tight",t),...a}));g.displayName=e.Title.displayName;const D=s.forwardRef(({className:t,...a},i)=>o(e.Description,{ref:i,className:l("text-muted-foreground text-sm",t),...a}));D.displayName=e.Description.displayName;export{d as Dialog,v as DialogClose,f as DialogContent,D as DialogDescription,p as DialogFooter,m as DialogHeader,n as DialogOverlay,c as DialogPortal,g as DialogTitle,R as DialogTrigger};
2
2
  //# sourceMappingURL=dialog.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/dialog.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { Cross2Icon } from '@radix-ui/react-icons'\n\nimport { cn } from '../helpers/index.js'\n\nconst Dialog = DialogPrimitive.Root\nDialog.displayName = 'Dialog'\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80',\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg',\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none\">\n <Cross2Icon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\n)\nDialogHeader.displayName = 'DialogHeader'\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n)\nDialogFooter.displayName = 'DialogFooter'\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n"],
5
- "mappings": "aAqBE,cAAAA,EA0BI,QAAAC,MA1BJ,oBAnBF,UAAYC,MAAW,QACvB,UAAYC,MAAqB,yBACjC,OAAS,cAAAC,MAAkB,wBAE3B,OAAS,MAAAC,MAAU,sBAEnB,MAAMC,EAASH,EAAgB,KAC/BG,EAAO,YAAc,SAErB,MAAMC,EAAgBJ,EAAgB,QAEhCK,EAAeL,EAAgB,OAE/BM,EAAcN,EAAgB,MAE9BO,EAAgBR,EAAM,WAG1B,CAAC,CAAE,UAAAS,EAAW,GAAGC,CAAM,EAAGC,IAC1Bb,EAACG,EAAgB,QAAhB,CACC,IAAKU,EACL,UAAWR,EACT,0JACAM,CACF,EACC,GAAGC,EACN,CACD,EACDF,EAAc,YAAcP,EAAgB,QAAQ,YAEpD,MAAMW,EAAgBZ,EAAM,WAG1B,CAAC,CAAE,UAAAS,EAAW,SAAAI,EAAU,GAAGH,CAAM,EAAGC,IACpCZ,EAACO,EAAA,CACC,UAAAR,EAACU,EAAA,EAAc,EACfT,EAACE,EAAgB,QAAhB,CACC,IAAKU,EACL,UAAWR,EACT,sfACAM,CACF,EACC,GAAGC,EAEH,UAAAG,EACDd,EAACE,EAAgB,MAAhB,CAAsB,UAAU,gRAC/B,UAAAH,EAACI,EAAA,CAAW,UAAU,SAAS,EAC/BJ,EAAC,QAAK,UAAU,UAAU,iBAAK,GACjC,GACF,GACF,CACD,EACDc,EAAc,YAAcX,EAAgB,QAAQ,YAEpD,MAAMa,EAAe,CAAC,CAAE,UAAAL,EAAW,GAAGC,CAAM,IAC1CZ,EAAC,OAAI,UAAWK,EAAG,qDAAsDM,CAAS,EAAI,GAAGC,EAAO,EAElGI,EAAa,YAAc,eAE3B,MAAMC,EAAe,CAAC,CAAE,UAAAN,EAAW,GAAGC,CAAM,IAC1CZ,EAAC,OAAI,UAAWK,EAAG,gEAAiEM,CAAS,EAAI,GAAGC,EAAO,EAE7GK,EAAa,YAAc,eAE3B,MAAMC,EAAchB,EAAM,WAGxB,CAAC,CAAE,UAAAS,EAAW,GAAGC,CAAM,EAAGC,IAC1Bb,EAACG,EAAgB,MAAhB,CACC,IAAKU,EACL,UAAWR,EAAG,oDAAqDM,CAAS,EAC3E,GAAGC,EACN,CACD,EACDM,EAAY,YAAcf,EAAgB,MAAM,YAEhD,MAAMgB,EAAoBjB,EAAM,WAG9B,CAAC,CAAE,UAAAS,EAAW,GAAGC,CAAM,EAAGC,IAC1Bb,EAACG,EAAgB,YAAhB,CAA4B,IAAKU,EAAK,UAAWR,EAAG,gCAAiCM,CAAS,EAAI,GAAGC,EAAO,CAC9G,EACDO,EAAkB,YAAchB,EAAgB,YAAY",
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { Cross2Icon } from '@radix-ui/react-icons'\n\nimport { cn } from '../helpers/index.js'\n\nconst Dialog = DialogPrimitive.Root\nDialog.displayName = 'Dialog'\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80',\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border p-6 shadow-lg duration-200 tablet:rounded-lg',\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute right-4 top-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:pointer-events-none\">\n <Cross2Icon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-1.5 text-center tablet:text-left', className)} {...props} />\n)\nDialogHeader.displayName = 'DialogHeader'\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col-reverse tablet:flex-row tablet:justify-end tablet:space-x-2', className)} {...props} />\n)\nDialogFooter.displayName = 'DialogFooter'\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description ref={ref} className={cn('text-muted-foreground text-sm', className)} {...props} />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n"],
5
+ "mappings": "aAqBE,cAAAA,EA0BI,QAAAC,MA1BJ,oBAnBF,UAAYC,MAAW,QACvB,UAAYC,MAAqB,yBACjC,OAAS,cAAAC,MAAkB,wBAE3B,OAAS,MAAAC,MAAU,sBAEnB,MAAMC,EAASH,EAAgB,KAC/BG,EAAO,YAAc,SAErB,MAAMC,EAAgBJ,EAAgB,QAEhCK,EAAeL,EAAgB,OAE/BM,EAAcN,EAAgB,MAE9BO,EAAgBR,EAAM,WAG1B,CAAC,CAAE,UAAAS,EAAW,GAAGC,CAAM,EAAGC,IAC1Bb,EAACG,EAAgB,QAAhB,CACC,IAAKU,EACL,UAAWR,EACT,0JACAM,CACF,EACC,GAAGC,EACN,CACD,EACDF,EAAc,YAAcP,EAAgB,QAAQ,YAEpD,MAAMW,EAAgBZ,EAAM,WAG1B,CAAC,CAAE,UAAAS,EAAW,SAAAI,EAAU,GAAGH,CAAM,EAAGC,IACpCZ,EAACO,EAAA,CACC,UAAAR,EAACU,EAAA,EAAc,EACfT,EAACE,EAAgB,QAAhB,CACC,IAAKU,EACL,UAAWR,EACT,0fACAM,CACF,EACC,GAAGC,EAEH,UAAAG,EACDd,EAACE,EAAgB,MAAhB,CAAsB,UAAU,gRAC/B,UAAAH,EAACI,EAAA,CAAW,UAAU,SAAS,EAC/BJ,EAAC,QAAK,UAAU,UAAU,iBAAK,GACjC,GACF,GACF,CACD,EACDc,EAAc,YAAcX,EAAgB,QAAQ,YAEpD,MAAMa,EAAe,CAAC,CAAE,UAAAL,EAAW,GAAGC,CAAM,IAC1CZ,EAAC,OAAI,UAAWK,EAAG,yDAA0DM,CAAS,EAAI,GAAGC,EAAO,EAEtGI,EAAa,YAAc,eAE3B,MAAMC,EAAe,CAAC,CAAE,UAAAN,EAAW,GAAGC,CAAM,IAC1CZ,EAAC,OAAI,UAAWK,EAAG,4EAA6EM,CAAS,EAAI,GAAGC,EAAO,EAEzHK,EAAa,YAAc,eAE3B,MAAMC,EAAchB,EAAM,WAGxB,CAAC,CAAE,UAAAS,EAAW,GAAGC,CAAM,EAAGC,IAC1Bb,EAACG,EAAgB,MAAhB,CACC,IAAKU,EACL,UAAWR,EAAG,oDAAqDM,CAAS,EAC3E,GAAGC,EACN,CACD,EACDM,EAAY,YAAcf,EAAgB,MAAM,YAEhD,MAAMgB,EAAoBjB,EAAM,WAG9B,CAAC,CAAE,UAAAS,EAAW,GAAGC,CAAM,EAAGC,IAC1Bb,EAACG,EAAgB,YAAhB,CAA4B,IAAKU,EAAK,UAAWR,EAAG,gCAAiCM,CAAS,EAAI,GAAGC,EAAO,CAC9G,EACDO,EAAkB,YAAchB,EAAgB,YAAY",
6
6
  "names": ["jsx", "jsxs", "React", "DialogPrimitive", "Cross2Icon", "cn", "Dialog", "DialogTrigger", "DialogPortal", "DialogClose", "DialogOverlay", "className", "props", "ref", "DialogContent", "children", "DialogHeader", "DialogFooter", "DialogTitle", "DialogDescription"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as d}from"react/jsx-runtime";import a from"react";import{cn as l}from"../helpers/utils.js";const i={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12"},m={1:"col-start-1",2:"col-start-2",3:"col-start-3",4:"col-start-4",5:"col-start-5",6:"col-start-6",7:"col-start-7",8:"col-start-8",9:"col-start-9",10:"col-start-10",11:"col-start-11",12:"col-start-12"},f={2:"col-end-2",3:"col-end-3",4:"col-end-4",5:"col-end-5",6:"col-end-6",7:"col-end-7",8:"col-end-8",9:"col-end-9",10:"col-end-10",11:"col-end-11",12:"col-end-12",13:"col-end-13"},r=a.forwardRef(({className:o,children:s},c)=>d("div",{ref:c,className:l("grid grid-cols-12 gap-3 md:gap-4",o),children:s}));r.displayName="Grid";const n=a.forwardRef(({className:o,children:s,span:c=12,start:t,end:e},p)=>d("div",{ref:p,className:l(i[c],t&&m[t],e&&f[e],o),children:s}));n.displayName="GridItem";export{r as Grid,n as GridItem};
1
+ import{jsx as d}from"react/jsx-runtime";import a from"react";import{cn as l}from"../helpers/utils.js";const i={1:"col-span-1",2:"col-span-2",3:"col-span-3",4:"col-span-4",5:"col-span-5",6:"col-span-6",7:"col-span-7",8:"col-span-8",9:"col-span-9",10:"col-span-10",11:"col-span-11",12:"col-span-12"},m={1:"col-start-1",2:"col-start-2",3:"col-start-3",4:"col-start-4",5:"col-start-5",6:"col-start-6",7:"col-start-7",8:"col-start-8",9:"col-start-9",10:"col-start-10",11:"col-start-11",12:"col-start-12"},f={2:"col-end-2",3:"col-end-3",4:"col-end-4",5:"col-end-5",6:"col-end-6",7:"col-end-7",8:"col-end-8",9:"col-end-9",10:"col-end-10",11:"col-end-11",12:"col-end-12",13:"col-end-13"},r=a.forwardRef(({className:o,children:s},c)=>d("div",{ref:c,className:l("grid grid-cols-12 gap-3 laptop:gap-4",o),children:s}));r.displayName="Grid";const n=a.forwardRef(({className:o,children:s,span:c=12,start:t,end:e},p)=>d("div",{ref:p,className:l(i[c],t&&m[t],e&&f[e],o),children:s}));n.displayName="GridItem";export{r as Grid,n as GridItem};
2
2
  //# sourceMappingURL=gird.js.map