@yahoo/uds 3.133.3 → 3.134.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/automated-config/dist/generated/autoVariants.cjs +14 -0
- package/dist/automated-config/dist/generated/autoVariants.d.cts +14 -0
- package/dist/automated-config/dist/generated/autoVariants.d.ts +14 -0
- package/dist/automated-config/dist/generated/autoVariants.js +14 -0
- package/dist/automated-config/dist/generated/generatedConfigs.cjs +2796 -1
- package/dist/automated-config/dist/generated/generatedConfigs.d.cts +288 -2
- package/dist/automated-config/dist/generated/generatedConfigs.d.ts +288 -2
- package/dist/automated-config/dist/generated/generatedConfigs.js +2796 -2
- package/dist/automated-config/dist/generated/universalTokensConfigAuto.cjs +119 -0
- package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.cts +2 -1
- package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.ts +2 -1
- package/dist/automated-config/dist/generated/universalTokensConfigAuto.js +119 -0
- package/dist/automated-config/dist/properties.cjs +15 -1
- package/dist/automated-config/dist/properties.d.cts +4 -0
- package/dist/automated-config/dist/properties.d.ts +4 -0
- package/dist/automated-config/dist/properties.js +15 -1
- package/dist/automated-config/dist/utils/getConfigVariantProperties.d.cts +2 -2
- package/dist/automated-config/dist/utils/getConfigVariantProperties.d.ts +2 -2
- package/dist/cli/commands/sync.cjs +4 -0
- package/dist/cli/commands/sync.js +4 -0
- package/dist/components/client/Modal/Modal.cjs +193 -0
- package/dist/components/client/Modal/Modal.d.cts +51 -0
- package/dist/components/client/Modal/Modal.d.ts +52 -0
- package/dist/components/client/Modal/Modal.js +191 -0
- package/dist/components/client/Modal/ModalActions.cjs +54 -0
- package/dist/components/client/Modal/ModalActions.d.cts +27 -0
- package/dist/components/client/Modal/ModalActions.d.ts +28 -0
- package/dist/components/client/Modal/ModalActions.js +52 -0
- package/dist/components/client/Modal/ModalContent.cjs +37 -0
- package/dist/components/client/Modal/ModalContent.d.cts +24 -0
- package/dist/components/client/Modal/ModalContent.d.ts +25 -0
- package/dist/components/client/Modal/ModalContent.js +35 -0
- package/dist/components/client/Modal/ModalContext.cjs +15 -0
- package/dist/components/client/Modal/ModalContext.d.cts +13 -0
- package/dist/components/client/Modal/ModalContext.d.ts +14 -0
- package/dist/components/client/Modal/ModalContext.js +12 -0
- package/dist/components/client/Modal/ModalDescription.cjs +29 -0
- package/dist/components/client/Modal/ModalDescription.d.cts +23 -0
- package/dist/components/client/Modal/ModalDescription.d.ts +24 -0
- package/dist/components/client/Modal/ModalDescription.js +27 -0
- package/dist/components/client/Modal/ModalTitle.cjs +29 -0
- package/dist/components/client/Modal/ModalTitle.d.cts +23 -0
- package/dist/components/client/Modal/ModalTitle.d.ts +24 -0
- package/dist/components/client/Modal/ModalTitle.js +27 -0
- package/dist/components/client/Modal/UDSModalConfigProvider.cjs +42 -0
- package/dist/components/client/Modal/UDSModalConfigProvider.d.cts +35 -0
- package/dist/components/client/Modal/UDSModalConfigProvider.d.ts +36 -0
- package/dist/components/client/Modal/UDSModalConfigProvider.js +39 -0
- package/dist/components/client/Modal/index.cjs +16 -0
- package/dist/components/client/Modal/index.d.cts +8 -0
- package/dist/components/client/Modal/index.d.ts +9 -0
- package/dist/components/client/Modal/index.js +9 -0
- package/dist/components/client/Modal/useScrollFade.cjs +38 -0
- package/dist/components/client/Modal/useScrollFade.d.cts +13 -0
- package/dist/components/client/Modal/useScrollFade.d.ts +14 -0
- package/dist/components/client/Modal/useScrollFade.js +36 -0
- package/dist/components/client/Modal/utils.cjs +32 -0
- package/dist/components/client/Modal/utils.d.cts +13 -0
- package/dist/components/client/Modal/utils.d.ts +14 -0
- package/dist/components/client/Modal/utils.js +30 -0
- package/dist/components/client/Popover/index.d.cts +1 -1
- package/dist/components/client/Popover/index.d.ts +1 -1
- package/dist/components/client/Toast/UDSToastConfigProvider.d.cts +1 -1
- package/dist/components/client/Toast/UDSToastConfigProvider.d.ts +1 -1
- package/dist/components/client/index.cjs +13 -0
- package/dist/components/client/index.d.cts +8 -2
- package/dist/components/client/index.d.ts +8 -2
- package/dist/components/client/index.js +7 -1
- package/dist/components/client/providers/UDSConfigProvider.cjs +6 -2
- package/dist/components/client/providers/UDSConfigProvider.d.cts +2 -1
- package/dist/components/client/providers/UDSConfigProvider.d.ts +2 -1
- package/dist/components/client/providers/UDSConfigProvider.js +6 -2
- package/dist/components/experimental/client/index.cjs +0 -5
- package/dist/components/experimental/client/index.d.cts +1 -2
- package/dist/components/experimental/client/index.d.ts +1 -2
- package/dist/components/experimental/client/index.js +1 -2
- package/dist/components/experimental/index.cjs +1 -10
- package/dist/components/experimental/index.d.cts +1 -2
- package/dist/components/experimental/index.d.ts +1 -2
- package/dist/components/experimental/index.js +2 -7
- package/dist/components/index.cjs +20 -0
- package/dist/components/index.d.cts +8 -2
- package/dist/components/index.d.ts +8 -2
- package/dist/components/index.js +14 -1
- package/dist/config/dist/index.cjs +129 -4
- package/dist/config/dist/index.js +129 -4
- package/dist/index.cjs +16 -0
- package/dist/index.d.cts +11 -4
- package/dist/index.d.ts +11 -4
- package/dist/index.js +9 -2
- package/dist/runtime/index.cjs +2 -0
- package/dist/runtime/index.d.cts +2 -1
- package/dist/runtime/index.d.ts +2 -1
- package/dist/runtime/index.js +2 -1
- package/dist/runtime/modalConfig.cjs +22 -0
- package/dist/runtime/modalConfig.d.cts +22 -0
- package/dist/runtime/modalConfig.d.ts +22 -0
- package/dist/runtime/modalConfig.js +21 -0
- package/dist/runtime/udsConfig.cjs +4 -2
- package/dist/runtime/udsConfig.d.cts +2 -0
- package/dist/runtime/udsConfig.d.ts +2 -0
- package/dist/runtime/udsConfig.js +4 -2
- package/dist/styles/styler.d.cts +35 -21
- package/dist/styles/styler.d.ts +35 -21
- package/dist/styles/variants.d.cts +42 -0
- package/dist/styles/variants.d.ts +42 -0
- package/dist/tailwind/dist/automated-config/dist/generated/autoVariants.cjs +14 -0
- package/dist/tailwind/dist/automated-config/dist/generated/autoVariants.js +14 -0
- package/dist/tailwind/dist/automated-config/dist/generated/autoVariants.js.map +1 -1
- package/dist/tailwind/dist/automated-config/dist/generated/generatedConfigs.cjs +2796 -1
- package/dist/tailwind/dist/automated-config/dist/generated/generatedConfigs.js +2796 -2
- package/dist/tailwind/dist/automated-config/dist/generated/generatedConfigs.js.map +1 -1
- package/dist/tailwind/dist/automated-config/dist/properties.cjs +15 -1
- package/dist/tailwind/dist/automated-config/dist/properties.js +15 -1
- package/dist/tailwind/dist/automated-config/dist/properties.js.map +1 -1
- package/dist/tailwind/dist/config/dist/index.cjs +129 -4
- package/dist/tailwind/dist/config/dist/index.js +129 -4
- package/dist/tailwind/dist/config/dist/index.js.map +1 -1
- package/dist/tailwind/dist/css/utils.cjs +8 -0
- package/dist/tailwind/dist/css/utils.js +8 -0
- package/dist/tailwind/dist/css/utils.js.map +1 -1
- package/dist/tailwind/dist/runtimeConfig/hookMetadata.cjs +34 -0
- package/dist/tailwind/dist/runtimeConfig/hookMetadata.js +34 -0
- package/dist/tailwind/dist/runtimeConfig/hookMetadata.js.map +1 -1
- package/dist/tailwind/dist/tailwind/plugins/blurBgFallback.cjs +3 -0
- package/dist/tailwind/dist/tailwind/plugins/blurBgFallback.js +3 -0
- package/dist/tailwind/dist/tailwind/plugins/blurBgFallback.js.map +1 -1
- package/dist/tailwind/dist/tailwind/plugins/components.cjs +1 -0
- package/dist/tailwind/dist/tailwind/plugins/components.js +2 -1
- package/dist/tailwind/dist/tailwind/plugins/components.js.map +1 -1
- package/dist/tailwind/dist/types/dist/index.d.cts.map +1 -1
- package/dist/tailwind/dist/types/dist/index.d.ts.map +1 -1
- package/dist/tokens/automation/configs/index.cjs +1 -0
- package/dist/tokens/automation/configs/index.d.cts +2 -2
- package/dist/tokens/automation/configs/index.d.ts +2 -2
- package/dist/tokens/automation/configs/index.js +2 -2
- package/dist/tokens/automation/index.cjs +1 -0
- package/dist/tokens/automation/index.d.cts +2 -2
- package/dist/tokens/automation/index.d.ts +2 -2
- package/dist/tokens/automation/index.js +2 -2
- package/dist/tokens/index.cjs +1 -0
- package/dist/tokens/index.d.cts +3 -3
- package/dist/tokens/index.d.ts +3 -3
- package/dist/tokens/index.js +2 -2
- package/dist/tokens/types.d.cts +2 -2
- package/dist/tokens/types.d.ts +2 -2
- package/dist/types/dist/index.d.cts +68 -2
- package/dist/types/dist/index.d.ts +68 -2
- package/dist/uds/generated/componentData.cjs +717 -526
- package/dist/uds/generated/componentData.js +580 -425
- package/dist/uds/generated/tailwindPurge.cjs +137 -96
- package/dist/uds/generated/tailwindPurge.js +137 -96
- package/dist/utils/exposeAriakitScrollbarWidth.cjs +17 -0
- package/dist/utils/exposeAriakitScrollbarWidth.d.cts +13 -0
- package/dist/utils/exposeAriakitScrollbarWidth.d.ts +13 -0
- package/dist/utils/exposeAriakitScrollbarWidth.js +16 -0
- package/generated/componentData.json +876 -665
- package/generated/tailwindPurge.ts +4 -4
- package/package.json +1 -1
- package/dist/components/experimental/client/Modal.cjs +0 -60
- package/dist/components/experimental/client/Modal.d.cts +0 -27
- package/dist/components/experimental/client/Modal.d.ts +0 -28
- package/dist/components/experimental/client/Modal.js +0 -55
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
require("../../../_virtual/_rolldown/runtime.cjs");
|
|
5
|
+
const require_styles_styler = require("../../../styles/styler.cjs");
|
|
6
|
+
const require_components_Box = require("../../Box.cjs");
|
|
7
|
+
const require_components_client_Modal_ModalContext = require("./ModalContext.cjs");
|
|
8
|
+
const require_components_client_Modal_UDSModalConfigProvider = require("./UDSModalConfigProvider.cjs");
|
|
9
|
+
const require_components_client_Modal_useScrollFade = require("./useScrollFade.cjs");
|
|
10
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
11
|
+
//#region src/components/client/Modal/ModalContent.tsx
|
|
12
|
+
const ModalContent = ({ children, asChild = void 0, slotProps }) => {
|
|
13
|
+
const { size } = require_components_client_Modal_UDSModalConfigProvider.useModalConfig();
|
|
14
|
+
const { scrollBehavior } = require_components_client_Modal_ModalContext.useInternalModalContext();
|
|
15
|
+
const scrollFadeProps = require_components_client_Modal_useScrollFade.useScrollFade(scrollBehavior === "inside");
|
|
16
|
+
const classNames = { content: require_styles_styler.getStyles({
|
|
17
|
+
modalSizeSpacingHorizontal: size,
|
|
18
|
+
overflowY: scrollBehavior === "inside" ? "auto" : void 0,
|
|
19
|
+
display: "block",
|
|
20
|
+
flexGrow: scrollBehavior === "inside" ? "1" : void 0
|
|
21
|
+
}) };
|
|
22
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Box.Box, {
|
|
23
|
+
asChild,
|
|
24
|
+
...slotProps?.root,
|
|
25
|
+
...scrollFadeProps,
|
|
26
|
+
style: {
|
|
27
|
+
...scrollFadeProps.style,
|
|
28
|
+
...slotProps?.root?.style
|
|
29
|
+
},
|
|
30
|
+
className: require_styles_styler.cx(classNames.content, slotProps?.root?.className),
|
|
31
|
+
children
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
ModalContent.displayName = "ModalContent";
|
|
35
|
+
ModalContent.__modalSlot = "content";
|
|
36
|
+
//#endregion
|
|
37
|
+
exports.ModalContent = ModalContent;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
import { UniversalModalContentProps } from "../../../types/dist/index.cjs";
|
|
3
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/client/Modal/ModalContent.d.ts
|
|
6
|
+
type DataAttributes = {
|
|
7
|
+
[name: `data-${string}`]: string | boolean;
|
|
8
|
+
};
|
|
9
|
+
type ModalContentProps = UniversalModalContentProps & {
|
|
10
|
+
slotProps?: {
|
|
11
|
+
root?: Partial<React.HTMLAttributes<HTMLDivElement> & DataAttributes>;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
declare const ModalContent: {
|
|
15
|
+
({
|
|
16
|
+
children,
|
|
17
|
+
asChild,
|
|
18
|
+
slotProps
|
|
19
|
+
}: ModalContentProps): _$react_jsx_runtime0.JSX.Element;
|
|
20
|
+
displayName: string;
|
|
21
|
+
__modalSlot: "content";
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { ModalContent, type ModalContentProps };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
"use client";
|
|
3
|
+
import { UniversalModalContentProps } from "../../../types/dist/index.js";
|
|
4
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/client/Modal/ModalContent.d.ts
|
|
7
|
+
type DataAttributes = {
|
|
8
|
+
[name: `data-${string}`]: string | boolean;
|
|
9
|
+
};
|
|
10
|
+
type ModalContentProps = UniversalModalContentProps & {
|
|
11
|
+
slotProps?: {
|
|
12
|
+
root?: Partial<React.HTMLAttributes<HTMLDivElement> & DataAttributes>;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
declare const ModalContent: {
|
|
16
|
+
({
|
|
17
|
+
children,
|
|
18
|
+
asChild,
|
|
19
|
+
slotProps
|
|
20
|
+
}: ModalContentProps): _$react_jsx_runtime0.JSX.Element;
|
|
21
|
+
displayName: string;
|
|
22
|
+
__modalSlot: "content";
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { ModalContent, type ModalContentProps };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
import { cx, getStyles } from "../../../styles/styler.js";
|
|
4
|
+
import { Box } from "../../Box.js";
|
|
5
|
+
import { useInternalModalContext } from "./ModalContext.js";
|
|
6
|
+
import { useModalConfig } from "./UDSModalConfigProvider.js";
|
|
7
|
+
import { useScrollFade } from "./useScrollFade.js";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
//#region src/components/client/Modal/ModalContent.tsx
|
|
10
|
+
const ModalContent = ({ children, asChild = void 0, slotProps }) => {
|
|
11
|
+
const { size } = useModalConfig();
|
|
12
|
+
const { scrollBehavior } = useInternalModalContext();
|
|
13
|
+
const scrollFadeProps = useScrollFade(scrollBehavior === "inside");
|
|
14
|
+
const classNames = { content: getStyles({
|
|
15
|
+
modalSizeSpacingHorizontal: size,
|
|
16
|
+
overflowY: scrollBehavior === "inside" ? "auto" : void 0,
|
|
17
|
+
display: "block",
|
|
18
|
+
flexGrow: scrollBehavior === "inside" ? "1" : void 0
|
|
19
|
+
}) };
|
|
20
|
+
return /* @__PURE__ */ jsx(Box, {
|
|
21
|
+
asChild,
|
|
22
|
+
...slotProps?.root,
|
|
23
|
+
...scrollFadeProps,
|
|
24
|
+
style: {
|
|
25
|
+
...scrollFadeProps.style,
|
|
26
|
+
...slotProps?.root?.style
|
|
27
|
+
},
|
|
28
|
+
className: cx(classNames.content, slotProps?.root?.className),
|
|
29
|
+
children
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
ModalContent.displayName = "ModalContent";
|
|
33
|
+
ModalContent.__modalSlot = "content";
|
|
34
|
+
//#endregion
|
|
35
|
+
export { ModalContent };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
require("../../../_virtual/_rolldown/runtime.cjs");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
//#region src/components/client/Modal/ModalContext.tsx
|
|
7
|
+
const ModalContext = (0, react.createContext)(null);
|
|
8
|
+
const useInternalModalContext = () => {
|
|
9
|
+
const context = (0, react.useContext)(ModalContext);
|
|
10
|
+
if (!context) throw new Error("useInternalModalContext must be used within a Modal context provider");
|
|
11
|
+
return context;
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
exports.ModalContext = ModalContext;
|
|
15
|
+
exports.useInternalModalContext = useInternalModalContext;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
import { UniversalModalProps } from "../../../types/dist/index.cjs";
|
|
3
|
+
import * as _$react from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/client/Modal/ModalContext.d.ts
|
|
6
|
+
interface ModalContextType extends Pick<UniversalModalProps, 'scrollBehavior'> {
|
|
7
|
+
shouldRenderHeader: boolean;
|
|
8
|
+
hasContent: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const ModalContext: _$react.Context<ModalContextType | null>;
|
|
11
|
+
declare const useInternalModalContext: () => ModalContextType;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { ModalContext, type ModalContextType, useInternalModalContext };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
"use client";
|
|
3
|
+
import { UniversalModalProps } from "../../../types/dist/index.js";
|
|
4
|
+
import * as _$react from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/client/Modal/ModalContext.d.ts
|
|
7
|
+
interface ModalContextType extends Pick<UniversalModalProps, 'scrollBehavior'> {
|
|
8
|
+
shouldRenderHeader: boolean;
|
|
9
|
+
hasContent: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare const ModalContext: _$react.Context<ModalContextType | null>;
|
|
12
|
+
declare const useInternalModalContext: () => ModalContextType;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ModalContext, type ModalContextType, useInternalModalContext };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
import { createContext, useContext } from "react";
|
|
4
|
+
//#region src/components/client/Modal/ModalContext.tsx
|
|
5
|
+
const ModalContext = createContext(null);
|
|
6
|
+
const useInternalModalContext = () => {
|
|
7
|
+
const context = useContext(ModalContext);
|
|
8
|
+
if (!context) throw new Error("useInternalModalContext must be used within a Modal context provider");
|
|
9
|
+
return context;
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { ModalContext, useInternalModalContext };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
require("../../../_virtual/_rolldown/runtime.cjs");
|
|
5
|
+
const require_styles_styler = require("../../../styles/styler.cjs");
|
|
6
|
+
const require_components_Text = require("../../Text.cjs");
|
|
7
|
+
const require_components_client_Modal_UDSModalConfigProvider = require("./UDSModalConfigProvider.cjs");
|
|
8
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
|
+
let _ariakit_react = require("@ariakit/react");
|
|
10
|
+
//#region src/components/client/Modal/ModalDescription.tsx
|
|
11
|
+
const ModalDescription = ({ children, slotProps }) => {
|
|
12
|
+
const { size, variant } = require_components_client_Modal_UDSModalConfigProvider.useModalConfig();
|
|
13
|
+
const classNames = { description: require_styles_styler.getStyles({
|
|
14
|
+
modalSizeDescription: size,
|
|
15
|
+
modalVariantDescription: variant
|
|
16
|
+
}) };
|
|
17
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ariakit_react.DialogDescription, {
|
|
18
|
+
render: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Text.Text, {
|
|
19
|
+
as: "span",
|
|
20
|
+
...slotProps?.root,
|
|
21
|
+
className: require_styles_styler.cx(classNames.description, slotProps?.root?.className)
|
|
22
|
+
}),
|
|
23
|
+
children
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
ModalDescription.displayName = "ModalDescription";
|
|
27
|
+
ModalDescription.__modalSlot = "description";
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.ModalDescription = ModalDescription;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
import { UniversalModalDescriptionProps } from "../../../types/dist/index.cjs";
|
|
3
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/client/Modal/ModalDescription.d.ts
|
|
6
|
+
type DataAttributes = {
|
|
7
|
+
[name: `data-${string}`]: string | boolean;
|
|
8
|
+
};
|
|
9
|
+
type ModalDescriptionProps = UniversalModalDescriptionProps & {
|
|
10
|
+
slotProps?: {
|
|
11
|
+
root?: Partial<Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'> & DataAttributes>;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
declare const ModalDescription: {
|
|
15
|
+
({
|
|
16
|
+
children,
|
|
17
|
+
slotProps
|
|
18
|
+
}: ModalDescriptionProps): _$react_jsx_runtime0.JSX.Element;
|
|
19
|
+
displayName: string;
|
|
20
|
+
__modalSlot: "description";
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { ModalDescription, type ModalDescriptionProps };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
"use client";
|
|
3
|
+
import { UniversalModalDescriptionProps } from "../../../types/dist/index.js";
|
|
4
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/client/Modal/ModalDescription.d.ts
|
|
7
|
+
type DataAttributes = {
|
|
8
|
+
[name: `data-${string}`]: string | boolean;
|
|
9
|
+
};
|
|
10
|
+
type ModalDescriptionProps = UniversalModalDescriptionProps & {
|
|
11
|
+
slotProps?: {
|
|
12
|
+
root?: Partial<Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'> & DataAttributes>;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
declare const ModalDescription: {
|
|
16
|
+
({
|
|
17
|
+
children,
|
|
18
|
+
slotProps
|
|
19
|
+
}: ModalDescriptionProps): _$react_jsx_runtime0.JSX.Element;
|
|
20
|
+
displayName: string;
|
|
21
|
+
__modalSlot: "description";
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { ModalDescription, type ModalDescriptionProps };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
import { cx, getStyles } from "../../../styles/styler.js";
|
|
4
|
+
import { Text } from "../../Text.js";
|
|
5
|
+
import { useModalConfig } from "./UDSModalConfigProvider.js";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import { DialogDescription } from "@ariakit/react";
|
|
8
|
+
//#region src/components/client/Modal/ModalDescription.tsx
|
|
9
|
+
const ModalDescription = ({ children, slotProps }) => {
|
|
10
|
+
const { size, variant } = useModalConfig();
|
|
11
|
+
const classNames = { description: getStyles({
|
|
12
|
+
modalSizeDescription: size,
|
|
13
|
+
modalVariantDescription: variant
|
|
14
|
+
}) };
|
|
15
|
+
return /* @__PURE__ */ jsx(DialogDescription, {
|
|
16
|
+
render: /* @__PURE__ */ jsx(Text, {
|
|
17
|
+
as: "span",
|
|
18
|
+
...slotProps?.root,
|
|
19
|
+
className: cx(classNames.description, slotProps?.root?.className)
|
|
20
|
+
}),
|
|
21
|
+
children
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
ModalDescription.displayName = "ModalDescription";
|
|
25
|
+
ModalDescription.__modalSlot = "description";
|
|
26
|
+
//#endregion
|
|
27
|
+
export { ModalDescription };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
require("../../../_virtual/_rolldown/runtime.cjs");
|
|
5
|
+
const require_styles_styler = require("../../../styles/styler.cjs");
|
|
6
|
+
const require_components_Text = require("../../Text.cjs");
|
|
7
|
+
const require_components_client_Modal_UDSModalConfigProvider = require("./UDSModalConfigProvider.cjs");
|
|
8
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
9
|
+
let _ariakit_react = require("@ariakit/react");
|
|
10
|
+
//#region src/components/client/Modal/ModalTitle.tsx
|
|
11
|
+
const ModalTitle = ({ children, slotProps }) => {
|
|
12
|
+
const { size, variant } = require_components_client_Modal_UDSModalConfigProvider.useModalConfig();
|
|
13
|
+
const classNames = { title: require_styles_styler.getStyles({
|
|
14
|
+
modalSizeTitle: size,
|
|
15
|
+
modalVariantTitle: variant
|
|
16
|
+
}) };
|
|
17
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ariakit_react.DialogHeading, {
|
|
18
|
+
render: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Text.Text, {
|
|
19
|
+
as: "span",
|
|
20
|
+
...slotProps?.root,
|
|
21
|
+
className: require_styles_styler.cx(classNames.title, slotProps?.root?.className)
|
|
22
|
+
}),
|
|
23
|
+
children
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
ModalTitle.displayName = "ModalTitle";
|
|
27
|
+
ModalTitle.__modalSlot = "title";
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.ModalTitle = ModalTitle;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
|
|
2
|
+
import { UniversalModalTitleProps } from "../../../types/dist/index.cjs";
|
|
3
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/client/Modal/ModalTitle.d.ts
|
|
6
|
+
type DataAttributes = {
|
|
7
|
+
[name: `data-${string}`]: string | boolean;
|
|
8
|
+
};
|
|
9
|
+
type ModalTitleProps = UniversalModalTitleProps & {
|
|
10
|
+
slotProps?: {
|
|
11
|
+
root?: Partial<Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'> & DataAttributes>;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
declare const ModalTitle: {
|
|
15
|
+
({
|
|
16
|
+
children,
|
|
17
|
+
slotProps
|
|
18
|
+
}: ModalTitleProps): _$react_jsx_runtime0.JSX.Element;
|
|
19
|
+
displayName: string;
|
|
20
|
+
__modalSlot: "title";
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { ModalTitle, type ModalTitleProps };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
"use client";
|
|
3
|
+
import { UniversalModalTitleProps } from "../../../types/dist/index.js";
|
|
4
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/client/Modal/ModalTitle.d.ts
|
|
7
|
+
type DataAttributes = {
|
|
8
|
+
[name: `data-${string}`]: string | boolean;
|
|
9
|
+
};
|
|
10
|
+
type ModalTitleProps = UniversalModalTitleProps & {
|
|
11
|
+
slotProps?: {
|
|
12
|
+
root?: Partial<Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'> & DataAttributes>;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
declare const ModalTitle: {
|
|
16
|
+
({
|
|
17
|
+
children,
|
|
18
|
+
slotProps
|
|
19
|
+
}: ModalTitleProps): _$react_jsx_runtime0.JSX.Element;
|
|
20
|
+
displayName: string;
|
|
21
|
+
__modalSlot: "title";
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { ModalTitle, type ModalTitleProps };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
import { cx, getStyles } from "../../../styles/styler.js";
|
|
4
|
+
import { Text } from "../../Text.js";
|
|
5
|
+
import { useModalConfig } from "./UDSModalConfigProvider.js";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import { DialogHeading } from "@ariakit/react";
|
|
8
|
+
//#region src/components/client/Modal/ModalTitle.tsx
|
|
9
|
+
const ModalTitle = ({ children, slotProps }) => {
|
|
10
|
+
const { size, variant } = useModalConfig();
|
|
11
|
+
const classNames = { title: getStyles({
|
|
12
|
+
modalSizeTitle: size,
|
|
13
|
+
modalVariantTitle: variant
|
|
14
|
+
}) };
|
|
15
|
+
return /* @__PURE__ */ jsx(DialogHeading, {
|
|
16
|
+
render: /* @__PURE__ */ jsx(Text, {
|
|
17
|
+
as: "span",
|
|
18
|
+
...slotProps?.root,
|
|
19
|
+
className: cx(classNames.title, slotProps?.root?.className)
|
|
20
|
+
}),
|
|
21
|
+
children
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
ModalTitle.displayName = "ModalTitle";
|
|
25
|
+
ModalTitle.__modalSlot = "title";
|
|
26
|
+
//#endregion
|
|
27
|
+
export { ModalTitle };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
require("../../../_virtual/_rolldown/runtime.cjs");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
7
|
+
//#region src/components/client/Modal/UDSModalConfigProvider.tsx
|
|
8
|
+
const ModalContext = (0, react.createContext)(void 0);
|
|
9
|
+
const UDSModalConfigProvider = ({ children, value }) => {
|
|
10
|
+
const existingContext = (0, react.useContext)(ModalContext);
|
|
11
|
+
if ("type" in value) {
|
|
12
|
+
if (!existingContext) throw new Error("Cannot merge context values without an existing ModalContext");
|
|
13
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModalContext.Provider, {
|
|
14
|
+
value: {
|
|
15
|
+
...existingContext,
|
|
16
|
+
...value.value
|
|
17
|
+
},
|
|
18
|
+
children
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ModalContext.Provider, {
|
|
22
|
+
value,
|
|
23
|
+
children
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
UDSModalConfigProvider.displayName = "UDSModalConfigProvider";
|
|
27
|
+
function useModalConfig(sizeProp, variantProp) {
|
|
28
|
+
const context = (0, react.useContext)(ModalContext);
|
|
29
|
+
if (!context) throw new Error("useModalConfig must be used within a UDSConfigProvider or UDSModalConfigProvider");
|
|
30
|
+
const { defaultSize, defaultVariant, gutter, animationDuration, animationEasing } = context;
|
|
31
|
+
const size = sizeProp ?? defaultSize;
|
|
32
|
+
return {
|
|
33
|
+
size,
|
|
34
|
+
variant: variantProp ?? defaultVariant,
|
|
35
|
+
animationDuration,
|
|
36
|
+
animationEasing,
|
|
37
|
+
gutter: gutter[size]
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
exports.UDSModalConfigProvider = UDSModalConfigProvider;
|
|
42
|
+
exports.useModalConfig = useModalConfig;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
|
|
2
|
+
import { ModalSize, ModalVariant, SpacingAlias } from "../../../types/dist/index.cjs";
|
|
3
|
+
import { UDSModalConfigContextType } from "../../../runtime/modalConfig.cjs";
|
|
4
|
+
import { PropsWithChildren } from "react";
|
|
5
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/components/client/Modal/UDSModalConfigProvider.d.ts
|
|
8
|
+
interface UDSModalConfigProviderProps extends PropsWithChildren {
|
|
9
|
+
value: UDSModalConfigContextType | {
|
|
10
|
+
type: 'merge';
|
|
11
|
+
value: Partial<UDSModalConfigContextType>;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
declare const UDSModalConfigProvider: {
|
|
15
|
+
({
|
|
16
|
+
children,
|
|
17
|
+
value
|
|
18
|
+
}: UDSModalConfigProviderProps): _$react_jsx_runtime0.JSX.Element;
|
|
19
|
+
displayName: string;
|
|
20
|
+
};
|
|
21
|
+
declare function useModalConfig(sizeProp?: ModalSize | undefined, variantProp?: ModalVariant | undefined): {
|
|
22
|
+
size: "default";
|
|
23
|
+
variant: "default";
|
|
24
|
+
animationDuration: number | {
|
|
25
|
+
in: number;
|
|
26
|
+
out: number;
|
|
27
|
+
};
|
|
28
|
+
animationEasing: string | {
|
|
29
|
+
in: string;
|
|
30
|
+
out: string;
|
|
31
|
+
};
|
|
32
|
+
gutter: SpacingAlias;
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
export { type UDSModalConfigContextType, UDSModalConfigProvider, type UDSModalConfigProviderProps, useModalConfig };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
|
|
2
|
+
"use client";
|
|
3
|
+
import { ModalSize, ModalVariant, SpacingAlias } from "../../../types/dist/index.js";
|
|
4
|
+
import { UDSModalConfigContextType } from "../../../runtime/modalConfig.js";
|
|
5
|
+
import { PropsWithChildren } from "react";
|
|
6
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region src/components/client/Modal/UDSModalConfigProvider.d.ts
|
|
9
|
+
interface UDSModalConfigProviderProps extends PropsWithChildren {
|
|
10
|
+
value: UDSModalConfigContextType | {
|
|
11
|
+
type: 'merge';
|
|
12
|
+
value: Partial<UDSModalConfigContextType>;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
declare const UDSModalConfigProvider: {
|
|
16
|
+
({
|
|
17
|
+
children,
|
|
18
|
+
value
|
|
19
|
+
}: UDSModalConfigProviderProps): _$react_jsx_runtime0.JSX.Element;
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|
|
22
|
+
declare function useModalConfig(sizeProp?: ModalSize | undefined, variantProp?: ModalVariant | undefined): {
|
|
23
|
+
size: "default";
|
|
24
|
+
variant: "default";
|
|
25
|
+
animationDuration: number | {
|
|
26
|
+
in: number;
|
|
27
|
+
out: number;
|
|
28
|
+
};
|
|
29
|
+
animationEasing: string | {
|
|
30
|
+
in: string;
|
|
31
|
+
out: string;
|
|
32
|
+
};
|
|
33
|
+
gutter: SpacingAlias;
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
export { type UDSModalConfigContextType, UDSModalConfigProvider, type UDSModalConfigProviderProps, useModalConfig };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
import { createContext, useContext } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/client/Modal/UDSModalConfigProvider.tsx
|
|
6
|
+
const ModalContext = createContext(void 0);
|
|
7
|
+
const UDSModalConfigProvider = ({ children, value }) => {
|
|
8
|
+
const existingContext = useContext(ModalContext);
|
|
9
|
+
if ("type" in value) {
|
|
10
|
+
if (!existingContext) throw new Error("Cannot merge context values without an existing ModalContext");
|
|
11
|
+
return /* @__PURE__ */ jsx(ModalContext.Provider, {
|
|
12
|
+
value: {
|
|
13
|
+
...existingContext,
|
|
14
|
+
...value.value
|
|
15
|
+
},
|
|
16
|
+
children
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
return /* @__PURE__ */ jsx(ModalContext.Provider, {
|
|
20
|
+
value,
|
|
21
|
+
children
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
UDSModalConfigProvider.displayName = "UDSModalConfigProvider";
|
|
25
|
+
function useModalConfig(sizeProp, variantProp) {
|
|
26
|
+
const context = useContext(ModalContext);
|
|
27
|
+
if (!context) throw new Error("useModalConfig must be used within a UDSConfigProvider or UDSModalConfigProvider");
|
|
28
|
+
const { defaultSize, defaultVariant, gutter, animationDuration, animationEasing } = context;
|
|
29
|
+
const size = sizeProp ?? defaultSize;
|
|
30
|
+
return {
|
|
31
|
+
size,
|
|
32
|
+
variant: variantProp ?? defaultVariant,
|
|
33
|
+
animationDuration,
|
|
34
|
+
animationEasing,
|
|
35
|
+
gutter: gutter[size]
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { UDSModalConfigProvider, useModalConfig };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
const require_components_client_Modal_UDSModalConfigProvider = require("./UDSModalConfigProvider.cjs");
|
|
5
|
+
const require_components_client_Modal_ModalActions = require("./ModalActions.cjs");
|
|
6
|
+
const require_components_client_Modal_ModalContent = require("./ModalContent.cjs");
|
|
7
|
+
const require_components_client_Modal_ModalDescription = require("./ModalDescription.cjs");
|
|
8
|
+
const require_components_client_Modal_ModalTitle = require("./ModalTitle.cjs");
|
|
9
|
+
const require_components_client_Modal_Modal = require("./Modal.cjs");
|
|
10
|
+
exports.Modal = require_components_client_Modal_Modal.Modal;
|
|
11
|
+
exports.ModalActions = require_components_client_Modal_ModalActions.ModalActions;
|
|
12
|
+
exports.ModalContent = require_components_client_Modal_ModalContent.ModalContent;
|
|
13
|
+
exports.ModalDescription = require_components_client_Modal_ModalDescription.ModalDescription;
|
|
14
|
+
exports.ModalTitle = require_components_client_Modal_ModalTitle.ModalTitle;
|
|
15
|
+
exports.UDSModalConfigProvider = require_components_client_Modal_UDSModalConfigProvider.UDSModalConfigProvider;
|
|
16
|
+
exports.useModalConfig = require_components_client_Modal_UDSModalConfigProvider.useModalConfig;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
import { ModalActions, ModalActionsProps } from "./ModalActions.cjs";
|
|
3
|
+
import { ModalContent, ModalContentProps } from "./ModalContent.cjs";
|
|
4
|
+
import { ModalDescription, ModalDescriptionProps } from "./ModalDescription.cjs";
|
|
5
|
+
import { ModalTitle, ModalTitleProps } from "./ModalTitle.cjs";
|
|
6
|
+
import { UDSModalConfigProvider, UDSModalConfigProviderProps, useModalConfig } from "./UDSModalConfigProvider.cjs";
|
|
7
|
+
import { Modal, ModalProps } from "./Modal.cjs";
|
|
8
|
+
export { Modal, ModalActions, type ModalActionsProps, ModalContent, type ModalContentProps, ModalDescription, type ModalDescriptionProps, type ModalProps, ModalTitle, type ModalTitleProps, UDSModalConfigProvider, type UDSModalConfigProviderProps, useModalConfig };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
"use client";
|
|
3
|
+
import { ModalActions, ModalActionsProps } from "./ModalActions.js";
|
|
4
|
+
import { ModalContent, ModalContentProps } from "./ModalContent.js";
|
|
5
|
+
import { ModalDescription, ModalDescriptionProps } from "./ModalDescription.js";
|
|
6
|
+
import { ModalTitle, ModalTitleProps } from "./ModalTitle.js";
|
|
7
|
+
import { UDSModalConfigProvider, UDSModalConfigProviderProps, useModalConfig } from "./UDSModalConfigProvider.js";
|
|
8
|
+
import { Modal, ModalProps } from "./Modal.js";
|
|
9
|
+
export { Modal, ModalActions, type ModalActionsProps, ModalContent, type ModalContentProps, ModalDescription, type ModalDescriptionProps, type ModalProps, ModalTitle, type ModalTitleProps, UDSModalConfigProvider, type UDSModalConfigProviderProps, useModalConfig };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
import { UDSModalConfigProvider, useModalConfig } from "./UDSModalConfigProvider.js";
|
|
4
|
+
import { ModalActions } from "./ModalActions.js";
|
|
5
|
+
import { ModalContent } from "./ModalContent.js";
|
|
6
|
+
import { ModalDescription } from "./ModalDescription.js";
|
|
7
|
+
import { ModalTitle } from "./ModalTitle.js";
|
|
8
|
+
import { Modal } from "./Modal.js";
|
|
9
|
+
export { Modal, ModalActions, ModalContent, ModalDescription, ModalTitle, UDSModalConfigProvider, useModalConfig };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
require("../../../_virtual/_rolldown/runtime.cjs");
|
|
5
|
+
let react = require("react");
|
|
6
|
+
//#region src/components/client/Modal/useScrollFade.ts
|
|
7
|
+
const FADE_PX = 30;
|
|
8
|
+
const maskImage = `linear-gradient(to bottom, rgba(0,0,0,calc(1 - var(--fade-top,0))) 0px, black ${FADE_PX}px, black calc(100% - ${FADE_PX}px), rgba(0,0,0,calc(1 - var(--fade-bottom,0))) 100%)`;
|
|
9
|
+
function updateFadeVars(el) {
|
|
10
|
+
const { scrollTop, scrollHeight, clientHeight } = el;
|
|
11
|
+
el.style.setProperty("--fade-top", scrollTop > 1 ? "1" : "0");
|
|
12
|
+
el.style.setProperty("--fade-bottom", scrollTop < scrollHeight - clientHeight - 1 ? "1" : "0");
|
|
13
|
+
}
|
|
14
|
+
function useScrollFade(enabled) {
|
|
15
|
+
const observerRef = (0, react.useRef)(null);
|
|
16
|
+
const ref = (0, react.useCallback)((el) => {
|
|
17
|
+
observerRef.current?.disconnect();
|
|
18
|
+
observerRef.current = null;
|
|
19
|
+
if (!el || !enabled) return;
|
|
20
|
+
updateFadeVars(el);
|
|
21
|
+
observerRef.current = new ResizeObserver(() => updateFadeVars(el));
|
|
22
|
+
observerRef.current.observe(el);
|
|
23
|
+
}, [enabled]);
|
|
24
|
+
const onScroll = (0, react.useCallback)((e) => {
|
|
25
|
+
if (enabled) updateFadeVars(e.currentTarget);
|
|
26
|
+
}, [enabled]);
|
|
27
|
+
if (!enabled) return {};
|
|
28
|
+
return {
|
|
29
|
+
ref,
|
|
30
|
+
onScroll,
|
|
31
|
+
style: {
|
|
32
|
+
maskImage,
|
|
33
|
+
WebkitMaskImage: maskImage
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
exports.useScrollFade = useScrollFade;
|