@solostylist/ui-kit 1.0.171 → 1.0.173
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/dist/s-ai-tool-bar/s-ai-tool-bar.js +81 -82
- package/dist/s-blur-text/s-blur-text.js +1 -1
- package/dist/s-breadcrumbs/s-breadcrumbs.js +2 -2
- package/dist/s-button-link/s-button-link.js +2 -2
- package/dist/s-category-card/s-category-card.js +2 -2
- package/dist/s-chat-input/s-chat-input.js +31 -31
- package/dist/s-chat-message/s-chat-message.js +14 -70
- package/dist/s-comment-message/s-comment-message.js +9 -9
- package/dist/s-countdown/s-count-box.js +2 -2
- package/dist/s-countdown/s-count-down.js +2 -2
- package/dist/s-error-layout/s-error-layout.js +2 -2
- package/dist/s-gallery/s-gallery.js +106 -119
- package/dist/s-glow-button/s-glow-button.d.ts +7 -1
- package/dist/s-glow-button/s-glow-button.js +39 -188
- package/dist/s-gradient-icon/s-gradient-icon.js +2 -2
- package/dist/s-review/s-review.js +28 -28
- package/dist/s-scroll-reveal/s-scroll-reveal.js +2 -2
- package/dist/s-skeleton/s-skeleton.js +2 -2
- package/dist/s-tabs/s-tab-panel.js +2 -2
- package/dist/s-theme-demo/s-theme-demo.js +65 -65
- package/dist/s-theme-provider/s-theme-provider.js +2 -2
- package/dist/s-theme-switch/s-theme-switch.js +1 -1
- package/dist/s-two-pane-layout/index.js +1 -1
- package/dist/s-two-pane-layout/s-two-pane-layout.js +2 -2
- package/dist/s-zoom-image/index.js +1 -1
- package/dist/s-zoom-image/s-zoom-image.js +2 -2
- package/dist/theme/theme-primitives.d.ts +1 -0
- package/dist/theme/theme-primitives.js +29 -28
- package/package.json +1 -1
|
@@ -1,193 +1,44 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
const
|
|
6
|
-
borderRadius:
|
|
7
|
-
children:
|
|
8
|
-
duration:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
right: 0,
|
|
39
|
-
height: "1px",
|
|
40
|
-
background: a === "light" ? `linear-gradient(90deg, transparent, ${e(t.palette.common.white, 0.6)}, transparent)` : `linear-gradient(90deg, transparent, ${e(t.palette.common.white, 0.2)}, transparent)`,
|
|
41
|
-
borderRadius: `${r}px ${r}px 0 0`
|
|
42
|
-
},
|
|
43
|
-
"&::after": {
|
|
44
|
-
content: '""',
|
|
45
|
-
position: "absolute",
|
|
46
|
-
inset: "1px",
|
|
47
|
-
borderRadius: `${Number(r) - 1}px`,
|
|
48
|
-
background: a === "light" ? `linear-gradient(180deg, ${e(t.palette.common.white, 0.1)} 0%, transparent 50%)` : `linear-gradient(180deg, ${e(t.palette.common.white, 0.05)} 0%, transparent 50%)`,
|
|
49
|
-
pointerEvents: "none"
|
|
50
|
-
},
|
|
51
|
-
boxShadow: a === "light" ? `0 1px 3px ${e(t.palette.common.black, 0.08)},
|
|
52
|
-
0 4px 12px ${e(t.palette.common.black, 0.05)},
|
|
53
|
-
0 16px 24px ${e(t.palette.common.black, 0.03)},
|
|
54
|
-
inset 0 1px 0 ${e(t.palette.common.white, 0.2)}` : `0 2px 8px ${e(t.palette.common.black, 0.3)},
|
|
55
|
-
0 8px 24px ${e(t.palette.common.black, 0.2)},
|
|
56
|
-
0 16px 32px ${e(t.palette.common.black, 0.1)},
|
|
57
|
-
inset 0 1px 0 ${e(t.palette.common.white, 0.1)}`,
|
|
58
|
-
backdropFilter: "blur(20px) saturate(1.2)",
|
|
59
|
-
WebkitBackdropFilter: "blur(20px) saturate(1.2)",
|
|
60
|
-
transition: "all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1)",
|
|
61
|
-
"&:hover": {
|
|
62
|
-
background: a === "light" ? `linear-gradient(0deg, ${(t.vars || t).palette.background.paper}, ${(t.vars || t).palette.background.paper}),
|
|
63
|
-
linear-gradient(45deg, ${e(t.palette.primary.main, 0.08)} 0%, transparent 60%)` : `linear-gradient(0deg, ${(t.vars || t).palette.background.default}, ${(t.vars || t).palette.background.default}),
|
|
64
|
-
linear-gradient(45deg, ${e(t.palette.primary.light, 0.1)} 0%, transparent 60%)`,
|
|
65
|
-
boxShadow: a === "light" ? `0 6px 18px ${e(t.palette.common.black, 0.12)}` : `0 10px 24px ${e(t.palette.common.black, 0.4)}`,
|
|
66
|
-
transform: "translateY(-1px)",
|
|
67
|
-
border: `1px solid ${a === "light" ? e(t.palette.primary.main, 0.2) : e(t.palette.primary.light, 0.25)}`
|
|
68
|
-
},
|
|
69
|
-
"&:active": {
|
|
70
|
-
transform: "translateY(-1px) scale(1.01)",
|
|
71
|
-
transition: "all 0.15s cubic-bezier(0.4, 0, 0.6, 1)",
|
|
72
|
-
boxShadow: a === "light" ? `0 2px 8px ${e(t.palette.common.black, 0.1)},
|
|
73
|
-
0 8px 24px ${e(t.palette.common.black, 0.06)},
|
|
74
|
-
inset 0 1px 0 ${e(t.palette.common.white, 0.2)}` : `0 4px 16px ${e(t.palette.common.black, 0.35)},
|
|
75
|
-
0 12px 32px ${e(t.palette.common.black, 0.25)},
|
|
76
|
-
inset 0 1px 0 ${e(t.palette.common.white, 0.1)}`
|
|
77
|
-
},
|
|
78
|
-
"&:focus-visible": {
|
|
79
|
-
outline: "none",
|
|
80
|
-
boxShadow: a === "light" ? `0 4px 12px ${e(t.palette.common.black, 0.12)},
|
|
81
|
-
0 12px 32px ${e(t.palette.common.black, 0.08)},
|
|
82
|
-
0 0 0 3px ${e(t.palette.primary.main, 0.3)},
|
|
83
|
-
0 0 20px ${e(t.palette.primary.main, 0.2)},
|
|
84
|
-
inset 0 1px 0 ${e(t.palette.common.white, 0.3)}` : `0 8px 24px ${e(t.palette.common.black, 0.4)},
|
|
85
|
-
0 16px 48px ${e(t.palette.common.black, 0.3)},
|
|
86
|
-
0 0 0 3px ${e(t.palette.primary.light, 0.4)},
|
|
87
|
-
0 0 30px ${e(t.palette.primary.light, 0.3)},
|
|
88
|
-
inset 0 1px 0 ${e(t.palette.common.white, 0.15)}`,
|
|
89
|
-
transform: "translateY(-1px)"
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
ref: s,
|
|
93
|
-
disableRipple: !0,
|
|
94
|
-
...m,
|
|
95
|
-
fullWidth: !0,
|
|
96
|
-
children: /* @__PURE__ */ i.jsxs(
|
|
97
|
-
o,
|
|
98
|
-
{
|
|
99
|
-
sx: {
|
|
100
|
-
position: "relative",
|
|
101
|
-
zIndex: 2,
|
|
102
|
-
fontSize: 16,
|
|
103
|
-
background: `
|
|
104
|
-
${(t.vars || t).palette.gradient.primary},
|
|
105
|
-
linear-gradient(135deg,
|
|
106
|
-
${a === "light" ? e(t.palette.primary.dark, 0.1) : e(t.palette.primary.light, 0.1)} 0%,
|
|
107
|
-
transparent 50%,
|
|
108
|
-
${a === "light" ? e(t.palette.primary.main, 0.1) : e(t.palette.primary.light, 0.1)} 100%)
|
|
109
|
-
`,
|
|
110
|
-
backgroundSize: "100% 100%, 200% 200%",
|
|
111
|
-
backgroundClip: "text",
|
|
112
|
-
WebkitBackgroundClip: "text",
|
|
113
|
-
color: "transparent",
|
|
114
|
-
WebkitTextFillColor: "transparent",
|
|
115
|
-
transition: "all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), background-position 0.6s ease",
|
|
116
|
-
textShadow: a === "light" ? `0 1px 3px ${e(t.palette.common.black, 0.08)},
|
|
117
|
-
0 2px 6px ${e(t.palette.primary.main, 0.1)}` : `0 2px 4px ${e(t.palette.common.black, 0.4)},
|
|
118
|
-
0 4px 8px ${e(t.palette.primary.light, 0.2)}`,
|
|
119
|
-
letterSpacing: "0.025em",
|
|
120
|
-
lineHeight: 1.2,
|
|
121
|
-
WebkitFontSmoothing: "antialiased",
|
|
122
|
-
MozOsxFontSmoothing: "grayscale",
|
|
123
|
-
textRendering: "optimizeLegibility",
|
|
124
|
-
"&:hover": {
|
|
125
|
-
backgroundPosition: "100% 0, 50% 50%",
|
|
126
|
-
transform: "scale(1.02)",
|
|
127
|
-
textShadow: a === "light" ? `0 2px 4px ${e(t.palette.common.black, 0.12)},
|
|
128
|
-
0 4px 12px ${e(t.palette.primary.main, 0.15)},
|
|
129
|
-
0 0 20px ${e(t.palette.primary.main, 0.1)}` : `0 3px 6px ${e(t.palette.common.black, 0.5)},
|
|
130
|
-
0 6px 16px ${e(t.palette.primary.light, 0.25)},
|
|
131
|
-
0 0 30px ${e(t.palette.primary.light, 0.15)}`
|
|
132
|
-
},
|
|
133
|
-
"button:hover &": {
|
|
134
|
-
backgroundPosition: "100% 0, 50% 50%",
|
|
135
|
-
transform: "scale(1.02)",
|
|
136
|
-
textShadow: a === "light" ? `0 2px 4px ${e(t.palette.common.black, 0.12)},
|
|
137
|
-
0 4px 12px ${e(t.palette.primary.main, 0.15)},
|
|
138
|
-
0 0 20px ${e(t.palette.primary.main, 0.1)}` : `0 3px 6px ${e(t.palette.common.black, 0.5)},
|
|
139
|
-
0 6px 16px ${e(t.palette.primary.light, 0.25)},
|
|
140
|
-
0 0 30px ${e(t.palette.primary.light, 0.15)}`,
|
|
141
|
-
animation: "textGlow 2s ease-in-out infinite alternate"
|
|
142
|
-
},
|
|
143
|
-
"@keyframes textGlow": {
|
|
144
|
-
"0%": {
|
|
145
|
-
filter: "brightness(1) contrast(1)"
|
|
146
|
-
},
|
|
147
|
-
"100%": {
|
|
148
|
-
filter: "brightness(1.1) contrast(1.05)"
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
},
|
|
152
|
-
children: [
|
|
153
|
-
p,
|
|
154
|
-
/* @__PURE__ */ i.jsx(
|
|
155
|
-
o,
|
|
156
|
-
{
|
|
157
|
-
sx: {
|
|
158
|
-
position: "absolute",
|
|
159
|
-
top: 0,
|
|
160
|
-
left: 0,
|
|
161
|
-
right: 0,
|
|
162
|
-
bottom: 0,
|
|
163
|
-
background: a === "light" ? `linear-gradient(180deg, ${e(t.palette.common.white, 0.3)} 0%, transparent 50%)` : `linear-gradient(180deg, ${e(t.palette.common.white, 0.1)} 0%, transparent 50%)`,
|
|
164
|
-
backgroundClip: "text",
|
|
165
|
-
WebkitBackgroundClip: "text",
|
|
166
|
-
color: "transparent",
|
|
167
|
-
WebkitTextFillColor: "transparent",
|
|
168
|
-
pointerEvents: "none",
|
|
169
|
-
opacity: 0.6,
|
|
170
|
-
transition: "opacity 0.3s ease",
|
|
171
|
-
"button:hover &": {
|
|
172
|
-
opacity: 0.8
|
|
173
|
-
}
|
|
174
|
-
},
|
|
175
|
-
children: p
|
|
176
|
-
}
|
|
177
|
-
)
|
|
178
|
-
]
|
|
179
|
-
}
|
|
180
|
-
)
|
|
181
|
-
}
|
|
182
|
-
)
|
|
183
|
-
}
|
|
184
|
-
);
|
|
185
|
-
};
|
|
186
|
-
n.displayName = "SGlowButton";
|
|
1
|
+
import { j as r } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
+
import { hslToRgb as d, Button as s } from "@mui/material";
|
|
3
|
+
import { SMovingBorder as f } from "../s-moving-border/s-moving-border.js";
|
|
4
|
+
import { blue as m } from "../theme/theme-primitives.js";
|
|
5
|
+
const t = ({
|
|
6
|
+
borderRadius: e = 12,
|
|
7
|
+
children: i,
|
|
8
|
+
duration: n = 3e3,
|
|
9
|
+
width: o = "fit-content",
|
|
10
|
+
glowSize: a = 60,
|
|
11
|
+
glowColor: l = d(m[500]),
|
|
12
|
+
...u
|
|
13
|
+
}) => /* @__PURE__ */ r.jsx(
|
|
14
|
+
f,
|
|
15
|
+
{
|
|
16
|
+
width: o,
|
|
17
|
+
duration: n,
|
|
18
|
+
borderRadius: e,
|
|
19
|
+
glowSize: a,
|
|
20
|
+
glowColor: l,
|
|
21
|
+
padding: 0.3,
|
|
22
|
+
children: /* @__PURE__ */ r.jsx(
|
|
23
|
+
s,
|
|
24
|
+
{
|
|
25
|
+
sx: {
|
|
26
|
+
borderRadius: e,
|
|
27
|
+
width: o
|
|
28
|
+
},
|
|
29
|
+
disableRipple: !0,
|
|
30
|
+
...u,
|
|
31
|
+
fullWidth: !0,
|
|
32
|
+
children: i
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
t.displayName = "SGlowButton";
|
|
187
38
|
try {
|
|
188
|
-
|
|
39
|
+
t.displayName = "SGlowButton", t.__docgenInfo = { description: "A visually striking button with animated glowing border effects and gradient text.", displayName: "SGlowButton", props: { borderRadius: { defaultValue: { value: "12" }, description: "Border radius for the button (defaults to 12px)", name: "borderRadius", required: !1, type: { name: "string | number" } }, children: { defaultValue: null, description: "Button content", name: "children", required: !0, type: { name: "ReactNode" } }, duration: { defaultValue: { value: "3000" }, description: "Duration of the moving border animation in milliseconds (defaults to 6000ms)", name: "duration", required: !1, type: { name: "number" } }, width: { defaultValue: { value: "fit-content" }, description: "Button width (defaults to 'fit-content')", name: "width", required: !1, type: { name: "string" } }, glowSize: { defaultValue: { value: "60" }, description: "Size of the glow effect in pixels (defaults to 60)", name: "glowSize", required: !1, type: { name: "number" } }, glowColor: { defaultValue: { value: "hslToRgb(blue[500])" }, description: "Color of the glow effect (defaults to blue[500])", name: "glowColor", required: !1, type: { name: "string" } } } };
|
|
189
40
|
} catch {
|
|
190
41
|
}
|
|
191
42
|
export {
|
|
192
|
-
|
|
43
|
+
t as default
|
|
193
44
|
};
|
|
@@ -78,11 +78,11 @@ const s = ({
|
|
|
78
78
|
};
|
|
79
79
|
s.displayName = "SGradientIcon";
|
|
80
80
|
try {
|
|
81
|
-
s.displayName = "SGradientIcon", s.__docgenInfo = { description: "A customizable icon component that applies gradient effects with multiple themes and animations.", displayName: "SGradientIcon", props: { hovered: { defaultValue: { value: "false" }, description: "Whether the icon should show the gradient fill (hover state)", name: "hovered", required: !1, type: { name: "boolean" } }, IconComponent: { defaultValue: null, description: "The Material-UI icon component to render with gradient effect", name: "IconComponent", required: !0, type: { name: "IconComponent" } }, sx: { defaultValue: null, description: "Additional styling props", name: "sx", required: !1, type: { name: "SxProps" } }, strokeWidth: { defaultValue: { value: "0" }, description: "Stroke width for the icon (default: 0)", name: "strokeWidth", required: !1, type: { name: "number" } }, gradientTheme: { defaultValue: { value: "blue-cyan" }, description: "Predefined gradient theme (default: 'blue-cyan')", name: "gradientTheme", required: !1, type: { name: "enum", value: [{ value: '"custom"' }, { value: '"blue-cyan"' }, { value: '"purple-pink"' }, { value: '"orange-red"' }, { value: '"green-teal"' }, { value: '"indigo-purple"' }] } }, customGradient: { defaultValue: null, description: "Custom gradient colors when theme is 'custom'", name: "customGradient", required: !1, type: { name: "CustomGradient" } }, gradientDirection: { defaultValue: { value: "diagonal" }, description: "Direction of the gradient (default: 'diagonal')", name: "gradientDirection", required: !1, type: { name: "enum", value: [{ value: '"horizontal"' }, { value: '"vertical"' }, { value: '"diagonal"' }, { value: '"radial"' }] } }, animationDuration: { defaultValue: { value: "300" }, description: "Animation duration in milliseconds (default: 300)", name: "animationDuration", required: !1, type: { name: "number" } }, animationEasing: { defaultValue: { value: "ease" }, description: "Animation easing function (default: 'ease')", name: "animationEasing", required: !1, type: { name: "enum", value: [{ value: '"linear"' }, { value: '"ease"' }, { value: '"ease-in"' }, { value: '"ease-
|
|
81
|
+
s.displayName = "SGradientIcon", s.__docgenInfo = { description: "A customizable icon component that applies gradient effects with multiple themes and animations.", displayName: "SGradientIcon", props: { hovered: { defaultValue: { value: "false" }, description: "Whether the icon should show the gradient fill (hover state)", name: "hovered", required: !1, type: { name: "boolean" } }, IconComponent: { defaultValue: null, description: "The Material-UI icon component to render with gradient effect", name: "IconComponent", required: !0, type: { name: "IconComponent" } }, sx: { defaultValue: null, description: "Additional styling props", name: "sx", required: !1, type: { name: "SxProps" } }, strokeWidth: { defaultValue: { value: "0" }, description: "Stroke width for the icon (default: 0)", name: "strokeWidth", required: !1, type: { name: "number" } }, gradientTheme: { defaultValue: { value: "blue-cyan" }, description: "Predefined gradient theme (default: 'blue-cyan')", name: "gradientTheme", required: !1, type: { name: "enum", value: [{ value: '"custom"' }, { value: '"blue-cyan"' }, { value: '"purple-pink"' }, { value: '"orange-red"' }, { value: '"green-teal"' }, { value: '"indigo-purple"' }] } }, customGradient: { defaultValue: null, description: "Custom gradient colors when theme is 'custom'", name: "customGradient", required: !1, type: { name: "CustomGradient" } }, gradientDirection: { defaultValue: { value: "diagonal" }, description: "Direction of the gradient (default: 'diagonal')", name: "gradientDirection", required: !1, type: { name: "enum", value: [{ value: '"horizontal"' }, { value: '"vertical"' }, { value: '"diagonal"' }, { value: '"radial"' }] } }, animationDuration: { defaultValue: { value: "300" }, description: "Animation duration in milliseconds (default: 300)", name: "animationDuration", required: !1, type: { name: "number" } }, animationEasing: { defaultValue: { value: "ease" }, description: "Animation easing function (default: 'ease')", name: "animationEasing", required: !1, type: { name: "enum", value: [{ value: '"linear"' }, { value: '"ease"' }, { value: '"ease-in"' }, { value: '"ease-out"' }, { value: '"ease-in-out"' }] } }, autoHover: { defaultValue: { value: "false" }, description: "Whether to automatically detect hover state (default: false)", name: "autoHover", required: !1, type: { name: "boolean" } }, gradientId: { defaultValue: null, description: "Unique identifier for the gradient (auto-generated if not provided)", name: "gradientId", required: !1, type: { name: "string" } }, alwaysGradient: { defaultValue: { value: "false" }, description: "Whether to always show gradient (overrides hovered state)", name: "alwaysGradient", required: !1, type: { name: "boolean" } }, fallbackColor: { defaultValue: null, description: "Fallback color when gradient is not shown", name: "fallbackColor", required: !1, type: { name: "string" } } } };
|
|
82
82
|
} catch {
|
|
83
83
|
}
|
|
84
84
|
try {
|
|
85
|
-
sgradienticon.displayName = "sgradienticon", sgradienticon.__docgenInfo = { description: "A customizable icon component that applies gradient effects with multiple themes and animations.", displayName: "sgradienticon", props: { hovered: { defaultValue: { value: "false" }, description: "Whether the icon should show the gradient fill (hover state)", name: "hovered", required: !1, type: { name: "boolean" } }, IconComponent: { defaultValue: null, description: "The Material-UI icon component to render with gradient effect", name: "IconComponent", required: !0, type: { name: "IconComponent" } }, sx: { defaultValue: null, description: "Additional styling props", name: "sx", required: !1, type: { name: "SxProps" } }, strokeWidth: { defaultValue: { value: "0" }, description: "Stroke width for the icon (default: 0)", name: "strokeWidth", required: !1, type: { name: "number" } }, gradientTheme: { defaultValue: { value: "blue-cyan" }, description: "Predefined gradient theme (default: 'blue-cyan')", name: "gradientTheme", required: !1, type: { name: "enum", value: [{ value: '"custom"' }, { value: '"blue-cyan"' }, { value: '"purple-pink"' }, { value: '"orange-red"' }, { value: '"green-teal"' }, { value: '"indigo-purple"' }] } }, customGradient: { defaultValue: null, description: "Custom gradient colors when theme is 'custom'", name: "customGradient", required: !1, type: { name: "CustomGradient" } }, gradientDirection: { defaultValue: { value: "diagonal" }, description: "Direction of the gradient (default: 'diagonal')", name: "gradientDirection", required: !1, type: { name: "enum", value: [{ value: '"horizontal"' }, { value: '"vertical"' }, { value: '"diagonal"' }, { value: '"radial"' }] } }, animationDuration: { defaultValue: { value: "300" }, description: "Animation duration in milliseconds (default: 300)", name: "animationDuration", required: !1, type: { name: "number" } }, animationEasing: { defaultValue: { value: "ease" }, description: "Animation easing function (default: 'ease')", name: "animationEasing", required: !1, type: { name: "enum", value: [{ value: '"linear"' }, { value: '"ease"' }, { value: '"ease-in"' }, { value: '"ease-
|
|
85
|
+
sgradienticon.displayName = "sgradienticon", sgradienticon.__docgenInfo = { description: "A customizable icon component that applies gradient effects with multiple themes and animations.", displayName: "sgradienticon", props: { hovered: { defaultValue: { value: "false" }, description: "Whether the icon should show the gradient fill (hover state)", name: "hovered", required: !1, type: { name: "boolean" } }, IconComponent: { defaultValue: null, description: "The Material-UI icon component to render with gradient effect", name: "IconComponent", required: !0, type: { name: "IconComponent" } }, sx: { defaultValue: null, description: "Additional styling props", name: "sx", required: !1, type: { name: "SxProps" } }, strokeWidth: { defaultValue: { value: "0" }, description: "Stroke width for the icon (default: 0)", name: "strokeWidth", required: !1, type: { name: "number" } }, gradientTheme: { defaultValue: { value: "blue-cyan" }, description: "Predefined gradient theme (default: 'blue-cyan')", name: "gradientTheme", required: !1, type: { name: "enum", value: [{ value: '"custom"' }, { value: '"blue-cyan"' }, { value: '"purple-pink"' }, { value: '"orange-red"' }, { value: '"green-teal"' }, { value: '"indigo-purple"' }] } }, customGradient: { defaultValue: null, description: "Custom gradient colors when theme is 'custom'", name: "customGradient", required: !1, type: { name: "CustomGradient" } }, gradientDirection: { defaultValue: { value: "diagonal" }, description: "Direction of the gradient (default: 'diagonal')", name: "gradientDirection", required: !1, type: { name: "enum", value: [{ value: '"horizontal"' }, { value: '"vertical"' }, { value: '"diagonal"' }, { value: '"radial"' }] } }, animationDuration: { defaultValue: { value: "300" }, description: "Animation duration in milliseconds (default: 300)", name: "animationDuration", required: !1, type: { name: "number" } }, animationEasing: { defaultValue: { value: "ease" }, description: "Animation easing function (default: 'ease')", name: "animationEasing", required: !1, type: { name: "enum", value: [{ value: '"linear"' }, { value: '"ease"' }, { value: '"ease-in"' }, { value: '"ease-out"' }, { value: '"ease-in-out"' }] } }, autoHover: { defaultValue: { value: "false" }, description: "Whether to automatically detect hover state (default: false)", name: "autoHover", required: !1, type: { name: "boolean" } }, gradientId: { defaultValue: null, description: "Unique identifier for the gradient (auto-generated if not provided)", name: "gradientId", required: !1, type: { name: "string" } }, alwaysGradient: { defaultValue: { value: "false" }, description: "Whether to always show gradient (overrides hovered state)", name: "alwaysGradient", required: !1, type: { name: "boolean" } }, fallbackColor: { defaultValue: null, description: "Fallback color when gradient is not shown", name: "fallbackColor", required: !1, type: { name: "string" } } } };
|
|
86
86
|
} catch {
|
|
87
87
|
}
|
|
88
88
|
export {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { j as e } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
2
|
import { useState as v, useEffect as P } from "react";
|
|
3
|
-
import { Box as d, Stack as
|
|
3
|
+
import { Box as d, Stack as o, Divider as T, Typography as c, IconButton as H } from "@mui/material";
|
|
4
4
|
import { SAvatar as G } from "../s-avatar/s-avatar.js";
|
|
5
5
|
import { SImageModal as J } from "../s-image-modal/s-image-modal.js";
|
|
6
6
|
import "../s-lazy-image/index.js";
|
|
@@ -12,18 +12,18 @@ const X = N(/* @__PURE__ */ e.jsx("path", {
|
|
|
12
12
|
d: "M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2m4 0v12h4V3z"
|
|
13
13
|
}), "ThumbDown"), Z = N(/* @__PURE__ */ e.jsx("path", {
|
|
14
14
|
d: "M1 21h4V9H1zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73z"
|
|
15
|
-
}), "ThumbUp"), ee = (
|
|
16
|
-
const m = /* @__PURE__ */ new Date(),
|
|
17
|
-
return
|
|
15
|
+
}), "ThumbUp"), ee = (s) => {
|
|
16
|
+
const m = /* @__PURE__ */ new Date(), y = typeof s == "string" ? new Date(s) : s, j = m.getTime() - y.getTime(), w = Math.floor(j / 1e3), u = Math.floor(w / 60), i = Math.floor(u / 60), r = Math.floor(i / 24), f = Math.floor(r / 7), h = Math.floor(r / 30), p = Math.floor(r / 365);
|
|
17
|
+
return w < 60 ? "just now" : u < 60 ? u === 1 ? "1 minute ago" : `${u} minutes ago` : i < 24 ? i === 1 ? "1 hour ago" : `${i} hours ago` : r < 7 ? r === 1 ? "1 day ago" : `${r} days ago` : f < 4 ? f === 1 ? "1 week ago" : `${f} weeks ago` : h < 12 ? h === 1 ? "1 month ago" : `${h} months ago` : p === 1 ? "1 year ago" : `${p} years ago`;
|
|
18
18
|
}, q = ({
|
|
19
|
-
id:
|
|
19
|
+
id: s = Date.now(),
|
|
20
20
|
userName: m,
|
|
21
|
-
userAvatar:
|
|
21
|
+
userAvatar: y,
|
|
22
22
|
rating: j,
|
|
23
|
-
reviewContent:
|
|
23
|
+
reviewContent: w,
|
|
24
24
|
datetime: u,
|
|
25
|
-
images:
|
|
26
|
-
userHelpfulVote:
|
|
25
|
+
images: i,
|
|
26
|
+
userHelpfulVote: r = null,
|
|
27
27
|
helpfulYes: f = 0,
|
|
28
28
|
helpfulNo: h = 0,
|
|
29
29
|
onHelpfulVote: p,
|
|
@@ -35,11 +35,11 @@ const X = N(/* @__PURE__ */ e.jsx("path", {
|
|
|
35
35
|
loading: W = !1,
|
|
36
36
|
sx: k = {}
|
|
37
37
|
}) => {
|
|
38
|
-
const [_, I] = v(f), [U, V] = v(h), [x, M] = v(
|
|
38
|
+
const [_, I] = v(f), [U, V] = v(h), [x, M] = v(r), [Y, D] = v(!1), [A, S] = v(null), R = (a) => {
|
|
39
39
|
let n = a;
|
|
40
|
-
x === a ? (a === "yes" ? I((t) => Math.max(0, t - 1)) : V((t) => Math.max(0, t - 1)), M(null), n = null) : (x === "yes" ? I((t) => Math.max(0, t - 1)) : x === "no" && V((t) => Math.max(0, t - 1)), a === "yes" ? I((t) => t + 1) : V((t) => t + 1), M(a), n = a), p && p(
|
|
41
|
-
}, g = (
|
|
42
|
-
id: `review-${
|
|
40
|
+
x === a ? (a === "yes" ? I((t) => Math.max(0, t - 1)) : V((t) => Math.max(0, t - 1)), M(null), n = null) : (x === "yes" ? I((t) => Math.max(0, t - 1)) : x === "no" && V((t) => Math.max(0, t - 1)), a === "yes" ? I((t) => t + 1) : V((t) => t + 1), M(a), n = a), p && p(s, n);
|
|
41
|
+
}, g = (i == null ? void 0 : i.map((a, n) => ({
|
|
42
|
+
id: `review-${s}-image-${n}`,
|
|
43
43
|
type: "image",
|
|
44
44
|
url: a,
|
|
45
45
|
title: `Review image ${n + 1}`,
|
|
@@ -53,18 +53,18 @@ const X = N(/* @__PURE__ */ e.jsx("path", {
|
|
|
53
53
|
S(a);
|
|
54
54
|
}, F = ee(u);
|
|
55
55
|
return P(() => {
|
|
56
|
-
M(
|
|
57
|
-
}, [
|
|
58
|
-
/* @__PURE__ */ e.jsxs(
|
|
56
|
+
M(r);
|
|
57
|
+
}, [r]), W ? /* @__PURE__ */ e.jsxs(d, { sx: { py: 2, ...k }, children: [
|
|
58
|
+
/* @__PURE__ */ e.jsxs(o, { direction: "row", spacing: 2, alignItems: "flex-start", children: [
|
|
59
59
|
/* @__PURE__ */ e.jsx(l, { component: "rounded-avatar", width: b, height: b }),
|
|
60
60
|
/* @__PURE__ */ e.jsxs(d, { sx: { flex: 1 }, children: [
|
|
61
|
-
/* @__PURE__ */ e.jsxs(
|
|
61
|
+
/* @__PURE__ */ e.jsxs(o, { direction: "row", alignItems: "center", spacing: 2, mb: 1, children: [
|
|
62
62
|
/* @__PURE__ */ e.jsx(l, { variant: "text", width: 120, height: 20 }),
|
|
63
63
|
/* @__PURE__ */ e.jsx(l, { variant: "text", width: 80, height: 16 })
|
|
64
64
|
] }),
|
|
65
65
|
/* @__PURE__ */ e.jsx(d, { sx: { mb: 1 }, children: /* @__PURE__ */ e.jsx(l, { variant: "text", width: 100, height: 20 }) }),
|
|
66
66
|
/* @__PURE__ */ e.jsx(l, { variant: "text", width: "100%", height: 16, sx: { mb: 0.5 } }),
|
|
67
|
-
/* @__PURE__ */ e.jsxs(
|
|
67
|
+
/* @__PURE__ */ e.jsxs(o, { direction: "row", spacing: 1, sx: { display: "inline-flex", alignItems: "center" }, children: [
|
|
68
68
|
/* @__PURE__ */ e.jsx(l, { variant: "text", width: 140, height: 16, sx: { mr: 2 } }),
|
|
69
69
|
/* @__PURE__ */ e.jsx(l, { component: "icon-button" }),
|
|
70
70
|
/* @__PURE__ */ e.jsx(l, { variant: "text", width: 20, height: 16 }),
|
|
@@ -75,16 +75,16 @@ const X = N(/* @__PURE__ */ e.jsx("path", {
|
|
|
75
75
|
] }),
|
|
76
76
|
C && /* @__PURE__ */ e.jsx(T, { sx: { mt: 2 } })
|
|
77
77
|
] }) : /* @__PURE__ */ e.jsxs(d, { sx: { py: 2, ...k }, children: [
|
|
78
|
-
/* @__PURE__ */ e.jsxs(
|
|
79
|
-
/* @__PURE__ */ e.jsx(G, { avatar:
|
|
78
|
+
/* @__PURE__ */ e.jsxs(o, { direction: "row", spacing: 2, alignItems: "flex-start", children: [
|
|
79
|
+
/* @__PURE__ */ e.jsx(G, { avatar: y, name: m, size: b }),
|
|
80
80
|
/* @__PURE__ */ e.jsxs(d, { sx: { flex: 1 }, children: [
|
|
81
|
-
/* @__PURE__ */ e.jsxs(
|
|
81
|
+
/* @__PURE__ */ e.jsxs(o, { direction: "row", alignItems: "center", spacing: 2, mb: 1, children: [
|
|
82
82
|
/* @__PURE__ */ e.jsx(c, { variant: "subtitle2", fontWeight: "600", children: m }),
|
|
83
|
-
/* @__PURE__ */ e.jsx("div", { children: /* @__PURE__ */ e.jsx(c, { variant: "caption",
|
|
83
|
+
/* @__PURE__ */ e.jsx("div", { children: /* @__PURE__ */ e.jsx(c, { variant: "caption", children: F }) })
|
|
84
84
|
] }),
|
|
85
85
|
/* @__PURE__ */ e.jsx(d, { sx: { mb: 1 }, children: /* @__PURE__ */ e.jsx(K, { value: j, max: z, readOnly: L, size: "small" }) }),
|
|
86
|
-
/* @__PURE__ */ e.jsx(c, { variant: "body2", sx: { mb: 2, lineHeight: 1.6 }, children:
|
|
87
|
-
|
|
86
|
+
/* @__PURE__ */ e.jsx(c, { variant: "body2", sx: { mb: 2, lineHeight: 1.6 }, children: w }),
|
|
87
|
+
i && i.length > 0 && /* @__PURE__ */ e.jsx(o, { direction: "row", spacing: 1, sx: { mb: 2, flexWrap: "wrap", gap: 1 }, children: i.map((a, n) => /* @__PURE__ */ e.jsx(
|
|
88
88
|
Q,
|
|
89
89
|
{
|
|
90
90
|
src: a,
|
|
@@ -106,8 +106,8 @@ const X = N(/* @__PURE__ */ e.jsx("path", {
|
|
|
106
106
|
},
|
|
107
107
|
n
|
|
108
108
|
)) }),
|
|
109
|
-
$ && /* @__PURE__ */ e.jsxs(
|
|
110
|
-
/* @__PURE__ */ e.jsx(c, { variant: "caption",
|
|
109
|
+
$ && /* @__PURE__ */ e.jsxs(o, { direction: "row", spacing: 1, sx: { display: "inline-flex", alignItems: "center" }, children: [
|
|
110
|
+
/* @__PURE__ */ e.jsx(c, { variant: "caption", sx: { mr: 2 }, children: "Was this review helpful?" }),
|
|
111
111
|
/* @__PURE__ */ e.jsx(
|
|
112
112
|
H,
|
|
113
113
|
{
|
|
@@ -122,7 +122,7 @@ const X = N(/* @__PURE__ */ e.jsx("path", {
|
|
|
122
122
|
children: /* @__PURE__ */ e.jsx(Z, { fontSize: "small" })
|
|
123
123
|
}
|
|
124
124
|
),
|
|
125
|
-
/* @__PURE__ */ e.jsx(c, { variant: "caption",
|
|
125
|
+
/* @__PURE__ */ e.jsx(c, { variant: "caption", children: _ }),
|
|
126
126
|
/* @__PURE__ */ e.jsx(
|
|
127
127
|
H,
|
|
128
128
|
{
|
|
@@ -138,7 +138,7 @@ const X = N(/* @__PURE__ */ e.jsx("path", {
|
|
|
138
138
|
children: /* @__PURE__ */ e.jsx(X, { fontSize: "small" })
|
|
139
139
|
}
|
|
140
140
|
),
|
|
141
|
-
/* @__PURE__ */ e.jsx(c, { variant: "caption",
|
|
141
|
+
/* @__PURE__ */ e.jsx(c, { variant: "caption", children: U })
|
|
142
142
|
] })
|
|
143
143
|
] })
|
|
144
144
|
] }),
|
|
@@ -60,11 +60,11 @@ const l = ({
|
|
|
60
60
|
};
|
|
61
61
|
l.displayName = "SScrollReveal";
|
|
62
62
|
try {
|
|
63
|
-
l.displayName = "SScrollReveal", l.__docgenInfo = { description: "A scroll-triggered animation component that reveals content with smooth animations when elements enter the viewport.", displayName: "SScrollReveal", props: { children: { defaultValue: null, description: "The content to be revealed with animation", name: "children", required: !0, type: { name: "ReactNode" } }, duration: { defaultValue: { value: "0.6" }, description: "Animation duration in seconds (default: 0.6)", name: "duration", required: !1, type: { name: "number" } }, ease: { defaultValue: { value: "easeOut" }, description: "Framer Motion easing function for the animation (default: 'easeOut')", name: "ease", required: !1, type: { name: "Easing" } }, threshold: { defaultValue: null, description: "Intersection Observer threshold (0-1) for triggering animation", name: "threshold", required: !1, type: { name: "number" } }, rootMargin: { defaultValue: null, description: "Intersection Observer root margin (CSS margin syntax)", name: "rootMargin", required: !1, type: { name: "string" } }, delay: { defaultValue: null, description: "Delay before starting animation in milliseconds", name: "delay", required: !1, type: { name: "number" } }, direction: { defaultValue: null, description: "Direction from which elements animate into view", name: "direction", required: !1, type: { name: "enum", value: [{ value: '"
|
|
63
|
+
l.displayName = "SScrollReveal", l.__docgenInfo = { description: "A scroll-triggered animation component that reveals content with smooth animations when elements enter the viewport.", displayName: "SScrollReveal", props: { children: { defaultValue: null, description: "The content to be revealed with animation", name: "children", required: !0, type: { name: "ReactNode" } }, duration: { defaultValue: { value: "0.6" }, description: "Animation duration in seconds (default: 0.6)", name: "duration", required: !1, type: { name: "number" } }, ease: { defaultValue: { value: "easeOut" }, description: "Framer Motion easing function for the animation (default: 'easeOut')", name: "ease", required: !1, type: { name: "Easing" } }, threshold: { defaultValue: null, description: "Intersection Observer threshold (0-1) for triggering animation", name: "threshold", required: !1, type: { name: "number" } }, rootMargin: { defaultValue: null, description: "Intersection Observer root margin (CSS margin syntax)", name: "rootMargin", required: !1, type: { name: "string" } }, delay: { defaultValue: null, description: "Delay before starting animation in milliseconds", name: "delay", required: !1, type: { name: "number" } }, direction: { defaultValue: null, description: "Direction from which elements animate into view", name: "direction", required: !1, type: { name: "enum", value: [{ value: '"left"' }, { value: '"right"' }, { value: '"up"' }, { value: '"down"' }] } }, distance: { defaultValue: null, description: "Distance in pixels that elements travel during animation", name: "distance", required: !1, type: { name: "number" } }, scale: { defaultValue: { value: "true" }, description: "Whether to include scaling effect in the animation (default: true)", name: "scale", required: !1, type: { name: "boolean" } }, rotate: { defaultValue: { value: "false" }, description: "Whether to include rotation effect in the animation (default: false)", name: "rotate", required: !1, type: { name: "boolean" } }, stagger: { defaultValue: { value: "true" }, description: "Whether to stagger animations for multiple children (default: true)", name: "stagger", required: !1, type: { name: "boolean" } }, staggerDelay: { defaultValue: { value: "0.1" }, description: "Delay between staggered child animations in seconds (default: 0.1)", name: "staggerDelay", required: !1, type: { name: "number" } } } };
|
|
64
64
|
} catch {
|
|
65
65
|
}
|
|
66
66
|
try {
|
|
67
|
-
sscrollreveal.displayName = "sscrollreveal", sscrollreveal.__docgenInfo = { description: "A scroll-triggered animation component that reveals content with smooth animations when elements enter the viewport.", displayName: "sscrollreveal", props: { children: { defaultValue: null, description: "The content to be revealed with animation", name: "children", required: !0, type: { name: "ReactNode" } }, duration: { defaultValue: { value: "0.6" }, description: "Animation duration in seconds (default: 0.6)", name: "duration", required: !1, type: { name: "number" } }, ease: { defaultValue: { value: "easeOut" }, description: "Framer Motion easing function for the animation (default: 'easeOut')", name: "ease", required: !1, type: { name: "Easing" } }, threshold: { defaultValue: null, description: "Intersection Observer threshold (0-1) for triggering animation", name: "threshold", required: !1, type: { name: "number" } }, rootMargin: { defaultValue: null, description: "Intersection Observer root margin (CSS margin syntax)", name: "rootMargin", required: !1, type: { name: "string" } }, delay: { defaultValue: null, description: "Delay before starting animation in milliseconds", name: "delay", required: !1, type: { name: "number" } }, direction: { defaultValue: null, description: "Direction from which elements animate into view", name: "direction", required: !1, type: { name: "enum", value: [{ value: '"
|
|
67
|
+
sscrollreveal.displayName = "sscrollreveal", sscrollreveal.__docgenInfo = { description: "A scroll-triggered animation component that reveals content with smooth animations when elements enter the viewport.", displayName: "sscrollreveal", props: { children: { defaultValue: null, description: "The content to be revealed with animation", name: "children", required: !0, type: { name: "ReactNode" } }, duration: { defaultValue: { value: "0.6" }, description: "Animation duration in seconds (default: 0.6)", name: "duration", required: !1, type: { name: "number" } }, ease: { defaultValue: { value: "easeOut" }, description: "Framer Motion easing function for the animation (default: 'easeOut')", name: "ease", required: !1, type: { name: "Easing" } }, threshold: { defaultValue: null, description: "Intersection Observer threshold (0-1) for triggering animation", name: "threshold", required: !1, type: { name: "number" } }, rootMargin: { defaultValue: null, description: "Intersection Observer root margin (CSS margin syntax)", name: "rootMargin", required: !1, type: { name: "string" } }, delay: { defaultValue: null, description: "Delay before starting animation in milliseconds", name: "delay", required: !1, type: { name: "number" } }, direction: { defaultValue: null, description: "Direction from which elements animate into view", name: "direction", required: !1, type: { name: "enum", value: [{ value: '"left"' }, { value: '"right"' }, { value: '"up"' }, { value: '"down"' }] } }, distance: { defaultValue: null, description: "Distance in pixels that elements travel during animation", name: "distance", required: !1, type: { name: "number" } }, scale: { defaultValue: { value: "true" }, description: "Whether to include scaling effect in the animation (default: true)", name: "scale", required: !1, type: { name: "boolean" } }, rotate: { defaultValue: { value: "false" }, description: "Whether to include rotation effect in the animation (default: false)", name: "rotate", required: !1, type: { name: "boolean" } }, stagger: { defaultValue: { value: "true" }, description: "Whether to stagger animations for multiple children (default: true)", name: "stagger", required: !1, type: { name: "boolean" } }, staggerDelay: { defaultValue: { value: "0.1" }, description: "Delay between staggered child animations in seconds (default: 0.1)", name: "staggerDelay", required: !1, type: { name: "number" } } } };
|
|
68
68
|
} catch {
|
|
69
69
|
}
|
|
70
70
|
export {
|
|
@@ -31,11 +31,11 @@ const o = ({
|
|
|
31
31
|
};
|
|
32
32
|
o.displayName = "SSkeleton";
|
|
33
33
|
try {
|
|
34
|
-
o.displayName = "SSkeleton", o.__docgenInfo = { description: "An enhanced skeleton loading component with pre-defined component presets for consistent loading states.", displayName: "SSkeleton", props: { variant: { defaultValue: { value: "text" }, description: "Visual variant of the skeleton", name: "variant", required: !1, type: { name: "enum", value: [{ value: '"text"' }, { value: '"rectangular"' }, { value: '"rounded"' }, { value: '"circular"' }] } }, height: { defaultValue: { value: "32" }, description: "Height of the skeleton (number for px, string for CSS units)", name: "height", required: !1, type: { name: "string | number" } }, width: { defaultValue: { value: "100%" }, description: "Width of the skeleton (number for px, string for CSS units)", name: "width", required: !1, type: { name: "string | number" } }, fontSize: { defaultValue: { value: "16px" }, description: "Font size for text variant skeletons", name: "fontSize", required: !1, type: { name: "string | number" } }, component: { defaultValue: null, description: "Pre-defined component preset for common UI elements", name: "component", required: !1, type: { name: "enum", value: [{ value: '"
|
|
34
|
+
o.displayName = "SSkeleton", o.__docgenInfo = { description: "An enhanced skeleton loading component with pre-defined component presets for consistent loading states.", displayName: "SSkeleton", props: { variant: { defaultValue: { value: "text" }, description: "Visual variant of the skeleton", name: "variant", required: !1, type: { name: "enum", value: [{ value: '"text"' }, { value: '"rectangular"' }, { value: '"rounded"' }, { value: '"circular"' }] } }, height: { defaultValue: { value: "32" }, description: "Height of the skeleton (number for px, string for CSS units)", name: "height", required: !1, type: { name: "string | number" } }, width: { defaultValue: { value: "100%" }, description: "Width of the skeleton (number for px, string for CSS units)", name: "width", required: !1, type: { name: "string | number" } }, fontSize: { defaultValue: { value: "16px" }, description: "Font size for text variant skeletons", name: "fontSize", required: !1, type: { name: "string | number" } }, component: { defaultValue: null, description: "Pre-defined component preset for common UI elements", name: "component", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"checkbox"' }, { value: '"typography"' }, { value: '"radio-button"' }, { value: '"avatar"' }, { value: '"rounded-avatar"' }, { value: '"icon-button"' }, { value: '"title-typography"' }] } } } };
|
|
35
35
|
} catch {
|
|
36
36
|
}
|
|
37
37
|
try {
|
|
38
|
-
sskeleton.displayName = "sskeleton", sskeleton.__docgenInfo = { description: "An enhanced skeleton loading component with pre-defined component presets for consistent loading states.", displayName: "sskeleton", props: { variant: { defaultValue: { value: "text" }, description: "Visual variant of the skeleton", name: "variant", required: !1, type: { name: "enum", value: [{ value: '"text"' }, { value: '"rectangular"' }, { value: '"rounded"' }, { value: '"circular"' }] } }, height: { defaultValue: { value: "32" }, description: "Height of the skeleton (number for px, string for CSS units)", name: "height", required: !1, type: { name: "string | number" } }, width: { defaultValue: { value: "100%" }, description: "Width of the skeleton (number for px, string for CSS units)", name: "width", required: !1, type: { name: "string | number" } }, fontSize: { defaultValue: { value: "16px" }, description: "Font size for text variant skeletons", name: "fontSize", required: !1, type: { name: "string | number" } }, component: { defaultValue: null, description: "Pre-defined component preset for common UI elements", name: "component", required: !1, type: { name: "enum", value: [{ value: '"
|
|
38
|
+
sskeleton.displayName = "sskeleton", sskeleton.__docgenInfo = { description: "An enhanced skeleton loading component with pre-defined component presets for consistent loading states.", displayName: "sskeleton", props: { variant: { defaultValue: { value: "text" }, description: "Visual variant of the skeleton", name: "variant", required: !1, type: { name: "enum", value: [{ value: '"text"' }, { value: '"rectangular"' }, { value: '"rounded"' }, { value: '"circular"' }] } }, height: { defaultValue: { value: "32" }, description: "Height of the skeleton (number for px, string for CSS units)", name: "height", required: !1, type: { name: "string | number" } }, width: { defaultValue: { value: "100%" }, description: "Width of the skeleton (number for px, string for CSS units)", name: "width", required: !1, type: { name: "string | number" } }, fontSize: { defaultValue: { value: "16px" }, description: "Font size for text variant skeletons", name: "fontSize", required: !1, type: { name: "string | number" } }, component: { defaultValue: null, description: "Pre-defined component preset for common UI elements", name: "component", required: !1, type: { name: "enum", value: [{ value: '"button"' }, { value: '"checkbox"' }, { value: '"typography"' }, { value: '"radio-button"' }, { value: '"avatar"' }, { value: '"rounded-avatar"' }, { value: '"icon-button"' }, { value: '"title-typography"' }] } } } };
|
|
39
39
|
} catch {
|
|
40
40
|
}
|
|
41
41
|
export {
|
|
@@ -24,11 +24,11 @@ const t = u(
|
|
|
24
24
|
);
|
|
25
25
|
t.displayName = "STabPanel";
|
|
26
26
|
try {
|
|
27
|
-
t.displayName = "STabPanel", t.__docgenInfo = { description: "Individual tab content panel component with advanced mounting controls.", displayName: "STabPanel", props: { children: { defaultValue: null, description: "Content to display in the tab panel", name: "children", required: !1, type: { name: "ReactNode" } },
|
|
27
|
+
t.displayName = "STabPanel", t.__docgenInfo = { description: "Individual tab content panel component with advanced mounting controls.", displayName: "STabPanel", props: { children: { defaultValue: null, description: "Content to display in the tab panel", name: "children", required: !1, type: { name: "ReactNode" } }, value: { defaultValue: null, description: "Current active tab index from the parent tabs component", name: "value", required: !0, type: { name: "number" } }, index: { defaultValue: null, description: "Index of this specific tab panel (0-based)", name: "index", required: !0, type: { name: "number" } }, keepMounted: { defaultValue: { value: "false" }, description: "Keep the panel mounted in the DOM when not active", name: "keepMounted", required: !1, type: { name: "boolean" } } } };
|
|
28
28
|
} catch {
|
|
29
29
|
}
|
|
30
30
|
try {
|
|
31
|
-
stabpanel.displayName = "stabpanel", stabpanel.__docgenInfo = { description: "Individual tab content panel component with advanced mounting controls.", displayName: "stabpanel", props: { children: { defaultValue: null, description: "Content to display in the tab panel", name: "children", required: !1, type: { name: "ReactNode" } },
|
|
31
|
+
stabpanel.displayName = "stabpanel", stabpanel.__docgenInfo = { description: "Individual tab content panel component with advanced mounting controls.", displayName: "stabpanel", props: { children: { defaultValue: null, description: "Content to display in the tab panel", name: "children", required: !1, type: { name: "ReactNode" } }, value: { defaultValue: null, description: "Current active tab index from the parent tabs component", name: "value", required: !0, type: { name: "number" } }, index: { defaultValue: null, description: "Index of this specific tab panel (0-based)", name: "index", required: !0, type: { name: "number" } }, keepMounted: { defaultValue: { value: "false" }, description: "Keep the panel mounted in the DOM when not active", name: "keepMounted", required: !1, type: { name: "boolean" } } } };
|
|
32
32
|
} catch {
|
|
33
33
|
}
|
|
34
34
|
export {
|