@solostylist/ui-kit 1.0.166 → 1.0.168
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/{Typography-B7LOtCzI.js → Typography-C8jwvSWe.js} +1 -1
- package/dist/main.d.ts +5 -3
- package/dist/main.js +182 -172
- package/dist/s-accordion/index.js +2 -2
- package/dist/s-accordion/s-accordion.d.ts +17 -1
- package/dist/s-accordion/s-accordion.js +252 -238
- package/dist/s-action-overlay/index.js +1 -1
- package/dist/s-action-overlay/s-action-overlay.d.ts +34 -1
- package/dist/s-action-overlay/s-action-overlay.js +67 -55
- package/dist/s-ai-tool-bar/index.d.ts +2 -0
- package/dist/s-ai-tool-bar/index.js +3 -2
- package/dist/s-ai-tool-bar/s-ai-tool-bar.d.ts +43 -22
- package/dist/s-ai-tool-bar/s-ai-tool-bar.js +336 -255
- package/dist/s-autocomplete/index.js +2 -2
- package/dist/s-autocomplete/s-autocomplete.d.ts +13 -15
- package/dist/s-autocomplete/s-autocomplete.js +25 -17
- package/dist/s-avatar/index.js +2 -2
- package/dist/s-avatar/s-avatar.d.ts +16 -1
- package/dist/s-avatar/s-avatar.js +23 -10
- package/dist/s-blur-text/index.js +2 -2
- package/dist/s-blur-text/s-blur-text.d.ts +4 -13
- package/dist/s-blur-text/s-blur-text.js +57 -51
- package/dist/s-breadcrumbs/index.js +2 -2
- package/dist/s-breadcrumbs/s-breadcrumbs.d.ts +20 -1
- package/dist/s-breadcrumbs/s-breadcrumbs.js +39 -30
- package/dist/s-button/index.js +2 -2
- package/dist/s-button/s-button.d.ts +7 -1
- package/dist/s-button/s-button.js +15 -5
- package/dist/s-button-link/index.js +2 -2
- package/dist/s-button-link/s-button-link.d.ts +12 -26
- package/dist/s-button-link/s-button-link.js +36 -26
- package/dist/s-carousel/index.js +1 -1
- package/dist/s-carousel/s-carousel.d.ts +11 -1
- package/dist/s-carousel/s-carousel.js +233 -223
- package/dist/s-category-card/index.js +2 -2
- package/dist/s-category-card/s-category-card.d.ts +28 -1
- package/dist/s-category-card/s-category-card.js +77 -58
- package/dist/s-chat-input/index.js +2 -2
- package/dist/s-chat-input/s-chat-input.d.ts +12 -1
- package/dist/s-chat-input/s-chat-input.js +92 -82
- package/dist/s-chat-message/index.js +2 -2
- package/dist/s-chat-message/s-chat-message.d.ts +22 -1
- package/dist/s-chat-message/s-chat-message.js +144 -133
- package/dist/s-checkbox/index.js +2 -2
- package/dist/s-checkbox/s-checkbox.d.ts +2 -15
- package/dist/s-checkbox/s-checkbox.js +20 -10
- package/dist/s-chip/index.js +2 -2
- package/dist/s-chip/s-chip.d.ts +7 -1
- package/dist/s-chip/s-chip.js +15 -5
- package/dist/s-chips/index.js +2 -2
- package/dist/s-chips/s-chips.d.ts +5 -18
- package/dist/s-chips/s-chips.js +56 -41
- package/dist/s-comment-message/index.js +2 -2
- package/dist/s-comment-message/s-comment-message.d.ts +26 -1
- package/dist/s-comment-message/s-comment-message.js +95 -89
- package/dist/s-copyable-text/index.js +1 -1
- package/dist/s-copyable-text/s-copyable-text.d.ts +9 -36
- package/dist/s-copyable-text/s-copyable-text.js +31 -21
- package/dist/s-countdown/index.d.ts +3 -2
- package/dist/s-countdown/index.js +4 -3
- package/dist/s-countdown/s-count-box.d.ts +39 -0
- package/dist/s-countdown/s-count-box.js +112 -0
- package/dist/s-countdown/s-count-down.d.ts +6 -50
- package/dist/s-countdown/s-count-down.js +110 -175
- package/dist/s-data-table/index.js +2 -2
- package/dist/s-data-table/s-data-table.d.ts +9 -65
- package/dist/s-data-table/s-data-table.js +381 -371
- package/dist/s-date-picker/index.js +2 -2
- package/dist/s-date-picker/s-date-picker.d.ts +6 -17
- package/dist/s-date-picker/s-date-picker.js +124 -107
- package/dist/s-datetime-picker/index.js +2 -2
- package/dist/s-datetime-picker/s-datetime-picker.d.ts +5 -16
- package/dist/s-datetime-picker/s-datetime-picker.js +897 -887
- package/dist/s-dialog/index.js +2 -2
- package/dist/s-dialog/s-dialog.d.ts +3 -16
- package/dist/s-dialog/s-dialog.js +32 -23
- package/dist/s-dialog-confirm/index.js +3 -3
- package/dist/s-dialog-confirm/s-dialog-confirm.d.ts +5 -13
- package/dist/s-dialog-confirm/s-dialog-confirm.js +55 -48
- package/dist/s-dialog-message/index.js +4 -4
- package/dist/s-dialog-message/s-dialog-message.d.ts +5 -15
- package/dist/s-dialog-message/s-dialog-message.js +45 -38
- package/dist/s-empty/index.js +2 -2
- package/dist/s-empty/s-empty.d.ts +5 -20
- package/dist/s-empty/s-empty.js +14 -4
- package/dist/s-error/index.js +2 -2
- package/dist/s-error/s-error.d.ts +5 -20
- package/dist/s-error/s-error.js +16 -6
- package/dist/s-error-layout/index.js +2 -2
- package/dist/s-error-layout/s-error-layout.d.ts +6 -1
- package/dist/s-error-layout/s-error-layout.js +60 -51
- package/dist/s-file-dropzone/index.js +2 -2
- package/dist/s-file-dropzone/s-file-dropzone.d.ts +6 -51
- package/dist/s-file-dropzone/s-file-dropzone.js +64 -54
- package/dist/s-file-icon/index.js +2 -2
- package/dist/s-file-icon/s-file-icon.d.ts +5 -25
- package/dist/s-file-icon/s-file-icon.js +14 -8
- package/dist/s-flex-box/index.js +2 -2
- package/dist/s-flex-box/s-flex-box.d.ts +10 -1
- package/dist/s-flex-box/s-flex-box.js +14 -4
- package/dist/s-form/index.js +2 -2
- package/dist/s-form/s-form.d.ts +5 -14
- package/dist/s-form/s-form.js +19 -9
- package/dist/s-gallery/index.js +33 -3
- package/dist/s-gallery/s-gallery.d.ts +3 -36
- package/dist/s-gallery/s-gallery.js +108 -78
- package/dist/s-glow-button/s-glow-button.d.ts +6 -42
- package/dist/s-glow-button/s-glow-button.js +29 -47
- package/dist/s-gradient-icon/index.d.ts +1 -1
- package/dist/s-gradient-icon/index.js +1 -1
- package/dist/s-gradient-icon/s-gradient-icon.d.ts +8 -68
- package/dist/s-gradient-icon/s-gradient-icon.js +54 -44
- package/dist/s-i18n-provider/index.js +1 -1
- package/dist/s-i18n-provider/s-i18n-provider.d.ts +5 -33
- package/dist/s-i18n-provider/s-i18n-provider.js +25 -15
- package/dist/s-icon-button/index.js +2 -2
- package/dist/s-icon-button/s-icon-button.d.ts +6 -19
- package/dist/s-icon-button/s-icon-button.js +14 -4
- package/dist/s-image-comparison/s-image-comparison.js +50 -45
- package/dist/s-image-modal/index.js +3 -3
- package/dist/s-image-modal/s-image-modal.d.ts +4 -20
- package/dist/s-image-modal/s-image-modal.js +150 -135
- package/dist/s-item-not-found/index.js +2 -2
- package/dist/s-item-not-found/s-item-not-found.d.ts +14 -1
- package/dist/s-item-not-found/s-item-not-found.js +21 -10
- package/dist/s-label/index.js +2 -2
- package/dist/s-label/s-label.d.ts +9 -25
- package/dist/s-label/s-label.js +19 -9
- package/dist/s-language-switcher/index.js +3 -3
- package/dist/s-language-switcher/s-language-switcher.d.ts +20 -33
- package/dist/s-language-switcher/s-language-switcher.js +137 -115
- package/dist/s-lazy-image/index.js +10 -2
- package/dist/s-lazy-image/s-lazy-image.d.ts +12 -58
- package/dist/s-lazy-image/s-lazy-image.js +53 -58
- package/dist/s-localization-provider/index.js +2 -2
- package/dist/s-localization-provider/s-localization-provider.d.ts +6 -27
- package/dist/s-localization-provider/s-localization-provider.js +157 -149
- package/dist/s-moving-border/index.js +2 -2
- package/dist/s-moving-border/s-moving-border.d.ts +3 -33
- package/dist/s-moving-border/s-moving-border.js +65 -55
- package/dist/s-multi-select/index.js +2 -2
- package/dist/s-multi-select/s-multi-select.d.ts +5 -15
- package/dist/s-multi-select/s-multi-select.js +54 -45
- package/dist/s-no-ssr/index.js +2 -2
- package/dist/s-no-ssr/s-no-ssr.d.ts +5 -33
- package/dist/s-no-ssr/s-no-ssr.js +21 -11
- package/dist/s-overlay-scrollbar/index.js +2 -2
- package/dist/s-overlay-scrollbar/s-overlay-scrollbar.d.ts +10 -1
- package/dist/s-overlay-scrollbar/s-overlay-scrollbar.js +16 -11
- package/dist/s-pagination/index.js +2 -2
- package/dist/s-pagination/s-pagination.d.ts +5 -23
- package/dist/s-pagination/s-pagination.js +17 -11
- package/dist/s-pixel-reveal/index.d.ts +2 -0
- package/dist/s-pixel-reveal/index.js +4 -0
- package/dist/s-pixel-reveal/package.json +5 -0
- package/dist/s-pixel-reveal/s-pixel-reveal.d.ts +27 -0
- package/dist/s-pixel-reveal/s-pixel-reveal.js +156 -0
- package/dist/s-radial-pulse-animate/index.js +2 -2
- package/dist/s-radial-pulse-animate/s-radial-pulse-animate.d.ts +12 -1
- package/dist/s-radial-pulse-animate/s-radial-pulse-animate.js +52 -42
- package/dist/s-rating/index.js +2 -2
- package/dist/s-rating/s-rating.d.ts +7 -1
- package/dist/s-rating/s-rating.js +15 -5
- package/dist/s-review/index.js +2 -2
- package/dist/s-review/s-review.d.ts +25 -1
- package/dist/s-review/s-review.js +104 -97
- package/dist/s-scroll-reveal/index.js +2 -2
- package/dist/s-scroll-reveal/s-scroll-reveal.d.ts +17 -36
- package/dist/s-scroll-reveal/s-scroll-reveal.js +43 -33
- package/dist/s-scroll-to-top/index.js +2 -2
- package/dist/s-scroll-to-top/s-scroll-to-top.d.ts +12 -17
- package/dist/s-scroll-to-top/s-scroll-to-top.js +20 -15
- package/dist/s-select/index.js +2 -2
- package/dist/s-select/s-select.d.ts +3 -22
- package/dist/s-select/s-select.js +76 -72
- package/dist/s-select-list/index.js +2 -2
- package/dist/s-select-list/s-select-list.d.ts +16 -19
- package/dist/s-select-list/s-select-list.js +33 -28
- package/dist/s-skeleton/index.js +2 -2
- package/dist/s-skeleton/s-skeleton.d.ts +6 -22
- package/dist/s-skeleton/s-skeleton.js +28 -18
- package/dist/s-snackbar-message/index.js +4 -4
- package/dist/s-snackbar-message/s-snackbar-message.d.ts +5 -23
- package/dist/s-snackbar-message/s-snackbar-message.js +38 -31
- package/dist/s-spotlight-cursor/index.js +2 -2
- package/dist/s-spotlight-cursor/s-spotlight-cursor.d.ts +10 -44
- package/dist/s-spotlight-cursor/s-spotlight-cursor.js +35 -29
- package/dist/s-stripe/index.d.ts +4 -1
- package/dist/s-stripe/index.js +7 -4
- package/dist/s-stripe/s-stripe-cvc.d.ts +8 -0
- package/dist/s-stripe/s-stripe-cvc.js +15 -0
- package/dist/s-stripe/s-stripe-expiry.d.ts +8 -0
- package/dist/s-stripe/s-stripe-expiry.js +15 -0
- package/dist/s-stripe/s-stripe-number.d.ts +8 -0
- package/dist/s-stripe/s-stripe-number.js +15 -0
- package/dist/s-stripe/s-stripe.d.ts +6 -85
- package/dist/s-stripe/s-stripe.js +24 -27
- package/dist/s-stripe/stripe-input.js +22 -18
- package/dist/s-tabs/index.js +6 -6
- package/dist/s-tabs/s-tab-panel.d.ts +11 -1
- package/dist/s-tabs/s-tab-panel.js +25 -16
- package/dist/s-tabs/s-tab.js +9 -5
- package/dist/s-tabs/s-tabs.d.ts +24 -3
- package/dist/s-tabs/s-tabs.js +34 -25
- package/dist/s-text-editor/index.js +3 -3
- package/dist/s-text-editor/s-text-editor-toolbar.js +91 -76
- package/dist/s-text-editor/s-text-editor.d.ts +13 -11
- package/dist/s-text-editor/s-text-editor.js +44 -30
- package/dist/s-text-field/index.js +2 -2
- package/dist/s-text-field/s-text-field.d.ts +6 -15
- package/dist/s-text-field/s-text-field.js +38 -28
- package/dist/s-text-shimmer/index.js +2 -2
- package/dist/s-text-shimmer/s-text-shimmer.d.ts +10 -1
- package/dist/s-text-shimmer/s-text-shimmer.js +27 -18
- package/dist/s-text-truncation/index.js +2 -2
- package/dist/s-text-truncation/s-text-truncation.d.ts +9 -38
- package/dist/s-text-truncation/s-text-truncation.js +34 -20
- package/dist/s-theme-demo/s-theme-demo.js +238 -223
- package/dist/s-theme-provider/index.js +1 -1
- package/dist/s-theme-provider/s-theme-provider.d.ts +5 -17
- package/dist/s-theme-provider/s-theme-provider.js +44 -34
- package/dist/s-theme-switch/s-theme-switch.js +23 -19
- package/dist/s-tip/index.js +2 -2
- package/dist/s-tip/s-tip.d.ts +5 -22
- package/dist/s-tip/s-tip.js +22 -12
- package/dist/s-two-pane-layout/index.js +10 -2
- package/dist/s-two-pane-layout/s-two-pane-layout.d.ts +7 -1
- package/dist/s-two-pane-layout/s-two-pane-layout.js +58 -48
- package/dist/s-typewriter-text/index.js +2 -2
- package/dist/s-typewriter-text/s-typewriter-text.d.ts +17 -1
- package/dist/s-typewriter-text/s-typewriter-text.js +37 -27
- package/dist/s-zoom-image/index.js +10 -2
- package/dist/s-zoom-image/s-zoom-image.d.ts +10 -42
- package/dist/s-zoom-image/s-zoom-image.js +62 -52
- package/dist/theme/components/alert.d.ts +1440 -1440
- package/dist/theme/components/button.d.ts +2156 -2156
- package/dist/theme/components/chip.d.ts +2 -2
- package/dist/theme/customizations/data-display.js +1 -1
- package/dist/{typographyClasses-C7fhAsUD.js → typographyClasses-DDyl9mok.js} +4 -4
- package/dist/{useMobilePicker-DgxcRrRB.js → useMobilePicker-C1RZZUWr.js} +1 -1
- package/package.json +10 -4
|
@@ -23,20 +23,18 @@ export interface SAutocompleteProps<T, Multiple extends boolean | undefined, Dis
|
|
|
23
23
|
htmlFor?: string;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* @param ref - Forward ref to the underlying Autocomplete component
|
|
39
|
-
* @returns JSX.Element - Wrapped Autocomplete with form labeling and validation
|
|
26
|
+
* Type definition for SAutocomplete component with generic support
|
|
27
|
+
*/
|
|
28
|
+
export interface SAutocompleteComponent {
|
|
29
|
+
<T, Multiple extends boolean | undefined = undefined, DisableClearable extends boolean | undefined = undefined, FreeSolo extends boolean | undefined = undefined>(props: SAutocompleteProps<T, Multiple, DisableClearable, FreeSolo> & {
|
|
30
|
+
ref?: React.ForwardedRef<unknown>;
|
|
31
|
+
}): React.JSX.Element;
|
|
32
|
+
displayName?: string;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* A standardized autocomplete/combobox component that wraps Material-UI Autocomplete
|
|
36
|
+
* with consistent form labeling, validation, and help text patterns. Maintains full
|
|
37
|
+
* Material-UI API compatibility while providing enhanced form integration.
|
|
40
38
|
*/
|
|
41
|
-
declare const SAutocomplete:
|
|
39
|
+
export declare const SAutocomplete: SAutocompleteComponent;
|
|
42
40
|
export default SAutocomplete;
|
|
@@ -1,29 +1,37 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { Autocomplete as
|
|
4
|
-
import
|
|
5
|
-
const
|
|
1
|
+
import { j as e } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
+
import { forwardRef as s, useId as m } from "react";
|
|
3
|
+
import { Autocomplete as c, TextField as f } from "@mui/material";
|
|
4
|
+
import { SForm as h } from "../s-form/s-form.js";
|
|
5
|
+
const t = s(
|
|
6
6
|
({
|
|
7
|
-
label:
|
|
8
|
-
required:
|
|
9
|
-
error:
|
|
10
|
-
htmlFor:
|
|
11
|
-
...
|
|
7
|
+
label: r = "",
|
|
8
|
+
required: o = !1,
|
|
9
|
+
error: l,
|
|
10
|
+
htmlFor: i,
|
|
11
|
+
...n
|
|
12
12
|
}, d) => {
|
|
13
|
-
const u =
|
|
14
|
-
return /* @__PURE__ */
|
|
15
|
-
|
|
13
|
+
const u = m(), a = i ?? u;
|
|
14
|
+
return /* @__PURE__ */ e.jsx(h, { error: l, label: r, required: o, htmlFor: a, children: /* @__PURE__ */ e.jsx(
|
|
15
|
+
c,
|
|
16
16
|
{
|
|
17
17
|
disablePortal: !0,
|
|
18
18
|
fullWidth: !0,
|
|
19
|
-
renderInput: (
|
|
20
|
-
id:
|
|
21
|
-
...
|
|
19
|
+
renderInput: (p) => /* @__PURE__ */ e.jsx(f, { ...p }),
|
|
20
|
+
id: a,
|
|
21
|
+
...n,
|
|
22
22
|
ref: d
|
|
23
23
|
}
|
|
24
24
|
) });
|
|
25
25
|
}
|
|
26
26
|
);
|
|
27
|
+
t.displayName = "SAutocomplete";
|
|
28
|
+
try {
|
|
29
|
+
t.displayName = "SAutocomplete", t.__docgenInfo = { description: `A standardized autocomplete/combobox component that wraps Material-UI Autocomplete
|
|
30
|
+
with consistent form labeling, validation, and help text patterns. Maintains full
|
|
31
|
+
Material-UI API compatibility while providing enhanced form integration.`, displayName: "SAutocomplete", props: { renderInput: { defaultValue: null, description: "Optional custom renderInput function for advanced input customization", name: "renderInput", required: !1, type: { name: "((params: AutocompleteRenderInputParams) => ReactNode)" } }, label: { defaultValue: null, description: "Field label displayed above the autocomplete", name: "label", required: !1, type: { name: "ReactNode" } }, required: { defaultValue: null, description: "Whether the field is required (shows asterisk in label)", name: "required", required: !1, type: { name: "boolean" } }, error: { defaultValue: null, description: "Error message to display below the field", name: "error", required: !1, type: { name: "string" } }, htmlFor: { defaultValue: null, description: "HTML id attribute for the input element", name: "htmlFor", required: !1, type: { name: "string" } } } };
|
|
32
|
+
} catch {
|
|
33
|
+
}
|
|
27
34
|
export {
|
|
28
|
-
|
|
35
|
+
t as SAutocomplete,
|
|
36
|
+
t as default
|
|
29
37
|
};
|
package/dist/s-avatar/index.js
CHANGED
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
import { AvatarProps } from '@mui/material';
|
|
2
|
+
/**
|
|
3
|
+
* Props interface for SAvatar component
|
|
4
|
+
*/
|
|
2
5
|
export interface SAvatarProps {
|
|
6
|
+
/** URL of the avatar image to display */
|
|
3
7
|
avatar?: string;
|
|
8
|
+
/** Name of the user, used for initials fallback and optional display */
|
|
4
9
|
name?: string;
|
|
10
|
+
/** Whether to display the name alongside the avatar */
|
|
5
11
|
showName?: boolean;
|
|
12
|
+
/** Size of the avatar in pixels (width and height) */
|
|
6
13
|
size?: number;
|
|
14
|
+
/** Additional props to pass to the underlying Material-UI Avatar component */
|
|
7
15
|
avatarProps?: AvatarProps;
|
|
8
16
|
}
|
|
9
|
-
|
|
17
|
+
/**
|
|
18
|
+
* A flexible avatar component that displays user profile images with fallback to initials.
|
|
19
|
+
* Built on Material-UI Avatar with optional name display and customizable sizing.
|
|
20
|
+
*/
|
|
21
|
+
export declare const SAvatar: {
|
|
22
|
+
({ avatar, name, showName, size, avatarProps }: SAvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
displayName: string;
|
|
24
|
+
};
|
|
10
25
|
export default SAvatar;
|
|
@@ -1,20 +1,33 @@
|
|
|
1
1
|
import { j as i } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
-
import { Box as
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { Box as n, Avatar as o, Typography as d } from "@mui/material";
|
|
3
|
+
import "../s-lazy-image/index.js";
|
|
4
|
+
import p from "../s-lazy-image/s-lazy-image.js";
|
|
5
|
+
const r = ({ avatar: e, name: a, showName: l = !1, size: t = 40, avatarProps: s }) => /* @__PURE__ */ i.jsxs(n, { display: "flex", alignItems: "center", gap: 2, children: [
|
|
6
|
+
/* @__PURE__ */ i.jsx(o, { sx: { width: t, height: t, fontSize: 16 }, ...s, children: e ? /* @__PURE__ */ i.jsx(
|
|
7
|
+
p,
|
|
7
8
|
{
|
|
8
|
-
src:
|
|
9
|
-
alt:
|
|
9
|
+
src: e,
|
|
10
|
+
alt: a || "Avatar",
|
|
10
11
|
width: t,
|
|
11
12
|
height: t,
|
|
12
13
|
variant: "circular",
|
|
13
14
|
style: { borderRadius: "50%" }
|
|
14
15
|
}
|
|
15
|
-
) : (
|
|
16
|
-
|
|
16
|
+
) : (a == null ? void 0 : a[0]) || "A" }),
|
|
17
|
+
l && /* @__PURE__ */ i.jsx(d, { variant: "body1", fontSize: 20, children: a })
|
|
17
18
|
] });
|
|
19
|
+
r.displayName = "SAvatar";
|
|
20
|
+
try {
|
|
21
|
+
r.displayName = "SAvatar", r.__docgenInfo = { description: `A flexible avatar component that displays user profile images with fallback to initials.
|
|
22
|
+
Built on Material-UI Avatar with optional name display and customizable sizing.`, displayName: "SAvatar", props: { avatar: { defaultValue: null, description: "URL of the avatar image to display", name: "avatar", required: !1, type: { name: "string" } }, name: { defaultValue: null, description: "Name of the user, used for initials fallback and optional display", name: "name", required: !1, type: { name: "string" } }, showName: { defaultValue: { value: "false" }, description: "Whether to display the name alongside the avatar", name: "showName", required: !1, type: { name: "boolean" } }, size: { defaultValue: { value: "40" }, description: "Size of the avatar in pixels (width and height)", name: "size", required: !1, type: { name: "number" } }, avatarProps: { defaultValue: null, description: "Additional props to pass to the underlying Material-UI Avatar component", name: "avatarProps", required: !1, type: { name: "AvatarProps" } } } };
|
|
23
|
+
} catch {
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
savatar.displayName = "savatar", savatar.__docgenInfo = { description: `A flexible avatar component that displays user profile images with fallback to initials.
|
|
27
|
+
Built on Material-UI Avatar with optional name display and customizable sizing.`, displayName: "savatar", props: { avatar: { defaultValue: null, description: "URL of the avatar image to display", name: "avatar", required: !1, type: { name: "string" } }, name: { defaultValue: null, description: "Name of the user, used for initials fallback and optional display", name: "name", required: !1, type: { name: "string" } }, showName: { defaultValue: { value: "false" }, description: "Whether to display the name alongside the avatar", name: "showName", required: !1, type: { name: "boolean" } }, size: { defaultValue: { value: "40" }, description: "Size of the avatar in pixels (width and height)", name: "size", required: !1, type: { name: "number" } }, avatarProps: { defaultValue: null, description: "Additional props to pass to the underlying Material-UI Avatar component", name: "avatarProps", required: !1, type: { name: "AvatarProps" } } } };
|
|
28
|
+
} catch {
|
|
29
|
+
}
|
|
18
30
|
export {
|
|
19
|
-
|
|
31
|
+
r as SAvatar,
|
|
32
|
+
r as default
|
|
20
33
|
};
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { TypographyProps } from '@mui/material';
|
|
3
|
+
/**
|
|
4
|
+
* Props interface for SBlurText component
|
|
5
|
+
*/
|
|
3
6
|
export interface SBlurTextProps extends Omit<TypographyProps, 'children'> {
|
|
4
7
|
/** The text content to animate */
|
|
5
8
|
text: string;
|
|
@@ -26,18 +29,6 @@ export interface SBlurTextProps extends Omit<TypographyProps, 'children'> {
|
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* A Typography component that animates text with a blur effect when it comes into view.
|
|
29
|
-
* Supports word-by-word or letter-by-letter animation with customizable timing and effects.
|
|
30
|
-
* Built on MUI Typography with full styling support.
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* ```tsx
|
|
34
|
-
* <SBlurText
|
|
35
|
-
* text="Hello world, this text will blur in"
|
|
36
|
-
* variant="h1"
|
|
37
|
-
* animateBy="words"
|
|
38
|
-
* delay={150}
|
|
39
|
-
* />
|
|
40
|
-
* ```
|
|
41
32
|
*/
|
|
42
|
-
declare const SBlurText: React.FC<SBlurTextProps>;
|
|
33
|
+
export declare const SBlurText: React.FC<SBlurTextProps>;
|
|
43
34
|
export default SBlurText;
|
|
@@ -1,80 +1,86 @@
|
|
|
1
1
|
import { j as y } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
-
import { useState as
|
|
2
|
+
import { useState as k, useRef as R, useEffect as E, useMemo as g } from "react";
|
|
3
3
|
import { Typography as F } from "@mui/material";
|
|
4
4
|
import { motion as M } from "framer-motion";
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
return
|
|
8
|
-
|
|
9
|
-
}),
|
|
10
|
-
},
|
|
11
|
-
text:
|
|
12
|
-
delay:
|
|
13
|
-
animateBy:
|
|
14
|
-
direction:
|
|
15
|
-
threshold:
|
|
5
|
+
const N = (r, o) => {
|
|
6
|
+
const s = /* @__PURE__ */ new Set([...Object.keys(r), ...o.flatMap((e) => Object.keys(e))]), n = {};
|
|
7
|
+
return s.forEach((e) => {
|
|
8
|
+
n[e] = [r[e], ...o.map((l) => l[e])];
|
|
9
|
+
}), n;
|
|
10
|
+
}, c = ({
|
|
11
|
+
text: r,
|
|
12
|
+
delay: o = 100,
|
|
13
|
+
animateBy: s = "words",
|
|
14
|
+
direction: n = "top",
|
|
15
|
+
threshold: e = 0.1,
|
|
16
16
|
rootMargin: l = "0px",
|
|
17
|
-
animationFrom:
|
|
18
|
-
animationTo:
|
|
19
|
-
easing:
|
|
20
|
-
onAnimationComplete:
|
|
21
|
-
stepDuration:
|
|
22
|
-
variant:
|
|
23
|
-
component:
|
|
24
|
-
sx:
|
|
25
|
-
...
|
|
17
|
+
animationFrom: b,
|
|
18
|
+
animationTo: h,
|
|
19
|
+
easing: v = (i) => i,
|
|
20
|
+
onAnimationComplete: w,
|
|
21
|
+
stepDuration: x = 0.35,
|
|
22
|
+
variant: V = "body1",
|
|
23
|
+
component: q = "p",
|
|
24
|
+
sx: T,
|
|
25
|
+
...C
|
|
26
26
|
}) => {
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
if (!
|
|
30
|
-
const
|
|
31
|
-
([
|
|
32
|
-
|
|
27
|
+
const i = s === "words" ? r.split(" ") : r.split(""), [_, S] = k(!1), u = R(null);
|
|
28
|
+
E(() => {
|
|
29
|
+
if (!u.current) return;
|
|
30
|
+
const a = new IntersectionObserver(
|
|
31
|
+
([t]) => {
|
|
32
|
+
t.isIntersecting && (S(!0), a.unobserve(u.current));
|
|
33
33
|
},
|
|
34
|
-
{ threshold:
|
|
34
|
+
{ threshold: e, rootMargin: l }
|
|
35
35
|
);
|
|
36
|
-
return
|
|
37
|
-
}, [
|
|
38
|
-
const
|
|
39
|
-
() =>
|
|
40
|
-
[
|
|
41
|
-
),
|
|
36
|
+
return a.observe(u.current), () => a.disconnect();
|
|
37
|
+
}, [e, l]);
|
|
38
|
+
const j = g(
|
|
39
|
+
() => n === "top" ? { filter: "blur(10px)", opacity: 0, y: -50 } : { filter: "blur(10px)", opacity: 0, y: 50 },
|
|
40
|
+
[n]
|
|
41
|
+
), A = g(
|
|
42
42
|
() => [
|
|
43
43
|
{
|
|
44
44
|
filter: "blur(5px)",
|
|
45
45
|
opacity: 0.5,
|
|
46
|
-
y:
|
|
46
|
+
y: n === "top" ? 5 : -5
|
|
47
47
|
},
|
|
48
48
|
{ filter: "blur(0px)", opacity: 1, y: 0 }
|
|
49
49
|
],
|
|
50
|
-
[
|
|
51
|
-
),
|
|
52
|
-
return /* @__PURE__ */ y.jsx(F, { ref:
|
|
53
|
-
const
|
|
54
|
-
duration:
|
|
55
|
-
times:
|
|
56
|
-
delay:
|
|
50
|
+
[n]
|
|
51
|
+
), p = b ?? j, d = h ?? A, m = d.length + 1, D = x * (m - 1), I = Array.from({ length: m }, (a, t) => m === 1 ? 0 : t / (m - 1));
|
|
52
|
+
return /* @__PURE__ */ y.jsx(F, { ref: u, variant: V, component: q, sx: T, ...C, children: i.map((a, t) => {
|
|
53
|
+
const B = N(p, d), f = {
|
|
54
|
+
duration: D,
|
|
55
|
+
times: I,
|
|
56
|
+
delay: t * o / 1e3
|
|
57
57
|
};
|
|
58
|
-
return
|
|
58
|
+
return f.ease = v, /* @__PURE__ */ y.jsxs(
|
|
59
59
|
M.span,
|
|
60
60
|
{
|
|
61
|
-
initial:
|
|
62
|
-
animate:
|
|
63
|
-
transition:
|
|
64
|
-
onAnimationComplete:
|
|
61
|
+
initial: p,
|
|
62
|
+
animate: _ ? B : p,
|
|
63
|
+
transition: f,
|
|
64
|
+
onAnimationComplete: t === i.length - 1 ? w : void 0,
|
|
65
65
|
style: {
|
|
66
66
|
display: "inline-block",
|
|
67
67
|
willChange: "transform, filter, opacity"
|
|
68
68
|
},
|
|
69
69
|
children: [
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
a === " " ? " " : a,
|
|
71
|
+
s === "words" && t < i.length - 1 && " "
|
|
72
72
|
]
|
|
73
73
|
},
|
|
74
|
-
|
|
74
|
+
t
|
|
75
75
|
);
|
|
76
76
|
}) });
|
|
77
77
|
};
|
|
78
|
+
c.displayName = "SBlurText";
|
|
79
|
+
try {
|
|
80
|
+
c.displayName = "SBlurText", c.__docgenInfo = { description: "A Typography component that animates text with a blur effect when it comes into view.", displayName: "SBlurText", props: { text: { defaultValue: null, description: "The text content to animate", name: "text", required: !0, type: { name: "string" } }, delay: { defaultValue: { value: "100" }, description: "Delay between animating each segment in milliseconds", name: "delay", required: !1, type: { name: "number" } }, animateBy: { defaultValue: { value: "words" }, description: "Animation granularity - animate by words or individual letters", name: "animateBy", required: !1, type: { name: "enum", value: [{ value: '"words"' }, { value: '"letters"' }] } }, direction: { defaultValue: { value: "top" }, description: "Direction of the blur animation", name: "direction", required: !1, type: { name: "enum", value: [{ value: '"top"' }, { value: '"bottom"' }] } }, threshold: { defaultValue: { value: "0.1" }, description: "Intersection observer threshold for triggering animation", name: "threshold", required: !1, type: { name: "number" } }, rootMargin: { defaultValue: { value: "0px" }, description: "Intersection observer root margin", name: "rootMargin", required: !1, type: { name: "string" } }, animationFrom: { defaultValue: null, description: "Custom starting animation state", name: "animationFrom", required: !1, type: { name: "Record<string, string | number>" } }, animationTo: { defaultValue: null, description: "Custom ending animation states (array for multi-step animations)", name: "animationTo", required: !1, type: { name: "Record<string, string | number>[]" } }, easing: { defaultValue: { value: "(t) => t" }, description: "Custom easing function for animation timing", name: "easing", required: !1, type: { name: "((t: number) => number)" } }, onAnimationComplete: { defaultValue: null, description: "Callback fired when animation completes", name: "onAnimationComplete", required: !1, type: { name: "(() => void)" } }, stepDuration: { defaultValue: { value: "0.35" }, description: "Duration of each animation step in seconds", name: "stepDuration", required: !1, type: { name: "number" } } } };
|
|
81
|
+
} catch {
|
|
82
|
+
}
|
|
78
83
|
export {
|
|
79
|
-
|
|
84
|
+
c as SBlurText,
|
|
85
|
+
c as default
|
|
80
86
|
};
|
|
@@ -1,18 +1,37 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { BreadcrumbsProps, SxProps, Theme } from '@mui/material';
|
|
3
|
+
/**
|
|
4
|
+
* Represents a single breadcrumb item in the navigation path
|
|
5
|
+
*/
|
|
3
6
|
export interface BreadcrumbItem {
|
|
7
|
+
/** The display text for the breadcrumb item */
|
|
4
8
|
label: string;
|
|
9
|
+
/** Navigation URL for link-based breadcrumbs */
|
|
5
10
|
to?: string;
|
|
11
|
+
/** Click handler for action-based breadcrumbs */
|
|
6
12
|
onClick?: (event: React.MouseEvent) => void;
|
|
13
|
+
/** Indicates if this is the current/active page */
|
|
7
14
|
isCurrent?: boolean;
|
|
8
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Props for the SBreadcrumbs component
|
|
18
|
+
*/
|
|
9
19
|
export interface SBreadcrumbsProps extends Omit<BreadcrumbsProps, 'children'> {
|
|
20
|
+
/** Array of breadcrumb items to display */
|
|
10
21
|
items: BreadcrumbItem[];
|
|
22
|
+
/** Custom separator element between breadcrumb items */
|
|
11
23
|
separator?: React.ReactNode;
|
|
24
|
+
/** Custom link component (e.g., React Router Link) for navigation */
|
|
12
25
|
LinkComponent?: React.ElementType;
|
|
26
|
+
/** Color of the current (active) breadcrumb item */
|
|
13
27
|
currentColor?: string;
|
|
28
|
+
/** Color of clickable breadcrumb links */
|
|
14
29
|
linkColor?: string;
|
|
30
|
+
/** System prop for custom styling */
|
|
15
31
|
sx?: SxProps<Theme>;
|
|
16
32
|
}
|
|
17
|
-
|
|
33
|
+
/**
|
|
34
|
+
* A breadcrumb navigation component for displaying hierarchical navigation paths.
|
|
35
|
+
*/
|
|
36
|
+
export declare const SBreadcrumbs: React.ForwardRefExoticComponent<Omit<SBreadcrumbsProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
18
37
|
export default SBreadcrumbs;
|
|
@@ -1,43 +1,52 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { C as
|
|
4
|
-
import { Breadcrumbs as
|
|
5
|
-
const
|
|
1
|
+
import { j as r } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
+
import { forwardRef as b } from "react";
|
|
3
|
+
import { C as y } from "../ChevronRight-CnDWPrOm.js";
|
|
4
|
+
import { Breadcrumbs as h, Typography as u, Link as t } from "@mui/material";
|
|
5
|
+
const l = b(
|
|
6
6
|
({
|
|
7
|
-
items:
|
|
8
|
-
separator:
|
|
9
|
-
LinkComponent:
|
|
10
|
-
currentColor:
|
|
11
|
-
linkColor:
|
|
12
|
-
sx:
|
|
13
|
-
...
|
|
14
|
-
}, p) => /* @__PURE__ */
|
|
15
|
-
const
|
|
16
|
-
return
|
|
17
|
-
|
|
7
|
+
items: n,
|
|
8
|
+
separator: c = /* @__PURE__ */ r.jsx(y, { fontSize: "small" }),
|
|
9
|
+
LinkComponent: i,
|
|
10
|
+
currentColor: s = "text.primary",
|
|
11
|
+
linkColor: o = "primary.main",
|
|
12
|
+
sx: m,
|
|
13
|
+
...d
|
|
14
|
+
}, p) => /* @__PURE__ */ r.jsx(h, { ref: p, separator: c, sx: m, ...d, children: n.map((e, a) => {
|
|
15
|
+
const f = a === n.length - 1;
|
|
16
|
+
return e.isCurrent ?? f ? /* @__PURE__ */ r.jsx(u, { color: s, children: e.label }, `${e.label}-${a}`) : e.onClick ? /* @__PURE__ */ r.jsx(
|
|
17
|
+
t,
|
|
18
18
|
{
|
|
19
19
|
component: "button",
|
|
20
|
-
onClick:
|
|
21
|
-
color:
|
|
20
|
+
onClick: e.onClick,
|
|
21
|
+
color: o,
|
|
22
22
|
underline: "hover",
|
|
23
23
|
sx: { cursor: "pointer", background: "none", border: "none", padding: 0, font: "inherit" },
|
|
24
|
-
children:
|
|
24
|
+
children: e.label
|
|
25
25
|
},
|
|
26
|
-
`${
|
|
27
|
-
) :
|
|
28
|
-
|
|
26
|
+
`${e.label}-${a}`
|
|
27
|
+
) : e.to ? i ? /* @__PURE__ */ r.jsx(
|
|
28
|
+
t,
|
|
29
29
|
{
|
|
30
|
-
component:
|
|
31
|
-
to:
|
|
32
|
-
color:
|
|
30
|
+
component: i,
|
|
31
|
+
to: e.to,
|
|
32
|
+
color: o,
|
|
33
33
|
underline: "hover",
|
|
34
|
-
children:
|
|
34
|
+
children: e.label
|
|
35
35
|
},
|
|
36
|
-
`${
|
|
37
|
-
) : /* @__PURE__ */
|
|
36
|
+
`${e.label}-${a}`
|
|
37
|
+
) : /* @__PURE__ */ r.jsx(t, { href: e.to, color: o, underline: "hover", children: e.label }, `${e.label}-${a}`) : /* @__PURE__ */ r.jsx(u, { color: s, children: e.label }, `${e.label}-${a}`);
|
|
38
38
|
}) })
|
|
39
39
|
);
|
|
40
|
-
|
|
40
|
+
l.displayName = "SBreadcrumbs";
|
|
41
|
+
try {
|
|
42
|
+
l.displayName = "SBreadcrumbs", l.__docgenInfo = { description: "A breadcrumb navigation component for displaying hierarchical navigation paths.", displayName: "SBreadcrumbs", props: { sx: { defaultValue: null, description: "System prop for custom styling", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, separator: { defaultValue: { value: '<ChevronRightIcon fontSize="small" />' }, description: "Custom separator element between breadcrumb items", name: "separator", required: !1, type: { name: "ReactNode" } }, LinkComponent: { defaultValue: null, description: "Custom link component (e.g., React Router Link) for navigation", name: "LinkComponent", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } }, currentColor: { defaultValue: { value: "text.primary" }, description: "Color of the current (active) breadcrumb item", name: "currentColor", required: !1, type: { name: "string" } }, linkColor: { defaultValue: { value: "primary.main" }, description: "Color of clickable breadcrumb links", name: "linkColor", required: !1, type: { name: "string" } } } };
|
|
43
|
+
} catch {
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
sbreadcrumbs.displayName = "sbreadcrumbs", sbreadcrumbs.__docgenInfo = { description: "A breadcrumb navigation component for displaying hierarchical navigation paths.", displayName: "sbreadcrumbs", props: { sx: { defaultValue: null, description: "System prop for custom styling", name: "sx", required: !1, type: { name: "SxProps<Theme>" } }, separator: { defaultValue: { value: '<ChevronRightIcon fontSize="small" />' }, description: "Custom separator element between breadcrumb items", name: "separator", required: !1, type: { name: "ReactNode" } }, LinkComponent: { defaultValue: null, description: "Custom link component (e.g., React Router Link) for navigation", name: "LinkComponent", required: !1, type: { name: "ElementType<any, keyof IntrinsicElements>" } }, items: { defaultValue: null, description: "Array of breadcrumb items to display", name: "items", required: !0, type: { name: "BreadcrumbItem[]" } }, currentColor: { defaultValue: { value: "text.primary" }, description: "Color of the current (active) breadcrumb item", name: "currentColor", required: !1, type: { name: "string" } }, linkColor: { defaultValue: { value: "primary.main" }, description: "Color of clickable breadcrumb links", name: "linkColor", required: !1, type: { name: "string" } } } };
|
|
47
|
+
} catch {
|
|
48
|
+
}
|
|
41
49
|
export {
|
|
42
|
-
|
|
50
|
+
l as SBreadcrumbs,
|
|
51
|
+
l as default
|
|
43
52
|
};
|
package/dist/s-button/index.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { ButtonProps } from '@mui/material';
|
|
3
|
+
/**
|
|
4
|
+
* Props interface for SButton component
|
|
5
|
+
*/
|
|
3
6
|
export interface SButtonProps extends ButtonProps {
|
|
4
7
|
}
|
|
5
|
-
|
|
8
|
+
/**
|
|
9
|
+
* A versatile button component built on Material-UI Button with consistent theming and accessibility features.
|
|
10
|
+
*/
|
|
11
|
+
export declare const SButton: React.ForwardRefExoticComponent<Omit<SButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
6
12
|
export default SButton;
|
|
@@ -1,7 +1,17 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { Button as
|
|
4
|
-
const
|
|
1
|
+
import { j as n } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
+
import { forwardRef as r } from "react";
|
|
3
|
+
import { Button as i } from "@mui/material";
|
|
4
|
+
const o = r((t, e) => /* @__PURE__ */ n.jsx(i, { ref: e, ...t }));
|
|
5
|
+
o.displayName = "SButton";
|
|
6
|
+
try {
|
|
7
|
+
o.displayName = "SButton", o.__docgenInfo = { description: "A versatile button component built on Material-UI Button with consistent theming and accessibility features.", displayName: "SButton", props: {} };
|
|
8
|
+
} catch {
|
|
9
|
+
}
|
|
10
|
+
try {
|
|
11
|
+
sbutton.displayName = "sbutton", sbutton.__docgenInfo = { description: "A versatile button component built on Material-UI Button with consistent theming and accessibility features.", displayName: "sbutton", props: {} };
|
|
12
|
+
} catch {
|
|
13
|
+
}
|
|
5
14
|
export {
|
|
6
|
-
|
|
15
|
+
o as SButton,
|
|
16
|
+
o as default
|
|
7
17
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { LinkProps, TypographyProps } from '@mui/material';
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
/**
|
|
3
4
|
* Props interface for SButtonLink component
|
|
@@ -12,40 +13,25 @@ export interface SButtonLinkProps {
|
|
|
12
13
|
/** URL for the link (defaults to '#') */
|
|
13
14
|
href?: string;
|
|
14
15
|
/** Component to render the link as (e.g., RouterLink for client-side routing) */
|
|
15
|
-
component?:
|
|
16
|
+
component?: React.ElementType;
|
|
16
17
|
/** Target attribute for the link (e.g., '_blank' for new tab) */
|
|
17
18
|
target?: string;
|
|
18
19
|
/** Color of the surrounding text */
|
|
19
|
-
color?:
|
|
20
|
+
color?: TypographyProps['color'];
|
|
20
21
|
/** Color of the link itself (overrides default link color) */
|
|
21
|
-
linkColor?:
|
|
22
|
+
linkColor?: LinkProps['color'];
|
|
22
23
|
/** Line height for the typography */
|
|
23
|
-
lineHeight?:
|
|
24
|
+
lineHeight?: TypographyProps['lineHeight'];
|
|
24
25
|
/** Typography variant for the container text */
|
|
25
|
-
variant?: '
|
|
26
|
+
variant?: TypographyProps['variant'];
|
|
26
27
|
/** Click handler for the link */
|
|
27
|
-
onClick?:
|
|
28
|
+
onClick?: LinkProps['onClick'];
|
|
28
29
|
}
|
|
29
30
|
/**
|
|
30
|
-
*
|
|
31
|
-
* Useful for creating contextual links within text content, such as "Don't have an account? Sign up here."
|
|
32
|
-
*
|
|
33
|
-
* Key features:
|
|
34
|
-
* - Supports text before and after the main link
|
|
35
|
-
* - Configurable typography variant and colors
|
|
36
|
-
* - Component prop for integration with routing libraries (e.g., React Router)
|
|
37
|
-
* - Target attribute support for controlling link behavior
|
|
38
|
-
* - Consistent cursor and font size inheritance
|
|
39
|
-
* - Default fallback values for common use cases
|
|
40
|
-
*
|
|
41
|
-
* Common use cases:
|
|
42
|
-
* - Authentication flows ("Already have an account? Sign in")
|
|
43
|
-
* - Call-to-action text with embedded links
|
|
44
|
-
* - Help text with contextual links
|
|
45
|
-
* - Navigation breadcrumbs with text context
|
|
46
|
-
*
|
|
47
|
-
* @param props - SButtonLinkProps with text content, link configuration, and styling
|
|
48
|
-
* @returns JSX.Element - Typography containing text with embedded link
|
|
31
|
+
* A flexible link component that combines text and a clickable link element.
|
|
49
32
|
*/
|
|
50
|
-
declare const SButtonLink:
|
|
33
|
+
export declare const SButtonLink: {
|
|
34
|
+
({ onClick, beforeText, afterText, mainText, href, component, target, color, linkColor, variant, lineHeight, }: SButtonLinkProps): React.JSX.Element;
|
|
35
|
+
displayName: string;
|
|
36
|
+
};
|
|
51
37
|
export default SButtonLink;
|