@lobehub/ui 5.48.2 → 5.49.0

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 (203) hide show
  1. package/es/Highlighter/FullFeatured.mjs +1 -1
  2. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  3. package/es/Highlighter/LangSelect.mjs +1 -1
  4. package/es/Highlighter/LangSelect.mjs.map +1 -1
  5. package/es/Highlighter/style.mjs +14 -11
  6. package/es/Highlighter/style.mjs.map +1 -1
  7. package/es/Mermaid/FullFeatured.mjs +1 -1
  8. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  9. package/es/ThemeProvider/ThemeProvider.mjs +2 -2
  10. package/es/ThemeProvider/ThemeProvider.mjs.map +1 -1
  11. package/es/awesome/AgentSkillCard/AgentSkillCard.d.mts +6 -0
  12. package/es/awesome/AgentSkillCard/AgentSkillCard.mjs +83 -0
  13. package/es/awesome/AgentSkillCard/AgentSkillCard.mjs.map +1 -0
  14. package/es/awesome/AgentSkillCard/agents.d.mts +6 -0
  15. package/es/awesome/AgentSkillCard/agents.mjs +40 -0
  16. package/es/awesome/AgentSkillCard/agents.mjs.map +1 -0
  17. package/es/awesome/AgentSkillCard/index.d.mts +4 -0
  18. package/es/awesome/AgentSkillCard/style.mjs +85 -0
  19. package/es/awesome/AgentSkillCard/style.mjs.map +1 -0
  20. package/es/awesome/AgentSkillCard/type.d.mts +41 -0
  21. package/es/awesome/BentoGrid/BentoCard.d.mts +6 -0
  22. package/es/awesome/BentoGrid/BentoCard.mjs +39 -0
  23. package/es/awesome/BentoGrid/BentoCard.mjs.map +1 -0
  24. package/es/awesome/BentoGrid/BentoGrid.d.mts +6 -0
  25. package/es/awesome/BentoGrid/BentoGrid.mjs +20 -0
  26. package/es/awesome/BentoGrid/BentoGrid.mjs.map +1 -0
  27. package/es/awesome/BentoGrid/index.d.mts +4 -0
  28. package/es/awesome/BentoGrid/style.mjs +102 -0
  29. package/es/awesome/BentoGrid/style.mjs.map +1 -0
  30. package/es/awesome/BentoGrid/type.d.mts +40 -0
  31. package/es/awesome/CodeShowcase/CodeShowcase.d.mts +6 -0
  32. package/es/awesome/CodeShowcase/CodeShowcase.mjs +51 -0
  33. package/es/awesome/CodeShowcase/CodeShowcase.mjs.map +1 -0
  34. package/es/awesome/CodeShowcase/index.d.mts +3 -0
  35. package/es/awesome/CodeShowcase/style.mjs +50 -0
  36. package/es/awesome/CodeShowcase/style.mjs.map +1 -0
  37. package/es/awesome/CodeShowcase/type.d.mts +27 -0
  38. package/es/awesome/FeatureGrid/FeatureGrid.d.mts +6 -0
  39. package/es/awesome/FeatureGrid/FeatureGrid.mjs +48 -0
  40. package/es/awesome/FeatureGrid/FeatureGrid.mjs.map +1 -0
  41. package/es/awesome/FeatureGrid/index.d.mts +3 -0
  42. package/es/awesome/FeatureGrid/style.mjs +75 -0
  43. package/es/awesome/FeatureGrid/style.mjs.map +1 -0
  44. package/es/awesome/FeatureGrid/type.d.mts +25 -0
  45. package/es/awesome/FluidGradient/FluidGradient.d.mts +6 -0
  46. package/es/awesome/FluidGradient/FluidGradient.mjs +293 -0
  47. package/es/awesome/FluidGradient/FluidGradient.mjs.map +1 -0
  48. package/es/awesome/FluidGradient/index.d.mts +3 -0
  49. package/es/awesome/FluidGradient/style.mjs +52 -0
  50. package/es/awesome/FluidGradient/style.mjs.map +1 -0
  51. package/es/awesome/FluidGradient/type.d.mts +22 -0
  52. package/es/awesome/InstallBanner/InstallBanner.d.mts +6 -0
  53. package/es/awesome/InstallBanner/InstallBanner.mjs +35 -0
  54. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -0
  55. package/es/awesome/InstallBanner/index.d.mts +3 -0
  56. package/es/awesome/InstallBanner/style.mjs +46 -0
  57. package/es/awesome/InstallBanner/style.mjs.map +1 -0
  58. package/es/awesome/InstallBanner/type.d.mts +18 -0
  59. package/es/awesome/LandingHero/LandingHero.d.mts +6 -0
  60. package/es/awesome/LandingHero/LandingHero.mjs +55 -0
  61. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -0
  62. package/es/awesome/LandingHero/index.d.mts +3 -0
  63. package/es/awesome/LandingHero/style.mjs +155 -0
  64. package/es/awesome/LandingHero/style.mjs.map +1 -0
  65. package/es/awesome/LandingHero/type.d.mts +29 -0
  66. package/es/awesome/LandingSection/LandingSection.d.mts +6 -0
  67. package/es/awesome/LandingSection/LandingSection.mjs +61 -0
  68. package/es/awesome/LandingSection/LandingSection.mjs.map +1 -0
  69. package/es/awesome/LandingSection/index.d.mts +3 -0
  70. package/es/awesome/LandingSection/style.mjs +88 -0
  71. package/es/awesome/LandingSection/style.mjs.map +1 -0
  72. package/es/awesome/LandingSection/type.d.mts +40 -0
  73. package/es/awesome/LogoMarquee/LogoMarquee.d.mts +6 -0
  74. package/es/awesome/LogoMarquee/LogoMarquee.mjs +52 -0
  75. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -0
  76. package/es/awesome/LogoMarquee/index.d.mts +3 -0
  77. package/es/awesome/LogoMarquee/style.mjs +70 -0
  78. package/es/awesome/LogoMarquee/style.mjs.map +1 -0
  79. package/es/awesome/LogoMarquee/type.d.mts +40 -0
  80. package/es/awesome/index.d.mts +33 -1
  81. package/es/awesome/index.mjs +13 -1
  82. package/es/awesome/landingActions.d.mts +20 -0
  83. package/es/awesome/landingActions.mjs +123 -0
  84. package/es/awesome/landingActions.mjs.map +1 -0
  85. package/es/awesome/landingIcon.mjs +13 -0
  86. package/es/awesome/landingIcon.mjs.map +1 -0
  87. package/es/awesome/landingLink.d.mts +12 -0
  88. package/es/awesome/landingLink.mjs +23 -0
  89. package/es/awesome/landingLink.mjs.map +1 -0
  90. package/es/awesome/landingTokens.d.mts +10 -0
  91. package/es/awesome/landingTokens.mjs +19 -0
  92. package/es/awesome/landingTokens.mjs.map +1 -0
  93. package/es/base-ui/Input/style.d.mts +1 -1
  94. package/es/base-ui/Segmented/atoms.mjs +1 -0
  95. package/es/base-ui/Segmented/atoms.mjs.map +1 -1
  96. package/es/base-ui/Segmented/style.mjs +127 -125
  97. package/es/base-ui/Segmented/style.mjs.map +1 -1
  98. package/es/base-ui/index.mjs +4 -4
  99. package/es/dashboard/AuthLayout/AuthLayout.d.mts +9 -0
  100. package/es/dashboard/AuthLayout/AuthLayout.mjs +54 -0
  101. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -0
  102. package/es/dashboard/AuthLayout/index.d.mts +3 -0
  103. package/es/dashboard/AuthLayout/style.mjs +120 -0
  104. package/es/dashboard/AuthLayout/style.mjs.map +1 -0
  105. package/es/dashboard/AuthLayout/type.d.mts +16 -0
  106. package/es/dashboard/Breadcrumb/Breadcrumb.d.mts +9 -0
  107. package/es/dashboard/Breadcrumb/Breadcrumb.mjs +55 -0
  108. package/es/dashboard/Breadcrumb/Breadcrumb.mjs.map +1 -0
  109. package/es/dashboard/Breadcrumb/index.d.mts +3 -0
  110. package/es/dashboard/Breadcrumb/style.mjs +66 -0
  111. package/es/dashboard/Breadcrumb/style.mjs.map +1 -0
  112. package/es/dashboard/Breadcrumb/type.d.mts +25 -0
  113. package/es/dashboard/ConsoleNav/ConsoleNav.d.mts +9 -0
  114. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +275 -0
  115. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -0
  116. package/es/dashboard/ConsoleNav/active.d.mts +7 -0
  117. package/es/dashboard/ConsoleNav/active.mjs +29 -0
  118. package/es/dashboard/ConsoleNav/active.mjs.map +1 -0
  119. package/es/dashboard/ConsoleNav/index.d.mts +4 -0
  120. package/es/dashboard/ConsoleNav/style.mjs +283 -0
  121. package/es/dashboard/ConsoleNav/style.mjs.map +1 -0
  122. package/es/dashboard/ConsoleNav/type.d.mts +71 -0
  123. package/es/dashboard/ConsoleShell/ConsoleBrand.d.mts +9 -0
  124. package/es/dashboard/ConsoleShell/ConsoleBrand.mjs +37 -0
  125. package/es/dashboard/ConsoleShell/ConsoleBrand.mjs.map +1 -0
  126. package/es/dashboard/ConsoleShell/ConsoleShell.d.mts +9 -0
  127. package/es/dashboard/ConsoleShell/ConsoleShell.mjs +149 -0
  128. package/es/dashboard/ConsoleShell/ConsoleShell.mjs.map +1 -0
  129. package/es/dashboard/ConsoleShell/context.d.mts +6 -0
  130. package/es/dashboard/ConsoleShell/context.mjs +16 -0
  131. package/es/dashboard/ConsoleShell/context.mjs.map +1 -0
  132. package/es/dashboard/ConsoleShell/index.d.mts +5 -0
  133. package/es/dashboard/ConsoleShell/style.mjs +209 -0
  134. package/es/dashboard/ConsoleShell/style.mjs.map +1 -0
  135. package/es/dashboard/ConsoleShell/type.d.mts +67 -0
  136. package/es/dashboard/FilterSidebar/FilterSidebar.d.mts +17 -0
  137. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +151 -0
  138. package/es/dashboard/FilterSidebar/FilterSidebar.mjs.map +1 -0
  139. package/es/dashboard/FilterSidebar/context.d.mts +7 -0
  140. package/es/dashboard/FilterSidebar/context.mjs +19 -0
  141. package/es/dashboard/FilterSidebar/context.mjs.map +1 -0
  142. package/es/dashboard/FilterSidebar/index.d.mts +4 -0
  143. package/es/dashboard/FilterSidebar/style.mjs +155 -0
  144. package/es/dashboard/FilterSidebar/style.mjs.map +1 -0
  145. package/es/dashboard/FilterSidebar/type.d.mts +44 -0
  146. package/es/dashboard/FilterSidebar/width.mjs +18 -0
  147. package/es/dashboard/FilterSidebar/width.mjs.map +1 -0
  148. package/es/dashboard/PageHeader/PageHeader.d.mts +9 -0
  149. package/es/dashboard/PageHeader/PageHeader.mjs +37 -0
  150. package/es/dashboard/PageHeader/PageHeader.mjs.map +1 -0
  151. package/es/dashboard/PageHeader/index.d.mts +3 -0
  152. package/es/dashboard/PageHeader/style.mjs +47 -0
  153. package/es/dashboard/PageHeader/style.mjs.map +1 -0
  154. package/es/dashboard/PageHeader/type.d.mts +14 -0
  155. package/es/dashboard/PageSkeleton/PageSkeleton.d.mts +25 -0
  156. package/es/dashboard/PageSkeleton/PageSkeleton.mjs +136 -0
  157. package/es/dashboard/PageSkeleton/PageSkeleton.mjs.map +1 -0
  158. package/es/dashboard/PageSkeleton/style.mjs +122 -0
  159. package/es/dashboard/PageSkeleton/style.mjs.map +1 -0
  160. package/es/dashboard/PageSkeleton/type.d.mts +22 -0
  161. package/es/dashboard/PageTabs/PageTabs.d.mts +9 -0
  162. package/es/dashboard/PageTabs/PageTabs.mjs +37 -0
  163. package/es/dashboard/PageTabs/PageTabs.mjs.map +1 -0
  164. package/es/dashboard/PageTabs/index.d.mts +3 -0
  165. package/es/dashboard/PageTabs/style.mjs +57 -0
  166. package/es/dashboard/PageTabs/style.mjs.map +1 -0
  167. package/es/dashboard/PageTabs/type.d.mts +17 -0
  168. package/es/dashboard/RouteProgress/RouteProgress.d.mts +9 -0
  169. package/es/dashboard/RouteProgress/RouteProgress.mjs +44 -0
  170. package/es/dashboard/RouteProgress/RouteProgress.mjs.map +1 -0
  171. package/es/dashboard/RouteProgress/style.mjs +19 -0
  172. package/es/dashboard/RouteProgress/style.mjs.map +1 -0
  173. package/es/dashboard/RouteProgress/type.d.mts +8 -0
  174. package/es/dashboard/StatCard/StatCard.d.mts +9 -0
  175. package/es/dashboard/StatCard/StatCard.mjs +84 -0
  176. package/es/dashboard/StatCard/StatCard.mjs.map +1 -0
  177. package/es/dashboard/StatCard/index.d.mts +3 -0
  178. package/es/dashboard/StatCard/style.mjs +135 -0
  179. package/es/dashboard/StatCard/style.mjs.map +1 -0
  180. package/es/dashboard/StatCard/type.d.mts +26 -0
  181. package/es/dashboard/Surface/Surface.d.mts +13 -0
  182. package/es/dashboard/Surface/Surface.mjs +20 -0
  183. package/es/dashboard/Surface/Surface.mjs.map +1 -0
  184. package/es/dashboard/Surface/index.d.mts +4 -0
  185. package/es/dashboard/Surface/style.d.mts +14 -0
  186. package/es/dashboard/Surface/style.mjs +22 -0
  187. package/es/dashboard/Surface/style.mjs.map +1 -0
  188. package/es/dashboard/Surface/type.d.mts +8 -0
  189. package/es/dashboard/hooks.mjs +49 -0
  190. package/es/dashboard/hooks.mjs.map +1 -0
  191. package/es/dashboard/index.d.mts +37 -0
  192. package/es/dashboard/index.d.ts +1 -0
  193. package/es/dashboard/index.js +1 -0
  194. package/es/dashboard/index.mjs +17 -0
  195. package/es/static-css/registry.mjs +2 -2
  196. package/es/static-css/registry.mjs.map +1 -1
  197. package/es/storybook/StoryBook/index.mjs +4 -0
  198. package/es/storybook/StoryBook/index.mjs.map +1 -1
  199. package/es/storybook/StoryBook/style.mjs +7 -2
  200. package/es/storybook/StoryBook/style.mjs.map +1 -1
  201. package/es/styles/theme/token/base.mjs +2 -2
  202. package/es/styles/theme/token/base.mjs.map +1 -1
  203. package/package.json +6 -2
@@ -0,0 +1,155 @@
1
+ import { accentGradient } from "../landingTokens.mjs";
2
+ import { createStaticStyles } from "antd-style";
3
+ //#region src/awesome/LandingHero/style.ts
4
+ const splitStack = "@media (max-width: 860px)";
5
+ const styles = createStaticStyles(({ css, cssVar }) => ({
6
+ accent: css`
7
+ background: ${accentGradient};
8
+ background-clip: text;
9
+
10
+ -webkit-text-fill-color: transparent;
11
+ `,
12
+ actions: css`
13
+ justify-content: center;
14
+ margin-block-start: 36px;
15
+
16
+ [data-layout='split'] & {
17
+ justify-content: flex-start;
18
+ }
19
+ `,
20
+ aside: css`
21
+ display: flex;
22
+ justify-content: center;
23
+ min-inline-size: 0;
24
+
25
+ > * {
26
+ inline-size: 100%;
27
+ }
28
+ `,
29
+ badge: css`
30
+ display: inline-flex;
31
+ gap: 6px;
32
+ align-items: center;
33
+
34
+ margin-block-end: 24px;
35
+ padding-block: 4px;
36
+ padding-inline: 12px;
37
+ border: 1px solid ${cssVar.colorBorderSecondary};
38
+ border-radius: 999px;
39
+
40
+ font-size: ${cssVar.fontSizeSM};
41
+ color: ${cssVar.colorTextSecondary};
42
+
43
+ background: color-mix(in srgb, ${cssVar.colorBgContainer} 70%, transparent);
44
+ backdrop-filter: blur(8px);
45
+
46
+ a {
47
+ color: inherit;
48
+ text-decoration: none;
49
+ }
50
+
51
+ a:hover {
52
+ color: ${cssVar.colorText};
53
+ }
54
+ `,
55
+ content: css`
56
+ position: relative;
57
+ z-index: 1;
58
+
59
+ display: flex;
60
+ flex-direction: column;
61
+ align-items: center;
62
+
63
+ inline-size: 100%;
64
+ `,
65
+ description: css`
66
+ max-inline-size: 36rem;
67
+ margin-block: 20px 0;
68
+ margin-inline: 0;
69
+
70
+ font-size: clamp(16px, 2vw, 19px);
71
+ line-height: 1.6;
72
+ color: ${cssVar.colorTextSecondary};
73
+ text-wrap: balance;
74
+ `,
75
+ intro: css`
76
+ display: flex;
77
+ flex-direction: column;
78
+ align-items: center;
79
+ min-inline-size: 0;
80
+
81
+ [data-layout='split'] & {
82
+ align-items: flex-start;
83
+ text-align: start;
84
+ }
85
+
86
+ ${splitStack} {
87
+ [data-layout='split'] & {
88
+ align-items: center;
89
+ text-align: center;
90
+ }
91
+ }
92
+ `,
93
+ main: css`
94
+ display: flex;
95
+ flex-direction: column;
96
+ align-items: center;
97
+ inline-size: 100%;
98
+
99
+ [data-layout='split'] & {
100
+ display: grid;
101
+ grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
102
+ gap: clamp(32px, 5vw, 64px);
103
+ align-items: center;
104
+ }
105
+
106
+ ${splitStack} {
107
+ [data-layout='split'] & {
108
+ grid-template-columns: minmax(0, 1fr);
109
+ gap: 48px;
110
+ }
111
+ }
112
+ `,
113
+ extra: css`
114
+ display: flex;
115
+ flex-direction: column;
116
+ gap: 40px;
117
+ align-items: center;
118
+
119
+ inline-size: 100%;
120
+ margin-block-start: 48px;
121
+ `,
122
+ root: css`
123
+ position: relative;
124
+
125
+ display: flex;
126
+ flex-direction: column;
127
+ align-items: center;
128
+
129
+ padding-block: clamp(72px, 13vh, 128px) clamp(40px, 7vh, 72px);
130
+
131
+ text-align: center;
132
+
133
+ &[data-layout='split'] {
134
+ padding-block-start: clamp(56px, 10vh, 104px);
135
+ }
136
+ `,
137
+ title: css`
138
+ margin: 0;
139
+
140
+ font-size: clamp(44px, 8vw, 84px);
141
+ font-weight: 900;
142
+ line-height: 1.02;
143
+ color: ${cssVar.colorText};
144
+ text-wrap: balance;
145
+ letter-spacing: -0.045em;
146
+
147
+ [data-layout='split'] & {
148
+ font-size: clamp(44px, 6vw, 72px);
149
+ }
150
+ `
151
+ }));
152
+ //#endregion
153
+ export { styles };
154
+
155
+ //# sourceMappingURL=style.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/awesome/LandingHero/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nimport { accentGradient } from '@/awesome/landingTokens';\n\nconst splitStack = '@media (max-width: 860px)';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n accent: css`\n background: ${accentGradient};\n background-clip: text;\n\n -webkit-text-fill-color: transparent;\n `,\n actions: css`\n justify-content: center;\n margin-block-start: 36px;\n\n [data-layout='split'] & {\n justify-content: flex-start;\n }\n `,\n aside: css`\n display: flex;\n justify-content: center;\n min-inline-size: 0;\n\n > * {\n inline-size: 100%;\n }\n `,\n badge: css`\n display: inline-flex;\n gap: 6px;\n align-items: center;\n\n margin-block-end: 24px;\n padding-block: 4px;\n padding-inline: 12px;\n border: 1px solid ${cssVar.colorBorderSecondary};\n border-radius: 999px;\n\n font-size: ${cssVar.fontSizeSM};\n color: ${cssVar.colorTextSecondary};\n\n background: color-mix(in srgb, ${cssVar.colorBgContainer} 70%, transparent);\n backdrop-filter: blur(8px);\n\n a {\n color: inherit;\n text-decoration: none;\n }\n\n a:hover {\n color: ${cssVar.colorText};\n }\n `,\n content: css`\n position: relative;\n z-index: 1;\n\n display: flex;\n flex-direction: column;\n align-items: center;\n\n inline-size: 100%;\n `,\n description: css`\n max-inline-size: 36rem;\n margin-block: 20px 0;\n margin-inline: 0;\n\n font-size: clamp(16px, 2vw, 19px);\n line-height: 1.6;\n color: ${cssVar.colorTextSecondary};\n text-wrap: balance;\n `,\n intro: css`\n display: flex;\n flex-direction: column;\n align-items: center;\n min-inline-size: 0;\n\n [data-layout='split'] & {\n align-items: flex-start;\n text-align: start;\n }\n\n ${splitStack} {\n [data-layout='split'] & {\n align-items: center;\n text-align: center;\n }\n }\n `,\n main: css`\n display: flex;\n flex-direction: column;\n align-items: center;\n inline-size: 100%;\n\n [data-layout='split'] & {\n display: grid;\n grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);\n gap: clamp(32px, 5vw, 64px);\n align-items: center;\n }\n\n ${splitStack} {\n [data-layout='split'] & {\n grid-template-columns: minmax(0, 1fr);\n gap: 48px;\n }\n }\n `,\n extra: css`\n display: flex;\n flex-direction: column;\n gap: 40px;\n align-items: center;\n\n inline-size: 100%;\n margin-block-start: 48px;\n `,\n root: css`\n position: relative;\n\n display: flex;\n flex-direction: column;\n align-items: center;\n\n padding-block: clamp(72px, 13vh, 128px) clamp(40px, 7vh, 72px);\n\n text-align: center;\n\n &[data-layout='split'] {\n padding-block-start: clamp(56px, 10vh, 104px);\n }\n `,\n title: css`\n margin: 0;\n\n font-size: clamp(44px, 8vw, 84px);\n font-weight: 900;\n line-height: 1.02;\n color: ${cssVar.colorText};\n text-wrap: balance;\n letter-spacing: -0.045em;\n\n [data-layout='split'] & {\n font-size: clamp(44px, 6vw, 72px);\n }\n `,\n}));\n"],"mappings":";;;AAIA,MAAM,aAAa;AAEnB,MAAa,SAAS,oBAAoB,EAAE,KAAK,cAAc;CAC7D,QAAQ,GAAG;kBACK,eAAe;;;;;CAK/B,SAAS,GAAG;;;;;;;;CAQZ,OAAO,GAAG;;;;;;;;;CASV,OAAO,GAAG;;;;;;;;wBAQY,OAAO,qBAAqB;;;iBAGnC,OAAO,WAAW;aACtB,OAAO,mBAAmB;;qCAEF,OAAO,iBAAiB;;;;;;;;;eAS9C,OAAO,UAAU;;;CAG9B,SAAS,GAAG;;;;;;;;;;CAUZ,aAAa,GAAG;;;;;;;aAOL,OAAO,mBAAmB;;;CAGrC,OAAO,GAAG;;;;;;;;;;;MAWN,WAAW;;;;;;;CAOf,MAAM,GAAG;;;;;;;;;;;;;MAaL,WAAW;;;;;;;CAOf,OAAO,GAAG;;;;;;;;;CASV,MAAM,GAAG;;;;;;;;;;;;;;;CAeT,OAAO,GAAG;;;;;;aAMC,OAAO,UAAU;;;;;;;;AAQ9B,EAAE"}
@@ -0,0 +1,29 @@
1
+ import { DivProps } from "../../types/index.mjs";
2
+ import { LandingLinkRender } from "../landingLink.mjs";
3
+ import { LandingAction, LandingNavigate } from "../landingActions.mjs";
4
+ import { ReactNode } from "react";
5
+ //#region src/awesome/LandingHero/type.d.ts
6
+ type LandingHeroAction = LandingAction;
7
+ interface LandingHeroProps extends Omit<DivProps, 'title'> {
8
+ /** Rendered after the title with the landing accent gradient. */
9
+ accent?: ReactNode;
10
+ actions?: LandingHeroAction[];
11
+ /**
12
+ * Content beside the text, e.g. an AgentSkillCard or a product preview. Setting it switches the
13
+ * hero to a two-column layout with left-aligned text; it stacks below the text on narrow screens.
14
+ */
15
+ aside?: ReactNode;
16
+ /** Small pill above the title, e.g. a release note link. */
17
+ badge?: ReactNode;
18
+ /** Full-width content below the hero, e.g. a LogoMarquee. */
19
+ children?: ReactNode;
20
+ description?: ReactNode;
21
+ /** Renders action links, so client-side routers can supply their own Link. */
22
+ /** Client-side navigation for internal non-primary actions (rendered as BottomGradientButton). */
23
+ onNavigate?: LandingNavigate;
24
+ renderLink?: LandingLinkRender;
25
+ title: ReactNode;
26
+ }
27
+ //#endregion
28
+ export { LandingHeroAction, LandingHeroProps };
29
+ //# sourceMappingURL=type.d.mts.map
@@ -0,0 +1,6 @@
1
+ import { LandingSectionProps } from "./type.mjs";
2
+ //#region src/awesome/LandingSection/LandingSection.d.ts
3
+ declare const LandingSection: import("react").NamedExoticComponent<LandingSectionProps>;
4
+ //#endregion
5
+ export { LandingSection as default };
6
+ //# sourceMappingURL=LandingSection.d.mts.map
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import { LandingActions } from "../landingActions.mjs";
3
+ import Tag from "../../base-ui/Tag/Tag.mjs";
4
+ import { styles } from "./style.mjs";
5
+ import { memo } from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { cx } from "antd-style";
8
+ //#region src/awesome/LandingSection/LandingSection.tsx
9
+ const LandingSection = memo(({ actions, align = "start", children, className, description, divider = true, eyebrow, eyebrowColor = "blue", extra, id, onNavigate, renderLink, title, ...rest }) => {
10
+ const headingId = id ? `${id}-title` : void 0;
11
+ const hasActions = Boolean(actions?.length);
12
+ const hasAside = hasActions || Boolean(extra);
13
+ const hasHeader = Boolean(eyebrow || title || description || hasAside);
14
+ return /* @__PURE__ */ jsxs("section", {
15
+ "aria-labelledby": title ? headingId : void 0,
16
+ className: cx(styles.root, className),
17
+ "data-divider": divider,
18
+ id,
19
+ ...rest,
20
+ children: [hasHeader && /* @__PURE__ */ jsxs("div", {
21
+ className: styles.header,
22
+ "data-align": align,
23
+ children: [/* @__PURE__ */ jsxs("div", {
24
+ className: styles.heading,
25
+ children: [
26
+ eyebrow && /* @__PURE__ */ jsx(Tag, {
27
+ className: styles.eyebrow,
28
+ color: eyebrowColor,
29
+ shape: "round",
30
+ children: eyebrow
31
+ }),
32
+ title && /* @__PURE__ */ jsx("h2", {
33
+ className: styles.title,
34
+ id: headingId,
35
+ children: title
36
+ }),
37
+ description && /* @__PURE__ */ jsx("p", {
38
+ className: styles.description,
39
+ children: description
40
+ })
41
+ ]
42
+ }), hasAside && /* @__PURE__ */ jsxs("div", {
43
+ className: styles.extra,
44
+ children: [hasActions && /* @__PURE__ */ jsx(LandingActions, {
45
+ actions,
46
+ renderLink,
47
+ size: "small",
48
+ onNavigate
49
+ }), extra]
50
+ })]
51
+ }), children && /* @__PURE__ */ jsx("div", {
52
+ className: hasHeader ? styles.body : void 0,
53
+ children
54
+ })]
55
+ });
56
+ });
57
+ LandingSection.displayName = "LandingSection";
58
+ //#endregion
59
+ export { LandingSection as default };
60
+
61
+ //# sourceMappingURL=LandingSection.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LandingSection.mjs","names":[],"sources":["../../../src/awesome/LandingSection/LandingSection.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { memo } from 'react';\n\nimport { LandingActions } from '@/awesome/landingActions';\nimport Tag from '@/base-ui/Tag';\n\nimport { styles } from './style';\nimport type { LandingSectionProps } from './type';\n\nconst LandingSection = memo<LandingSectionProps>(\n ({\n actions,\n align = 'start',\n children,\n className,\n description,\n divider = true,\n eyebrow,\n eyebrowColor = 'blue',\n extra,\n id,\n onNavigate,\n renderLink,\n title,\n ...rest\n }) => {\n const headingId = id ? `${id}-title` : undefined;\n const hasActions = Boolean(actions?.length);\n const hasAside = hasActions || Boolean(extra);\n const hasHeader = Boolean(eyebrow || title || description || hasAside);\n\n return (\n <section\n aria-labelledby={title ? headingId : undefined}\n className={cx(styles.root, className)}\n data-divider={divider}\n id={id}\n {...rest}\n >\n {hasHeader && (\n <div className={styles.header} data-align={align}>\n <div className={styles.heading}>\n {eyebrow && (\n <Tag className={styles.eyebrow} color={eyebrowColor} shape={'round'}>\n {eyebrow}\n </Tag>\n )}\n {title && (\n <h2 className={styles.title} id={headingId}>\n {title}\n </h2>\n )}\n {description && <p className={styles.description}>{description}</p>}\n </div>\n {hasAside && (\n <div className={styles.extra}>\n {hasActions && (\n <LandingActions\n actions={actions!}\n renderLink={renderLink}\n size={'small'}\n onNavigate={onNavigate}\n />\n )}\n {extra}\n </div>\n )}\n </div>\n )}\n {children && <div className={hasHeader ? styles.body : undefined}>{children}</div>}\n </section>\n );\n },\n);\n\nLandingSection.displayName = 'LandingSection';\n\nexport default LandingSection;\n"],"mappings":";;;;;;;;AAWA,MAAM,iBAAiB,MACpB,EACC,SACA,QAAQ,SACR,UACA,WACA,aACA,UAAU,MACV,SACA,eAAe,QACf,OACA,IACA,YACA,YACA,OACA,GAAG,WACC;CACJ,MAAM,YAAY,KAAK,GAAG,GAAG,UAAU,KAAA;CACvC,MAAM,aAAa,QAAQ,SAAS,MAAM;CAC1C,MAAM,WAAW,cAAc,QAAQ,KAAK;CAC5C,MAAM,YAAY,QAAQ,WAAW,SAAS,eAAe,QAAQ;CAErE,OACE,qBAAC,WAAD;EACE,mBAAiB,QAAQ,YAAY,KAAA;EACrC,WAAW,GAAG,OAAO,MAAM,SAAS;EACpC,gBAAc;EACV;EACJ,GAAI;EALN,UAAA,CAOG,aACC,qBAAC,OAAD;GAAK,WAAW,OAAO;GAAQ,cAAY;GAA3C,UAAA,CACE,qBAAC,OAAD;IAAK,WAAW,OAAO;IAAvB,UAAA;KACG,WACC,oBAAC,KAAD;MAAK,WAAW,OAAO;MAAS,OAAO;MAAc,OAAO;MACzD,UAAA;KACE,CAAA;KAEN,SACC,oBAAC,MAAD;MAAI,WAAW,OAAO;MAAO,IAAI;MAC9B,UAAA;KACC,CAAA;KAEL,eAAe,oBAAC,KAAD;MAAG,WAAW,OAAO;MAAc,UAAA;KAAe,CAAA;IAC/D;GACJ,CAAA,GAAA,YACC,qBAAC,OAAD;IAAK,WAAW,OAAO;IAAvB,UAAA,CACG,cACC,oBAAC,gBAAD;KACW;KACG;KACZ,MAAM;KACM;IACb,CAAA,GAEF,KACE;GAEJ,CAAA,CAAA;EAEN,CAAA,GAAA,YAAY,oBAAC,OAAD;GAAK,WAAW,YAAY,OAAO,OAAO,KAAA;GAAY;EAAc,CAAA,CAC1E;;AAEb,CACF;AAEA,eAAe,cAAc"}
@@ -0,0 +1,3 @@
1
+ import { LandingSectionProps } from "./type.mjs";
2
+ import LandingSection from "./LandingSection.mjs";
3
+ export { type LandingSectionProps, LandingSection as default };
@@ -0,0 +1,88 @@
1
+ import { createStaticStyles } from "antd-style";
2
+ //#region src/awesome/LandingSection/style.ts
3
+ const styles = createStaticStyles(({ css, cssVar, responsive }) => ({
4
+ body: css`
5
+ margin-block-start: 32px;
6
+ `,
7
+ description: css`
8
+ max-inline-size: 34rem;
9
+ margin: 0;
10
+
11
+ font-size: 15px;
12
+ line-height: 1.6;
13
+ color: ${cssVar.colorTextSecondary};
14
+ text-wrap: pretty;
15
+ `,
16
+ eyebrow: css`
17
+ margin-block-end: 6px;
18
+ `,
19
+ extra: css`
20
+ display: flex;
21
+ flex: none;
22
+ flex-wrap: wrap;
23
+ gap: 8px;
24
+ align-items: center;
25
+
26
+ ${responsive.mobile} {
27
+ [data-align='start'] > & {
28
+ align-self: flex-start;
29
+ }
30
+ }
31
+ `,
32
+ header: css`
33
+ display: flex;
34
+ flex-direction: column;
35
+ gap: 20px;
36
+ align-items: center;
37
+
38
+ text-align: center;
39
+
40
+ &[data-align='start'] {
41
+ flex-direction: row;
42
+ gap: 32px;
43
+ align-items: flex-end;
44
+ justify-content: space-between;
45
+
46
+ text-align: start;
47
+
48
+ ${responsive.mobile} {
49
+ flex-direction: column;
50
+ gap: 16px;
51
+ align-items: stretch;
52
+ }
53
+ }
54
+ `,
55
+ heading: css`
56
+ display: flex;
57
+ flex-direction: column;
58
+ gap: 8px;
59
+ align-items: center;
60
+
61
+ min-inline-size: 0;
62
+
63
+ [data-align='start'] > & {
64
+ align-items: flex-start;
65
+ }
66
+ `,
67
+ root: css`
68
+ padding-block: clamp(48px, 8vh, 80px);
69
+
70
+ &[data-divider='true'] {
71
+ border-block-start: 1px solid ${cssVar.colorBorderSecondary};
72
+ }
73
+ `,
74
+ title: css`
75
+ margin: 0;
76
+
77
+ font-size: clamp(24px, 3vw, 32px);
78
+ font-weight: bold;
79
+ line-height: 1.2;
80
+ color: ${cssVar.colorText};
81
+ text-wrap: balance;
82
+ letter-spacing: -0.025em;
83
+ `
84
+ }));
85
+ //#endregion
86
+ export { styles };
87
+
88
+ //# sourceMappingURL=style.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/awesome/LandingSection/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar, responsive }) => ({\n body: css`\n margin-block-start: 32px;\n `,\n description: css`\n max-inline-size: 34rem;\n margin: 0;\n\n font-size: 15px;\n line-height: 1.6;\n color: ${cssVar.colorTextSecondary};\n text-wrap: pretty;\n `,\n eyebrow: css`\n margin-block-end: 6px;\n `,\n extra: css`\n display: flex;\n flex: none;\n flex-wrap: wrap;\n gap: 8px;\n align-items: center;\n\n ${responsive.mobile} {\n [data-align='start'] > & {\n align-self: flex-start;\n }\n }\n `,\n header: css`\n display: flex;\n flex-direction: column;\n gap: 20px;\n align-items: center;\n\n text-align: center;\n\n &[data-align='start'] {\n flex-direction: row;\n gap: 32px;\n align-items: flex-end;\n justify-content: space-between;\n\n text-align: start;\n\n ${responsive.mobile} {\n flex-direction: column;\n gap: 16px;\n align-items: stretch;\n }\n }\n `,\n heading: css`\n display: flex;\n flex-direction: column;\n gap: 8px;\n align-items: center;\n\n min-inline-size: 0;\n\n [data-align='start'] > & {\n align-items: flex-start;\n }\n `,\n root: css`\n padding-block: clamp(48px, 8vh, 80px);\n\n &[data-divider='true'] {\n border-block-start: 1px solid ${cssVar.colorBorderSecondary};\n }\n `,\n title: css`\n margin: 0;\n\n font-size: clamp(24px, 3vw, 32px);\n font-weight: bold;\n line-height: 1.2;\n color: ${cssVar.colorText};\n text-wrap: balance;\n letter-spacing: -0.025em;\n `,\n}));\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,QAAQ,kBAAkB;CACzE,MAAM,GAAG;;;CAGT,aAAa,GAAG;;;;;;aAML,OAAO,mBAAmB;;;CAGrC,SAAS,GAAG;;;CAGZ,OAAO,GAAG;;;;;;;MAON,WAAW,OAAO;;;;;;CAMtB,QAAQ,GAAG;;;;;;;;;;;;;;;;QAgBL,WAAW,OAAO;;;;;;;CAOxB,SAAS,GAAG;;;;;;;;;;;;CAYZ,MAAM,GAAG;;;;sCAI2B,OAAO,qBAAqB;;;CAGhE,OAAO,GAAG;;;;;;aAMC,OAAO,UAAU;;;;AAI9B,EAAE"}
@@ -0,0 +1,40 @@
1
+ import { DivProps } from "../../types/index.mjs";
2
+ import { LandingLinkRender } from "../landingLink.mjs";
3
+ import { LandingAction, LandingNavigate } from "../landingActions.mjs";
4
+ import { ReactNode } from "react";
5
+ //#region src/awesome/LandingSection/type.d.ts
6
+ interface LandingSectionProps extends Omit<DivProps, 'title'> {
7
+ /** Small buttons on the right side of the header, e.g. "Browse components". */
8
+ actions?: LandingAction[];
9
+ /**
10
+ * `start` puts the heading on the left and `actions`/`extra` on the right; `center` stacks
11
+ * everything centered.
12
+ * @default 'start'
13
+ */
14
+ align?: 'center' | 'start';
15
+ children?: ReactNode;
16
+ description?: ReactNode;
17
+ /**
18
+ * Draws a hairline above the section to separate it from the previous one.
19
+ * @default true
20
+ */
21
+ divider?: boolean;
22
+ /** Custom content on the right side of the header, after `actions`. */
23
+ extra?: ReactNode;
24
+ /** Small tag above the title, e.g. "Components". */
25
+ eyebrow?: ReactNode;
26
+ /**
27
+ * Tag color: a preset such as `purple`, `blue`, `cyan`, `green`, `orange` or `magenta`, or any CSS color.
28
+ * @default 'blue'
29
+ */
30
+ eyebrowColor?: string;
31
+ /** Used for the heading id so the section is labelled for assistive technology. */
32
+ id?: string;
33
+ /** Client-side navigation for internal non-primary actions (rendered as BottomGradientButton). */
34
+ onNavigate?: LandingNavigate;
35
+ renderLink?: LandingLinkRender;
36
+ title?: ReactNode;
37
+ }
38
+ //#endregion
39
+ export { LandingSectionProps };
40
+ //# sourceMappingURL=type.d.mts.map
@@ -0,0 +1,6 @@
1
+ import { LogoMarqueeProps } from "./type.mjs";
2
+ //#region src/awesome/LogoMarquee/LogoMarquee.d.ts
3
+ declare const LogoMarquee: import("react").NamedExoticComponent<LogoMarqueeProps>;
4
+ //#endregion
5
+ export { LogoMarquee as default };
6
+ //# sourceMappingURL=LogoMarquee.d.mts.map
@@ -0,0 +1,52 @@
1
+ "use client";
2
+ import { renderLandingIcon } from "../landingIcon.mjs";
3
+ import { styles } from "./style.mjs";
4
+ import { memo } from "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { cx } from "antd-style";
7
+ //#region src/awesome/LogoMarquee/LogoMarquee.tsx
8
+ const Track = ({ hidden, iconOnly, iconSize, items }) => /* @__PURE__ */ jsx("div", {
9
+ "aria-hidden": hidden || void 0,
10
+ className: styles.track,
11
+ children: items.map(({ icon, label }) => /* @__PURE__ */ jsxs("span", {
12
+ className: styles.item,
13
+ title: iconOnly ? label : void 0,
14
+ children: [renderLandingIcon(icon, iconSize), !iconOnly && label]
15
+ }, label))
16
+ });
17
+ const LogoMarquee = memo(({ caption, className, duration = 28, gap = 36, iconOnly = false, iconSize = 18, items, maxWidth = 640, style, ...rest }) => {
18
+ const variables = {
19
+ "--logo-marquee-duration": `${duration}s`,
20
+ "--logo-marquee-gap": `${gap}px`,
21
+ "--logo-marquee-max-width": typeof maxWidth === "number" ? `${maxWidth}px` : maxWidth
22
+ };
23
+ return /* @__PURE__ */ jsxs("div", {
24
+ className: cx(styles.root, className),
25
+ style: {
26
+ ...variables,
27
+ ...style
28
+ },
29
+ ...rest,
30
+ children: [/* @__PURE__ */ jsxs("div", {
31
+ className: styles.viewport,
32
+ children: [/* @__PURE__ */ jsx(Track, {
33
+ iconOnly,
34
+ iconSize,
35
+ items
36
+ }), /* @__PURE__ */ jsx(Track, {
37
+ hidden: true,
38
+ iconOnly,
39
+ iconSize,
40
+ items
41
+ })]
42
+ }), caption && /* @__PURE__ */ jsx("p", {
43
+ className: styles.caption,
44
+ children: caption
45
+ })]
46
+ });
47
+ });
48
+ LogoMarquee.displayName = "LogoMarquee";
49
+ //#endregion
50
+ export { LogoMarquee as default };
51
+
52
+ //# sourceMappingURL=LogoMarquee.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogoMarquee.mjs","names":[],"sources":["../../../src/awesome/LogoMarquee/LogoMarquee.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { type CSSProperties, memo } from 'react';\n\nimport { renderLandingIcon } from '@/awesome/landingIcon';\n\nimport { styles } from './style';\nimport type { LogoMarqueeProps } from './type';\n\nconst Track = ({\n hidden,\n iconOnly,\n iconSize,\n items,\n}: Pick<LogoMarqueeProps, 'iconOnly' | 'items'> & { hidden?: boolean; iconSize: number }) => (\n <div aria-hidden={hidden || undefined} className={styles.track}>\n {items.map(({ icon, label }) => (\n <span className={styles.item} key={label} title={iconOnly ? label : undefined}>\n {renderLandingIcon(icon, iconSize)}\n {!iconOnly && label}\n </span>\n ))}\n </div>\n);\n\nconst LogoMarquee = memo<LogoMarqueeProps>(\n ({\n caption,\n className,\n duration = 28,\n gap = 36,\n iconOnly = false,\n iconSize = 18,\n items,\n maxWidth = 640,\n style,\n ...rest\n }) => {\n const variables = {\n '--logo-marquee-duration': `${duration}s`,\n '--logo-marquee-gap': `${gap}px`,\n '--logo-marquee-max-width': typeof maxWidth === 'number' ? `${maxWidth}px` : maxWidth,\n } as CSSProperties;\n\n return (\n <div className={cx(styles.root, className)} style={{ ...variables, ...style }} {...rest}>\n <div className={styles.viewport}>\n <Track iconOnly={iconOnly} iconSize={iconSize} items={items} />\n <Track hidden iconOnly={iconOnly} iconSize={iconSize} items={items} />\n </div>\n {caption && <p className={styles.caption}>{caption}</p>}\n </div>\n );\n },\n);\n\nLogoMarquee.displayName = 'LogoMarquee';\n\nexport default LogoMarquee;\n"],"mappings":";;;;;;;AAUA,MAAM,SAAS,EACb,QACA,UACA,UACA,YAEA,oBAAC,OAAD;CAAK,eAAa,UAAU,KAAA;CAAW,WAAW,OAAO;CACtD,UAAA,MAAM,KAAK,EAAE,MAAM,YAClB,qBAAC,QAAD;EAAM,WAAW,OAAO;EAAkB,OAAO,WAAW,QAAQ,KAAA;EAApE,UAAA,CACG,kBAAkB,MAAM,QAAQ,GAChC,CAAC,YAAY,KACV;CAH6B,GAAA,KAG7B,CACP;AACE,CAAA;AAGP,MAAM,cAAc,MACjB,EACC,SACA,WACA,WAAW,IACX,MAAM,IACN,WAAW,OACX,WAAW,IACX,OACA,WAAW,KACX,OACA,GAAG,WACC;CACJ,MAAM,YAAY;EAChB,2BAA2B,GAAG,SAAS;EACvC,sBAAsB,GAAG,IAAI;EAC7B,4BAA4B,OAAO,aAAa,WAAW,GAAG,SAAS,MAAM;CAC/E;CAEA,OACE,qBAAC,OAAD;EAAK,WAAW,GAAG,OAAO,MAAM,SAAS;EAAG,OAAO;GAAE,GAAG;GAAW,GAAG;EAAM;EAAG,GAAI;EAAnF,UAAA,CACE,qBAAC,OAAD;GAAK,WAAW,OAAO;GAAvB,UAAA,CACE,oBAAC,OAAD;IAAiB;IAAoB;IAAiB;GAAQ,CAAA,GAC9D,oBAAC,OAAD;IAAO,QAAA;IAAiB;IAAoB;IAAiB;GAAQ,CAAA,CAClE;EACJ,CAAA,GAAA,WAAW,oBAAC,KAAD;GAAG,WAAW,OAAO;GAAU,UAAA;EAAW,CAAA,CACnD;;AAET,CACF;AAEA,YAAY,cAAc"}
@@ -0,0 +1,3 @@
1
+ import { LogoMarqueeItem, LogoMarqueeProps } from "./type.mjs";
2
+ import LogoMarquee from "./LogoMarquee.mjs";
3
+ export { type LogoMarqueeItem, type LogoMarqueeProps, LogoMarquee as default };
@@ -0,0 +1,70 @@
1
+ import { createStaticStyles, keyframes } from "antd-style";
2
+ //#region src/awesome/LogoMarquee/style.ts
3
+ const slide = keyframes`
4
+ to {
5
+ transform: translateX(calc(-100% - var(--logo-marquee-gap)));
6
+ }
7
+ `;
8
+ const styles = createStaticStyles(({ css, cssVar }) => ({
9
+ caption: css`
10
+ margin: 0;
11
+ font-size: ${cssVar.fontSizeSM};
12
+ color: ${cssVar.colorTextTertiary};
13
+
14
+ a {
15
+ color: inherit;
16
+ text-decoration: none;
17
+ transition: color 140ms ease;
18
+ }
19
+
20
+ a:hover {
21
+ color: ${cssVar.colorText};
22
+ }
23
+ `,
24
+ item: css`
25
+ display: inline-flex;
26
+ gap: 8px;
27
+ align-items: center;
28
+
29
+ font-size: ${cssVar.fontSize};
30
+ color: ${cssVar.colorTextTertiary};
31
+ white-space: nowrap;
32
+ `,
33
+ root: css`
34
+ display: flex;
35
+ flex-direction: column;
36
+ gap: 16px;
37
+ align-items: center;
38
+
39
+ inline-size: 100%;
40
+ `,
41
+ track: css`
42
+ display: flex;
43
+ flex: none;
44
+ gap: var(--logo-marquee-gap);
45
+ align-items: center;
46
+
47
+ animation: ${slide} var(--logo-marquee-duration) linear infinite;
48
+
49
+ @media (prefers-reduced-motion: reduce) {
50
+ animation: none;
51
+ }
52
+ `,
53
+ viewport: css`
54
+ overflow: hidden;
55
+ display: flex;
56
+ gap: var(--logo-marquee-gap);
57
+
58
+ inline-size: min(100%, var(--logo-marquee-max-width));
59
+
60
+ mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);
61
+
62
+ &:hover > * {
63
+ animation-play-state: paused;
64
+ }
65
+ `
66
+ }));
67
+ //#endregion
68
+ export { styles };
69
+
70
+ //# sourceMappingURL=style.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/awesome/LogoMarquee/style.ts"],"sourcesContent":["import { createStaticStyles, keyframes } from 'antd-style';\n\nconst slide = keyframes`\n to {\n transform: translateX(calc(-100% - var(--logo-marquee-gap)));\n }\n`;\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n caption: css`\n margin: 0;\n font-size: ${cssVar.fontSizeSM};\n color: ${cssVar.colorTextTertiary};\n\n a {\n color: inherit;\n text-decoration: none;\n transition: color 140ms ease;\n }\n\n a:hover {\n color: ${cssVar.colorText};\n }\n `,\n item: css`\n display: inline-flex;\n gap: 8px;\n align-items: center;\n\n font-size: ${cssVar.fontSize};\n color: ${cssVar.colorTextTertiary};\n white-space: nowrap;\n `,\n root: css`\n display: flex;\n flex-direction: column;\n gap: 16px;\n align-items: center;\n\n inline-size: 100%;\n `,\n track: css`\n display: flex;\n flex: none;\n gap: var(--logo-marquee-gap);\n align-items: center;\n\n animation: ${slide} var(--logo-marquee-duration) linear infinite;\n\n @media (prefers-reduced-motion: reduce) {\n animation: none;\n }\n `,\n viewport: css`\n overflow: hidden;\n display: flex;\n gap: var(--logo-marquee-gap);\n\n inline-size: min(100%, var(--logo-marquee-max-width));\n\n mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent);\n\n &:hover > * {\n animation-play-state: paused;\n }\n `,\n}));\n"],"mappings":";;AAEA,MAAM,QAAQ,SAAS;;;;;AAMvB,MAAa,SAAS,oBAAoB,EAAE,KAAK,cAAc;CAC7D,SAAS,GAAG;;iBAEG,OAAO,WAAW;aACtB,OAAO,kBAAkB;;;;;;;;;eASvB,OAAO,UAAU;;;CAG9B,MAAM,GAAG;;;;;iBAKM,OAAO,SAAS;aACpB,OAAO,kBAAkB;;;CAGpC,MAAM,GAAG;;;;;;;;CAQT,OAAO,GAAG;;;;;;iBAMK,MAAM;;;;;;CAMrB,UAAU,GAAG;;;;;;;;;;;;;AAaf,EAAE"}
@@ -0,0 +1,40 @@
1
+ import { DivProps } from "../../types/index.mjs";
2
+ import { ElementType, ReactNode } from "react";
3
+ //#region src/awesome/LogoMarquee/type.d.ts
4
+ interface LogoMarqueeItem {
5
+ /** An icon component such as `OpenAI` from `@lobehub/icons`, or a ready-made node. */
6
+ icon: ElementType<{
7
+ size: number;
8
+ }> | ReactNode;
9
+ label: string;
10
+ }
11
+ interface LogoMarqueeProps extends DivProps {
12
+ /** Caption below the track, e.g. a link to the icon catalog. */
13
+ caption?: ReactNode;
14
+ /**
15
+ * Seconds for one full loop.
16
+ * @default 28
17
+ */
18
+ duration?: number;
19
+ /**
20
+ * Gap between items in pixels.
21
+ * @default 36
22
+ */
23
+ gap?: number;
24
+ /**
25
+ * Hides the text labels and shows icons only.
26
+ * @default false
27
+ */
28
+ iconOnly?: boolean;
29
+ /** @default 18 */
30
+ iconSize?: number;
31
+ items: LogoMarqueeItem[];
32
+ /**
33
+ * Max width of the visible track.
34
+ * @default 640
35
+ */
36
+ maxWidth?: number | string;
37
+ }
38
+ //#endregion
39
+ export { LogoMarqueeItem, LogoMarqueeProps };
40
+ //# sourceMappingURL=type.d.mts.map
@@ -1,15 +1,34 @@
1
+ import { AgentSkillCardAgent, AgentSkillCardMode, AgentSkillCardPanel, AgentSkillCardProps } from "./AgentSkillCard/type.mjs";
2
+ import { DEFAULT_SKILL_AGENTS } from "./AgentSkillCard/agents.mjs";
3
+ import AgentSkillCard from "./AgentSkillCard/AgentSkillCard.mjs";
4
+ import "./AgentSkillCard/index.mjs";
1
5
  import { AuroraBackgroundProps } from "./AuroraBackground/type.mjs";
2
6
  import AuroraBackground from "./AuroraBackground/AuroraBackground.mjs";
3
7
  import "./AuroraBackground/index.mjs";
8
+ import { LandingLinkProps, LandingLinkRender } from "./landingLink.mjs";
9
+ import { BentoCardProps, BentoGridProps } from "./BentoGrid/type.mjs";
10
+ import BentoCard from "./BentoGrid/BentoCard.mjs";
11
+ import BentoGrid from "./BentoGrid/BentoGrid.mjs";
12
+ import "./BentoGrid/index.mjs";
4
13
  import BottomGradientButton from "./BottomGradientButton/BottomGradientButton.mjs";
5
14
  import { BottomGradientButtonProps } from "./BottomGradientButton/type.mjs";
6
15
  import "./BottomGradientButton/index.mjs";
16
+ import { CodeShowcaseItem, CodeShowcaseProps } from "./CodeShowcase/type.mjs";
17
+ import CodeShowcase from "./CodeShowcase/CodeShowcase.mjs";
18
+ import "./CodeShowcase/index.mjs";
19
+ import { FeatureGridItem, FeatureGridProps } from "./FeatureGrid/type.mjs";
20
+ import FeatureGrid from "./FeatureGrid/FeatureGrid.mjs";
21
+ import "./FeatureGrid/index.mjs";
7
22
  import { SpotlightCardProps } from "./SpotlightCard/type.mjs";
8
23
  import SpotlightCard from "./SpotlightCard/SpotlightCard.mjs";
9
24
  import "./SpotlightCard/index.mjs";
10
25
  import { FeatureItemType, FeaturesProps } from "./Features/type.mjs";
11
26
  import Features from "./Features/Features.mjs";
12
27
  import "./Features/index.mjs";
28
+ import { LANDING_GRADIENT_VAR, LANDING_PALETTE_DARK, LANDING_PALETTE_LIGHT, LandingPalette, accentGradient } from "./landingTokens.mjs";
29
+ import { FluidGradientProps } from "./FluidGradient/type.mjs";
30
+ import FluidGradient from "./FluidGradient/FluidGradient.mjs";
31
+ import "./FluidGradient/index.mjs";
13
32
  import { GiscusProps } from "./Giscus/type.mjs";
14
33
  import Giscus from "./Giscus/Giscus.mjs";
15
34
  import "./Giscus/index.mjs";
@@ -23,6 +42,19 @@ import "./GridBackground/index.mjs";
23
42
  import { HeroAction, HeroProps } from "./Hero/type.mjs";
24
43
  import Hero from "./Hero/Hero.mjs";
25
44
  import "./Hero/index.mjs";
45
+ import { InstallBannerProps } from "./InstallBanner/type.mjs";
46
+ import InstallBanner from "./InstallBanner/InstallBanner.mjs";
47
+ import "./InstallBanner/index.mjs";
48
+ import { LandingAction, LandingNavigate } from "./landingActions.mjs";
49
+ import { LandingHeroAction, LandingHeroProps } from "./LandingHero/type.mjs";
50
+ import LandingHero from "./LandingHero/LandingHero.mjs";
51
+ import "./LandingHero/index.mjs";
52
+ import { LandingSectionProps } from "./LandingSection/type.mjs";
53
+ import LandingSection from "./LandingSection/LandingSection.mjs";
54
+ import "./LandingSection/index.mjs";
55
+ import { LogoMarqueeItem, LogoMarqueeProps } from "./LogoMarquee/type.mjs";
56
+ import LogoMarquee from "./LogoMarquee/LogoMarquee.mjs";
57
+ import "./LogoMarquee/index.mjs";
26
58
  import { SplineProps } from "./Spline/type.mjs";
27
59
  import Spline from "./Spline/Spine.mjs";
28
60
  import "./Spline/index.mjs";
@@ -32,4 +64,4 @@ import "./Spotlight/index.mjs";
32
64
  import { CursorStyle, SegmentMode, TypewriterEffectProps } from "./TypewriterEffect/type.mjs";
33
65
  import TypewriterEffect from "./TypewriterEffect/TypewriterEffect.mjs";
34
66
  import "./TypewriterEffect/index.mjs";
35
- export { AuroraBackground, type AuroraBackgroundProps, BottomGradientButton, type BottomGradientButtonProps, type CursorStyle, type FeatureItemType, Features, type FeaturesProps, Giscus, type GiscusProps, GradientButton, type GradientButtonProps, GridBackground, type GridBackgroundProps, GridShowcase, type GridShowcaseProps, Hero, type HeroAction, type HeroProps, type SegmentMode, Spline, type SplineProps, Spotlight, SpotlightCard, type SpotlightCardProps, type SpotlightProps, TypewriterEffect, type TypewriterEffectProps };
67
+ export { AgentSkillCard, type AgentSkillCardAgent, type AgentSkillCardMode, type AgentSkillCardPanel, type AgentSkillCardProps, AuroraBackground, type AuroraBackgroundProps, BentoCard, type BentoCardProps, BentoGrid, type BentoGridProps, BottomGradientButton, type BottomGradientButtonProps, CodeShowcase, type CodeShowcaseItem, type CodeShowcaseProps, type CursorStyle, DEFAULT_SKILL_AGENTS, FeatureGrid, type FeatureGridItem, type FeatureGridProps, type FeatureItemType, Features, type FeaturesProps, FluidGradient, type FluidGradientProps, Giscus, type GiscusProps, GradientButton, type GradientButtonProps, GridBackground, type GridBackgroundProps, GridShowcase, type GridShowcaseProps, Hero, type HeroAction, type HeroProps, InstallBanner, type InstallBannerProps, LANDING_GRADIENT_VAR, LANDING_PALETTE_DARK, LANDING_PALETTE_LIGHT, type LandingAction, LandingHero, type LandingHeroAction, type LandingHeroProps, type LandingLinkProps, type LandingLinkRender, type LandingNavigate, type LandingPalette, LandingSection, type LandingSectionProps, LogoMarquee, type LogoMarqueeItem, type LogoMarqueeProps, type SegmentMode, Spline, type SplineProps, Spotlight, SpotlightCard, type SpotlightCardProps, type SpotlightProps, TypewriterEffect, type TypewriterEffectProps, accentGradient as landingAccentGradient };