@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.
- package/es/Highlighter/FullFeatured.mjs +1 -1
- package/es/Highlighter/FullFeatured.mjs.map +1 -1
- package/es/Highlighter/LangSelect.mjs +1 -1
- package/es/Highlighter/LangSelect.mjs.map +1 -1
- package/es/Highlighter/style.mjs +14 -11
- package/es/Highlighter/style.mjs.map +1 -1
- package/es/Mermaid/FullFeatured.mjs +1 -1
- package/es/Mermaid/FullFeatured.mjs.map +1 -1
- package/es/ThemeProvider/ThemeProvider.mjs +2 -2
- package/es/ThemeProvider/ThemeProvider.mjs.map +1 -1
- package/es/awesome/AgentSkillCard/AgentSkillCard.d.mts +6 -0
- package/es/awesome/AgentSkillCard/AgentSkillCard.mjs +83 -0
- package/es/awesome/AgentSkillCard/AgentSkillCard.mjs.map +1 -0
- package/es/awesome/AgentSkillCard/agents.d.mts +6 -0
- package/es/awesome/AgentSkillCard/agents.mjs +40 -0
- package/es/awesome/AgentSkillCard/agents.mjs.map +1 -0
- package/es/awesome/AgentSkillCard/index.d.mts +4 -0
- package/es/awesome/AgentSkillCard/style.mjs +85 -0
- package/es/awesome/AgentSkillCard/style.mjs.map +1 -0
- package/es/awesome/AgentSkillCard/type.d.mts +41 -0
- package/es/awesome/BentoGrid/BentoCard.d.mts +6 -0
- package/es/awesome/BentoGrid/BentoCard.mjs +39 -0
- package/es/awesome/BentoGrid/BentoCard.mjs.map +1 -0
- package/es/awesome/BentoGrid/BentoGrid.d.mts +6 -0
- package/es/awesome/BentoGrid/BentoGrid.mjs +20 -0
- package/es/awesome/BentoGrid/BentoGrid.mjs.map +1 -0
- package/es/awesome/BentoGrid/index.d.mts +4 -0
- package/es/awesome/BentoGrid/style.mjs +102 -0
- package/es/awesome/BentoGrid/style.mjs.map +1 -0
- package/es/awesome/BentoGrid/type.d.mts +40 -0
- package/es/awesome/CodeShowcase/CodeShowcase.d.mts +6 -0
- package/es/awesome/CodeShowcase/CodeShowcase.mjs +51 -0
- package/es/awesome/CodeShowcase/CodeShowcase.mjs.map +1 -0
- package/es/awesome/CodeShowcase/index.d.mts +3 -0
- package/es/awesome/CodeShowcase/style.mjs +50 -0
- package/es/awesome/CodeShowcase/style.mjs.map +1 -0
- package/es/awesome/CodeShowcase/type.d.mts +27 -0
- package/es/awesome/FeatureGrid/FeatureGrid.d.mts +6 -0
- package/es/awesome/FeatureGrid/FeatureGrid.mjs +48 -0
- package/es/awesome/FeatureGrid/FeatureGrid.mjs.map +1 -0
- package/es/awesome/FeatureGrid/index.d.mts +3 -0
- package/es/awesome/FeatureGrid/style.mjs +75 -0
- package/es/awesome/FeatureGrid/style.mjs.map +1 -0
- package/es/awesome/FeatureGrid/type.d.mts +25 -0
- package/es/awesome/FluidGradient/FluidGradient.d.mts +6 -0
- package/es/awesome/FluidGradient/FluidGradient.mjs +293 -0
- package/es/awesome/FluidGradient/FluidGradient.mjs.map +1 -0
- package/es/awesome/FluidGradient/index.d.mts +3 -0
- package/es/awesome/FluidGradient/style.mjs +52 -0
- package/es/awesome/FluidGradient/style.mjs.map +1 -0
- package/es/awesome/FluidGradient/type.d.mts +22 -0
- package/es/awesome/InstallBanner/InstallBanner.d.mts +6 -0
- package/es/awesome/InstallBanner/InstallBanner.mjs +35 -0
- package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -0
- package/es/awesome/InstallBanner/index.d.mts +3 -0
- package/es/awesome/InstallBanner/style.mjs +46 -0
- package/es/awesome/InstallBanner/style.mjs.map +1 -0
- package/es/awesome/InstallBanner/type.d.mts +18 -0
- package/es/awesome/LandingHero/LandingHero.d.mts +6 -0
- package/es/awesome/LandingHero/LandingHero.mjs +55 -0
- package/es/awesome/LandingHero/LandingHero.mjs.map +1 -0
- package/es/awesome/LandingHero/index.d.mts +3 -0
- package/es/awesome/LandingHero/style.mjs +155 -0
- package/es/awesome/LandingHero/style.mjs.map +1 -0
- package/es/awesome/LandingHero/type.d.mts +29 -0
- package/es/awesome/LandingSection/LandingSection.d.mts +6 -0
- package/es/awesome/LandingSection/LandingSection.mjs +61 -0
- package/es/awesome/LandingSection/LandingSection.mjs.map +1 -0
- package/es/awesome/LandingSection/index.d.mts +3 -0
- package/es/awesome/LandingSection/style.mjs +88 -0
- package/es/awesome/LandingSection/style.mjs.map +1 -0
- package/es/awesome/LandingSection/type.d.mts +40 -0
- package/es/awesome/LogoMarquee/LogoMarquee.d.mts +6 -0
- package/es/awesome/LogoMarquee/LogoMarquee.mjs +52 -0
- package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -0
- package/es/awesome/LogoMarquee/index.d.mts +3 -0
- package/es/awesome/LogoMarquee/style.mjs +70 -0
- package/es/awesome/LogoMarquee/style.mjs.map +1 -0
- package/es/awesome/LogoMarquee/type.d.mts +40 -0
- package/es/awesome/index.d.mts +33 -1
- package/es/awesome/index.mjs +13 -1
- package/es/awesome/landingActions.d.mts +20 -0
- package/es/awesome/landingActions.mjs +123 -0
- package/es/awesome/landingActions.mjs.map +1 -0
- package/es/awesome/landingIcon.mjs +13 -0
- package/es/awesome/landingIcon.mjs.map +1 -0
- package/es/awesome/landingLink.d.mts +12 -0
- package/es/awesome/landingLink.mjs +23 -0
- package/es/awesome/landingLink.mjs.map +1 -0
- package/es/awesome/landingTokens.d.mts +10 -0
- package/es/awesome/landingTokens.mjs +19 -0
- package/es/awesome/landingTokens.mjs.map +1 -0
- package/es/base-ui/Input/style.d.mts +1 -1
- package/es/base-ui/Segmented/atoms.mjs +1 -0
- package/es/base-ui/Segmented/atoms.mjs.map +1 -1
- package/es/base-ui/Segmented/style.mjs +127 -125
- package/es/base-ui/Segmented/style.mjs.map +1 -1
- package/es/base-ui/index.mjs +4 -4
- package/es/dashboard/AuthLayout/AuthLayout.d.mts +9 -0
- package/es/dashboard/AuthLayout/AuthLayout.mjs +54 -0
- package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -0
- package/es/dashboard/AuthLayout/index.d.mts +3 -0
- package/es/dashboard/AuthLayout/style.mjs +120 -0
- package/es/dashboard/AuthLayout/style.mjs.map +1 -0
- package/es/dashboard/AuthLayout/type.d.mts +16 -0
- package/es/dashboard/Breadcrumb/Breadcrumb.d.mts +9 -0
- package/es/dashboard/Breadcrumb/Breadcrumb.mjs +55 -0
- package/es/dashboard/Breadcrumb/Breadcrumb.mjs.map +1 -0
- package/es/dashboard/Breadcrumb/index.d.mts +3 -0
- package/es/dashboard/Breadcrumb/style.mjs +66 -0
- package/es/dashboard/Breadcrumb/style.mjs.map +1 -0
- package/es/dashboard/Breadcrumb/type.d.mts +25 -0
- package/es/dashboard/ConsoleNav/ConsoleNav.d.mts +9 -0
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs +275 -0
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -0
- package/es/dashboard/ConsoleNav/active.d.mts +7 -0
- package/es/dashboard/ConsoleNav/active.mjs +29 -0
- package/es/dashboard/ConsoleNav/active.mjs.map +1 -0
- package/es/dashboard/ConsoleNav/index.d.mts +4 -0
- package/es/dashboard/ConsoleNav/style.mjs +283 -0
- package/es/dashboard/ConsoleNav/style.mjs.map +1 -0
- package/es/dashboard/ConsoleNav/type.d.mts +71 -0
- package/es/dashboard/ConsoleShell/ConsoleBrand.d.mts +9 -0
- package/es/dashboard/ConsoleShell/ConsoleBrand.mjs +37 -0
- package/es/dashboard/ConsoleShell/ConsoleBrand.mjs.map +1 -0
- package/es/dashboard/ConsoleShell/ConsoleShell.d.mts +9 -0
- package/es/dashboard/ConsoleShell/ConsoleShell.mjs +149 -0
- package/es/dashboard/ConsoleShell/ConsoleShell.mjs.map +1 -0
- package/es/dashboard/ConsoleShell/context.d.mts +6 -0
- package/es/dashboard/ConsoleShell/context.mjs +16 -0
- package/es/dashboard/ConsoleShell/context.mjs.map +1 -0
- package/es/dashboard/ConsoleShell/index.d.mts +5 -0
- package/es/dashboard/ConsoleShell/style.mjs +209 -0
- package/es/dashboard/ConsoleShell/style.mjs.map +1 -0
- package/es/dashboard/ConsoleShell/type.d.mts +67 -0
- package/es/dashboard/FilterSidebar/FilterSidebar.d.mts +17 -0
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs +151 -0
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs.map +1 -0
- package/es/dashboard/FilterSidebar/context.d.mts +7 -0
- package/es/dashboard/FilterSidebar/context.mjs +19 -0
- package/es/dashboard/FilterSidebar/context.mjs.map +1 -0
- package/es/dashboard/FilterSidebar/index.d.mts +4 -0
- package/es/dashboard/FilterSidebar/style.mjs +155 -0
- package/es/dashboard/FilterSidebar/style.mjs.map +1 -0
- package/es/dashboard/FilterSidebar/type.d.mts +44 -0
- package/es/dashboard/FilterSidebar/width.mjs +18 -0
- package/es/dashboard/FilterSidebar/width.mjs.map +1 -0
- package/es/dashboard/PageHeader/PageHeader.d.mts +9 -0
- package/es/dashboard/PageHeader/PageHeader.mjs +37 -0
- package/es/dashboard/PageHeader/PageHeader.mjs.map +1 -0
- package/es/dashboard/PageHeader/index.d.mts +3 -0
- package/es/dashboard/PageHeader/style.mjs +47 -0
- package/es/dashboard/PageHeader/style.mjs.map +1 -0
- package/es/dashboard/PageHeader/type.d.mts +14 -0
- package/es/dashboard/PageSkeleton/PageSkeleton.d.mts +25 -0
- package/es/dashboard/PageSkeleton/PageSkeleton.mjs +136 -0
- package/es/dashboard/PageSkeleton/PageSkeleton.mjs.map +1 -0
- package/es/dashboard/PageSkeleton/style.mjs +122 -0
- package/es/dashboard/PageSkeleton/style.mjs.map +1 -0
- package/es/dashboard/PageSkeleton/type.d.mts +22 -0
- package/es/dashboard/PageTabs/PageTabs.d.mts +9 -0
- package/es/dashboard/PageTabs/PageTabs.mjs +37 -0
- package/es/dashboard/PageTabs/PageTabs.mjs.map +1 -0
- package/es/dashboard/PageTabs/index.d.mts +3 -0
- package/es/dashboard/PageTabs/style.mjs +57 -0
- package/es/dashboard/PageTabs/style.mjs.map +1 -0
- package/es/dashboard/PageTabs/type.d.mts +17 -0
- package/es/dashboard/RouteProgress/RouteProgress.d.mts +9 -0
- package/es/dashboard/RouteProgress/RouteProgress.mjs +44 -0
- package/es/dashboard/RouteProgress/RouteProgress.mjs.map +1 -0
- package/es/dashboard/RouteProgress/style.mjs +19 -0
- package/es/dashboard/RouteProgress/style.mjs.map +1 -0
- package/es/dashboard/RouteProgress/type.d.mts +8 -0
- package/es/dashboard/StatCard/StatCard.d.mts +9 -0
- package/es/dashboard/StatCard/StatCard.mjs +84 -0
- package/es/dashboard/StatCard/StatCard.mjs.map +1 -0
- package/es/dashboard/StatCard/index.d.mts +3 -0
- package/es/dashboard/StatCard/style.mjs +135 -0
- package/es/dashboard/StatCard/style.mjs.map +1 -0
- package/es/dashboard/StatCard/type.d.mts +26 -0
- package/es/dashboard/Surface/Surface.d.mts +13 -0
- package/es/dashboard/Surface/Surface.mjs +20 -0
- package/es/dashboard/Surface/Surface.mjs.map +1 -0
- package/es/dashboard/Surface/index.d.mts +4 -0
- package/es/dashboard/Surface/style.d.mts +14 -0
- package/es/dashboard/Surface/style.mjs +22 -0
- package/es/dashboard/Surface/style.mjs.map +1 -0
- package/es/dashboard/Surface/type.d.mts +8 -0
- package/es/dashboard/hooks.mjs +49 -0
- package/es/dashboard/hooks.mjs.map +1 -0
- package/es/dashboard/index.d.mts +37 -0
- package/es/dashboard/index.d.ts +1 -0
- package/es/dashboard/index.js +1 -0
- package/es/dashboard/index.mjs +17 -0
- package/es/static-css/registry.mjs +2 -2
- package/es/static-css/registry.mjs.map +1 -1
- package/es/storybook/StoryBook/index.mjs +4 -0
- package/es/storybook/StoryBook/index.mjs.map +1 -1
- package/es/storybook/StoryBook/style.mjs +7 -2
- package/es/storybook/StoryBook/style.mjs.map +1 -1
- package/es/styles/theme/token/base.mjs +2 -2
- package/es/styles/theme/token/base.mjs.map +1 -1
- package/package.json +6 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { styles } from "./style.mjs";
|
|
3
|
+
import { memo } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { cx } from "antd-style";
|
|
6
|
+
//#region src/awesome/BentoGrid/BentoGrid.tsx
|
|
7
|
+
const BentoGrid = memo(({ className, columns = 4, rowHeight = 120, style, ...rest }) => /* @__PURE__ */ jsx("div", {
|
|
8
|
+
className: cx(styles.grid, className),
|
|
9
|
+
style: {
|
|
10
|
+
"--bento-columns": columns,
|
|
11
|
+
"--bento-row-height": `${rowHeight}px`,
|
|
12
|
+
...style
|
|
13
|
+
},
|
|
14
|
+
...rest
|
|
15
|
+
}));
|
|
16
|
+
BentoGrid.displayName = "BentoGrid";
|
|
17
|
+
//#endregion
|
|
18
|
+
export { BentoGrid as default };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=BentoGrid.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BentoGrid.mjs","names":[],"sources":["../../../src/awesome/BentoGrid/BentoGrid.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { type CSSProperties, memo } from 'react';\n\nimport { styles } from './style';\nimport type { BentoGridProps } from './type';\n\nconst BentoGrid = memo<BentoGridProps>(\n ({ className, columns = 4, rowHeight = 120, style, ...rest }) => (\n <div\n className={cx(styles.grid, className)}\n style={\n {\n '--bento-columns': columns,\n '--bento-row-height': `${rowHeight}px`,\n ...style,\n } as CSSProperties\n }\n {...rest}\n />\n ),\n);\n\nBentoGrid.displayName = 'BentoGrid';\n\nexport default BentoGrid;\n"],"mappings":";;;;;;AAQA,MAAM,YAAY,MACf,EAAE,WAAW,UAAU,GAAG,YAAY,KAAK,OAAO,GAAG,WACpD,oBAAC,OAAD;CACE,WAAW,GAAG,OAAO,MAAM,SAAS;CACpC,OACE;EACE,mBAAmB;EACnB,sBAAsB,GAAG,UAAU;EACnC,GAAG;CACL;CAEF,GAAI;AACL,CAAA,CAEL;AAEA,UAAU,cAAc"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
|
+
//#region src/awesome/BentoGrid/style.ts
|
|
3
|
+
const styles = createStaticStyles(({ css, cssVar, responsive }) => ({
|
|
4
|
+
card: css`
|
|
5
|
+
display: flex;
|
|
6
|
+
grid-column: span var(--bento-col-span, 1);
|
|
7
|
+
grid-row: span var(--bento-row-span, 1);
|
|
8
|
+
flex-direction: column;
|
|
9
|
+
|
|
10
|
+
min-inline-size: 0;
|
|
11
|
+
padding-block: 14px 16px;
|
|
12
|
+
padding-inline: 16px;
|
|
13
|
+
border: 1px solid ${cssVar.colorBorderSecondary};
|
|
14
|
+
border-radius: ${cssVar.borderRadiusLG};
|
|
15
|
+
|
|
16
|
+
background: color-mix(in srgb, ${cssVar.colorBgElevated} 25%, transparent);
|
|
17
|
+
box-shadow: ${cssVar.boxShadowTertiary};
|
|
18
|
+
|
|
19
|
+
transition:
|
|
20
|
+
border-color 140ms ease,
|
|
21
|
+
transform 140ms ease,
|
|
22
|
+
box-shadow 140ms ease;
|
|
23
|
+
|
|
24
|
+
&:hover {
|
|
25
|
+
transform: translateY(-2px);
|
|
26
|
+
border-color: ${cssVar.colorBorder};
|
|
27
|
+
box-shadow: ${cssVar.boxShadowSecondary};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
${responsive.tablet} {
|
|
31
|
+
&[data-wide='true'] {
|
|
32
|
+
grid-column: span 2;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
${responsive.mobile} {
|
|
37
|
+
grid-column: span 1;
|
|
38
|
+
grid-row: span 1;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@media (prefers-reduced-motion: reduce) {
|
|
42
|
+
&:hover {
|
|
43
|
+
transform: none;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
`,
|
|
47
|
+
body: css`
|
|
48
|
+
display: flex;
|
|
49
|
+
flex: 1;
|
|
50
|
+
align-items: center;
|
|
51
|
+
justify-content: center;
|
|
52
|
+
|
|
53
|
+
min-inline-size: 0;
|
|
54
|
+
margin-block-start: 12px;
|
|
55
|
+
|
|
56
|
+
> * {
|
|
57
|
+
max-inline-size: 100%;
|
|
58
|
+
}
|
|
59
|
+
`,
|
|
60
|
+
grid: css`
|
|
61
|
+
display: grid;
|
|
62
|
+
grid-auto-rows: minmax(var(--bento-row-height), auto);
|
|
63
|
+
grid-template-columns: repeat(var(--bento-columns), minmax(0, 1fr));
|
|
64
|
+
gap: 12px;
|
|
65
|
+
|
|
66
|
+
${responsive.tablet} {
|
|
67
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
${responsive.mobile} {
|
|
71
|
+
grid-template-columns: 1fr;
|
|
72
|
+
}
|
|
73
|
+
`,
|
|
74
|
+
header: css`
|
|
75
|
+
display: flex;
|
|
76
|
+
gap: 8px;
|
|
77
|
+
align-items: baseline;
|
|
78
|
+
justify-content: space-between;
|
|
79
|
+
`,
|
|
80
|
+
hint: css`
|
|
81
|
+
overflow: hidden;
|
|
82
|
+
|
|
83
|
+
font-size: 11px;
|
|
84
|
+
color: ${cssVar.colorTextTertiary};
|
|
85
|
+
text-overflow: ellipsis;
|
|
86
|
+
white-space: nowrap;
|
|
87
|
+
`,
|
|
88
|
+
title: css`
|
|
89
|
+
font-size: ${cssVar.fontSizeSM};
|
|
90
|
+
font-weight: 600;
|
|
91
|
+
color: ${cssVar.colorText};
|
|
92
|
+
text-decoration: none;
|
|
93
|
+
|
|
94
|
+
&[href]:hover {
|
|
95
|
+
color: ${cssVar.colorPrimary};
|
|
96
|
+
}
|
|
97
|
+
`
|
|
98
|
+
}));
|
|
99
|
+
//#endregion
|
|
100
|
+
export { styles };
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/awesome/BentoGrid/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar, responsive }) => ({\n card: css`\n display: flex;\n grid-column: span var(--bento-col-span, 1);\n grid-row: span var(--bento-row-span, 1);\n flex-direction: column;\n\n min-inline-size: 0;\n padding-block: 14px 16px;\n padding-inline: 16px;\n border: 1px solid ${cssVar.colorBorderSecondary};\n border-radius: ${cssVar.borderRadiusLG};\n\n background: color-mix(in srgb, ${cssVar.colorBgElevated} 25%, transparent);\n box-shadow: ${cssVar.boxShadowTertiary};\n\n transition:\n border-color 140ms ease,\n transform 140ms ease,\n box-shadow 140ms ease;\n\n &:hover {\n transform: translateY(-2px);\n border-color: ${cssVar.colorBorder};\n box-shadow: ${cssVar.boxShadowSecondary};\n }\n\n ${responsive.tablet} {\n &[data-wide='true'] {\n grid-column: span 2;\n }\n }\n\n ${responsive.mobile} {\n grid-column: span 1;\n grid-row: span 1;\n }\n\n @media (prefers-reduced-motion: reduce) {\n &:hover {\n transform: none;\n }\n }\n `,\n body: css`\n display: flex;\n flex: 1;\n align-items: center;\n justify-content: center;\n\n min-inline-size: 0;\n margin-block-start: 12px;\n\n > * {\n max-inline-size: 100%;\n }\n `,\n grid: css`\n display: grid;\n grid-auto-rows: minmax(var(--bento-row-height), auto);\n grid-template-columns: repeat(var(--bento-columns), minmax(0, 1fr));\n gap: 12px;\n\n ${responsive.tablet} {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n ${responsive.mobile} {\n grid-template-columns: 1fr;\n }\n `,\n header: css`\n display: flex;\n gap: 8px;\n align-items: baseline;\n justify-content: space-between;\n `,\n hint: css`\n overflow: hidden;\n\n font-size: 11px;\n color: ${cssVar.colorTextTertiary};\n text-overflow: ellipsis;\n white-space: nowrap;\n `,\n title: css`\n font-size: ${cssVar.fontSizeSM};\n font-weight: 600;\n color: ${cssVar.colorText};\n text-decoration: none;\n\n &[href]:hover {\n color: ${cssVar.colorPrimary};\n }\n `,\n}));\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,QAAQ,kBAAkB;CACzE,MAAM,GAAG;;;;;;;;;wBASa,OAAO,qBAAqB;qBAC/B,OAAO,eAAe;;qCAEN,OAAO,gBAAgB;kBAC1C,OAAO,kBAAkB;;;;;;;;;sBASrB,OAAO,YAAY;oBACrB,OAAO,mBAAmB;;;MAGxC,WAAW,OAAO;;;;;;MAMlB,WAAW,OAAO;;;;;;;;;;;CAWtB,MAAM,GAAG;;;;;;;;;;;;;CAaT,MAAM,GAAG;;;;;;MAML,WAAW,OAAO;;;;MAIlB,WAAW,OAAO;;;;CAItB,QAAQ,GAAG;;;;;;CAMX,MAAM,GAAG;;;;aAIE,OAAO,kBAAkB;;;;CAIpC,OAAO,GAAG;iBACK,OAAO,WAAW;;aAEtB,OAAO,UAAU;;;;eAIf,OAAO,aAAa;;;AAGnC,EAAE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { DivProps } from "../../types/index.mjs";
|
|
2
|
+
import { LandingLinkRender } from "../landingLink.mjs";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
//#region src/awesome/BentoGrid/type.d.ts
|
|
5
|
+
interface BentoGridProps extends DivProps {
|
|
6
|
+
children?: ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* Columns on wide screens. The grid drops to two columns on tablets and one on phones.
|
|
9
|
+
* @default 4
|
|
10
|
+
*/
|
|
11
|
+
columns?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Minimum row height in pixels.
|
|
14
|
+
* @default 120
|
|
15
|
+
*/
|
|
16
|
+
rowHeight?: number;
|
|
17
|
+
}
|
|
18
|
+
interface BentoCardProps extends Omit<DivProps, 'title'> {
|
|
19
|
+
/** The live content of the tile. Render real components, not screenshots. */
|
|
20
|
+
children?: ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* Columns the tile spans on wide screens.
|
|
23
|
+
* @default 1
|
|
24
|
+
*/
|
|
25
|
+
colSpan?: 1 | 2 | 3 | 4;
|
|
26
|
+
/** Short muted note on the right side of the header. */
|
|
27
|
+
hint?: ReactNode;
|
|
28
|
+
/** Makes the title a link, e.g. to the component page. */
|
|
29
|
+
href?: string;
|
|
30
|
+
renderLink?: LandingLinkRender;
|
|
31
|
+
/**
|
|
32
|
+
* Rows the tile spans on wide screens.
|
|
33
|
+
* @default 1
|
|
34
|
+
*/
|
|
35
|
+
rowSpan?: 1 | 2 | 3;
|
|
36
|
+
title?: ReactNode;
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { BentoCardProps, BentoGridProps };
|
|
40
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CodeShowcaseProps } from "./type.mjs";
|
|
2
|
+
//#region src/awesome/CodeShowcase/CodeShowcase.d.ts
|
|
3
|
+
declare const CodeShowcase: import("react").NamedExoticComponent<CodeShowcaseProps>;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { CodeShowcase as default };
|
|
6
|
+
//# sourceMappingURL=CodeShowcase.d.mts.map
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Highlighter } from "../../Highlighter/Highlighter.mjs";
|
|
3
|
+
import Segmented from "../../base-ui/Segmented/Segmented.mjs";
|
|
4
|
+
import { styles } from "./style.mjs";
|
|
5
|
+
import { memo, useState } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { cx } from "antd-style";
|
|
8
|
+
//#region src/awesome/CodeShowcase/CodeShowcase.tsx
|
|
9
|
+
const CodeShowcase = memo(({ activeKey: controlledKey, className, defaultActiveKey, items, minHeight, onChange, style, ...rest }) => {
|
|
10
|
+
const [innerKey, setInnerKey] = useState(defaultActiveKey ?? items[0]?.key);
|
|
11
|
+
const activeKey = controlledKey ?? innerKey;
|
|
12
|
+
const active = items.find((item) => item.key === activeKey) ?? items[0];
|
|
13
|
+
if (!active) return null;
|
|
14
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
15
|
+
className: cx(styles.root, className),
|
|
16
|
+
style: {
|
|
17
|
+
"--code-showcase-min-height": `${minHeight}px`,
|
|
18
|
+
...style
|
|
19
|
+
},
|
|
20
|
+
...rest,
|
|
21
|
+
children: [items.length > 1 && /* @__PURE__ */ jsx(Segmented, {
|
|
22
|
+
className: styles.tabs,
|
|
23
|
+
options: items.map(({ key, label }) => ({
|
|
24
|
+
label,
|
|
25
|
+
value: key
|
|
26
|
+
})),
|
|
27
|
+
value: active.key,
|
|
28
|
+
variant: "outlined",
|
|
29
|
+
onChange: (key) => {
|
|
30
|
+
setInnerKey(key);
|
|
31
|
+
onChange?.(key);
|
|
32
|
+
}
|
|
33
|
+
}), /* @__PURE__ */ jsxs("div", {
|
|
34
|
+
className: styles.panes,
|
|
35
|
+
children: [/* @__PURE__ */ jsx(Highlighter, {
|
|
36
|
+
className: styles.code,
|
|
37
|
+
language: active.language ?? "tsx",
|
|
38
|
+
variant: "outlined",
|
|
39
|
+
children: active.code
|
|
40
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
41
|
+
className: styles.preview,
|
|
42
|
+
children: active.preview
|
|
43
|
+
})]
|
|
44
|
+
})]
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
CodeShowcase.displayName = "CodeShowcase";
|
|
48
|
+
//#endregion
|
|
49
|
+
export { CodeShowcase as default };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=CodeShowcase.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodeShowcase.mjs","names":[],"sources":["../../../src/awesome/CodeShowcase/CodeShowcase.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { type CSSProperties, memo, useState } from 'react';\n\nimport Segmented from '@/base-ui/Segmented';\nimport Highlighter from '@/Highlighter';\n\nimport { styles } from './style';\nimport type { CodeShowcaseProps } from './type';\n\nconst CodeShowcase = memo<CodeShowcaseProps>(\n ({\n activeKey: controlledKey,\n className,\n defaultActiveKey,\n items,\n minHeight,\n onChange,\n style,\n ...rest\n }) => {\n const [innerKey, setInnerKey] = useState(defaultActiveKey ?? items[0]?.key);\n const activeKey = controlledKey ?? innerKey;\n const active = items.find((item) => item.key === activeKey) ?? items[0];\n\n if (!active) return null;\n\n return (\n <div\n className={cx(styles.root, className)}\n style={{ '--code-showcase-min-height': `${minHeight}px`, ...style } as CSSProperties}\n {...rest}\n >\n {items.length > 1 && (\n <Segmented\n className={styles.tabs}\n options={items.map(({ key, label }) => ({ label, value: key }))}\n value={active.key}\n variant={'outlined'}\n onChange={(key) => {\n setInnerKey(key);\n onChange?.(key);\n }}\n />\n )}\n <div className={styles.panes}>\n <Highlighter\n className={styles.code}\n language={active.language ?? 'tsx'}\n variant={'outlined'}\n >\n {active.code}\n </Highlighter>\n <div className={styles.preview}>{active.preview}</div>\n </div>\n </div>\n );\n },\n);\n\nCodeShowcase.displayName = 'CodeShowcase';\n\nexport default CodeShowcase;\n"],"mappings":";;;;;;;;AAWA,MAAM,eAAe,MAClB,EACC,WAAW,eACX,WACA,kBACA,OACA,WACA,UACA,OACA,GAAG,WACC;CACJ,MAAM,CAAC,UAAU,eAAe,SAAS,oBAAoB,MAAM,EAAE,EAAE,GAAG;CAC1E,MAAM,YAAY,iBAAiB;CACnC,MAAM,SAAS,MAAM,MAAM,SAAS,KAAK,QAAQ,SAAS,KAAK,MAAM;CAErE,IAAI,CAAC,QAAQ,OAAO;CAEpB,OACE,qBAAC,OAAD;EACE,WAAW,GAAG,OAAO,MAAM,SAAS;EACpC,OAAO;GAAE,8BAA8B,GAAG,UAAU;GAAK,GAAG;EAAM;EAClE,GAAI;EAHN,UAAA,CAKG,MAAM,SAAS,KACd,oBAAC,WAAD;GACE,WAAW,OAAO;GAClB,SAAS,MAAM,KAAK,EAAE,KAAK,aAAa;IAAE;IAAO,OAAO;GAAI,EAAE;GAC9D,OAAO,OAAO;GACd,SAAS;GACT,WAAW,QAAQ;IACjB,YAAY,GAAG;IACf,WAAW,GAAG;GAChB;EACD,CAAA,GAEH,qBAAC,OAAD;GAAK,WAAW,OAAO;GAAvB,UAAA,CACE,oBAAC,aAAD;IACE,WAAW,OAAO;IAClB,UAAU,OAAO,YAAY;IAC7B,SAAS;IAER,UAAA,OAAO;GACG,CAAA,GACb,oBAAC,OAAD;IAAK,WAAW,OAAO;IAAU,UAAA,OAAO;GAAa,CAAA,CAClD;EACF,CAAA,CAAA;;AAET,CACF;AAEA,aAAa,cAAc"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
|
+
//#region src/awesome/CodeShowcase/style.ts
|
|
3
|
+
const styles = createStaticStyles(({ css, cssVar, responsive }) => ({
|
|
4
|
+
code: css`
|
|
5
|
+
overflow: auto;
|
|
6
|
+
min-inline-size: 0;
|
|
7
|
+
min-block-size: var(--code-showcase-min-height);
|
|
8
|
+
`,
|
|
9
|
+
panes: css`
|
|
10
|
+
display: grid;
|
|
11
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
12
|
+
gap: 12px;
|
|
13
|
+
|
|
14
|
+
${responsive.mobile} {
|
|
15
|
+
grid-template-columns: 1fr;
|
|
16
|
+
}
|
|
17
|
+
`,
|
|
18
|
+
preview: css`
|
|
19
|
+
display: flex;
|
|
20
|
+
align-items: center;
|
|
21
|
+
justify-content: center;
|
|
22
|
+
|
|
23
|
+
min-inline-size: 0;
|
|
24
|
+
min-block-size: var(--code-showcase-min-height);
|
|
25
|
+
padding: 20px;
|
|
26
|
+
border: 1px solid ${cssVar.colorBorderSecondary};
|
|
27
|
+
border-radius: ${cssVar.borderRadiusLG};
|
|
28
|
+
|
|
29
|
+
background: color-mix(in srgb, ${cssVar.colorBgElevated} 25%, transparent);
|
|
30
|
+
box-shadow: ${cssVar.boxShadowTertiary};
|
|
31
|
+
|
|
32
|
+
> * {
|
|
33
|
+
max-inline-size: 100%;
|
|
34
|
+
}
|
|
35
|
+
`,
|
|
36
|
+
root: css`
|
|
37
|
+
display: flex;
|
|
38
|
+
flex-direction: column;
|
|
39
|
+
gap: 20px;
|
|
40
|
+
align-items: stretch;
|
|
41
|
+
`,
|
|
42
|
+
tabs: css`
|
|
43
|
+
align-self: center;
|
|
44
|
+
max-inline-size: 100%;
|
|
45
|
+
`
|
|
46
|
+
}));
|
|
47
|
+
//#endregion
|
|
48
|
+
export { styles };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/awesome/CodeShowcase/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar, responsive }) => ({\n code: css`\n overflow: auto;\n min-inline-size: 0;\n min-block-size: var(--code-showcase-min-height);\n `,\n panes: css`\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 12px;\n\n ${responsive.mobile} {\n grid-template-columns: 1fr;\n }\n `,\n preview: css`\n display: flex;\n align-items: center;\n justify-content: center;\n\n min-inline-size: 0;\n min-block-size: var(--code-showcase-min-height);\n padding: 20px;\n border: 1px solid ${cssVar.colorBorderSecondary};\n border-radius: ${cssVar.borderRadiusLG};\n\n background: color-mix(in srgb, ${cssVar.colorBgElevated} 25%, transparent);\n box-shadow: ${cssVar.boxShadowTertiary};\n\n > * {\n max-inline-size: 100%;\n }\n `,\n root: css`\n display: flex;\n flex-direction: column;\n gap: 20px;\n align-items: stretch;\n `,\n tabs: css`\n align-self: center;\n max-inline-size: 100%;\n `,\n}));\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,QAAQ,kBAAkB;CACzE,MAAM,GAAG;;;;;CAKT,OAAO,GAAG;;;;;MAKN,WAAW,OAAO;;;;CAItB,SAAS,GAAG;;;;;;;;wBAQU,OAAO,qBAAqB;qBAC/B,OAAO,eAAe;;qCAEN,OAAO,gBAAgB;kBAC1C,OAAO,kBAAkB;;;;;;CAMzC,MAAM,GAAG;;;;;;CAMT,MAAM,GAAG;;;;AAIX,EAAE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DivProps } from "../../types/index.mjs";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
//#region src/awesome/CodeShowcase/type.d.ts
|
|
4
|
+
interface CodeShowcaseItem {
|
|
5
|
+
/** The snippet shown on the left. Keep it short enough to read without scrolling. */
|
|
6
|
+
code: string;
|
|
7
|
+
key: string;
|
|
8
|
+
label: ReactNode;
|
|
9
|
+
/** @default 'tsx' */
|
|
10
|
+
language?: string;
|
|
11
|
+
/** The live render of the snippet, shown on the right. */
|
|
12
|
+
preview: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
interface CodeShowcaseProps extends Omit<DivProps, 'onChange'> {
|
|
15
|
+
activeKey?: string;
|
|
16
|
+
defaultActiveKey?: string;
|
|
17
|
+
items: CodeShowcaseItem[];
|
|
18
|
+
/**
|
|
19
|
+
* Minimum height of both panes in pixels.
|
|
20
|
+
* @default 300
|
|
21
|
+
*/
|
|
22
|
+
minHeight?: number;
|
|
23
|
+
onChange?: (key: string) => void;
|
|
24
|
+
}
|
|
25
|
+
//#endregion
|
|
26
|
+
export { CodeShowcaseItem, CodeShowcaseProps };
|
|
27
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FeatureGridProps } from "./type.mjs";
|
|
2
|
+
//#region src/awesome/FeatureGrid/FeatureGrid.d.ts
|
|
3
|
+
declare const FeatureGrid: import("react").NamedExoticComponent<FeatureGridProps>;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { FeatureGrid as default };
|
|
6
|
+
//# sourceMappingURL=FeatureGrid.d.mts.map
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import Icon from "../../Icon/Icon.mjs";
|
|
3
|
+
import { renderLandingLink } from "../landingLink.mjs";
|
|
4
|
+
import { styles } from "./style.mjs";
|
|
5
|
+
import { Fragment, memo } from "react";
|
|
6
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { cx } from "antd-style";
|
|
8
|
+
//#region src/awesome/FeatureGrid/FeatureGrid.tsx
|
|
9
|
+
const FeatureGrid = memo(({ className, columns = 3, items, renderLink, style, ...rest }) => /* @__PURE__ */ jsx("div", {
|
|
10
|
+
className: cx(styles.grid, className),
|
|
11
|
+
style: {
|
|
12
|
+
"--feature-grid-columns": columns,
|
|
13
|
+
...style
|
|
14
|
+
},
|
|
15
|
+
...rest,
|
|
16
|
+
children: items.map(({ description, href, icon, title }, index) => {
|
|
17
|
+
const content = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
18
|
+
icon && /* @__PURE__ */ jsx("span", {
|
|
19
|
+
className: styles.icon,
|
|
20
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
21
|
+
icon,
|
|
22
|
+
size: 16
|
|
23
|
+
})
|
|
24
|
+
}),
|
|
25
|
+
/* @__PURE__ */ jsx("h3", {
|
|
26
|
+
className: styles.title,
|
|
27
|
+
children: title
|
|
28
|
+
}),
|
|
29
|
+
/* @__PURE__ */ jsx("p", {
|
|
30
|
+
className: styles.description,
|
|
31
|
+
children: description
|
|
32
|
+
})
|
|
33
|
+
] });
|
|
34
|
+
return /* @__PURE__ */ jsx(Fragment, { children: href ? renderLandingLink(renderLink, {
|
|
35
|
+
children: content,
|
|
36
|
+
className: styles.item,
|
|
37
|
+
href
|
|
38
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
39
|
+
className: styles.item,
|
|
40
|
+
children: content
|
|
41
|
+
}) }, typeof title === "string" ? title : index);
|
|
42
|
+
})
|
|
43
|
+
}));
|
|
44
|
+
FeatureGrid.displayName = "FeatureGrid";
|
|
45
|
+
//#endregion
|
|
46
|
+
export { FeatureGrid as default };
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=FeatureGrid.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FeatureGrid.mjs","names":[],"sources":["../../../src/awesome/FeatureGrid/FeatureGrid.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { type CSSProperties, Fragment, memo } from 'react';\n\nimport { renderLandingLink } from '@/awesome/landingLink';\nimport Icon from '@/Icon';\n\nimport { styles } from './style';\nimport type { FeatureGridProps } from './type';\n\nconst FeatureGrid = memo<FeatureGridProps>(\n ({ className, columns = 3, items, renderLink, style, ...rest }) => (\n <div\n className={cx(styles.grid, className)}\n style={{ '--feature-grid-columns': columns, ...style } as CSSProperties}\n {...rest}\n >\n {items.map(({ description, href, icon, title }, index) => {\n const content = (\n <>\n {icon && (\n <span className={styles.icon}>\n <Icon icon={icon} size={16} />\n </span>\n )}\n <h3 className={styles.title}>{title}</h3>\n <p className={styles.description}>{description}</p>\n </>\n );\n\n return (\n <Fragment key={typeof title === 'string' ? title : index}>\n {href ? (\n renderLandingLink(renderLink, { children: content, className: styles.item, href })\n ) : (\n <div className={styles.item}>{content}</div>\n )}\n </Fragment>\n );\n })}\n </div>\n ),\n);\n\nFeatureGrid.displayName = 'FeatureGrid';\n\nexport default FeatureGrid;\n"],"mappings":";;;;;;;;AAWA,MAAM,cAAc,MACjB,EAAE,WAAW,UAAU,GAAG,OAAO,YAAY,OAAO,GAAG,WACtD,oBAAC,OAAD;CACE,WAAW,GAAG,OAAO,MAAM,SAAS;CACpC,OAAO;EAAE,0BAA0B;EAAS,GAAG;CAAM;CACrD,GAAI;CAEH,UAAA,MAAM,KAAK,EAAE,aAAa,MAAM,MAAM,SAAS,UAAU;EACxD,MAAM,UACJ,qBAAA,YAAA,EAAA,UAAA;GACG,QACC,oBAAC,QAAD;IAAM,WAAW,OAAO;IACtB,UAAA,oBAAC,MAAD;KAAY;KAAM,MAAM;IAAK,CAAA;GACzB,CAAA;GAER,oBAAC,MAAD;IAAI,WAAW,OAAO;IAAQ,UAAA;GAAU,CAAA;GACxC,oBAAC,KAAD;IAAG,WAAW,OAAO;IAAc,UAAA;GAAe,CAAA;EAClD,EAAA,CAAA;EAGJ,OACE,oBAAC,UAAD,EAAA,UACG,OACC,kBAAkB,YAAY;GAAE,UAAU;GAAS,WAAW,OAAO;GAAM;EAAK,CAAC,IAEjF,oBAAC,OAAD;GAAK,WAAW,OAAO;GAAO,UAAA;EAAa,CAAA,EAErC,GANK,OAAO,UAAU,WAAW,QAAQ,KAMzC;CAEd,CAAC;AACE,CAAA,CAET;AAEA,YAAY,cAAc"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
|
+
//#region src/awesome/FeatureGrid/style.ts
|
|
3
|
+
const styles = createStaticStyles(({ css, cssVar, responsive }) => ({
|
|
4
|
+
description: css`
|
|
5
|
+
margin: 0;
|
|
6
|
+
|
|
7
|
+
font-size: 13.5px;
|
|
8
|
+
line-height: 1.65;
|
|
9
|
+
color: ${cssVar.colorTextSecondary};
|
|
10
|
+
text-wrap: pretty;
|
|
11
|
+
`,
|
|
12
|
+
grid: css`
|
|
13
|
+
display: grid;
|
|
14
|
+
grid-template-columns: repeat(var(--feature-grid-columns), minmax(0, 1fr));
|
|
15
|
+
gap: 16px;
|
|
16
|
+
|
|
17
|
+
${responsive.tablet} {
|
|
18
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
${responsive.mobile} {
|
|
22
|
+
grid-template-columns: 1fr;
|
|
23
|
+
}
|
|
24
|
+
`,
|
|
25
|
+
icon: css`
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
|
|
30
|
+
inline-size: 30px;
|
|
31
|
+
block-size: 30px;
|
|
32
|
+
margin-block-end: 14px;
|
|
33
|
+
border-radius: 9px;
|
|
34
|
+
|
|
35
|
+
color: ${cssVar.colorPrimary};
|
|
36
|
+
|
|
37
|
+
background: ${cssVar.colorPrimaryBg};
|
|
38
|
+
`,
|
|
39
|
+
item: css`
|
|
40
|
+
display: block;
|
|
41
|
+
|
|
42
|
+
padding-block: 20px 22px;
|
|
43
|
+
padding-inline: 20px;
|
|
44
|
+
border: 1px solid ${cssVar.colorBorderSecondary};
|
|
45
|
+
border-radius: ${cssVar.borderRadiusLG};
|
|
46
|
+
|
|
47
|
+
color: inherit;
|
|
48
|
+
text-decoration: none;
|
|
49
|
+
|
|
50
|
+
background: color-mix(in srgb, ${cssVar.colorBgElevated} 25%, transparent);
|
|
51
|
+
box-shadow: ${cssVar.boxShadowTertiary};
|
|
52
|
+
|
|
53
|
+
transition:
|
|
54
|
+
border-color 140ms ease,
|
|
55
|
+
box-shadow 140ms ease;
|
|
56
|
+
|
|
57
|
+
&:hover {
|
|
58
|
+
border-color: ${cssVar.colorBorder};
|
|
59
|
+
box-shadow: ${cssVar.boxShadowSecondary};
|
|
60
|
+
}
|
|
61
|
+
`,
|
|
62
|
+
title: css`
|
|
63
|
+
margin-block: 0 6px;
|
|
64
|
+
margin-inline: 0;
|
|
65
|
+
|
|
66
|
+
font-size: 15px;
|
|
67
|
+
font-weight: 600;
|
|
68
|
+
color: ${cssVar.colorText};
|
|
69
|
+
letter-spacing: -0.01em;
|
|
70
|
+
`
|
|
71
|
+
}));
|
|
72
|
+
//#endregion
|
|
73
|
+
export { styles };
|
|
74
|
+
|
|
75
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/awesome/FeatureGrid/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar, responsive }) => ({\n description: css`\n margin: 0;\n\n font-size: 13.5px;\n line-height: 1.65;\n color: ${cssVar.colorTextSecondary};\n text-wrap: pretty;\n `,\n grid: css`\n display: grid;\n grid-template-columns: repeat(var(--feature-grid-columns), minmax(0, 1fr));\n gap: 16px;\n\n ${responsive.tablet} {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n\n ${responsive.mobile} {\n grid-template-columns: 1fr;\n }\n `,\n icon: css`\n display: flex;\n align-items: center;\n justify-content: center;\n\n inline-size: 30px;\n block-size: 30px;\n margin-block-end: 14px;\n border-radius: 9px;\n\n color: ${cssVar.colorPrimary};\n\n background: ${cssVar.colorPrimaryBg};\n `,\n item: css`\n display: block;\n\n padding-block: 20px 22px;\n padding-inline: 20px;\n border: 1px solid ${cssVar.colorBorderSecondary};\n border-radius: ${cssVar.borderRadiusLG};\n\n color: inherit;\n text-decoration: none;\n\n background: color-mix(in srgb, ${cssVar.colorBgElevated} 25%, transparent);\n box-shadow: ${cssVar.boxShadowTertiary};\n\n transition:\n border-color 140ms ease,\n box-shadow 140ms ease;\n\n &:hover {\n border-color: ${cssVar.colorBorder};\n box-shadow: ${cssVar.boxShadowSecondary};\n }\n `,\n title: css`\n margin-block: 0 6px;\n margin-inline: 0;\n\n font-size: 15px;\n font-weight: 600;\n color: ${cssVar.colorText};\n letter-spacing: -0.01em;\n `,\n}));\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,QAAQ,kBAAkB;CACzE,aAAa,GAAG;;;;;aAKL,OAAO,mBAAmB;;;CAGrC,MAAM,GAAG;;;;;MAKL,WAAW,OAAO;;;;MAIlB,WAAW,OAAO;;;;CAItB,MAAM,GAAG;;;;;;;;;;aAUE,OAAO,aAAa;;kBAEf,OAAO,eAAe;;CAEtC,MAAM,GAAG;;;;;wBAKa,OAAO,qBAAqB;qBAC/B,OAAO,eAAe;;;;;qCAKN,OAAO,gBAAgB;kBAC1C,OAAO,kBAAkB;;;;;;;sBAOrB,OAAO,YAAY;oBACrB,OAAO,mBAAmB;;;CAG5C,OAAO,GAAG;;;;;;aAMC,OAAO,UAAU;;;AAG9B,EAAE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DivProps } from "../../types/index.mjs";
|
|
2
|
+
import { IconProps } from "../../Icon/type.mjs";
|
|
3
|
+
import "../../Icon/index.mjs";
|
|
4
|
+
import { LandingLinkRender } from "../landingLink.mjs";
|
|
5
|
+
import { ReactNode } from "react";
|
|
6
|
+
//#region src/awesome/FeatureGrid/type.d.ts
|
|
7
|
+
interface FeatureGridItem {
|
|
8
|
+
description: ReactNode;
|
|
9
|
+
/** Makes the whole card a link. */
|
|
10
|
+
href?: string;
|
|
11
|
+
icon?: IconProps['icon'];
|
|
12
|
+
title: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
interface FeatureGridProps extends DivProps {
|
|
15
|
+
/**
|
|
16
|
+
* Columns on wide screens. The grid collapses to one column on phones.
|
|
17
|
+
* @default 3
|
|
18
|
+
*/
|
|
19
|
+
columns?: number;
|
|
20
|
+
items: FeatureGridItem[];
|
|
21
|
+
renderLink?: LandingLinkRender;
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { FeatureGridItem, FeatureGridProps };
|
|
25
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FluidGradientProps } from "./type.mjs";
|
|
2
|
+
//#region src/awesome/FluidGradient/FluidGradient.d.ts
|
|
3
|
+
declare const FluidGradient: import("react").NamedExoticComponent<FluidGradientProps>;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { FluidGradient as default };
|
|
6
|
+
//# sourceMappingURL=FluidGradient.d.mts.map
|