@solostylist/ui-kit 1.0.167 → 1.0.169
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 +187 -173
- 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 +33 -22
- package/dist/s-ai-tool-bar/s-ai-tool-bar.js +295 -247
- 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.js +2 -2
- package/dist/s-pixel-reveal/s-pixel-reveal.d.ts +15 -1
- package/dist/s-pixel-reveal/s-pixel-reveal.js +83 -78
- 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-scroll-velocity/index.d.ts +6 -0
- package/dist/s-scroll-velocity/index.js +8 -0
- package/dist/s-scroll-velocity/package.json +5 -0
- package/dist/s-scroll-velocity/s-scroll-velocity.d.ts +24 -0
- package/dist/s-scroll-velocity/s-scroll-velocity.js +22 -0
- package/dist/s-scroll-velocity/scroll-velocity-container.d.ts +20 -0
- package/dist/s-scroll-velocity/scroll-velocity-container.js +40 -0
- package/dist/s-scroll-velocity/scroll-velocity-row.d.ts +27 -0
- package/dist/s-scroll-velocity/scroll-velocity-row.js +131 -0
- 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 +1436 -1436
- package/dist/theme/components/button.d.ts +2150 -2150
- 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 +23 -6
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { j as r } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
+
import { ScrollVelocityRow as i } from "./scroll-velocity-row.js";
|
|
3
|
+
const l = ({ children: e, baseVelocity: t, direction: o, sx: a, ...n }) => /* @__PURE__ */ r.jsx(i, { baseVelocity: t, direction: o, sx: a, ...n, children: e });
|
|
4
|
+
l.displayName = "SScrollVelocity";
|
|
5
|
+
try {
|
|
6
|
+
l.displayName = "SScrollVelocity", l.__docgenInfo = { description: `A scroll-velocity based marquee component that automatically scrolls horizontally and responds to page scroll velocity.
|
|
7
|
+
Perfect for displaying logos, features, testimonials, or any repeating content in an engaging way.
|
|
8
|
+
|
|
9
|
+
The component automatically duplicates content to create a seamless infinite scroll effect and adjusts speed based on page scroll velocity.`, displayName: "SScrollVelocity", props: { children: { defaultValue: null, description: "Content to display in the scrolling marquee", name: "children", required: !0, type: { name: "ReactNode" } }, baseVelocity: { defaultValue: null, description: "Base scrolling speed (default: 5)", name: "baseVelocity", required: !1, type: { name: "number" } }, direction: { defaultValue: null, description: "Scroll direction: 1 for right, -1 for left (default: 1)", name: "direction", required: !1, type: { name: "enum", value: [{ value: "1" }, { value: "-1" }] } } } };
|
|
10
|
+
} catch {
|
|
11
|
+
}
|
|
12
|
+
try {
|
|
13
|
+
sscrollvelocity.displayName = "sscrollvelocity", sscrollvelocity.__docgenInfo = { description: `A scroll-velocity based marquee component that automatically scrolls horizontally and responds to page scroll velocity.
|
|
14
|
+
Perfect for displaying logos, features, testimonials, or any repeating content in an engaging way.
|
|
15
|
+
|
|
16
|
+
The component automatically duplicates content to create a seamless infinite scroll effect and adjusts speed based on page scroll velocity.`, displayName: "sscrollvelocity", props: { children: { defaultValue: null, description: "Content to display in the scrolling marquee", name: "children", required: !0, type: { name: "ReactNode" } }, baseVelocity: { defaultValue: null, description: "Base scrolling speed (default: 5)", name: "baseVelocity", required: !1, type: { name: "number" } }, direction: { defaultValue: null, description: "Scroll direction: 1 for right, -1 for left (default: 1)", name: "direction", required: !1, type: { name: "enum", value: [{ value: "1" }, { value: "-1" }] } } } };
|
|
17
|
+
} catch {
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
l as SScrollVelocity,
|
|
21
|
+
l as default
|
|
22
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { BoxProps } from '@mui/material';
|
|
3
|
+
import { MotionValue } from 'framer-motion';
|
|
4
|
+
/**
|
|
5
|
+
* Context for sharing scroll velocity across multiple rows
|
|
6
|
+
*/
|
|
7
|
+
export declare const ScrollVelocityContext: React.Context<MotionValue<number> | null>;
|
|
8
|
+
/**
|
|
9
|
+
* Props for the ScrollVelocityContainer component
|
|
10
|
+
*/
|
|
11
|
+
export interface ScrollVelocityContainerProps extends BoxProps {
|
|
12
|
+
/** Content to render inside the container */
|
|
13
|
+
children: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Container component that provides scroll velocity context to child rows.
|
|
17
|
+
* Use this to synchronize multiple ScrollVelocityRow components.
|
|
18
|
+
*/
|
|
19
|
+
export declare function ScrollVelocityContainer({ children, sx, ...props }: ScrollVelocityContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export default ScrollVelocityContainer;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { j as r } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
+
import y from "react";
|
|
3
|
+
import { Box as u } from "@mui/material";
|
|
4
|
+
import { useScroll as _, useVelocity as h, useSpring as f, useTransform as x } from "framer-motion";
|
|
5
|
+
const t = y.createContext(null);
|
|
6
|
+
function n({ children: o, sx: c, ...l }) {
|
|
7
|
+
const { scrollY: i } = _(), s = h(i), a = f(s, {
|
|
8
|
+
damping: 50,
|
|
9
|
+
stiffness: 400
|
|
10
|
+
}), p = x(a, (e) => {
|
|
11
|
+
const d = e < 0 ? -1 : 1, m = Math.min(5, Math.abs(e) / 1e3 * 5);
|
|
12
|
+
return d * m;
|
|
13
|
+
});
|
|
14
|
+
return /* @__PURE__ */ r.jsx(t.Provider, { value: p, children: /* @__PURE__ */ r.jsx(
|
|
15
|
+
u,
|
|
16
|
+
{
|
|
17
|
+
sx: {
|
|
18
|
+
position: "relative",
|
|
19
|
+
width: "100%",
|
|
20
|
+
...c
|
|
21
|
+
},
|
|
22
|
+
...l,
|
|
23
|
+
children: o
|
|
24
|
+
}
|
|
25
|
+
) });
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
n.displayName = "ScrollVelocityContainer", n.__docgenInfo = { description: `Container component that provides scroll velocity context to child rows.
|
|
29
|
+
Use this to synchronize multiple ScrollVelocityRow components.`, displayName: "ScrollVelocityContainer", props: { children: { defaultValue: null, description: "Content to render inside the container", name: "children", required: !0, type: { name: "ReactNode" } } } };
|
|
30
|
+
} catch {
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
t.displayName = "ScrollVelocityContext", t.__docgenInfo = { description: "Context for sharing scroll velocity across multiple rows", displayName: "ScrollVelocityContext", props: {} };
|
|
34
|
+
} catch {
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
n as ScrollVelocityContainer,
|
|
38
|
+
t as ScrollVelocityContext,
|
|
39
|
+
n as default
|
|
40
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { BoxProps } from '@mui/material';
|
|
3
|
+
/**
|
|
4
|
+
* Wraps a value within a range [min, max)
|
|
5
|
+
* @param min - Minimum value of the range
|
|
6
|
+
* @param max - Maximum value of the range
|
|
7
|
+
* @param v - Value to wrap
|
|
8
|
+
* @returns Wrapped value within the range
|
|
9
|
+
*/
|
|
10
|
+
export declare const wrap: (min: number, max: number, v: number) => number;
|
|
11
|
+
/**
|
|
12
|
+
* Props for the ScrollVelocityRow component
|
|
13
|
+
*/
|
|
14
|
+
export interface ScrollVelocityRowProps extends BoxProps {
|
|
15
|
+
/** Content to repeat in the scrolling row */
|
|
16
|
+
children: React.ReactNode;
|
|
17
|
+
/** Base scrolling speed (default: 5) */
|
|
18
|
+
baseVelocity?: number;
|
|
19
|
+
/** Scroll direction: 1 for right, -1 for left (default: 1) */
|
|
20
|
+
direction?: 1 | -1;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A horizontal scrolling row component that responds to page scroll velocity.
|
|
24
|
+
* Can be used standalone or inside ScrollVelocityContainer for synchronized scrolling.
|
|
25
|
+
*/
|
|
26
|
+
export declare function ScrollVelocityRow(props: ScrollVelocityRowProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export default ScrollVelocityRow;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { j as u } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
+
import { useContext as A, useRef as i, useState as B, useEffect as D } from "react";
|
|
3
|
+
import { Box as I } from "@mui/material";
|
|
4
|
+
import { useMotionValue as N, useTransform as z, useAnimationFrame as P, motion as O, useScroll as T, useVelocity as X, useSpring as Y } from "framer-motion";
|
|
5
|
+
import { ScrollVelocityContext as $ } from "./scroll-velocity-container.js";
|
|
6
|
+
const V = (e, n, s) => {
|
|
7
|
+
const c = n - e;
|
|
8
|
+
return ((s - e) % c + c) % c + e;
|
|
9
|
+
};
|
|
10
|
+
function F({
|
|
11
|
+
children: e,
|
|
12
|
+
baseVelocity: n = 5,
|
|
13
|
+
direction: s = 1,
|
|
14
|
+
sx: c,
|
|
15
|
+
velocityFactor: w,
|
|
16
|
+
...y
|
|
17
|
+
}) {
|
|
18
|
+
const g = i(null), b = i(null), [L, q] = B(1), x = N(0), W = i(s >= 0 ? 1 : -1), S = i(s >= 0 ? 1 : -1), v = N(0), R = i(!0), _ = i(!0), M = i(!1);
|
|
19
|
+
D(() => {
|
|
20
|
+
const o = g.current, t = b.current;
|
|
21
|
+
if (!o || !t) return;
|
|
22
|
+
const l = () => {
|
|
23
|
+
const p = o.offsetWidth || 0, h = t.scrollWidth || 0;
|
|
24
|
+
v.set(h);
|
|
25
|
+
const C = h > 0 ? Math.max(3, Math.ceil(p / h) + 2) : 1;
|
|
26
|
+
q((j) => j === C ? j : C);
|
|
27
|
+
};
|
|
28
|
+
l();
|
|
29
|
+
const r = new ResizeObserver(l);
|
|
30
|
+
r.observe(o), r.observe(t);
|
|
31
|
+
const d = new IntersectionObserver(([p]) => {
|
|
32
|
+
R.current = p.isIntersecting;
|
|
33
|
+
});
|
|
34
|
+
d.observe(o);
|
|
35
|
+
const f = () => {
|
|
36
|
+
_.current = document.visibilityState === "visible";
|
|
37
|
+
};
|
|
38
|
+
document.addEventListener("visibilitychange", f, {
|
|
39
|
+
passive: !0
|
|
40
|
+
}), f();
|
|
41
|
+
const a = window.matchMedia("(prefers-reduced-motion: reduce)"), m = () => {
|
|
42
|
+
M.current = a.matches;
|
|
43
|
+
};
|
|
44
|
+
return a.addEventListener("change", m), m(), () => {
|
|
45
|
+
r.disconnect(), d.disconnect(), document.removeEventListener("visibilitychange", f), a.removeEventListener("change", m);
|
|
46
|
+
};
|
|
47
|
+
}, [e, v]);
|
|
48
|
+
const k = z([x, v], ([o, t]) => {
|
|
49
|
+
const l = Number(t) || 1, r = Number(o) || 0;
|
|
50
|
+
return `${-V(0, l, r)}px`;
|
|
51
|
+
});
|
|
52
|
+
return P((o, t) => {
|
|
53
|
+
if (!R.current || !_.current) return;
|
|
54
|
+
const l = t / 1e3, r = w.get(), d = Math.min(5, Math.abs(r)), f = M.current ? 1 : 1 + d;
|
|
55
|
+
if (d > 0.1) {
|
|
56
|
+
const h = r >= 0 ? 1 : -1;
|
|
57
|
+
S.current = W.current * h;
|
|
58
|
+
}
|
|
59
|
+
const a = v.get() || 0;
|
|
60
|
+
if (a <= 0) return;
|
|
61
|
+
const m = a * n / 100, p = S.current * m * f * l;
|
|
62
|
+
x.set(x.get() + p);
|
|
63
|
+
}), /* @__PURE__ */ u.jsx(
|
|
64
|
+
I,
|
|
65
|
+
{
|
|
66
|
+
ref: g,
|
|
67
|
+
sx: {
|
|
68
|
+
width: "100%",
|
|
69
|
+
overflow: "hidden",
|
|
70
|
+
whiteSpace: "nowrap",
|
|
71
|
+
...c
|
|
72
|
+
},
|
|
73
|
+
...y,
|
|
74
|
+
children: /* @__PURE__ */ u.jsx(
|
|
75
|
+
O.div,
|
|
76
|
+
{
|
|
77
|
+
style: {
|
|
78
|
+
display: "inline-flex",
|
|
79
|
+
alignItems: "center",
|
|
80
|
+
willChange: "transform",
|
|
81
|
+
userSelect: "none",
|
|
82
|
+
x: k
|
|
83
|
+
},
|
|
84
|
+
children: Array.from({ length: L }).map((o, t) => /* @__PURE__ */ u.jsx(
|
|
85
|
+
I,
|
|
86
|
+
{
|
|
87
|
+
ref: t === 0 ? b : null,
|
|
88
|
+
"aria-hidden": t !== 0,
|
|
89
|
+
sx: {
|
|
90
|
+
display: "inline-flex",
|
|
91
|
+
flexShrink: 0,
|
|
92
|
+
alignItems: "center"
|
|
93
|
+
},
|
|
94
|
+
component: "div",
|
|
95
|
+
children: e
|
|
96
|
+
},
|
|
97
|
+
t
|
|
98
|
+
))
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
function G(e) {
|
|
105
|
+
const { scrollY: n } = T(), s = X(n), c = Y(s, {
|
|
106
|
+
damping: 50,
|
|
107
|
+
stiffness: 400
|
|
108
|
+
}), w = z(c, (y) => {
|
|
109
|
+
const g = y < 0 ? -1 : 1, b = Math.min(5, Math.abs(y) / 1e3 * 5);
|
|
110
|
+
return g * b;
|
|
111
|
+
});
|
|
112
|
+
return /* @__PURE__ */ u.jsx(F, { ...e, velocityFactor: w });
|
|
113
|
+
}
|
|
114
|
+
function E(e) {
|
|
115
|
+
const n = A($);
|
|
116
|
+
return n ? /* @__PURE__ */ u.jsx(F, { ...e, velocityFactor: n }) : /* @__PURE__ */ u.jsx(G, { ...e });
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
E.displayName = "ScrollVelocityRow", E.__docgenInfo = { description: `A horizontal scrolling row component that responds to page scroll velocity.
|
|
120
|
+
Can be used standalone or inside ScrollVelocityContainer for synchronized scrolling.`, displayName: "ScrollVelocityRow", props: { children: { defaultValue: null, description: "Content to repeat in the scrolling row", name: "children", required: !0, type: { name: "ReactNode" } }, baseVelocity: { defaultValue: null, description: "Base scrolling speed (default: 5)", name: "baseVelocity", required: !1, type: { name: "number" } }, direction: { defaultValue: null, description: "Scroll direction: 1 for right, -1 for left (default: 1)", name: "direction", required: !1, type: { name: "enum", value: [{ value: "1" }, { value: "-1" }] } } } };
|
|
121
|
+
} catch {
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
V.displayName = "wrap", V.__docgenInfo = { description: "Wraps a value within a range [min, max)", displayName: "wrap", props: {} };
|
|
125
|
+
} catch {
|
|
126
|
+
}
|
|
127
|
+
export {
|
|
128
|
+
E as ScrollVelocityRow,
|
|
129
|
+
E as default,
|
|
130
|
+
V as wrap
|
|
131
|
+
};
|
package/dist/s-select/index.js
CHANGED
|
@@ -2,10 +2,7 @@ import { SelectProps } from '@mui/material';
|
|
|
2
2
|
/** Base type constraint for select options - can be primitives or objects */
|
|
3
3
|
type BaseOption = string | number | Record<string, any>;
|
|
4
4
|
/**
|
|
5
|
-
* Props interface for SSelect component
|
|
6
|
-
* with enhanced option handling and form integration.
|
|
7
|
-
*
|
|
8
|
-
* @template T - Type of the option values (string, number, or object)
|
|
5
|
+
* Props interface for SSelect component
|
|
9
6
|
*/
|
|
10
7
|
export type SSelectProps<T extends BaseOption = string> = Omit<SelectProps, 'error' | 'variant'> & {
|
|
11
8
|
/** Array of options to display in the select dropdown */
|
|
@@ -34,23 +31,7 @@ export type SSelectProps<T extends BaseOption = string> = Omit<SelectProps, 'err
|
|
|
34
31
|
searchPlaceholder?: string;
|
|
35
32
|
};
|
|
36
33
|
/**
|
|
37
|
-
*
|
|
38
|
-
* with consistent form labeling, validation, and help text patterns.
|
|
39
|
-
*
|
|
40
|
-
* Key features:
|
|
41
|
-
* - Generic typing for type-safe option handling
|
|
42
|
-
* - Support for both primitive (string/number) and object options
|
|
43
|
-
* - Configurable option label and value extraction for objects
|
|
44
|
-
* - Optional search/filter functionality for large option lists
|
|
45
|
-
* - Placeholder support with proper styling
|
|
46
|
-
* - Single and multiple selection modes
|
|
47
|
-
* - Simple mode for primitive value rendering
|
|
48
|
-
* - Integrates with SForm for consistent label and error handling
|
|
49
|
-
* - Proper disabled option support
|
|
50
|
-
*
|
|
51
|
-
* @param props - SSelectProps with options, form integration, and Material-UI Select props
|
|
52
|
-
* @param ref - Forward ref to the underlying Select component
|
|
53
|
-
* @returns JSX.Element - Wrapped Select with form labeling and enhanced option handling
|
|
34
|
+
* A flexible select component that handles both primitive and object options with form integration.
|
|
54
35
|
*/
|
|
55
|
-
declare const SSelect: import('react').ForwardRefExoticComponent<Omit<SSelectProps<BaseOption>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
36
|
+
export declare const SSelect: import('react').ForwardRefExoticComponent<Omit<SSelectProps<BaseOption>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
56
37
|
export default SSelect;
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { c as
|
|
4
|
-
import { Select as
|
|
5
|
-
import
|
|
6
|
-
const
|
|
1
|
+
import { j as t } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
+
import { forwardRef as A, useState as f } from "react";
|
|
3
|
+
import { c as O } from "../createSvgIcon-DxwgGAVe.js";
|
|
4
|
+
import { Select as E, ListSubheader as F, TextField as M, InputAdornment as T, MenuItem as p, Box as h } from "@mui/material";
|
|
5
|
+
import { SForm as B } from "../s-form/s-form.js";
|
|
6
|
+
const D = O(/* @__PURE__ */ t.jsx("path", {
|
|
7
7
|
d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"
|
|
8
|
-
}), "Search"),
|
|
8
|
+
}), "Search"), x = A(
|
|
9
9
|
({
|
|
10
|
-
options:
|
|
11
|
-
optionLabel:
|
|
12
|
-
optionValue:
|
|
10
|
+
options: r = [],
|
|
11
|
+
optionLabel: _ = "name",
|
|
12
|
+
optionValue: b = "id",
|
|
13
13
|
placeholder: g,
|
|
14
|
-
label:
|
|
15
|
-
error:
|
|
16
|
-
required:
|
|
17
|
-
variant:
|
|
14
|
+
label: m = "",
|
|
15
|
+
error: C,
|
|
16
|
+
required: I = !1,
|
|
17
|
+
variant: K = "outlined",
|
|
18
18
|
simple: w = !1,
|
|
19
|
-
htmlFor:
|
|
19
|
+
htmlFor: y,
|
|
20
20
|
searchable: o = !1,
|
|
21
|
-
searchPlaceholder:
|
|
21
|
+
searchPlaceholder: P = "",
|
|
22
22
|
...a
|
|
23
|
-
},
|
|
24
|
-
const
|
|
25
|
-
return /* @__PURE__ */
|
|
26
|
-
|
|
23
|
+
}, N) => {
|
|
24
|
+
const S = a.value !== void 0, [V, $] = f(a.multiple ? [] : null), L = S ? a.value : V, [d, v] = f(""), [k, j] = f(!1), s = (e) => String(typeof e == "string" || typeof e == "number" ? e : e[_]), l = (e) => typeof e == "string" || typeof e == "number" ? e : e[b], i = o && d ? r.filter((e) => s(e).toLowerCase().includes(d.toLowerCase())) : r;
|
|
25
|
+
return /* @__PURE__ */ t.jsx(B, { error: C, label: m, required: I, htmlFor: y, children: /* @__PURE__ */ t.jsxs(
|
|
26
|
+
E,
|
|
27
27
|
{
|
|
28
|
-
id:
|
|
28
|
+
id: y,
|
|
29
29
|
displayEmpty: !0,
|
|
30
30
|
fullWidth: !0,
|
|
31
31
|
defaultValue: "",
|
|
32
|
-
ref:
|
|
33
|
-
open: o ?
|
|
34
|
-
onOpen: o ? () =>
|
|
32
|
+
ref: N,
|
|
33
|
+
open: o ? k : void 0,
|
|
34
|
+
onOpen: o ? () => j(!0) : void 0,
|
|
35
35
|
onClose: o ? () => {
|
|
36
|
-
|
|
36
|
+
j(!1), v("");
|
|
37
37
|
} : void 0,
|
|
38
38
|
MenuProps: o ? {
|
|
39
39
|
autoFocus: !1,
|
|
@@ -45,39 +45,39 @@ const K = F(/* @__PURE__ */ r.jsx("path", {
|
|
|
45
45
|
} : void 0,
|
|
46
46
|
renderValue: a.multiple ? (e) => {
|
|
47
47
|
const n = e;
|
|
48
|
-
return n.length === 0 ? /* @__PURE__ */
|
|
49
|
-
const
|
|
50
|
-
return
|
|
48
|
+
return n.length === 0 ? /* @__PURE__ */ t.jsx(h, { component: "span", sx: { color: "text.secondary" }, children: g }) : n == null ? void 0 : n.map((c) => {
|
|
49
|
+
const u = r.find((z) => l(z) === l(c));
|
|
50
|
+
return u ? s(u) : "";
|
|
51
51
|
}).filter(Boolean).join(", ");
|
|
52
52
|
} : (e) => {
|
|
53
53
|
const n = e;
|
|
54
54
|
if (n == null || n === "")
|
|
55
|
-
return /* @__PURE__ */
|
|
55
|
+
return /* @__PURE__ */ t.jsx(h, { component: "span", sx: { color: "text.secondary" }, children: g });
|
|
56
56
|
if (w)
|
|
57
57
|
return s(n);
|
|
58
|
-
const
|
|
59
|
-
return
|
|
58
|
+
const c = r.find((u) => l(u) === l(n));
|
|
59
|
+
return c ? s(c) : "";
|
|
60
60
|
},
|
|
61
61
|
...a,
|
|
62
|
-
value:
|
|
62
|
+
value: r.length ? L ?? "" : "",
|
|
63
63
|
onChange: (e, n) => {
|
|
64
64
|
if (a.onChange)
|
|
65
65
|
a.onChange(e, n);
|
|
66
|
-
else if (!
|
|
67
|
-
const
|
|
68
|
-
|
|
66
|
+
else if (!S) {
|
|
67
|
+
const c = e.target.value;
|
|
68
|
+
$(c);
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
children: [
|
|
72
|
-
o && /* @__PURE__ */
|
|
73
|
-
|
|
72
|
+
o && /* @__PURE__ */ t.jsx(F, { sx: { px: 2, py: 1, position: "sticky", top: 0, bgcolor: "background.paper", zIndex: 1 }, children: /* @__PURE__ */ t.jsx(
|
|
73
|
+
M,
|
|
74
74
|
{
|
|
75
75
|
size: "small",
|
|
76
76
|
fullWidth: !0,
|
|
77
77
|
autoFocus: !0,
|
|
78
|
-
placeholder:
|
|
78
|
+
placeholder: P,
|
|
79
79
|
value: d,
|
|
80
|
-
onChange: (e) =>
|
|
80
|
+
onChange: (e) => v(e.target.value),
|
|
81
81
|
onKeyDown: (e) => {
|
|
82
82
|
e.key !== "Escape" && e.stopPropagation();
|
|
83
83
|
},
|
|
@@ -85,46 +85,50 @@ const K = F(/* @__PURE__ */ r.jsx("path", {
|
|
|
85
85
|
e.stopPropagation();
|
|
86
86
|
},
|
|
87
87
|
InputProps: {
|
|
88
|
-
startAdornment: /* @__PURE__ */
|
|
88
|
+
startAdornment: /* @__PURE__ */ t.jsx(T, { position: "start", children: /* @__PURE__ */ t.jsx(D, { fontSize: "small" }) })
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
91
|
) }),
|
|
92
|
-
o ? (
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
value: t(e),
|
|
118
|
-
children: s(e)
|
|
119
|
-
},
|
|
120
|
-
`${t(e)}-${n}`
|
|
121
|
-
))
|
|
122
|
-
)
|
|
92
|
+
o ? (i == null ? void 0 : i.length) > 0 ? i.map((e, n) => /* @__PURE__ */ t.jsx(
|
|
93
|
+
p,
|
|
94
|
+
{
|
|
95
|
+
disabled: (e == null ? void 0 : e.disabled) ?? !1,
|
|
96
|
+
value: l(e),
|
|
97
|
+
children: s(e)
|
|
98
|
+
},
|
|
99
|
+
`${l(e)}-${n}`
|
|
100
|
+
)) : d ? /* @__PURE__ */ t.jsx(p, { disabled: !0, children: /* @__PURE__ */ t.jsx(h, { sx: { color: "text.secondary", fontStyle: "italic" }, children: "No results found" }) }) : r == null ? void 0 : r.map((e, n) => /* @__PURE__ */ t.jsx(
|
|
101
|
+
p,
|
|
102
|
+
{
|
|
103
|
+
disabled: (e == null ? void 0 : e.disabled) ?? !1,
|
|
104
|
+
value: l(e),
|
|
105
|
+
children: s(e)
|
|
106
|
+
},
|
|
107
|
+
`${l(e)}-${n}`
|
|
108
|
+
)) : r == null ? void 0 : r.map((e, n) => /* @__PURE__ */ t.jsx(
|
|
109
|
+
p,
|
|
110
|
+
{
|
|
111
|
+
disabled: (e == null ? void 0 : e.disabled) ?? !1,
|
|
112
|
+
value: l(e),
|
|
113
|
+
children: s(e)
|
|
114
|
+
},
|
|
115
|
+
`${l(e)}-${n}`
|
|
116
|
+
))
|
|
123
117
|
]
|
|
124
118
|
}
|
|
125
119
|
) });
|
|
126
120
|
}
|
|
127
121
|
);
|
|
122
|
+
x.displayName = "SSelect";
|
|
123
|
+
try {
|
|
124
|
+
x.displayName = "SSelect", x.__docgenInfo = { description: "A flexible select component that handles both primitive and object options with form integration.", displayName: "SSelect", props: {} };
|
|
125
|
+
} catch {
|
|
126
|
+
}
|
|
127
|
+
try {
|
|
128
|
+
sselect.displayName = "sselect", sselect.__docgenInfo = { description: "A flexible select component that handles both primitive and object options with form integration.", displayName: "sselect", props: {} };
|
|
129
|
+
} catch {
|
|
130
|
+
}
|
|
128
131
|
export {
|
|
129
|
-
|
|
132
|
+
x as SSelect,
|
|
133
|
+
x as default
|
|
130
134
|
};
|
|
@@ -3,31 +3,28 @@ export interface SSelectListItem<T = any> {
|
|
|
3
3
|
id: string;
|
|
4
4
|
data: T;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Props interface for SSelectList component
|
|
8
|
+
*/
|
|
6
9
|
export interface SSelectListProps<T = any> {
|
|
7
|
-
/**
|
|
8
|
-
* Array of items to render
|
|
9
|
-
*/
|
|
10
|
+
/** Array of items to render */
|
|
10
11
|
items: SSelectListItem<T>[];
|
|
11
|
-
/**
|
|
12
|
-
* ID of the currently selected item
|
|
13
|
-
*/
|
|
12
|
+
/** ID of the currently selected item */
|
|
14
13
|
selectedId: string;
|
|
15
|
-
/**
|
|
16
|
-
* Callback when an item is selected
|
|
17
|
-
*/
|
|
14
|
+
/** Callback when an item is selected */
|
|
18
15
|
onSelect: (id: string) => void;
|
|
19
|
-
/**
|
|
20
|
-
* Function to render the content of each item
|
|
21
|
-
*/
|
|
16
|
+
/** Function to render the content of each item */
|
|
22
17
|
renderItem: (item: SSelectListItem<T>, selected: boolean) => React.ReactNode;
|
|
23
|
-
/**
|
|
24
|
-
* Optional function to render content below the selected item
|
|
25
|
-
*/
|
|
18
|
+
/** Optional function to render content below the selected item */
|
|
26
19
|
renderBelow?: (item: SSelectListItem<T>) => React.ReactNode;
|
|
27
|
-
/**
|
|
28
|
-
* Whether to show a radio button (default: true)
|
|
29
|
-
*/
|
|
20
|
+
/** Whether to show a radio button (default: true) */
|
|
30
21
|
showRadio?: boolean;
|
|
31
22
|
}
|
|
32
|
-
|
|
23
|
+
/**
|
|
24
|
+
* A selectable list component with radio buttons and optional expandable content.
|
|
25
|
+
*/
|
|
26
|
+
export declare const SSelectList: {
|
|
27
|
+
<T>({ items, selectedId, onSelect, renderItem, renderBelow, showRadio, }: SSelectListProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
displayName: string;
|
|
29
|
+
};
|
|
33
30
|
export default SSelectList;
|
|
@@ -1,32 +1,31 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { styled as
|
|
3
|
-
const
|
|
4
|
-
shouldForwardProp: (
|
|
5
|
-
})(({ theme:
|
|
1
|
+
import { j as t } from "../jsx-runtime-OVHDjVDe.js";
|
|
2
|
+
import { styled as u, Box as a, Stack as m, Radio as f, Collapse as y } from "@mui/material";
|
|
3
|
+
const S = u(a, {
|
|
4
|
+
shouldForwardProp: (e) => e !== "selected"
|
|
5
|
+
})(({ theme: e, selected: d }) => ({
|
|
6
6
|
display: "flex",
|
|
7
7
|
alignItems: "center",
|
|
8
8
|
justifyContent: "space-between",
|
|
9
|
-
width: "100%",
|
|
10
9
|
borderRadius: 8,
|
|
11
|
-
padding:
|
|
12
|
-
paddingLeft:
|
|
13
|
-
paddingRight:
|
|
10
|
+
padding: e.spacing(1),
|
|
11
|
+
paddingLeft: e.spacing(2),
|
|
12
|
+
paddingRight: e.spacing(2),
|
|
14
13
|
border: "1px solid",
|
|
15
14
|
cursor: "pointer",
|
|
16
|
-
borderColor:
|
|
17
|
-
})),
|
|
18
|
-
items:
|
|
19
|
-
selectedId:
|
|
20
|
-
onSelect:
|
|
21
|
-
renderItem:
|
|
22
|
-
renderBelow:
|
|
23
|
-
showRadio:
|
|
24
|
-
}) => /* @__PURE__ */
|
|
25
|
-
const
|
|
26
|
-
return /* @__PURE__ */
|
|
27
|
-
/* @__PURE__ */
|
|
28
|
-
/* @__PURE__ */
|
|
29
|
-
|
|
15
|
+
borderColor: d ? (e.vars || e).palette.primary.dark : (e.vars || e).palette.divider
|
|
16
|
+
})), i = ({
|
|
17
|
+
items: e,
|
|
18
|
+
selectedId: d,
|
|
19
|
+
onSelect: o,
|
|
20
|
+
renderItem: s,
|
|
21
|
+
renderBelow: l,
|
|
22
|
+
showRadio: c = !0
|
|
23
|
+
}) => /* @__PURE__ */ t.jsx(m, { spacing: 2, children: e.map((r) => {
|
|
24
|
+
const n = r.id === d, p = l && n;
|
|
25
|
+
return /* @__PURE__ */ t.jsxs(a, { children: [
|
|
26
|
+
/* @__PURE__ */ t.jsxs(S, { selected: n, onClick: () => o(r.id), children: [
|
|
27
|
+
/* @__PURE__ */ t.jsx(
|
|
28
|
+
a,
|
|
30
29
|
{
|
|
31
30
|
sx: {
|
|
32
31
|
display: "flex",
|
|
@@ -35,14 +34,20 @@ const u = p(i, {
|
|
|
35
34
|
flex: 1,
|
|
36
35
|
borderRadius: 8
|
|
37
36
|
},
|
|
38
|
-
children:
|
|
37
|
+
children: s(r, n)
|
|
39
38
|
}
|
|
40
39
|
),
|
|
41
|
-
|
|
40
|
+
c && /* @__PURE__ */ t.jsx(f, { checked: n })
|
|
42
41
|
] }),
|
|
43
|
-
|
|
44
|
-
] },
|
|
42
|
+
p && /* @__PURE__ */ t.jsx(y, { in: n, children: /* @__PURE__ */ t.jsx(a, { mt: 2, children: l(r) }) })
|
|
43
|
+
] }, r.id);
|
|
45
44
|
}) });
|
|
45
|
+
i.displayName = "SSelectList";
|
|
46
|
+
try {
|
|
47
|
+
i.displayName = "SSelectList", i.__docgenInfo = { description: "A selectable list component with radio buttons and optional expandable content.", displayName: "SSelectList", props: { items: { defaultValue: null, description: "Array of items to render", name: "items", required: !0, type: { name: "SSelectListItem<T>[]" } }, selectedId: { defaultValue: null, description: "ID of the currently selected item", name: "selectedId", required: !0, type: { name: "string" } }, onSelect: { defaultValue: null, description: "Callback when an item is selected", name: "onSelect", required: !0, type: { name: "(id: string) => void" } }, renderItem: { defaultValue: null, description: "Function to render the content of each item", name: "renderItem", required: !0, type: { name: "(item: SSelectListItem<T>, selected: boolean) => ReactNode" } }, renderBelow: { defaultValue: null, description: "Optional function to render content below the selected item", name: "renderBelow", required: !1, type: { name: "((item: SSelectListItem<T>) => ReactNode)" } }, showRadio: { defaultValue: { value: "true" }, description: "Whether to show a radio button (default: true)", name: "showRadio", required: !1, type: { name: "boolean" } } } };
|
|
48
|
+
} catch {
|
|
49
|
+
}
|
|
46
50
|
export {
|
|
47
|
-
|
|
51
|
+
i as SSelectList,
|
|
52
|
+
i as default
|
|
48
53
|
};
|
package/dist/s-skeleton/index.js
CHANGED