@lobehub/ui 5.48.2 → 5.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/es/Highlighter/FullFeatured.mjs +1 -1
  2. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  3. package/es/Highlighter/LangSelect.mjs +1 -1
  4. package/es/Highlighter/LangSelect.mjs.map +1 -1
  5. package/es/Highlighter/style.mjs +14 -11
  6. package/es/Highlighter/style.mjs.map +1 -1
  7. package/es/Mermaid/FullFeatured.mjs +1 -1
  8. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  9. package/es/ThemeProvider/ThemeProvider.mjs +2 -2
  10. package/es/ThemeProvider/ThemeProvider.mjs.map +1 -1
  11. package/es/awesome/AgentSkillCard/AgentSkillCard.d.mts +6 -0
  12. package/es/awesome/AgentSkillCard/AgentSkillCard.mjs +83 -0
  13. package/es/awesome/AgentSkillCard/AgentSkillCard.mjs.map +1 -0
  14. package/es/awesome/AgentSkillCard/agents.d.mts +6 -0
  15. package/es/awesome/AgentSkillCard/agents.mjs +40 -0
  16. package/es/awesome/AgentSkillCard/agents.mjs.map +1 -0
  17. package/es/awesome/AgentSkillCard/index.d.mts +4 -0
  18. package/es/awesome/AgentSkillCard/style.mjs +85 -0
  19. package/es/awesome/AgentSkillCard/style.mjs.map +1 -0
  20. package/es/awesome/AgentSkillCard/type.d.mts +41 -0
  21. package/es/awesome/BentoGrid/BentoCard.d.mts +6 -0
  22. package/es/awesome/BentoGrid/BentoCard.mjs +39 -0
  23. package/es/awesome/BentoGrid/BentoCard.mjs.map +1 -0
  24. package/es/awesome/BentoGrid/BentoGrid.d.mts +6 -0
  25. package/es/awesome/BentoGrid/BentoGrid.mjs +20 -0
  26. package/es/awesome/BentoGrid/BentoGrid.mjs.map +1 -0
  27. package/es/awesome/BentoGrid/index.d.mts +4 -0
  28. package/es/awesome/BentoGrid/style.mjs +102 -0
  29. package/es/awesome/BentoGrid/style.mjs.map +1 -0
  30. package/es/awesome/BentoGrid/type.d.mts +40 -0
  31. package/es/awesome/CodeShowcase/CodeShowcase.d.mts +6 -0
  32. package/es/awesome/CodeShowcase/CodeShowcase.mjs +51 -0
  33. package/es/awesome/CodeShowcase/CodeShowcase.mjs.map +1 -0
  34. package/es/awesome/CodeShowcase/index.d.mts +3 -0
  35. package/es/awesome/CodeShowcase/style.mjs +50 -0
  36. package/es/awesome/CodeShowcase/style.mjs.map +1 -0
  37. package/es/awesome/CodeShowcase/type.d.mts +27 -0
  38. package/es/awesome/FeatureGrid/FeatureGrid.d.mts +6 -0
  39. package/es/awesome/FeatureGrid/FeatureGrid.mjs +48 -0
  40. package/es/awesome/FeatureGrid/FeatureGrid.mjs.map +1 -0
  41. package/es/awesome/FeatureGrid/index.d.mts +3 -0
  42. package/es/awesome/FeatureGrid/style.mjs +75 -0
  43. package/es/awesome/FeatureGrid/style.mjs.map +1 -0
  44. package/es/awesome/FeatureGrid/type.d.mts +25 -0
  45. package/es/awesome/FluidGradient/FluidGradient.d.mts +6 -0
  46. package/es/awesome/FluidGradient/FluidGradient.mjs +293 -0
  47. package/es/awesome/FluidGradient/FluidGradient.mjs.map +1 -0
  48. package/es/awesome/FluidGradient/index.d.mts +3 -0
  49. package/es/awesome/FluidGradient/style.mjs +52 -0
  50. package/es/awesome/FluidGradient/style.mjs.map +1 -0
  51. package/es/awesome/FluidGradient/type.d.mts +22 -0
  52. package/es/awesome/InstallBanner/InstallBanner.d.mts +6 -0
  53. package/es/awesome/InstallBanner/InstallBanner.mjs +35 -0
  54. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -0
  55. package/es/awesome/InstallBanner/index.d.mts +3 -0
  56. package/es/awesome/InstallBanner/style.mjs +46 -0
  57. package/es/awesome/InstallBanner/style.mjs.map +1 -0
  58. package/es/awesome/InstallBanner/type.d.mts +18 -0
  59. package/es/awesome/LandingHero/LandingHero.d.mts +6 -0
  60. package/es/awesome/LandingHero/LandingHero.mjs +55 -0
  61. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -0
  62. package/es/awesome/LandingHero/index.d.mts +3 -0
  63. package/es/awesome/LandingHero/style.mjs +155 -0
  64. package/es/awesome/LandingHero/style.mjs.map +1 -0
  65. package/es/awesome/LandingHero/type.d.mts +29 -0
  66. package/es/awesome/LandingSection/LandingSection.d.mts +6 -0
  67. package/es/awesome/LandingSection/LandingSection.mjs +61 -0
  68. package/es/awesome/LandingSection/LandingSection.mjs.map +1 -0
  69. package/es/awesome/LandingSection/index.d.mts +3 -0
  70. package/es/awesome/LandingSection/style.mjs +88 -0
  71. package/es/awesome/LandingSection/style.mjs.map +1 -0
  72. package/es/awesome/LandingSection/type.d.mts +40 -0
  73. package/es/awesome/LogoMarquee/LogoMarquee.d.mts +6 -0
  74. package/es/awesome/LogoMarquee/LogoMarquee.mjs +52 -0
  75. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -0
  76. package/es/awesome/LogoMarquee/index.d.mts +3 -0
  77. package/es/awesome/LogoMarquee/style.mjs +70 -0
  78. package/es/awesome/LogoMarquee/style.mjs.map +1 -0
  79. package/es/awesome/LogoMarquee/type.d.mts +40 -0
  80. package/es/awesome/index.d.mts +33 -1
  81. package/es/awesome/index.mjs +13 -1
  82. package/es/awesome/landingActions.d.mts +20 -0
  83. package/es/awesome/landingActions.mjs +123 -0
  84. package/es/awesome/landingActions.mjs.map +1 -0
  85. package/es/awesome/landingIcon.mjs +13 -0
  86. package/es/awesome/landingIcon.mjs.map +1 -0
  87. package/es/awesome/landingLink.d.mts +12 -0
  88. package/es/awesome/landingLink.mjs +23 -0
  89. package/es/awesome/landingLink.mjs.map +1 -0
  90. package/es/awesome/landingTokens.d.mts +10 -0
  91. package/es/awesome/landingTokens.mjs +19 -0
  92. package/es/awesome/landingTokens.mjs.map +1 -0
  93. package/es/base-ui/Input/style.d.mts +1 -1
  94. package/es/base-ui/Segmented/atoms.mjs +1 -0
  95. package/es/base-ui/Segmented/atoms.mjs.map +1 -1
  96. package/es/base-ui/Segmented/style.mjs +127 -125
  97. package/es/base-ui/Segmented/style.mjs.map +1 -1
  98. package/es/base-ui/index.mjs +4 -4
  99. package/es/dashboard/AuthLayout/AuthLayout.d.mts +9 -0
  100. package/es/dashboard/AuthLayout/AuthLayout.mjs +54 -0
  101. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -0
  102. package/es/dashboard/AuthLayout/index.d.mts +3 -0
  103. package/es/dashboard/AuthLayout/style.mjs +120 -0
  104. package/es/dashboard/AuthLayout/style.mjs.map +1 -0
  105. package/es/dashboard/AuthLayout/type.d.mts +16 -0
  106. package/es/dashboard/Breadcrumb/Breadcrumb.d.mts +9 -0
  107. package/es/dashboard/Breadcrumb/Breadcrumb.mjs +55 -0
  108. package/es/dashboard/Breadcrumb/Breadcrumb.mjs.map +1 -0
  109. package/es/dashboard/Breadcrumb/index.d.mts +3 -0
  110. package/es/dashboard/Breadcrumb/style.mjs +66 -0
  111. package/es/dashboard/Breadcrumb/style.mjs.map +1 -0
  112. package/es/dashboard/Breadcrumb/type.d.mts +25 -0
  113. package/es/dashboard/ConsoleNav/ConsoleNav.d.mts +9 -0
  114. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +275 -0
  115. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -0
  116. package/es/dashboard/ConsoleNav/active.d.mts +7 -0
  117. package/es/dashboard/ConsoleNav/active.mjs +29 -0
  118. package/es/dashboard/ConsoleNav/active.mjs.map +1 -0
  119. package/es/dashboard/ConsoleNav/index.d.mts +4 -0
  120. package/es/dashboard/ConsoleNav/style.mjs +283 -0
  121. package/es/dashboard/ConsoleNav/style.mjs.map +1 -0
  122. package/es/dashboard/ConsoleNav/type.d.mts +71 -0
  123. package/es/dashboard/ConsoleShell/ConsoleBrand.d.mts +9 -0
  124. package/es/dashboard/ConsoleShell/ConsoleBrand.mjs +37 -0
  125. package/es/dashboard/ConsoleShell/ConsoleBrand.mjs.map +1 -0
  126. package/es/dashboard/ConsoleShell/ConsoleShell.d.mts +9 -0
  127. package/es/dashboard/ConsoleShell/ConsoleShell.mjs +149 -0
  128. package/es/dashboard/ConsoleShell/ConsoleShell.mjs.map +1 -0
  129. package/es/dashboard/ConsoleShell/context.d.mts +6 -0
  130. package/es/dashboard/ConsoleShell/context.mjs +16 -0
  131. package/es/dashboard/ConsoleShell/context.mjs.map +1 -0
  132. package/es/dashboard/ConsoleShell/index.d.mts +5 -0
  133. package/es/dashboard/ConsoleShell/style.mjs +209 -0
  134. package/es/dashboard/ConsoleShell/style.mjs.map +1 -0
  135. package/es/dashboard/ConsoleShell/type.d.mts +67 -0
  136. package/es/dashboard/FilterSidebar/FilterSidebar.d.mts +17 -0
  137. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +151 -0
  138. package/es/dashboard/FilterSidebar/FilterSidebar.mjs.map +1 -0
  139. package/es/dashboard/FilterSidebar/context.d.mts +7 -0
  140. package/es/dashboard/FilterSidebar/context.mjs +19 -0
  141. package/es/dashboard/FilterSidebar/context.mjs.map +1 -0
  142. package/es/dashboard/FilterSidebar/index.d.mts +4 -0
  143. package/es/dashboard/FilterSidebar/style.mjs +155 -0
  144. package/es/dashboard/FilterSidebar/style.mjs.map +1 -0
  145. package/es/dashboard/FilterSidebar/type.d.mts +44 -0
  146. package/es/dashboard/FilterSidebar/width.mjs +18 -0
  147. package/es/dashboard/FilterSidebar/width.mjs.map +1 -0
  148. package/es/dashboard/PageHeader/PageHeader.d.mts +9 -0
  149. package/es/dashboard/PageHeader/PageHeader.mjs +37 -0
  150. package/es/dashboard/PageHeader/PageHeader.mjs.map +1 -0
  151. package/es/dashboard/PageHeader/index.d.mts +3 -0
  152. package/es/dashboard/PageHeader/style.mjs +47 -0
  153. package/es/dashboard/PageHeader/style.mjs.map +1 -0
  154. package/es/dashboard/PageHeader/type.d.mts +14 -0
  155. package/es/dashboard/PageSkeleton/PageSkeleton.d.mts +25 -0
  156. package/es/dashboard/PageSkeleton/PageSkeleton.mjs +136 -0
  157. package/es/dashboard/PageSkeleton/PageSkeleton.mjs.map +1 -0
  158. package/es/dashboard/PageSkeleton/style.mjs +122 -0
  159. package/es/dashboard/PageSkeleton/style.mjs.map +1 -0
  160. package/es/dashboard/PageSkeleton/type.d.mts +22 -0
  161. package/es/dashboard/PageTabs/PageTabs.d.mts +9 -0
  162. package/es/dashboard/PageTabs/PageTabs.mjs +37 -0
  163. package/es/dashboard/PageTabs/PageTabs.mjs.map +1 -0
  164. package/es/dashboard/PageTabs/index.d.mts +3 -0
  165. package/es/dashboard/PageTabs/style.mjs +57 -0
  166. package/es/dashboard/PageTabs/style.mjs.map +1 -0
  167. package/es/dashboard/PageTabs/type.d.mts +17 -0
  168. package/es/dashboard/RouteProgress/RouteProgress.d.mts +9 -0
  169. package/es/dashboard/RouteProgress/RouteProgress.mjs +44 -0
  170. package/es/dashboard/RouteProgress/RouteProgress.mjs.map +1 -0
  171. package/es/dashboard/RouteProgress/style.mjs +19 -0
  172. package/es/dashboard/RouteProgress/style.mjs.map +1 -0
  173. package/es/dashboard/RouteProgress/type.d.mts +8 -0
  174. package/es/dashboard/StatCard/StatCard.d.mts +9 -0
  175. package/es/dashboard/StatCard/StatCard.mjs +84 -0
  176. package/es/dashboard/StatCard/StatCard.mjs.map +1 -0
  177. package/es/dashboard/StatCard/index.d.mts +3 -0
  178. package/es/dashboard/StatCard/style.mjs +135 -0
  179. package/es/dashboard/StatCard/style.mjs.map +1 -0
  180. package/es/dashboard/StatCard/type.d.mts +26 -0
  181. package/es/dashboard/Surface/Surface.d.mts +13 -0
  182. package/es/dashboard/Surface/Surface.mjs +20 -0
  183. package/es/dashboard/Surface/Surface.mjs.map +1 -0
  184. package/es/dashboard/Surface/index.d.mts +4 -0
  185. package/es/dashboard/Surface/style.d.mts +14 -0
  186. package/es/dashboard/Surface/style.mjs +22 -0
  187. package/es/dashboard/Surface/style.mjs.map +1 -0
  188. package/es/dashboard/Surface/type.d.mts +8 -0
  189. package/es/dashboard/hooks.mjs +49 -0
  190. package/es/dashboard/hooks.mjs.map +1 -0
  191. package/es/dashboard/index.d.mts +37 -0
  192. package/es/dashboard/index.d.ts +1 -0
  193. package/es/dashboard/index.js +1 -0
  194. package/es/dashboard/index.mjs +17 -0
  195. package/es/static-css/registry.mjs +2 -2
  196. package/es/static-css/registry.mjs.map +1 -1
  197. package/es/storybook/StoryBook/index.mjs +4 -0
  198. package/es/storybook/StoryBook/index.mjs.map +1 -1
  199. package/es/storybook/StoryBook/style.mjs +7 -2
  200. package/es/storybook/StoryBook/style.mjs.map +1 -1
  201. package/es/styles/theme/token/base.mjs +2 -2
  202. package/es/styles/theme/token/base.mjs.map +1 -1
  203. package/package.json +6 -2
@@ -0,0 +1,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,4 @@
1
+ import { styles } from "./style.mjs";
2
+ import { SurfaceProps } from "./type.mjs";
3
+ import Surface from "./Surface.mjs";
4
+ export { type SurfaceProps, Surface as default, styles as surfaceStyles };
@@ -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 };
@@ -57,7 +57,7 @@ const antdProbeNames = [...[
57
57
  const antdProbeRegistry = {
58
58
  "alert": {
59
59
  detect: "Alert",
60
- render: () => createElement(Alert, { message: "-" })
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, { src: "" })
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":"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"}
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;EALP,UAAA,CAOE,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"}
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: inherit;
7
- min-height: inherit;
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: inherit;\n min-height: inherit;\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 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;oBACM,OAAO,cAAc;;QAEjC,WAAW,GAAG;;;;;;CAMpB;AACF,CAAC"}
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
- "Geist",
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
- "Geist Mono",
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 'Geist',\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 'Geist Mono',\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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lobehub/ui",
3
- "version": "5.48.2",
3
+ "version": "5.49.0",
4
4
  "description": "Lobe UI is an open-source UI component library for building AIGC web apps",
5
5
  "keywords": [
6
6
  "lobehub",
@@ -53,6 +53,10 @@
53
53
  "types": "./es/chat/index.d.mts",
54
54
  "import": "./es/chat/index.mjs"
55
55
  },
56
+ "./dashboard": {
57
+ "types": "./es/dashboard/index.d.mts",
58
+ "import": "./es/dashboard/index.mjs"
59
+ },
56
60
  "./color": {
57
61
  "types": "./es/color/index.d.mts",
58
62
  "import": "./es/color/index.mjs"
@@ -212,7 +216,7 @@
212
216
  "use-merge-value": "^1.2.0",
213
217
  "uuid": "^14.0.1",
214
218
  "vfile": "^6.0.3",
215
- "virtua": "^0.49.3"
219
+ "virtua": "^0.52.0"
216
220
  },
217
221
  "peerDependencies": {
218
222
  "@lobehub/fluent-emoji": "^4.0.0",