@lobehub/ui 5.48.2 → 5.49.1
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/Markdown/type.d.mts +1 -0
- 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/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/hooks/useMarkdown/useMarkdownRehypePlugins.mjs +2 -0
- package/es/hooks/useMarkdown/useMarkdownRehypePlugins.mjs.map +1 -1
- 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 +7 -2
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
|
+
//#region src/dashboard/StatCard/style.ts
|
|
3
|
+
const styles = createStaticStyles(({ css, cssVar, responsive }) => ({
|
|
4
|
+
badge: css`
|
|
5
|
+
display: inline-flex;
|
|
6
|
+
flex: none;
|
|
7
|
+
align-items: center;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
|
|
10
|
+
inline-size: 24px;
|
|
11
|
+
block-size: 24px;
|
|
12
|
+
border: 1px solid ${cssVar.colorFillSecondary};
|
|
13
|
+
border-radius: ${cssVar.borderRadiusSM};
|
|
14
|
+
|
|
15
|
+
color: ${cssVar.colorTextTertiary};
|
|
16
|
+
|
|
17
|
+
background: ${cssVar.colorFillTertiary};
|
|
18
|
+
`,
|
|
19
|
+
body: css`
|
|
20
|
+
position: relative;
|
|
21
|
+
z-index: 1;
|
|
22
|
+
`,
|
|
23
|
+
copy: css`
|
|
24
|
+
flex-wrap: nowrap;
|
|
25
|
+
min-inline-size: 0;
|
|
26
|
+
`,
|
|
27
|
+
delta: css`
|
|
28
|
+
display: inline-flex;
|
|
29
|
+
gap: 2px;
|
|
30
|
+
align-items: center;
|
|
31
|
+
|
|
32
|
+
font-size: ${cssVar.fontSizeSM};
|
|
33
|
+
font-variant-numeric: tabular-nums;
|
|
34
|
+
`,
|
|
35
|
+
deltaDown: css`
|
|
36
|
+
color: ${cssVar.colorError};
|
|
37
|
+
`,
|
|
38
|
+
deltaFlat: css`
|
|
39
|
+
color: ${cssVar.colorTextTertiary};
|
|
40
|
+
`,
|
|
41
|
+
deltaUp: css`
|
|
42
|
+
color: ${cssVar.colorSuccess};
|
|
43
|
+
`,
|
|
44
|
+
frame: css`
|
|
45
|
+
&&& {
|
|
46
|
+
border-color: ${cssVar.colorBorderSecondary};
|
|
47
|
+
}
|
|
48
|
+
`,
|
|
49
|
+
gray: css`
|
|
50
|
+
&::before {
|
|
51
|
+
background: linear-gradient(
|
|
52
|
+
to bottom,
|
|
53
|
+
${cssVar.colorBgElevated} 0%,
|
|
54
|
+
color-mix(in srgb, ${cssVar.colorText} 4%, ${cssVar.colorBgElevated}) 100%
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
`,
|
|
58
|
+
hint: css`
|
|
59
|
+
font-size: ${cssVar.fontSizeSM};
|
|
60
|
+
color: ${cssVar.colorTextTertiary};
|
|
61
|
+
`,
|
|
62
|
+
label: css`
|
|
63
|
+
font-size: ${cssVar.fontSizeSM};
|
|
64
|
+
color: ${cssVar.colorTextSecondary};
|
|
65
|
+
`,
|
|
66
|
+
lift: css`
|
|
67
|
+
display: flex;
|
|
68
|
+
min-inline-size: 0;
|
|
69
|
+
border-radius: ${cssVar.borderRadiusLG};
|
|
70
|
+
box-shadow: ${cssVar.boxShadowTertiary};
|
|
71
|
+
`,
|
|
72
|
+
metricFoot: css`
|
|
73
|
+
margin-block-start: 14px;
|
|
74
|
+
`,
|
|
75
|
+
metricHint: css`
|
|
76
|
+
&& {
|
|
77
|
+
font-size: ${cssVar.fontSize};
|
|
78
|
+
color: ${cssVar.colorText};
|
|
79
|
+
}
|
|
80
|
+
`,
|
|
81
|
+
metricLabel: css`
|
|
82
|
+
&& {
|
|
83
|
+
font-size: ${cssVar.fontSize};
|
|
84
|
+
font-weight: 500;
|
|
85
|
+
color: ${cssVar.colorText};
|
|
86
|
+
}
|
|
87
|
+
`,
|
|
88
|
+
metricValue: css`
|
|
89
|
+
&& {
|
|
90
|
+
margin-block-start: 6px;
|
|
91
|
+
|
|
92
|
+
font-size: ${cssVar.fontSizeHeading2};
|
|
93
|
+
font-weight: 700;
|
|
94
|
+
font-variant-numeric: tabular-nums;
|
|
95
|
+
line-height: 1.05;
|
|
96
|
+
color: ${cssVar.colorText};
|
|
97
|
+
}
|
|
98
|
+
`,
|
|
99
|
+
root: css`
|
|
100
|
+
position: relative;
|
|
101
|
+
|
|
102
|
+
overflow: hidden;
|
|
103
|
+
flex: 1;
|
|
104
|
+
|
|
105
|
+
min-inline-size: 0;
|
|
106
|
+
padding: 16px;
|
|
107
|
+
`,
|
|
108
|
+
value: css`
|
|
109
|
+
font-size: ${cssVar.fontSizeHeading2};
|
|
110
|
+
font-weight: 600;
|
|
111
|
+
font-variant-numeric: tabular-nums;
|
|
112
|
+
line-height: 1.2;
|
|
113
|
+
color: ${cssVar.colorText};
|
|
114
|
+
|
|
115
|
+
${responsive.mobile} {
|
|
116
|
+
font-size: ${cssVar.fontSizeHeading3};
|
|
117
|
+
}
|
|
118
|
+
`,
|
|
119
|
+
wash: css`
|
|
120
|
+
isolation: isolate;
|
|
121
|
+
|
|
122
|
+
&::before {
|
|
123
|
+
pointer-events: none;
|
|
124
|
+
content: '';
|
|
125
|
+
|
|
126
|
+
position: absolute;
|
|
127
|
+
z-index: 0;
|
|
128
|
+
inset: 0;
|
|
129
|
+
}
|
|
130
|
+
`
|
|
131
|
+
}));
|
|
132
|
+
//#endregion
|
|
133
|
+
export { styles };
|
|
134
|
+
|
|
135
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/StatCard/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar, responsive }) => ({\n badge: css`\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n\n inline-size: 24px;\n block-size: 24px;\n border: 1px solid ${cssVar.colorFillSecondary};\n border-radius: ${cssVar.borderRadiusSM};\n\n color: ${cssVar.colorTextTertiary};\n\n background: ${cssVar.colorFillTertiary};\n `,\n body: css`\n position: relative;\n z-index: 1;\n `,\n copy: css`\n flex-wrap: nowrap;\n min-inline-size: 0;\n `,\n delta: css`\n display: inline-flex;\n gap: 2px;\n align-items: center;\n\n font-size: ${cssVar.fontSizeSM};\n font-variant-numeric: tabular-nums;\n `,\n deltaDown: css`\n color: ${cssVar.colorError};\n `,\n deltaFlat: css`\n color: ${cssVar.colorTextTertiary};\n `,\n deltaUp: css`\n color: ${cssVar.colorSuccess};\n `,\n frame: css`\n &&& {\n border-color: ${cssVar.colorBorderSecondary};\n }\n `,\n gray: css`\n &::before {\n background: linear-gradient(\n to bottom,\n ${cssVar.colorBgElevated} 0%,\n color-mix(in srgb, ${cssVar.colorText} 4%, ${cssVar.colorBgElevated}) 100%\n );\n }\n `,\n hint: css`\n font-size: ${cssVar.fontSizeSM};\n color: ${cssVar.colorTextTertiary};\n `,\n label: css`\n font-size: ${cssVar.fontSizeSM};\n color: ${cssVar.colorTextSecondary};\n `,\n lift: css`\n display: flex;\n min-inline-size: 0;\n border-radius: ${cssVar.borderRadiusLG};\n box-shadow: ${cssVar.boxShadowTertiary};\n `,\n metricFoot: css`\n margin-block-start: 14px;\n `,\n metricHint: css`\n && {\n font-size: ${cssVar.fontSize};\n color: ${cssVar.colorText};\n }\n `,\n metricLabel: css`\n && {\n font-size: ${cssVar.fontSize};\n font-weight: 500;\n color: ${cssVar.colorText};\n }\n `,\n metricValue: css`\n && {\n margin-block-start: 6px;\n\n font-size: ${cssVar.fontSizeHeading2};\n font-weight: 700;\n font-variant-numeric: tabular-nums;\n line-height: 1.05;\n color: ${cssVar.colorText};\n }\n `,\n root: css`\n position: relative;\n\n overflow: hidden;\n flex: 1;\n\n min-inline-size: 0;\n padding: 16px;\n `,\n value: css`\n font-size: ${cssVar.fontSizeHeading2};\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n line-height: 1.2;\n color: ${cssVar.colorText};\n\n ${responsive.mobile} {\n font-size: ${cssVar.fontSizeHeading3};\n }\n `,\n wash: css`\n isolation: isolate;\n\n &::before {\n pointer-events: none;\n content: '';\n\n position: absolute;\n z-index: 0;\n inset: 0;\n }\n `,\n}));\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,QAAQ,kBAAkB;CACzE,OAAO,GAAG;;;;;;;;wBAQY,OAAO,mBAAmB;qBAC7B,OAAO,eAAe;;aAE9B,OAAO,kBAAkB;;kBAEpB,OAAO,kBAAkB;;CAEzC,MAAM,GAAG;;;;CAIT,MAAM,GAAG;;;;CAIT,OAAO,GAAG;;;;;iBAKK,OAAO,WAAW;;;CAGjC,WAAW,GAAG;aACH,OAAO,WAAW;;CAE7B,WAAW,GAAG;aACH,OAAO,kBAAkB;;CAEpC,SAAS,GAAG;aACD,OAAO,aAAa;;CAE/B,OAAO,GAAG;;sBAEU,OAAO,qBAAqB;;;CAGhD,MAAM,GAAG;;;;UAID,OAAO,gBAAgB;6BACJ,OAAO,UAAU,OAAO,OAAO,gBAAgB;;;;CAI1E,MAAM,GAAG;iBACM,OAAO,WAAW;aACtB,OAAO,kBAAkB;;CAEpC,OAAO,GAAG;iBACK,OAAO,WAAW;aACtB,OAAO,mBAAmB;;CAErC,MAAM,GAAG;;;qBAGU,OAAO,eAAe;kBACzB,OAAO,kBAAkB;;CAEzC,YAAY,GAAG;;;CAGf,YAAY,GAAG;;mBAEE,OAAO,SAAS;eACpB,OAAO,UAAU;;;CAG9B,aAAa,GAAG;;mBAEC,OAAO,SAAS;;eAEpB,OAAO,UAAU;;;CAG9B,aAAa,GAAG;;;;mBAIC,OAAO,iBAAiB;;;;eAI5B,OAAO,UAAU;;;CAG9B,MAAM,GAAG;;;;;;;;;CAST,OAAO,GAAG;iBACK,OAAO,iBAAiB;;;;aAI5B,OAAO,UAAU;;MAExB,WAAW,OAAO;mBACL,OAAO,iBAAiB;;;CAGzC,MAAM,GAAG;;;;;;;;;;;;AAYX,EAAE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { IconProps } from "../../Icon/type.mjs";
|
|
2
|
+
import "../../Icon/index.mjs";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
//#region src/dashboard/StatCard/type.d.ts
|
|
5
|
+
type StatDirection = 'up' | 'down' | 'flat';
|
|
6
|
+
/** Top-to-bottom gray wash. Decorative color fields stay in the app. */
|
|
7
|
+
type StatWash = 'gray';
|
|
8
|
+
interface StatCardProps {
|
|
9
|
+
/** Control rendered on the label row, such as a menu. */
|
|
10
|
+
action?: ReactNode;
|
|
11
|
+
/** Change amount, colored by `direction`. */
|
|
12
|
+
delta?: string;
|
|
13
|
+
direction?: StatDirection;
|
|
14
|
+
/** Line under the figure. */
|
|
15
|
+
hint?: string;
|
|
16
|
+
label: ReactNode;
|
|
17
|
+
/** Corner glyph. Hidden from assistive tech so it does not repeat the label. */
|
|
18
|
+
mark?: IconProps['icon'];
|
|
19
|
+
/** Overview scale: label, then a large figure, then the note. */
|
|
20
|
+
prominent?: boolean;
|
|
21
|
+
value: ReactNode;
|
|
22
|
+
wash?: StatWash;
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { StatCardProps, StatDirection, StatWash };
|
|
26
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SurfaceProps } from "./type.mjs";
|
|
2
|
+
//#region src/dashboard/Surface/Surface.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Elevated card on a workspace canvas. Use it for panels that should read
|
|
5
|
+
* above the page background without inventing a new surface color.
|
|
6
|
+
*/
|
|
7
|
+
declare function Surface({ className, ...rest }: SurfaceProps): import("react").JSX.Element;
|
|
8
|
+
declare namespace Surface {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { Surface as default };
|
|
13
|
+
//# sourceMappingURL=Surface.d.mts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { styles } from "./style.mjs";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { cx } from "antd-style";
|
|
5
|
+
//#region src/dashboard/Surface/Surface.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Elevated card on a workspace canvas. Use it for panels that should read
|
|
8
|
+
* above the page background without inventing a new surface color.
|
|
9
|
+
*/
|
|
10
|
+
function Surface({ className, ...rest }) {
|
|
11
|
+
return /* @__PURE__ */ jsx("div", {
|
|
12
|
+
className: cx(styles.card, className),
|
|
13
|
+
...rest
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
Surface.displayName = "Surface";
|
|
17
|
+
//#endregion
|
|
18
|
+
export { Surface as default };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=Surface.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Surface.mjs","names":[],"sources":["../../../src/dashboard/Surface/Surface.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\n\nimport { styles } from './style';\nimport type { SurfaceProps } from './type';\n\n/**\n * Elevated card on a workspace canvas. Use it for panels that should read\n * above the page background without inventing a new surface color.\n */\nfunction Surface({ className, ...rest }: SurfaceProps) {\n return <div className={cx(styles.card, className)} {...rest} />;\n}\n\nSurface.displayName = 'Surface';\n\nexport default Surface;\n"],"mappings":";;;;;;;;;AAWA,SAAS,QAAQ,EAAE,WAAW,GAAG,QAAsB;CACrD,OAAO,oBAAC,OAAD;EAAK,WAAW,GAAG,OAAO,MAAM,SAAS;EAAG,GAAI;CAAO,CAAA;AAChE;AAEA,QAAQ,cAAc"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/dashboard/Surface/style.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* A content card sitting on the workspace.
|
|
4
|
+
*
|
|
5
|
+
* Outlined `Block` uses `colorBorderSecondary` on `colorBgContainer`.
|
|
6
|
+
* The workspace is already that container, so a card inside it steps up to
|
|
7
|
+
* `colorBgElevated` and `colorBorder`.
|
|
8
|
+
*/
|
|
9
|
+
declare const styles: {
|
|
10
|
+
card: string;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { styles };
|
|
14
|
+
//# sourceMappingURL=style.d.mts.map
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
|
+
//#region src/dashboard/Surface/style.ts
|
|
3
|
+
/**
|
|
4
|
+
* A content card sitting on the workspace.
|
|
5
|
+
*
|
|
6
|
+
* Outlined `Block` uses `colorBorderSecondary` on `colorBgContainer`.
|
|
7
|
+
* The workspace is already that container, so a card inside it steps up to
|
|
8
|
+
* `colorBgElevated` and `colorBorder`.
|
|
9
|
+
*/
|
|
10
|
+
const styles = createStaticStyles(({ css, cssVar }) => ({ card: css`
|
|
11
|
+
&&,
|
|
12
|
+
&&:hover {
|
|
13
|
+
border: 1px solid ${cssVar.colorBorder};
|
|
14
|
+
border-radius: ${cssVar.borderRadiusLG};
|
|
15
|
+
background: ${cssVar.colorBgElevated};
|
|
16
|
+
box-shadow: ${cssVar.boxShadowTertiary};
|
|
17
|
+
}
|
|
18
|
+
` }));
|
|
19
|
+
//#endregion
|
|
20
|
+
export { styles };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/Surface/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\n/**\n * A content card sitting on the workspace.\n *\n * Outlined `Block` uses `colorBorderSecondary` on `colorBgContainer`.\n * The workspace is already that container, so a card inside it steps up to\n * `colorBgElevated` and `colorBorder`.\n */\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n card: css`\n &&,\n &&:hover {\n border: 1px solid ${cssVar.colorBorder};\n border-radius: ${cssVar.borderRadiusLG};\n background: ${cssVar.colorBgElevated};\n box-shadow: ${cssVar.boxShadowTertiary};\n }\n `,\n}));\n"],"mappings":";;;;;;;;;AASA,MAAa,SAAS,oBAAoB,EAAE,KAAK,cAAc,EAC7D,MAAM,GAAG;;;0BAGe,OAAO,YAAY;uBACtB,OAAO,eAAe;oBACzB,OAAO,gBAAgB;oBACvB,OAAO,kBAAkB;;IAG7C,EAAE"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
//#region src/dashboard/Surface/type.d.ts
|
|
3
|
+
interface SurfaceProps extends HTMLAttributes<HTMLDivElement> {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
export { SurfaceProps };
|
|
8
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState, useSyncExternalStore } from "react";
|
|
3
|
+
//#region src/dashboard/hooks.ts
|
|
4
|
+
function useMediaQuery(query) {
|
|
5
|
+
const list = useMemo(() => typeof window === "undefined" ? null : window.matchMedia(query), [query]);
|
|
6
|
+
const subscribe = useCallback((listener) => {
|
|
7
|
+
if (!list) return () => {};
|
|
8
|
+
list.addEventListener("change", listener);
|
|
9
|
+
return () => list.removeEventListener("change", listener);
|
|
10
|
+
}, [list]);
|
|
11
|
+
return useSyncExternalStore(subscribe, () => list?.matches ?? false, () => false);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Tablet and below. Matches `responsive.laptop` (max-width 991px), which is
|
|
15
|
+
* the width where a fixed console sidebar becomes a drawer.
|
|
16
|
+
*/
|
|
17
|
+
function useIsCompact() {
|
|
18
|
+
return useMediaQuery("(max-width: 991px)");
|
|
19
|
+
}
|
|
20
|
+
function usePrefersReducedMotion() {
|
|
21
|
+
return useMediaQuery("(prefers-reduced-motion: reduce)");
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Reads storage after mount so the first render matches the server.
|
|
25
|
+
* Omit `key` to keep the value in memory only.
|
|
26
|
+
*/
|
|
27
|
+
function useLocalStorage(key, defaultValue) {
|
|
28
|
+
const [value, setValue] = useState(defaultValue);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (!key) return;
|
|
31
|
+
try {
|
|
32
|
+
const raw = window.localStorage.getItem(key);
|
|
33
|
+
if (raw !== null) setValue(JSON.parse(raw));
|
|
34
|
+
} catch {}
|
|
35
|
+
}, [key]);
|
|
36
|
+
return [value, useCallback((next) => {
|
|
37
|
+
setValue((current) => {
|
|
38
|
+
const resolved = typeof next === "function" ? next(current) : next;
|
|
39
|
+
if (key) try {
|
|
40
|
+
window.localStorage.setItem(key, JSON.stringify(resolved));
|
|
41
|
+
} catch {}
|
|
42
|
+
return resolved;
|
|
43
|
+
});
|
|
44
|
+
}, [key])];
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { useIsCompact, useLocalStorage, useMediaQuery, usePrefersReducedMotion };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=hooks.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.mjs","names":[],"sources":["../../src/dashboard/hooks.ts"],"sourcesContent":["'use client';\n\nimport type { Dispatch, SetStateAction } from 'react';\nimport { useCallback, useEffect, useMemo, useState, useSyncExternalStore } from 'react';\n\nexport function useMediaQuery(query: string) {\n const list = useMemo(\n () => (typeof window === 'undefined' ? null : window.matchMedia(query)),\n [query],\n );\n\n const subscribe = useCallback(\n (listener: () => void) => {\n if (!list) return () => {};\n list.addEventListener('change', listener);\n return () => list.removeEventListener('change', listener);\n },\n [list],\n );\n\n return useSyncExternalStore(\n subscribe,\n () => list?.matches ?? false,\n () => false,\n );\n}\n\n/** Phone-width layouts. Matches `responsive.mobile` (max-width 575px). */\nexport function useIsMobile() {\n return useMediaQuery('(max-width: 575px)');\n}\n\n/**\n * Tablet and below. Matches `responsive.laptop` (max-width 991px), which is\n * the width where a fixed console sidebar becomes a drawer.\n */\nexport function useIsCompact() {\n return useMediaQuery('(max-width: 991px)');\n}\n\nexport function usePrefersReducedMotion() {\n return useMediaQuery('(prefers-reduced-motion: reduce)');\n}\n\n/**\n * Reads storage after mount so the first render matches the server.\n * Omit `key` to keep the value in memory only.\n */\nexport function useLocalStorage<T>(key: string | undefined, defaultValue: T) {\n const [value, setValue] = useState<T>(defaultValue);\n\n useEffect(() => {\n if (!key) return;\n try {\n const raw = window.localStorage.getItem(key);\n if (raw !== null) setValue(JSON.parse(raw) as T);\n } catch {\n // Ignore unreadable storage and keep the default.\n }\n }, [key]);\n\n const setStoredValue = useCallback<Dispatch<SetStateAction<T>>>(\n (next) => {\n setValue((current) => {\n const resolved = typeof next === 'function' ? (next as (value: T) => T)(current) : next;\n if (key) {\n try {\n window.localStorage.setItem(key, JSON.stringify(resolved));\n } catch {\n // Ignore quota and private-mode failures.\n }\n }\n return resolved;\n });\n },\n [key],\n );\n\n return [value, setStoredValue] as const;\n}\n"],"mappings":";;;AAKA,SAAgB,cAAc,OAAe;CAC3C,MAAM,OAAO,cACJ,OAAO,WAAW,cAAc,OAAO,OAAO,WAAW,KAAK,GACrE,CAAC,KAAK,CACR;CAEA,MAAM,YAAY,aACf,aAAyB;EACxB,IAAI,CAAC,MAAM,aAAa,CAAC;EACzB,KAAK,iBAAiB,UAAU,QAAQ;EACxC,aAAa,KAAK,oBAAoB,UAAU,QAAQ;CAC1D,GACA,CAAC,IAAI,CACP;CAEA,OAAO,qBACL,iBACM,MAAM,WAAW,aACjB,KACR;AACF;;;;;AAWA,SAAgB,eAAe;CAC7B,OAAO,cAAc,oBAAoB;AAC3C;AAEA,SAAgB,0BAA0B;CACxC,OAAO,cAAc,kCAAkC;AACzD;;;;;AAMA,SAAgB,gBAAmB,KAAyB,cAAiB;CAC3E,MAAM,CAAC,OAAO,YAAY,SAAY,YAAY;CAElD,gBAAgB;EACd,IAAI,CAAC,KAAK;EACV,IAAI;GACF,MAAM,MAAM,OAAO,aAAa,QAAQ,GAAG;GAC3C,IAAI,QAAQ,MAAM,SAAS,KAAK,MAAM,GAAG,CAAM;EACjD,QAAQ,CAER;CACF,GAAG,CAAC,GAAG,CAAC;CAmBR,OAAO,CAAC,OAjBe,aACpB,SAAS;EACR,UAAU,YAAY;GACpB,MAAM,WAAW,OAAO,SAAS,aAAc,KAAyB,OAAO,IAAI;GACnF,IAAI,KACF,IAAI;IACF,OAAO,aAAa,QAAQ,KAAK,KAAK,UAAU,QAAQ,CAAC;GAC3D,QAAQ,CAER;GAEF,OAAO;EACT,CAAC;CACH,GACA,CAAC,GAAG,CAGsB,CAAC;AAC/B"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { AuthLayoutProps } from "./AuthLayout/type.mjs";
|
|
2
|
+
import AuthLayout from "./AuthLayout/AuthLayout.mjs";
|
|
3
|
+
import "./AuthLayout/index.mjs";
|
|
4
|
+
import { BreadcrumbItem, BreadcrumbProps } from "./Breadcrumb/type.mjs";
|
|
5
|
+
import Breadcrumb from "./Breadcrumb/Breadcrumb.mjs";
|
|
6
|
+
import "./Breadcrumb/index.mjs";
|
|
7
|
+
import { ConsoleNavGroup, ConsoleNavItem, ConsoleNavProps } from "./ConsoleNav/type.mjs";
|
|
8
|
+
import { resolveActiveHref } from "./ConsoleNav/active.mjs";
|
|
9
|
+
import ConsoleNav from "./ConsoleNav/ConsoleNav.mjs";
|
|
10
|
+
import "./ConsoleNav/index.mjs";
|
|
11
|
+
import { ConsoleBrandProps, ConsoleShellProps, ConsoleShellState } from "./ConsoleShell/type.mjs";
|
|
12
|
+
import ConsoleBrand from "./ConsoleShell/ConsoleBrand.mjs";
|
|
13
|
+
import ConsoleShell from "./ConsoleShell/ConsoleShell.mjs";
|
|
14
|
+
import { useConsoleShell } from "./ConsoleShell/context.mjs";
|
|
15
|
+
import "./ConsoleShell/index.mjs";
|
|
16
|
+
import { useInFilterSplit } from "./FilterSidebar/context.mjs";
|
|
17
|
+
import { FilterOptionProps, FilterRowProps, FilterSidebarProps } from "./FilterSidebar/type.mjs";
|
|
18
|
+
import FilterSidebar, { FilterOption, FilterRow } from "./FilterSidebar/FilterSidebar.mjs";
|
|
19
|
+
import "./FilterSidebar/index.mjs";
|
|
20
|
+
import { PageHeaderProps } from "./PageHeader/type.mjs";
|
|
21
|
+
import PageHeader from "./PageHeader/PageHeader.mjs";
|
|
22
|
+
import "./PageHeader/index.mjs";
|
|
23
|
+
import { PageLoadingProps } from "./PageSkeleton/type.mjs";
|
|
24
|
+
import PageLoading, { LoadingAnnouncer, PageHeaderSkeleton, StatCardSkeleton, TableSkeleton } from "./PageSkeleton/PageSkeleton.mjs";
|
|
25
|
+
import { PageTab, PageTabsProps } from "./PageTabs/type.mjs";
|
|
26
|
+
import PageTabs from "./PageTabs/PageTabs.mjs";
|
|
27
|
+
import "./PageTabs/index.mjs";
|
|
28
|
+
import { RouteProgressProps } from "./RouteProgress/type.mjs";
|
|
29
|
+
import RouteProgress from "./RouteProgress/RouteProgress.mjs";
|
|
30
|
+
import { StatCardProps, StatDirection } from "./StatCard/type.mjs";
|
|
31
|
+
import StatCard from "./StatCard/StatCard.mjs";
|
|
32
|
+
import "./StatCard/index.mjs";
|
|
33
|
+
import { styles } from "./Surface/style.mjs";
|
|
34
|
+
import { SurfaceProps } from "./Surface/type.mjs";
|
|
35
|
+
import Surface from "./Surface/Surface.mjs";
|
|
36
|
+
import "./Surface/index.mjs";
|
|
37
|
+
export { AuthLayout, type AuthLayoutProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, ConsoleBrand, type ConsoleBrandProps, ConsoleNav, type ConsoleNavGroup, type ConsoleNavItem, type ConsoleNavProps, ConsoleShell, type ConsoleShellProps, type ConsoleShellState, FilterOption, type FilterOptionProps, FilterRow, type FilterRowProps, FilterSidebar, type FilterSidebarProps, LoadingAnnouncer, PageHeader, type PageHeaderProps, PageHeaderSkeleton, PageLoading, type PageLoadingProps, type PageTab, PageTabs, type PageTabsProps, RouteProgress, type RouteProgressProps, StatCard, type StatCardProps, StatCardSkeleton, type StatDirection, Surface, type SurfaceProps, TableSkeleton, resolveActiveHref, styles as surfaceStyles, useConsoleShell, useInFilterSplit };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './index.d.mts';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './index.mjs';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { styles } from "./Surface/style.mjs";
|
|
2
|
+
import AuthLayout from "./AuthLayout/AuthLayout.mjs";
|
|
3
|
+
import Breadcrumb from "./Breadcrumb/Breadcrumb.mjs";
|
|
4
|
+
import { resolveActiveHref } from "./ConsoleNav/active.mjs";
|
|
5
|
+
import { useConsoleShell } from "./ConsoleShell/context.mjs";
|
|
6
|
+
import ConsoleNav from "./ConsoleNav/ConsoleNav.mjs";
|
|
7
|
+
import ConsoleBrand from "./ConsoleShell/ConsoleBrand.mjs";
|
|
8
|
+
import ConsoleShell from "./ConsoleShell/ConsoleShell.mjs";
|
|
9
|
+
import { useInFilterSplit } from "./FilterSidebar/context.mjs";
|
|
10
|
+
import FilterSidebar, { FilterOption, FilterRow } from "./FilterSidebar/FilterSidebar.mjs";
|
|
11
|
+
import PageHeader from "./PageHeader/PageHeader.mjs";
|
|
12
|
+
import PageLoading, { LoadingAnnouncer, PageHeaderSkeleton, StatCardSkeleton, TableSkeleton } from "./PageSkeleton/PageSkeleton.mjs";
|
|
13
|
+
import PageTabs from "./PageTabs/PageTabs.mjs";
|
|
14
|
+
import RouteProgress from "./RouteProgress/RouteProgress.mjs";
|
|
15
|
+
import StatCard from "./StatCard/StatCard.mjs";
|
|
16
|
+
import Surface from "./Surface/Surface.mjs";
|
|
17
|
+
export { AuthLayout, Breadcrumb, ConsoleBrand, ConsoleNav, ConsoleShell, FilterOption, FilterRow, FilterSidebar, LoadingAnnouncer, PageHeader, PageHeaderSkeleton, PageLoading, PageTabs, RouteProgress, StatCard, StatCardSkeleton, Surface, TableSkeleton, resolveActiveHref, styles as surfaceStyles, useConsoleShell, useInFilterSplit };
|
|
@@ -6,11 +6,13 @@ import { rehypeKatexDir } from "../../Markdown/plugins/rehypeKatexDir.mjs";
|
|
|
6
6
|
import { useMemo } from "react";
|
|
7
7
|
import { rehypeGithubAlerts } from "rehype-github-alerts";
|
|
8
8
|
import rehypeRaw from "rehype-raw";
|
|
9
|
+
import rehypeSanitize from "rehype-sanitize";
|
|
9
10
|
//#region src/hooks/useMarkdown/useMarkdownRehypePlugins.ts
|
|
10
11
|
const useMarkdownRehypePlugins = () => {
|
|
11
12
|
const { enableLatex, enableCustomFootnotes, enableGithubAlert, allowHtml, rehypePlugins = [], rehypePluginsAhead = [] } = useMarkdownContext();
|
|
12
13
|
const memoPlugins = useMemo(() => [
|
|
13
14
|
allowHtml && rehypeRaw,
|
|
15
|
+
allowHtml && rehypeSanitize,
|
|
14
16
|
enableGithubAlert && rehypeGithubAlerts,
|
|
15
17
|
enableLatex && rehypeKatex,
|
|
16
18
|
enableLatex && rehypeKatexDir,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarkdownRehypePlugins.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/useMarkdownRehypePlugins.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport { rehypeGithubAlerts } from 'rehype-github-alerts';\nimport rehypeRaw from 'rehype-raw';\nimport type { Pluggable } from 'unified';\n\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\nimport { rehypeCustomFootnotes } from '@/Markdown/plugins/rehypeCustomFootnotes';\nimport { rehypeKatex } from '@/Markdown/plugins/rehypeKatex';\nimport { rehypeKatexDir } from '@/Markdown/plugins/rehypeKatexDir';\n\nexport const useMarkdownRehypePlugins = (): Pluggable[] => {\n const {\n enableLatex,\n enableCustomFootnotes,\n enableGithubAlert,\n allowHtml,\n rehypePlugins = [],\n rehypePluginsAhead = [],\n } = useMarkdownContext();\n\n const memoPlugins = useMemo(\n () =>\n [\n allowHtml && rehypeRaw,\n enableGithubAlert && rehypeGithubAlerts,\n enableLatex && rehypeKatex,\n enableLatex && rehypeKatexDir,\n enableCustomFootnotes && rehypeCustomFootnotes,\n ].filter(Boolean) as Pluggable[],\n [enableLatex, enableGithubAlert, enableCustomFootnotes, allowHtml],\n );\n\n return useMemo(\n () => [...rehypePluginsAhead, ...memoPlugins, ...rehypePlugins],\n [rehypePlugins, memoPlugins, rehypePluginsAhead],\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMarkdownRehypePlugins.mjs","names":[],"sources":["../../../src/hooks/useMarkdown/useMarkdownRehypePlugins.ts"],"sourcesContent":["'use client';\n\nimport { useMemo } from 'react';\nimport { rehypeGithubAlerts } from 'rehype-github-alerts';\nimport rehypeRaw from 'rehype-raw';\nimport rehypeSanitize from 'rehype-sanitize';\nimport type { Pluggable } from 'unified';\n\nimport { useMarkdownContext } from '@/Markdown/components/MarkdownProvider';\nimport { rehypeCustomFootnotes } from '@/Markdown/plugins/rehypeCustomFootnotes';\nimport { rehypeKatex } from '@/Markdown/plugins/rehypeKatex';\nimport { rehypeKatexDir } from '@/Markdown/plugins/rehypeKatexDir';\n\nexport const useMarkdownRehypePlugins = (): Pluggable[] => {\n const {\n enableLatex,\n enableCustomFootnotes,\n enableGithubAlert,\n allowHtml,\n rehypePlugins = [],\n rehypePluginsAhead = [],\n } = useMarkdownContext();\n\n const memoPlugins = useMemo(\n () =>\n [\n allowHtml && rehypeRaw,\n // Parse untrusted HTML into nodes, then remove unsafe elements and attributes.\n allowHtml && rehypeSanitize,\n enableGithubAlert && rehypeGithubAlerts,\n enableLatex && rehypeKatex,\n enableLatex && rehypeKatexDir,\n enableCustomFootnotes && rehypeCustomFootnotes,\n ].filter(Boolean) as Pluggable[],\n [enableLatex, enableGithubAlert, enableCustomFootnotes, allowHtml],\n );\n\n return useMemo(\n () => [...rehypePluginsAhead, ...memoPlugins, ...rehypePlugins],\n [rehypePlugins, memoPlugins, rehypePluginsAhead],\n );\n};\n"],"mappings":";;;;;;;;;;AAaA,MAAa,iCAA8C;CACzD,MAAM,EACJ,aACA,uBACA,mBACA,WACA,gBAAgB,CAAC,GACjB,qBAAqB,CAAC,MACpB,mBAAmB;CAEvB,MAAM,cAAc,cAEhB;EACE,aAAa;EAEb,aAAa;EACb,qBAAqB;EACrB,eAAe;EACf,eAAe;EACf,yBAAyB;CAC3B,CAAC,CAAC,OAAO,OAAO,GAClB;EAAC;EAAa;EAAmB;EAAuB;CAAS,CACnE;CAEA,OAAO,cACC;EAAC,GAAG;EAAoB,GAAG;EAAa,GAAG;CAAa,GAC9D;EAAC;EAAe;EAAa;CAAkB,CACjD;AACF"}
|
|
@@ -57,7 +57,7 @@ const antdProbeNames = [...[
|
|
|
57
57
|
const antdProbeRegistry = {
|
|
58
58
|
"alert": {
|
|
59
59
|
detect: "Alert",
|
|
60
|
-
render: () => createElement(Alert, {
|
|
60
|
+
render: () => createElement(Alert, { title: "-" })
|
|
61
61
|
},
|
|
62
62
|
"anchor": {
|
|
63
63
|
detect: "Anchor",
|
|
@@ -145,7 +145,7 @@ const antdProbeRegistry = {
|
|
|
145
145
|
},
|
|
146
146
|
"image": {
|
|
147
147
|
detect: "Image",
|
|
148
|
-
render: () => createElement(Image
|
|
148
|
+
render: () => createElement(Image)
|
|
149
149
|
},
|
|
150
150
|
"input": {
|
|
151
151
|
detect: "Input",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.mjs","names":[],"sources":["../../src/static-css/registry.ts"],"sourcesContent":["import {\n Alert,\n Anchor,\n App,\n AutoComplete,\n Avatar,\n Badge,\n Breadcrumb,\n Button,\n Card,\n Checkbox,\n Col,\n Collapse,\n ColorPicker,\n DatePicker,\n Divider,\n Drawer,\n Dropdown,\n Empty,\n Flex,\n FloatButton,\n Form,\n Image,\n Input,\n InputNumber,\n Mentions,\n Menu,\n Modal,\n Pagination,\n Popover,\n Progress,\n QRCode,\n Radio,\n Rate,\n Row,\n Segmented,\n Select,\n Skeleton,\n Slider,\n Space,\n Spin,\n Steps,\n Switch,\n Table,\n Tabs,\n Tag,\n Tooltip,\n Tree,\n Typography,\n Upload,\n} from 'antd';\nimport type { ReactElement } from 'react';\nimport { createElement } from 'react';\n\nexport interface AntdProbeDef {\n /** antd export name whose usage activates this probe during auto scan */\n detect: string;\n render: () => ReactElement;\n}\n\nconst PROBE_NAMES = [\n 'alert',\n 'anchor',\n 'app',\n 'auto-complete',\n 'avatar',\n 'badge',\n 'breadcrumb',\n 'button',\n 'card',\n 'checkbox',\n 'collapse',\n 'color-picker',\n 'date-picker',\n 'divider',\n 'drawer',\n 'dropdown',\n 'empty',\n 'flex',\n 'float-button',\n 'form',\n 'grid-col',\n 'grid-row',\n 'image',\n 'input',\n 'input-number',\n 'input-textarea',\n 'mentions',\n 'menu',\n 'modal',\n 'pagination',\n 'popover',\n 'progress',\n 'qrcode',\n 'radio',\n 'rate',\n 'segmented',\n 'select',\n 'skeleton',\n 'slider',\n 'space',\n 'spin',\n 'steps',\n 'switch',\n 'table',\n 'tabs',\n 'tag',\n 'tag-preset',\n 'tag-status',\n 'tooltip',\n 'tree',\n 'typography',\n 'upload',\n] as const;\n\nexport type AntdProbeName = (typeof PROBE_NAMES)[number];\n\nexport const antdProbeNames: AntdProbeName[] = [...PROBE_NAMES];\n\nexport const antdProbeRegistry: Record<AntdProbeName, AntdProbeDef> = {\n 'alert': { detect: 'Alert', render: () => createElement(Alert, { message: '-' }) },\n 'anchor': { detect: 'Anchor', render: () => createElement(Anchor, { items: [] }) },\n 'app': { detect: 'App', render: () => createElement(App, null, '-') },\n 'auto-complete': { detect: 'AutoComplete', render: () => createElement(AutoComplete) },\n 'avatar': { detect: 'Avatar', render: () => createElement(Avatar) },\n 'badge': { detect: 'Badge', render: () => createElement(Badge, { count: 1 }) },\n 'breadcrumb': { detect: 'Breadcrumb', render: () => createElement(Breadcrumb, { items: [] }) },\n 'button': { detect: 'Button', render: () => createElement(Button, null, '-') },\n 'card': { detect: 'Card', render: () => createElement(Card, null, '-') },\n 'checkbox': { detect: 'Checkbox', render: () => createElement(Checkbox) },\n 'collapse': { detect: 'Collapse', render: () => createElement(Collapse, { items: [] }) },\n 'color-picker': { detect: 'ColorPicker', render: () => createElement(ColorPicker) },\n 'date-picker': { detect: 'DatePicker', render: () => createElement(DatePicker) },\n 'divider': { detect: 'Divider', render: () => createElement(Divider) },\n 'drawer': { detect: 'Drawer', render: () => createElement(Drawer, { open: false }) },\n 'dropdown': {\n detect: 'Dropdown',\n render: () => createElement(Dropdown, { menu: { items: [] } }, createElement('span')),\n },\n 'empty': { detect: 'Empty', render: () => createElement(Empty) },\n 'flex': { detect: 'Flex', render: () => createElement(Flex, null, createElement('span')) },\n 'float-button': { detect: 'FloatButton', render: () => createElement(FloatButton) },\n 'form': {\n detect: 'Form',\n render: () =>\n createElement(Form, null, createElement(Form.Item, { label: '-' }, createElement('span'))),\n },\n 'grid-col': { detect: 'Col', render: () => createElement(Col, { span: 1 }) },\n 'grid-row': { detect: 'Row', render: () => createElement(Row) },\n 'image': { detect: 'Image', render: () => createElement(Image, { src: '' }) },\n 'input': { detect: 'Input', render: () => createElement(Input) },\n 'input-number': { detect: 'InputNumber', render: () => createElement(InputNumber) },\n 'input-textarea': { detect: 'Input', render: () => createElement(Input.TextArea) },\n 'mentions': { detect: 'Mentions', render: () => createElement(Mentions) },\n 'menu': { detect: 'Menu', render: () => createElement(Menu, { items: [] }) },\n 'modal': { detect: 'Modal', render: () => createElement(Modal, { open: false }) },\n 'pagination': { detect: 'Pagination', render: () => createElement(Pagination) },\n 'popover': {\n detect: 'Popover',\n render: () => createElement(Popover, null, createElement('span')),\n },\n 'progress': { detect: 'Progress', render: () => createElement(Progress, { percent: 0 }) },\n 'qrcode': { detect: 'QRCode', render: () => createElement(QRCode, { value: '-' }) },\n 'radio': { detect: 'Radio', render: () => createElement(Radio) },\n 'rate': { detect: 'Rate', render: () => createElement(Rate) },\n 'segmented': { detect: 'Segmented', render: () => createElement(Segmented, { options: ['-'] }) },\n 'select': { detect: 'Select', render: () => createElement(Select) },\n 'skeleton': { detect: 'Skeleton', render: () => createElement(Skeleton) },\n 'slider': { detect: 'Slider', render: () => createElement(Slider) },\n 'space': { detect: 'Space', render: () => createElement(Space, null, createElement('span')) },\n 'spin': { detect: 'Spin', render: () => createElement(Spin) },\n 'steps': { detect: 'Steps', render: () => createElement(Steps, { items: [] }) },\n 'switch': { detect: 'Switch', render: () => createElement(Switch) },\n 'table': { detect: 'Table', render: () => createElement(Table, { columns: [], dataSource: [] }) },\n 'tabs': { detect: 'Tabs', render: () => createElement(Tabs, { items: [] }) },\n 'tag': { detect: 'Tag', render: () => createElement(Tag, null, '-') },\n 'tag-preset': { detect: 'Tag', render: () => createElement(Tag, { color: 'blue' }, '-') },\n 'tag-status': { detect: 'Tag', render: () => createElement(Tag, { color: 'success' }, '-') },\n 'tooltip': {\n detect: 'Tooltip',\n render: () => createElement(Tooltip, { title: '-' }, createElement('span')),\n },\n 'tree': { detect: 'Tree', render: () => createElement(Tree, { treeData: [] }) },\n 'typography': { detect: 'Typography', render: () => createElement(Typography.Text, null, '-') },\n 'upload': { detect: 'Upload', render: () => createElement(Upload) },\n};\n\n// Imperative or unstyled antd exports the scanner may find but no probe should cover.\nexport const nonProbeAntdExports = new Set([\n 'ConfigProvider',\n 'Grid',\n 'message',\n 'notification',\n 'theme',\n // kebabToPascal('antd/es/theme') during deep-import scan\n 'Theme',\n 'version',\n]);\n\nexport interface ExpandedProbes {\n probes: AntdProbeName[];\n unmatched: string[];\n}\n\nexport const expandComponentsToProbes = (components: Iterable<string>): ExpandedProbes => {\n const probes = new Set<AntdProbeName>();\n const unmatched: string[] = [];\n\n for (const component of components) {\n let matched = false;\n for (const name of antdProbeNames) {\n if (antdProbeRegistry[name].detect === component) {\n probes.add(name);\n matched = true;\n }\n }\n if (!matched && !nonProbeAntdExports.has(component)) unmatched.push(component);\n }\n\n return { probes: [...probes].sort(), unmatched: unmatched.sort() };\n};\n"],"mappings":";;AAqHA,MAAa,iBAAkC,CAAC,GAAG;CAxDjD;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAKiD,CAAW;AAE9D,MAAa,oBAAyD;CACpE,SAAS;EAAE,QAAQ;EAAS,cAAc,cAAc,OAAO,EAAE,SAAS,IAAI,CAAC;CAAE;CACjF,UAAU;EAAE,QAAQ;EAAU,cAAc,cAAc,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;CAAE;CACjF,OAAO;EAAE,QAAQ;EAAO,cAAc,cAAc,KAAK,MAAM,GAAG;CAAE;CACpE,iBAAiB;EAAE,QAAQ;EAAgB,cAAc,cAAc,YAAY;CAAE;CACrF,UAAU;EAAE,QAAQ;EAAU,cAAc,cAAc,MAAM;CAAE;CAClE,SAAS;EAAE,QAAQ;EAAS,cAAc,cAAc,OAAO,EAAE,OAAO,EAAE,CAAC;CAAE;CAC7E,cAAc;EAAE,QAAQ;EAAc,cAAc,cAAc,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;CAAE;CAC7F,UAAU;EAAE,QAAQ;EAAU,cAAc,cAAc,QAAQ,MAAM,GAAG;CAAE;CAC7E,QAAQ;EAAE,QAAQ;EAAQ,cAAc,cAAc,MAAM,MAAM,GAAG;CAAE;CACvE,YAAY;EAAE,QAAQ;EAAY,cAAc,cAAc,QAAQ;CAAE;CACxE,YAAY;EAAE,QAAQ;EAAY,cAAc,cAAc,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;CAAE;CACvF,gBAAgB;EAAE,QAAQ;EAAe,cAAc,cAAc,WAAW;CAAE;CAClF,eAAe;EAAE,QAAQ;EAAc,cAAc,cAAc,UAAU;CAAE;CAC/E,WAAW;EAAE,QAAQ;EAAW,cAAc,cAAc,OAAO;CAAE;CACrE,UAAU;EAAE,QAAQ;EAAU,cAAc,cAAc,QAAQ,EAAE,MAAM,MAAM,CAAC;CAAE;CACnF,YAAY;EACV,QAAQ;EACR,cAAc,cAAc,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,cAAc,MAAM,CAAC;CACtF;CACA,SAAS;EAAE,QAAQ;EAAS,cAAc,cAAc,KAAK;CAAE;CAC/D,QAAQ;EAAE,QAAQ;EAAQ,cAAc,cAAc,MAAM,MAAM,cAAc,MAAM,CAAC;CAAE;CACzF,gBAAgB;EAAE,QAAQ;EAAe,cAAc,cAAc,WAAW;CAAE;CAClF,QAAQ;EACN,QAAQ;EACR,cACE,cAAc,MAAM,MAAM,cAAc,KAAK,MAAM,EAAE,OAAO,IAAI,GAAG,cAAc,MAAM,CAAC,CAAC;CAC7F;CACA,YAAY;EAAE,QAAQ;EAAO,cAAc,cAAc,KAAK,EAAE,MAAM,EAAE,CAAC;CAAE;CAC3E,YAAY;EAAE,QAAQ;EAAO,cAAc,cAAc,GAAG;CAAE;CAC9D,SAAS;EAAE,QAAQ;EAAS,cAAc,cAAc,OAAO,EAAE,KAAK,GAAG,CAAC;CAAE;CAC5E,SAAS;EAAE,QAAQ;EAAS,cAAc,cAAc,KAAK;CAAE;CAC/D,gBAAgB;EAAE,QAAQ;EAAe,cAAc,cAAc,WAAW;CAAE;CAClF,kBAAkB;EAAE,QAAQ;EAAS,cAAc,cAAc,MAAM,QAAQ;CAAE;CACjF,YAAY;EAAE,QAAQ;EAAY,cAAc,cAAc,QAAQ;CAAE;CACxE,QAAQ;EAAE,QAAQ;EAAQ,cAAc,cAAc,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAAE;CAC3E,SAAS;EAAE,QAAQ;EAAS,cAAc,cAAc,OAAO,EAAE,MAAM,MAAM,CAAC;CAAE;CAChF,cAAc;EAAE,QAAQ;EAAc,cAAc,cAAc,UAAU;CAAE;CAC9E,WAAW;EACT,QAAQ;EACR,cAAc,cAAc,SAAS,MAAM,cAAc,MAAM,CAAC;CAClE;CACA,YAAY;EAAE,QAAQ;EAAY,cAAc,cAAc,UAAU,EAAE,SAAS,EAAE,CAAC;CAAE;CACxF,UAAU;EAAE,QAAQ;EAAU,cAAc,cAAc,QAAQ,EAAE,OAAO,IAAI,CAAC;CAAE;CAClF,SAAS;EAAE,QAAQ;EAAS,cAAc,cAAc,KAAK;CAAE;CAC/D,QAAQ;EAAE,QAAQ;EAAQ,cAAc,cAAc,IAAI;CAAE;CAC5D,aAAa;EAAE,QAAQ;EAAa,cAAc,cAAc,WAAW,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC;CAAE;CAC/F,UAAU;EAAE,QAAQ;EAAU,cAAc,cAAc,MAAM;CAAE;CAClE,YAAY;EAAE,QAAQ;EAAY,cAAc,cAAc,QAAQ;CAAE;CACxE,UAAU;EAAE,QAAQ;EAAU,cAAc,cAAc,MAAM;CAAE;CAClE,SAAS;EAAE,QAAQ;EAAS,cAAc,cAAc,OAAO,MAAM,cAAc,MAAM,CAAC;CAAE;CAC5F,QAAQ;EAAE,QAAQ;EAAQ,cAAc,cAAc,IAAI;CAAE;CAC5D,SAAS;EAAE,QAAQ;EAAS,cAAc,cAAc,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;CAAE;CAC9E,UAAU;EAAE,QAAQ;EAAU,cAAc,cAAc,MAAM;CAAE;CAClE,SAAS;EAAE,QAAQ;EAAS,cAAc,cAAc,OAAO;GAAE,SAAS,CAAC;GAAG,YAAY,CAAC;EAAE,CAAC;CAAE;CAChG,QAAQ;EAAE,QAAQ;EAAQ,cAAc,cAAc,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAAE;CAC3E,OAAO;EAAE,QAAQ;EAAO,cAAc,cAAc,KAAK,MAAM,GAAG;CAAE;CACpE,cAAc;EAAE,QAAQ;EAAO,cAAc,cAAc,KAAK,EAAE,OAAO,OAAO,GAAG,GAAG;CAAE;CACxF,cAAc;EAAE,QAAQ;EAAO,cAAc,cAAc,KAAK,EAAE,OAAO,UAAU,GAAG,GAAG;CAAE;CAC3F,WAAW;EACT,QAAQ;EACR,cAAc,cAAc,SAAS,EAAE,OAAO,IAAI,GAAG,cAAc,MAAM,CAAC;CAC5E;CACA,QAAQ;EAAE,QAAQ;EAAQ,cAAc,cAAc,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;CAAE;CAC9E,cAAc;EAAE,QAAQ;EAAc,cAAc,cAAc,WAAW,MAAM,MAAM,GAAG;CAAE;CAC9F,UAAU;EAAE,QAAQ;EAAU,cAAc,cAAc,MAAM;CAAE;AACpE;AAGA,MAAa,sCAAsB,IAAI,IAAI;CACzC;CACA;CACA;CACA;CACA;CAEA;CACA;AACF,CAAC;AAOD,MAAa,4BAA4B,eAAiD;CACxF,MAAM,yBAAS,IAAI,IAAmB;CACtC,MAAM,YAAsB,CAAC;CAE7B,KAAK,MAAM,aAAa,YAAY;EAClC,IAAI,UAAU;EACd,KAAK,MAAM,QAAQ,gBACjB,IAAI,kBAAkB,KAAK,CAAC,WAAW,WAAW;GAChD,OAAO,IAAI,IAAI;GACf,UAAU;EACZ;EAEF,IAAI,CAAC,WAAW,CAAC,oBAAoB,IAAI,SAAS,GAAG,UAAU,KAAK,SAAS;CAC/E;CAEA,OAAO;EAAE,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK;EAAG,WAAW,UAAU,KAAK;CAAE;AACnE"}
|
|
1
|
+
{"version":3,"file":"registry.mjs","names":[],"sources":["../../src/static-css/registry.ts"],"sourcesContent":["import {\n Alert,\n Anchor,\n App,\n AutoComplete,\n Avatar,\n Badge,\n Breadcrumb,\n Button,\n Card,\n Checkbox,\n Col,\n Collapse,\n ColorPicker,\n DatePicker,\n Divider,\n Drawer,\n Dropdown,\n Empty,\n Flex,\n FloatButton,\n Form,\n Image,\n Input,\n InputNumber,\n Mentions,\n Menu,\n Modal,\n Pagination,\n Popover,\n Progress,\n QRCode,\n Radio,\n Rate,\n Row,\n Segmented,\n Select,\n Skeleton,\n Slider,\n Space,\n Spin,\n Steps,\n Switch,\n Table,\n Tabs,\n Tag,\n Tooltip,\n Tree,\n Typography,\n Upload,\n} from 'antd';\nimport type { ReactElement } from 'react';\nimport { createElement } from 'react';\n\nexport interface AntdProbeDef {\n /** antd export name whose usage activates this probe during auto scan */\n detect: string;\n render: () => ReactElement;\n}\n\nconst PROBE_NAMES = [\n 'alert',\n 'anchor',\n 'app',\n 'auto-complete',\n 'avatar',\n 'badge',\n 'breadcrumb',\n 'button',\n 'card',\n 'checkbox',\n 'collapse',\n 'color-picker',\n 'date-picker',\n 'divider',\n 'drawer',\n 'dropdown',\n 'empty',\n 'flex',\n 'float-button',\n 'form',\n 'grid-col',\n 'grid-row',\n 'image',\n 'input',\n 'input-number',\n 'input-textarea',\n 'mentions',\n 'menu',\n 'modal',\n 'pagination',\n 'popover',\n 'progress',\n 'qrcode',\n 'radio',\n 'rate',\n 'segmented',\n 'select',\n 'skeleton',\n 'slider',\n 'space',\n 'spin',\n 'steps',\n 'switch',\n 'table',\n 'tabs',\n 'tag',\n 'tag-preset',\n 'tag-status',\n 'tooltip',\n 'tree',\n 'typography',\n 'upload',\n] as const;\n\nexport type AntdProbeName = (typeof PROBE_NAMES)[number];\n\nexport const antdProbeNames: AntdProbeName[] = [...PROBE_NAMES];\n\nexport const antdProbeRegistry: Record<AntdProbeName, AntdProbeDef> = {\n 'alert': { detect: 'Alert', render: () => createElement(Alert, { title: '-' }) },\n 'anchor': { detect: 'Anchor', render: () => createElement(Anchor, { items: [] }) },\n 'app': { detect: 'App', render: () => createElement(App, null, '-') },\n 'auto-complete': { detect: 'AutoComplete', render: () => createElement(AutoComplete) },\n 'avatar': { detect: 'Avatar', render: () => createElement(Avatar) },\n 'badge': { detect: 'Badge', render: () => createElement(Badge, { count: 1 }) },\n 'breadcrumb': { detect: 'Breadcrumb', render: () => createElement(Breadcrumb, { items: [] }) },\n 'button': { detect: 'Button', render: () => createElement(Button, null, '-') },\n 'card': { detect: 'Card', render: () => createElement(Card, null, '-') },\n 'checkbox': { detect: 'Checkbox', render: () => createElement(Checkbox) },\n 'collapse': { detect: 'Collapse', render: () => createElement(Collapse, { items: [] }) },\n 'color-picker': { detect: 'ColorPicker', render: () => createElement(ColorPicker) },\n 'date-picker': { detect: 'DatePicker', render: () => createElement(DatePicker) },\n 'divider': { detect: 'Divider', render: () => createElement(Divider) },\n 'drawer': { detect: 'Drawer', render: () => createElement(Drawer, { open: false }) },\n 'dropdown': {\n detect: 'Dropdown',\n render: () => createElement(Dropdown, { menu: { items: [] } }, createElement('span')),\n },\n 'empty': { detect: 'Empty', render: () => createElement(Empty) },\n 'flex': { detect: 'Flex', render: () => createElement(Flex, null, createElement('span')) },\n 'float-button': { detect: 'FloatButton', render: () => createElement(FloatButton) },\n 'form': {\n detect: 'Form',\n render: () =>\n createElement(Form, null, createElement(Form.Item, { label: '-' }, createElement('span'))),\n },\n 'grid-col': { detect: 'Col', render: () => createElement(Col, { span: 1 }) },\n 'grid-row': { detect: 'Row', render: () => createElement(Row) },\n 'image': { detect: 'Image', render: () => createElement(Image) },\n 'input': { detect: 'Input', render: () => createElement(Input) },\n 'input-number': { detect: 'InputNumber', render: () => createElement(InputNumber) },\n 'input-textarea': { detect: 'Input', render: () => createElement(Input.TextArea) },\n 'mentions': { detect: 'Mentions', render: () => createElement(Mentions) },\n 'menu': { detect: 'Menu', render: () => createElement(Menu, { items: [] }) },\n 'modal': { detect: 'Modal', render: () => createElement(Modal, { open: false }) },\n 'pagination': { detect: 'Pagination', render: () => createElement(Pagination) },\n 'popover': {\n detect: 'Popover',\n render: () => createElement(Popover, null, createElement('span')),\n },\n 'progress': { detect: 'Progress', render: () => createElement(Progress, { percent: 0 }) },\n 'qrcode': { detect: 'QRCode', render: () => createElement(QRCode, { value: '-' }) },\n 'radio': { detect: 'Radio', render: () => createElement(Radio) },\n 'rate': { detect: 'Rate', render: () => createElement(Rate) },\n 'segmented': { detect: 'Segmented', render: () => createElement(Segmented, { options: ['-'] }) },\n 'select': { detect: 'Select', render: () => createElement(Select) },\n 'skeleton': { detect: 'Skeleton', render: () => createElement(Skeleton) },\n 'slider': { detect: 'Slider', render: () => createElement(Slider) },\n 'space': { detect: 'Space', render: () => createElement(Space, null, createElement('span')) },\n 'spin': { detect: 'Spin', render: () => createElement(Spin) },\n 'steps': { detect: 'Steps', render: () => createElement(Steps, { items: [] }) },\n 'switch': { detect: 'Switch', render: () => createElement(Switch) },\n 'table': { detect: 'Table', render: () => createElement(Table, { columns: [], dataSource: [] }) },\n 'tabs': { detect: 'Tabs', render: () => createElement(Tabs, { items: [] }) },\n 'tag': { detect: 'Tag', render: () => createElement(Tag, null, '-') },\n 'tag-preset': { detect: 'Tag', render: () => createElement(Tag, { color: 'blue' }, '-') },\n 'tag-status': { detect: 'Tag', render: () => createElement(Tag, { color: 'success' }, '-') },\n 'tooltip': {\n detect: 'Tooltip',\n render: () => createElement(Tooltip, { title: '-' }, createElement('span')),\n },\n 'tree': { detect: 'Tree', render: () => createElement(Tree, { treeData: [] }) },\n 'typography': { detect: 'Typography', render: () => createElement(Typography.Text, null, '-') },\n 'upload': { detect: 'Upload', render: () => createElement(Upload) },\n};\n\n// Imperative or unstyled antd exports the scanner may find but no probe should cover.\nexport const nonProbeAntdExports = new Set([\n 'ConfigProvider',\n 'Grid',\n 'message',\n 'notification',\n 'theme',\n // kebabToPascal('antd/es/theme') during deep-import scan\n 'Theme',\n 'version',\n]);\n\nexport interface ExpandedProbes {\n probes: AntdProbeName[];\n unmatched: string[];\n}\n\nexport const expandComponentsToProbes = (components: Iterable<string>): ExpandedProbes => {\n const probes = new Set<AntdProbeName>();\n const unmatched: string[] = [];\n\n for (const component of components) {\n let matched = false;\n for (const name of antdProbeNames) {\n if (antdProbeRegistry[name].detect === component) {\n probes.add(name);\n matched = true;\n }\n }\n if (!matched && !nonProbeAntdExports.has(component)) unmatched.push(component);\n }\n\n return { probes: [...probes].sort(), unmatched: unmatched.sort() };\n};\n"],"mappings":"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"}
|
|
@@ -13,9 +13,13 @@ const StoryBook = memo(({ ref, levaStore, noPadding, className, children, ...res
|
|
|
13
13
|
return /* @__PURE__ */ jsxs(FlexBasic_default, {
|
|
14
14
|
align: "stretch",
|
|
15
15
|
className: cx(styles.editor, className),
|
|
16
|
+
"data-lobe-storybook": "",
|
|
17
|
+
flex: 1,
|
|
18
|
+
height: "100%",
|
|
16
19
|
horizontal: !mobile,
|
|
17
20
|
justify: "stretch",
|
|
18
21
|
ref,
|
|
22
|
+
width: "100%",
|
|
19
23
|
children: [/* @__PURE__ */ jsx(Center, {
|
|
20
24
|
className: cx(noPadding ? styles.left : styles.leftWithPadding),
|
|
21
25
|
flex: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["Flexbox"],"sources":["../../../src/storybook/StoryBook/index.tsx"],"sourcesContent":["'use client';\n\nimport { cx, useResponsive } from 'antd-style';\nimport { LevaPanel } from 'leva';\nimport { memo, type Ref } from 'react';\n\nimport DraggablePanel from '@/DraggablePanel';\nimport { Center, Flexbox, type FlexboxProps } from '@/Flex';\n\nimport { styles } from './style';\n\nexport interface StoryBookProps extends FlexboxProps {\n levaStore: any;\n noPadding?: boolean;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const StoryBook = memo<StoryBookProps>(\n ({ ref, levaStore, noPadding, className, children, ...rest }) => {\n const { mobile } = useResponsive();\n\n return (\n <Flexbox\n align={'stretch'}\n className={cx(styles.editor, className)}\n horizontal={!mobile}\n justify={'stretch'}\n ref={ref}\n >\n <Center className={cx(noPadding ? styles.left : styles.leftWithPadding)} flex={1} {...rest}>\n {children}\n </Center>\n <DraggablePanel\n className={styles.right}\n minWidth={280}\n placement={mobile ? 'bottom' : 'right'}\n >\n <div className={styles.leva}>\n <LevaPanel fill flat store={levaStore} titleBar={false} />{' '}\n </div>\n </DraggablePanel>\n </Flexbox>\n );\n },\n);\n\nStoryBook.displayName = 'StoryBook';\n\nexport default StoryBook;\n\nexport { useControls, useCreateStore } from 'leva';\n"],"mappings":";;;;;;;;;;AAiBA,MAAa,YAAY,MACtB,EAAE,KAAK,WAAW,WAAW,WAAW,UAAU,GAAG,WAAW;CAC/D,MAAM,EAAE,WAAW,cAAc;CAEjC,OACE,qBAACA,mBAAD;EACE,OAAO;EACP,WAAW,GAAG,OAAO,QAAQ,SAAS;EACtC,YAAY,CAAC;EACb,SAAS;EACJ;
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["Flexbox"],"sources":["../../../src/storybook/StoryBook/index.tsx"],"sourcesContent":["'use client';\n\nimport { cx, useResponsive } from 'antd-style';\nimport { LevaPanel } from 'leva';\nimport { memo, type Ref } from 'react';\n\nimport DraggablePanel from '@/DraggablePanel';\nimport { Center, Flexbox, type FlexboxProps } from '@/Flex';\n\nimport { styles } from './style';\n\nexport interface StoryBookProps extends FlexboxProps {\n levaStore: any;\n noPadding?: boolean;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const StoryBook = memo<StoryBookProps>(\n ({ ref, levaStore, noPadding, className, children, ...rest }) => {\n const { mobile } = useResponsive();\n\n return (\n <Flexbox\n align={'stretch'}\n className={cx(styles.editor, className)}\n data-lobe-storybook=\"\"\n flex={1}\n height={'100%'}\n horizontal={!mobile}\n justify={'stretch'}\n ref={ref}\n width={'100%'}\n >\n <Center className={cx(noPadding ? styles.left : styles.leftWithPadding)} flex={1} {...rest}>\n {children}\n </Center>\n <DraggablePanel\n className={styles.right}\n minWidth={280}\n placement={mobile ? 'bottom' : 'right'}\n >\n <div className={styles.leva}>\n <LevaPanel fill flat store={levaStore} titleBar={false} />{' '}\n </div>\n </DraggablePanel>\n </Flexbox>\n );\n },\n);\n\nStoryBook.displayName = 'StoryBook';\n\nexport default StoryBook;\n\nexport { useControls, useCreateStore } from 'leva';\n"],"mappings":";;;;;;;;;;AAiBA,MAAa,YAAY,MACtB,EAAE,KAAK,WAAW,WAAW,WAAW,UAAU,GAAG,WAAW;CAC/D,MAAM,EAAE,WAAW,cAAc;CAEjC,OACE,qBAACA,mBAAD;EACE,OAAO;EACP,WAAW,GAAG,OAAO,QAAQ,SAAS;EACtC,uBAAoB;EACpB,MAAM;EACN,QAAQ;EACR,YAAY,CAAC;EACb,SAAS;EACJ;EACL,OAAO;EATT,UAAA,CAWE,oBAAC,QAAD;GAAQ,WAAW,GAAG,YAAY,OAAO,OAAO,OAAO,eAAe;GAAG,MAAM;GAAG,GAAI;GACnF;EACK,CAAA,GACR,oBAAC,gBAAD;GACE,WAAW,OAAO;GAClB,UAAU;GACV,WAAW,SAAS,WAAW;GAE/B,UAAA,qBAAC,OAAD;IAAK,WAAW,OAAO;IAAvB,UAAA,CACE,oBAAC,WAAD;KAAW,MAAA;KAAK,MAAA;KAAK,OAAO;KAAW,UAAU;IAAQ,CAAA,GAAE,GACxD;;EACS,CAAA,CACT;;AAEb,CACF;AAEA,UAAU,cAAc"}
|
|
@@ -3,8 +3,8 @@ import { createStaticStyles } from "antd-style";
|
|
|
3
3
|
const styles = createStaticStyles(({ css, cssVar, responsive }) => {
|
|
4
4
|
return {
|
|
5
5
|
editor: css`
|
|
6
|
-
width:
|
|
7
|
-
min-height:
|
|
6
|
+
width: 100%;
|
|
7
|
+
min-height: 100%;
|
|
8
8
|
`,
|
|
9
9
|
left: css`
|
|
10
10
|
position: relative;
|
|
@@ -56,6 +56,11 @@ const styles = createStaticStyles(({ css, cssVar, responsive }) => {
|
|
|
56
56
|
}
|
|
57
57
|
`,
|
|
58
58
|
right: css`
|
|
59
|
+
/* The panel sets an inline height of 100%. That percentage does not
|
|
60
|
+
resolve while the preview height comes from min-height, so the
|
|
61
|
+
sidebar stays content-sized. Stretch it to the editor instead. */
|
|
62
|
+
align-self: stretch;
|
|
63
|
+
height: auto !important;
|
|
59
64
|
background: ${cssVar.colorBgLayout};
|
|
60
65
|
|
|
61
66
|
${responsive.sm} {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/storybook/StoryBook/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar, responsive }) => {\n return {\n editor: css`\n width:
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/storybook/StoryBook/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar, responsive }) => {\n return {\n editor: css`\n width: 100%;\n min-height: 100%;\n `,\n left: css`\n position: relative;\n overflow: auto;\n `,\n leftWithPadding: css`\n position: relative;\n overflow: auto;\n padding-block: 40px;\n padding-inline: 24px;\n `,\n leva: css`\n --leva-sizes-controlWidth: 66%;\n --leva-colors-elevation1: ${cssVar.colorFillSecondary};\n --leva-colors-elevation2: transparent;\n --leva-colors-elevation3: ${cssVar.colorFillSecondary};\n --leva-colors-accent1: ${cssVar.colorPrimary};\n --leva-colors-accent2: ${cssVar.colorPrimaryHover};\n --leva-colors-accent3: ${cssVar.colorPrimaryActive};\n --leva-colors-highlight1: ${cssVar.colorTextTertiary};\n --leva-colors-highlight2: ${cssVar.colorTextSecondary};\n --leva-colors-highlight3: ${cssVar.colorText};\n --leva-colors-vivid1: ${cssVar.colorWarning};\n --leva-shadows-level1: unset;\n --leva-shadows-level2: unset;\n --leva-fonts-mono: ${cssVar.fontFamilyCode};\n\n overflow: auto;\n\n width: 100%;\n height: 100%;\n padding-block: 6px;\n padding-inline: 0;\n\n > div {\n background: transparent;\n\n > div {\n background: transparent;\n }\n }\n\n input:checked + label > svg {\n stroke: ${cssVar.colorBgLayout};\n }\n\n button {\n --leva-colors-accent2: ${cssVar.colorFillSecondary};\n }\n `,\n right: css`\n /* The panel sets an inline height of 100%. That percentage does not\n resolve while the preview height comes from min-height, so the\n sidebar stays content-sized. Stretch it to the editor instead. */\n align-self: stretch;\n height: auto !important;\n background: ${cssVar.colorBgLayout};\n\n ${responsive.sm} {\n .draggable-panel-fixed {\n width: 100% !important;\n }\n }\n `,\n };\n});\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,QAAQ,iBAAiB;CACxE,OAAO;EACL,QAAQ,GAAG;;;;EAIX,MAAM,GAAG;;;;EAIT,iBAAiB,GAAG;;;;;;EAMpB,MAAM,GAAG;;kCAEqB,OAAO,mBAAmB;;kCAE1B,OAAO,mBAAmB;+BAC7B,OAAO,aAAa;+BACpB,OAAO,kBAAkB;+BACzB,OAAO,mBAAmB;kCACvB,OAAO,kBAAkB;kCACzB,OAAO,mBAAmB;kCAC1B,OAAO,UAAU;8BACrB,OAAO,aAAa;;;2BAGvB,OAAO,eAAe;;;;;;;;;;;;;;;;;;kBAkB/B,OAAO,cAAc;;;;iCAIN,OAAO,mBAAmB;;;EAGvD,OAAO,GAAG;;;;;;oBAMM,OAAO,cAAc;;QAEjC,WAAW,GAAG;;;;;;CAMpB;AACF,CAAC"}
|
|
@@ -8,7 +8,7 @@ const FONT_EMOJI = [
|
|
|
8
8
|
"Noto Color Emoji"
|
|
9
9
|
];
|
|
10
10
|
const FONT_EN = [
|
|
11
|
-
"
|
|
11
|
+
"HarmonyOS Sans",
|
|
12
12
|
"-apple-system",
|
|
13
13
|
"BlinkMacSystemFont",
|
|
14
14
|
"Segoe UI Variable Display",
|
|
@@ -46,7 +46,7 @@ const baseToken = {
|
|
|
46
46
|
].flat()),
|
|
47
47
|
fontFamilyCode: joinFontFamily([
|
|
48
48
|
[
|
|
49
|
-
"
|
|
49
|
+
"Hack",
|
|
50
50
|
"ui-monospace",
|
|
51
51
|
"SFMono-Regular",
|
|
52
52
|
"SF Mono",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.mjs","names":[],"sources":["../../../../src/styles/theme/token/base.ts"],"sourcesContent":["import type { AliasToken } from 'antd/es/theme/interface';\n\nconst joinFontFamily = (fonts: string[]) =>\n fonts.map((font) => (font.includes(' ') ? `\"${font}\"` : font)).join(',');\n\nconst FONT_EMOJI = [\n '/* EMOJI */',\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji',\n];\n\nconst FONT_EN = [\n '
|
|
1
|
+
{"version":3,"file":"base.mjs","names":[],"sources":["../../../../src/styles/theme/token/base.ts"],"sourcesContent":["import type { AliasToken } from 'antd/es/theme/interface';\n\nconst joinFontFamily = (fonts: string[]) =>\n fonts.map((font) => (font.includes(' ') ? `\"${font}\"` : font)).join(',');\n\nconst FONT_EMOJI = [\n '/* EMOJI */',\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji',\n];\n\nconst FONT_EN = [\n 'HarmonyOS Sans',\n '-apple-system',\n 'BlinkMacSystemFont',\n 'Segoe UI Variable Display',\n 'Segoe UI',\n 'Roboto',\n 'Helvetica Neue',\n 'Arial',\n];\n\nconst FONT_CN = [\n '/* SC */',\n 'HarmonyOS Sans SC',\n 'PingFang SC',\n 'Hiragino Sans GB',\n 'Microsoft YaHei UI',\n 'Microsoft YaHei',\n 'Source Han Sans SC',\n 'Noto Sans CJK SC',\n];\n\nconst FONT_CODE = [\n 'Hack',\n 'ui-monospace',\n 'SFMono-Regular',\n 'SF Mono',\n 'Menlo',\n 'Cascadia Code',\n 'Consolas',\n 'Liberation Mono',\n];\n\nconst FALLBACK = ['/* FALLBACK */', 'ui-sans-serif', 'system-ui', 'sans-serif'];\n\nconst FALLBACK_CODE = ['/* FALLBACK */', 'monospace'];\n\nexport const baseToken: Partial<AliasToken> = {\n borderRadius: 8,\n borderRadiusLG: 12,\n borderRadiusSM: 6,\n borderRadiusXS: 4,\n controlHeight: 36,\n fontFamily: joinFontFamily([FONT_EN, FONT_CN, FALLBACK, FONT_EMOJI].flat()),\n fontFamilyCode: joinFontFamily([FONT_CODE, FONT_CN, FALLBACK_CODE, FONT_EMOJI].flat()),\n};\n"],"mappings":";AAEA,MAAM,kBAAkB,UACtB,MAAM,KAAK,SAAU,KAAK,SAAS,GAAG,IAAI,IAAI,KAAK,KAAK,IAAK,CAAC,CAAC,KAAK,GAAG;AAEzE,MAAM,aAAa;CACjB;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,UAAU;CACd;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAEA,MAAM,UAAU;CACd;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF;AAiBA,MAAa,YAAiC;CAC5C,cAAc;CACd,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB,eAAe;CACf,YAAY,eAAe;EAAC;EAAS;EAAS;GAV9B;GAAkB;GAAiB;GAAa;EAUlB;EAAU;CAAU,CAAC,CAAC,KAAK,CAAC;CAC1E,gBAAgB,eAAe;EAAC;GArBhC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EAcgC;EAAW;EAAS,CAT/B,kBAAkB,WASa;EAAe;CAAU,CAAC,CAAC,KAAK,CAAC;AACvF"}
|