@yahoo/uds-mobile 2.17.0 → 2.18.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/bin/generateTheme.mjs +7 -2
- package/dist/bin/mobile/scripts/utils/configToRNMappings.mjs +4 -0
- package/dist/components/Popover/Popover.cjs +92 -0
- package/dist/components/Popover/Popover.d.cts +26 -0
- package/dist/components/Popover/Popover.d.cts.map +1 -0
- package/dist/components/Popover/Popover.d.ts +26 -0
- package/dist/components/Popover/Popover.d.ts.map +1 -0
- package/dist/components/Popover/Popover.js +92 -0
- package/dist/components/Popover/Popover.js.map +1 -0
- package/dist/components/Popover/PopoverContent.cjs +124 -0
- package/dist/components/Popover/PopoverContent.d.cts +15 -0
- package/dist/components/Popover/PopoverContent.d.cts.map +1 -0
- package/dist/components/Popover/PopoverContent.d.ts +15 -0
- package/dist/components/Popover/PopoverContent.d.ts.map +1 -0
- package/dist/components/Popover/PopoverContent.js +124 -0
- package/dist/components/Popover/PopoverContent.js.map +1 -0
- package/dist/components/Popover/PopoverContext.cjs +14 -0
- package/dist/components/Popover/PopoverContext.d.cts +10 -0
- package/dist/components/Popover/PopoverContext.d.cts.map +1 -0
- package/dist/components/Popover/PopoverContext.d.ts +10 -0
- package/dist/components/Popover/PopoverContext.d.ts.map +1 -0
- package/dist/components/Popover/PopoverContext.js +13 -0
- package/dist/components/Popover/PopoverContext.js.map +1 -0
- package/dist/components/Popover/PopoverDescription.cjs +23 -0
- package/dist/components/Popover/PopoverDescription.d.cts +15 -0
- package/dist/components/Popover/PopoverDescription.d.cts.map +1 -0
- package/dist/components/Popover/PopoverDescription.d.ts +15 -0
- package/dist/components/Popover/PopoverDescription.d.ts.map +1 -0
- package/dist/components/Popover/PopoverDescription.js +23 -0
- package/dist/components/Popover/PopoverDescription.js.map +1 -0
- package/dist/components/Popover/PopoverDismiss.cjs +22 -0
- package/dist/components/Popover/PopoverDismiss.d.cts +15 -0
- package/dist/components/Popover/PopoverDismiss.d.cts.map +1 -0
- package/dist/components/Popover/PopoverDismiss.d.ts +15 -0
- package/dist/components/Popover/PopoverDismiss.d.ts.map +1 -0
- package/dist/components/Popover/PopoverDismiss.js +22 -0
- package/dist/components/Popover/PopoverDismiss.js.map +1 -0
- package/dist/components/Popover/PopoverFrame.cjs +56 -0
- package/dist/components/Popover/PopoverFrame.d.cts +23 -0
- package/dist/components/Popover/PopoverFrame.d.cts.map +1 -0
- package/dist/components/Popover/PopoverFrame.d.ts +23 -0
- package/dist/components/Popover/PopoverFrame.d.ts.map +1 -0
- package/dist/components/Popover/PopoverFrame.js +55 -0
- package/dist/components/Popover/PopoverFrame.js.map +1 -0
- package/dist/components/Popover/PopoverPortalLayer.cjs +45 -0
- package/dist/components/Popover/PopoverPortalLayer.d.cts +15 -0
- package/dist/components/Popover/PopoverPortalLayer.d.cts.map +1 -0
- package/dist/components/Popover/PopoverPortalLayer.d.ts +15 -0
- package/dist/components/Popover/PopoverPortalLayer.d.ts.map +1 -0
- package/dist/components/Popover/PopoverPortalLayer.js +45 -0
- package/dist/components/Popover/PopoverPortalLayer.js.map +1 -0
- package/dist/components/Popover/PopoverSurface.cjs +228 -0
- package/dist/components/Popover/PopoverSurface.d.cts +26 -0
- package/dist/components/Popover/PopoverSurface.d.cts.map +1 -0
- package/dist/components/Popover/PopoverSurface.d.ts +26 -0
- package/dist/components/Popover/PopoverSurface.d.ts.map +1 -0
- package/dist/components/Popover/PopoverSurface.js +227 -0
- package/dist/components/Popover/PopoverSurface.js.map +1 -0
- package/dist/components/Popover/PopoverTitle.cjs +23 -0
- package/dist/components/Popover/PopoverTitle.d.cts +15 -0
- package/dist/components/Popover/PopoverTitle.d.cts.map +1 -0
- package/dist/components/Popover/PopoverTitle.d.ts +15 -0
- package/dist/components/Popover/PopoverTitle.d.ts.map +1 -0
- package/dist/components/Popover/PopoverTitle.js +23 -0
- package/dist/components/Popover/PopoverTitle.js.map +1 -0
- package/dist/components/Popover/PopoverTrigger.cjs +88 -0
- package/dist/components/Popover/PopoverTrigger.d.cts +15 -0
- package/dist/components/Popover/PopoverTrigger.d.cts.map +1 -0
- package/dist/components/Popover/PopoverTrigger.d.ts +15 -0
- package/dist/components/Popover/PopoverTrigger.d.ts.map +1 -0
- package/dist/components/Popover/PopoverTrigger.js +88 -0
- package/dist/components/Popover/PopoverTrigger.js.map +1 -0
- package/dist/components/Popover/index.cjs +14 -0
- package/dist/components/Popover/index.d.cts +9 -0
- package/dist/components/Popover/index.d.ts +9 -0
- package/dist/components/Popover/index.js +8 -0
- package/dist/components/Popover/popoverFrameGeometry.cjs +177 -0
- package/dist/components/Popover/popoverFrameGeometry.d.cts +48 -0
- package/dist/components/Popover/popoverFrameGeometry.d.cts.map +1 -0
- package/dist/components/Popover/popoverFrameGeometry.d.ts +48 -0
- package/dist/components/Popover/popoverFrameGeometry.d.ts.map +1 -0
- package/dist/components/Popover/popoverFrameGeometry.js +177 -0
- package/dist/components/Popover/popoverFrameGeometry.js.map +1 -0
- package/dist/components/Popover/popoverLayer.cjs +16 -0
- package/dist/components/Popover/popoverLayer.d.cts +8 -0
- package/dist/components/Popover/popoverLayer.d.cts.map +1 -0
- package/dist/components/Popover/popoverLayer.d.ts +8 -0
- package/dist/components/Popover/popoverLayer.d.ts.map +1 -0
- package/dist/components/Popover/popoverLayer.js +16 -0
- package/dist/components/Popover/popoverLayer.js.map +1 -0
- package/dist/components/Popover/types.cjs +1 -0
- package/dist/components/Popover/types.d.cts +170 -0
- package/dist/components/Popover/types.d.cts.map +1 -0
- package/dist/components/Popover/types.d.ts +170 -0
- package/dist/components/Popover/types.d.ts.map +1 -0
- package/dist/components/Popover/types.js +1 -0
- package/dist/components/Toast/ToastProvider.cjs +1 -1
- package/dist/components/Toast/ToastProvider.js +1 -1
- package/dist/components/internal/Overlay/index.cjs +4 -0
- package/dist/components/internal/Overlay/index.d.cts +4 -2
- package/dist/components/internal/Overlay/index.d.ts +4 -2
- package/dist/components/internal/Overlay/index.js +3 -1
- package/dist/components/internal/Overlay/types.d.cts +47 -1
- package/dist/components/internal/Overlay/types.d.cts.map +1 -1
- package/dist/components/internal/Overlay/types.d.ts +47 -1
- package/dist/components/internal/Overlay/types.d.ts.map +1 -1
- package/dist/components/internal/Overlay/useAnchoredPosition.cjs +225 -0
- package/dist/components/internal/Overlay/useAnchoredPosition.d.cts +22 -0
- package/dist/components/internal/Overlay/useAnchoredPosition.d.cts.map +1 -0
- package/dist/components/internal/Overlay/useAnchoredPosition.d.ts +22 -0
- package/dist/components/internal/Overlay/useAnchoredPosition.d.ts.map +1 -0
- package/dist/components/internal/Overlay/useAnchoredPosition.js +225 -0
- package/dist/components/internal/Overlay/useAnchoredPosition.js.map +1 -0
- package/dist/components/internal/Overlay/useOverlayDismiss.cjs +22 -0
- package/dist/components/internal/Overlay/useOverlayDismiss.d.cts +12 -0
- package/dist/components/internal/Overlay/useOverlayDismiss.d.cts.map +1 -0
- package/dist/components/internal/Overlay/useOverlayDismiss.d.ts +12 -0
- package/dist/components/internal/Overlay/useOverlayDismiss.d.ts.map +1 -0
- package/dist/components/internal/Overlay/useOverlayDismiss.js +22 -0
- package/dist/components/internal/Overlay/useOverlayDismiss.js.map +1 -0
- package/dist/jest/mocks/react-native.cjs +14 -0
- package/dist/jest/mocks/react-native.d.cts +29 -1
- package/dist/jest/mocks/react-native.d.cts.map +1 -1
- package/dist/jest/mocks/react-native.d.ts +29 -1
- package/dist/jest/mocks/react-native.d.ts.map +1 -1
- package/dist/jest/mocks/react-native.js +13 -1
- package/dist/jest/mocks/react-native.js.map +1 -1
- package/dist/jest/mocks/styles.cjs +60 -0
- package/dist/jest/mocks/styles.d.cts +5 -2
- package/dist/jest/mocks/styles.d.cts.map +1 -1
- package/dist/jest/mocks/styles.d.ts +5 -2
- package/dist/jest/mocks/styles.d.ts.map +1 -1
- package/dist/jest/mocks/styles.js +58 -1
- package/dist/jest/mocks/styles.js.map +1 -1
- package/dist/jest/setup.cjs +46 -3
- package/dist/jest/setup.d.cts.map +1 -1
- package/dist/jest/setup.d.ts.map +1 -1
- package/dist/jest/setup.js +46 -3
- package/dist/jest/setup.js.map +1 -1
- package/dist/types/dist/index.d.cts.map +1 -1
- package/dist/types/dist/index.d.ts.map +1 -1
- package/generated/styles.cjs +6 -0
- package/generated/styles.d.ts +13 -1
- package/generated/styles.mjs +6 -0
- package/generated/unistyles.d.ts +13 -0
- package/package.json +11 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAnchoredPosition.js","names":[],"sources":["../../../../src/components/internal/Overlay/useAnchoredPosition.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { I18nManager, useWindowDimensions } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\n\nimport type {\n AnchoredAlign,\n AnchoredPlacement,\n AnchoredRect,\n UseAnchoredPositionProps,\n UseAnchoredPositionResult,\n} from './types';\n\nconst DEFAULT_COLLISION_PADDING = 12;\nconst DEFAULT_OFFSET = 9;\nconst DEFAULT_ARROW_WIDTH = 22;\nconst DEFAULT_ARROW_HEIGHT = 12;\nconst DEFAULT_ARROW_BASELINE_INSET = 1;\n\ntype PhysicalSide = 'top' | 'bottom' | 'left' | 'right';\ntype PlacementParts = {\n side: PhysicalSide;\n align: AnchoredAlign;\n};\n\nfunction clamp(value: number, min: number, max: number): number {\n if (max < min) {\n return min;\n }\n return Math.min(Math.max(value, min), max);\n}\n\nfunction resolveLogicalSide(side: 'top' | 'bottom' | 'start' | 'end'): PhysicalSide {\n const physicalSideByLogicalSide = {\n top: 'top',\n bottom: 'bottom',\n start: I18nManager.isRTL ? 'right' : 'left',\n end: I18nManager.isRTL ? 'left' : 'right',\n } as const;\n\n return physicalSideByLogicalSide[side];\n}\n\nfunction getOppositeSide(side: PhysicalSide): PhysicalSide {\n switch (side) {\n case 'top':\n return 'bottom';\n case 'bottom':\n return 'top';\n case 'left':\n return 'right';\n case 'right':\n return 'left';\n }\n}\n\nfunction formatPlacement(side: PhysicalSide, align: AnchoredAlign): AnchoredPlacement {\n const logicalSideByPhysicalSide = {\n top: 'top',\n bottom: 'bottom',\n left: I18nManager.isRTL ? 'end' : 'start',\n right: I18nManager.isRTL ? 'start' : 'end',\n } as const;\n const logicalSide = logicalSideByPhysicalSide[side];\n\n if (align === 'center') {\n return logicalSide;\n }\n\n if (side === 'top' || side === 'bottom') {\n return `${logicalSide}-${align}` as AnchoredPlacement;\n }\n\n return `${logicalSide}-${align === 'start' ? 'top' : 'bottom'}` as AnchoredPlacement;\n}\n\nfunction parsePlacement(\n placement: AnchoredPlacement,\n alignOverride?: AnchoredAlign,\n): PlacementParts {\n const [rawSide, rawAlign] = placement.split('-') as [\n 'top' | 'bottom' | 'start' | 'end',\n 'start' | 'end' | 'top' | 'bottom' | undefined,\n ];\n const side = resolveLogicalSide(rawSide);\n\n if (alignOverride) {\n return { side, align: alignOverride };\n }\n\n if (!rawAlign) {\n return { side, align: 'center' };\n }\n\n if (rawAlign === 'top') {\n return { side, align: 'start' };\n }\n\n if (rawAlign === 'bottom') {\n return { side, align: 'end' };\n }\n\n return { side, align: rawAlign };\n}\n\nfunction getContentSize(\n triggerRect: AnchoredRect,\n contentSize: { width: number; height: number },\n maxWidth: number,\n sameWidth: boolean,\n width: UseAnchoredPositionProps['width'],\n) {\n const resolvedWidth =\n sameWidth || width === 'trigger'\n ? triggerRect.width\n : width === 'full'\n ? maxWidth\n : typeof width === 'number'\n ? width\n : contentSize.width || triggerRect.width;\n\n return {\n width: Math.min(resolvedWidth, maxWidth),\n height: contentSize.height,\n };\n}\n\nfunction getCoordinate({\n align,\n alignOffset,\n contentLength,\n triggerLength,\n triggerStart,\n}: {\n align: AnchoredAlign;\n alignOffset: number;\n contentLength: number;\n triggerLength: number;\n triggerStart: number;\n}) {\n if (align === 'start') {\n return triggerStart + alignOffset;\n }\n\n if (align === 'end') {\n return triggerStart + triggerLength - contentLength + alignOffset;\n }\n\n const centered = triggerStart + triggerLength / 2 - contentLength / 2;\n return centered + alignOffset;\n}\n\nfunction getRawPosition({\n align,\n alignOffset,\n contentHeight,\n contentWidth,\n offset,\n side,\n triggerRect,\n}: {\n align: AnchoredAlign;\n alignOffset: number;\n contentHeight: number;\n contentWidth: number;\n offset: number;\n side: PhysicalSide;\n triggerRect: AnchoredRect;\n}) {\n if (side === 'top' || side === 'bottom') {\n return {\n left: getCoordinate({\n align,\n alignOffset,\n contentLength: contentWidth,\n triggerLength: triggerRect.width,\n triggerStart: triggerRect.x,\n }),\n top:\n side === 'top'\n ? triggerRect.y - contentHeight - offset\n : triggerRect.y + triggerRect.height + offset,\n };\n }\n\n return {\n left:\n side === 'left'\n ? triggerRect.x - contentWidth - offset\n : triggerRect.x + triggerRect.width + offset,\n top: getCoordinate({\n align,\n alignOffset,\n contentLength: contentHeight,\n triggerLength: triggerRect.height,\n triggerStart: triggerRect.y,\n }),\n };\n}\n\nfunction shouldFlip({\n contentHeight,\n contentWidth,\n maxBottom,\n maxRight,\n minLeft,\n minTop,\n side,\n triggerRect,\n windowHeight,\n windowWidth,\n}: {\n contentHeight: number;\n contentWidth: number;\n maxBottom: number;\n maxRight: number;\n minLeft: number;\n minTop: number;\n side: PhysicalSide;\n triggerRect: AnchoredRect;\n windowHeight: number;\n windowWidth: number;\n}) {\n if (side === 'top') {\n return (\n triggerRect.y - contentHeight < minTop &&\n windowHeight - (triggerRect.y + triggerRect.height) > triggerRect.y\n );\n }\n\n if (side === 'bottom') {\n return (\n triggerRect.y + triggerRect.height + contentHeight > maxBottom &&\n triggerRect.y > windowHeight - (triggerRect.y + triggerRect.height)\n );\n }\n\n if (side === 'left') {\n return (\n triggerRect.x - contentWidth < minLeft &&\n windowWidth - (triggerRect.x + triggerRect.width) > triggerRect.x\n );\n }\n\n return (\n triggerRect.x + triggerRect.width + contentWidth > maxRight &&\n triggerRect.x > windowWidth - (triggerRect.x + triggerRect.width)\n );\n}\n\nfunction getArrowPosition({\n arrowHeight,\n arrowWidth,\n contentHeight,\n contentLeft,\n contentTop,\n contentWidth,\n side,\n triggerRect,\n}: {\n arrowHeight: number;\n arrowWidth: number;\n contentHeight: number;\n contentLeft: number;\n contentTop: number;\n contentWidth: number;\n side: PhysicalSide;\n triggerRect: AnchoredRect;\n}) {\n const arrowBase = {\n position: 'absolute' as const,\n zIndex: 2,\n };\n\n if (side === 'top' || side === 'bottom') {\n const triggerCenter = triggerRect.x + triggerRect.width / 2;\n const left = clamp(\n triggerCenter - contentLeft - arrowWidth / 2,\n arrowHeight,\n contentWidth - arrowWidth - arrowHeight,\n );\n\n return {\n ...arrowBase,\n width: arrowWidth,\n height: arrowHeight,\n left,\n ...(side === 'top'\n ? { bottom: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET }\n : { top: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET }),\n };\n }\n\n const triggerCenter = triggerRect.y + triggerRect.height / 2;\n const top = clamp(\n triggerCenter - contentTop - arrowWidth / 2,\n arrowHeight,\n contentHeight - arrowWidth - arrowHeight,\n );\n\n return {\n ...arrowBase,\n width: arrowHeight,\n height: arrowWidth,\n top,\n ...(side === 'left'\n ? { right: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET }\n : { left: -arrowHeight + DEFAULT_ARROW_BASELINE_INSET }),\n };\n}\n\nfunction useAnchoredPosition({\n triggerRect,\n contentSize,\n placement = 'bottom',\n align,\n offset = DEFAULT_OFFSET,\n alignOffset = 0,\n avoidCollisions = true,\n collisionPadding = DEFAULT_COLLISION_PADDING,\n width = 'content',\n sameWidth = false,\n insets,\n arrowWidth,\n arrowHeight,\n}: UseAnchoredPositionProps): UseAnchoredPositionResult {\n const windowDimensions = useWindowDimensions();\n const safeAreaInsets = useSafeAreaInsets();\n const resolvedArrowWidth = arrowWidth ?? DEFAULT_ARROW_WIDTH;\n const resolvedArrowHeight = arrowHeight ?? DEFAULT_ARROW_HEIGHT;\n\n return useMemo<UseAnchoredPositionResult>(() => {\n const fallbackPlacement = placement;\n const maxWidth =\n windowDimensions.width -\n (insets?.left ?? safeAreaInsets.left) -\n (insets?.right ?? safeAreaInsets.right) -\n collisionPadding * 2;\n\n if (!triggerRect) {\n return {\n resolvedPlacement: fallbackPlacement,\n contentStyle: {\n position: 'absolute',\n left: collisionPadding,\n top: (insets?.top ?? safeAreaInsets.top) + collisionPadding,\n maxWidth,\n opacity: 0,\n },\n arrowStyle: { opacity: 0 },\n anchorReady: false,\n maxWidth,\n };\n }\n\n const minLeft = (insets?.left ?? safeAreaInsets.left) + collisionPadding;\n const minTop = (insets?.top ?? safeAreaInsets.top) + collisionPadding;\n const maxRight =\n windowDimensions.width - (insets?.right ?? safeAreaInsets.right) - collisionPadding;\n const maxBottom =\n windowDimensions.height - (insets?.bottom ?? safeAreaInsets.bottom) - collisionPadding;\n\n const { width: contentWidth, height: contentHeight } = getContentSize(\n triggerRect,\n contentSize,\n maxWidth,\n sameWidth,\n width,\n );\n\n const placementParts = parsePlacement(placement, align);\n let { side } = placementParts;\n const resolvedAlign = placementParts.align;\n\n if (\n avoidCollisions &&\n shouldFlip({\n contentHeight,\n contentWidth,\n maxBottom,\n maxRight,\n minLeft,\n minTop,\n side,\n triggerRect,\n windowHeight: windowDimensions.height,\n windowWidth: windowDimensions.width,\n })\n ) {\n side = getOppositeSide(side);\n }\n\n const rawPosition = getRawPosition({\n align: resolvedAlign,\n alignOffset,\n contentHeight,\n contentWidth,\n offset,\n side,\n triggerRect,\n });\n\n const left = clamp(rawPosition.left, minLeft, maxRight - contentWidth);\n const top = clamp(rawPosition.top, minTop, maxBottom - contentHeight);\n const resolvedPlacement = formatPlacement(side, resolvedAlign);\n\n return {\n resolvedPlacement,\n contentStyle: {\n position: 'absolute',\n left,\n top,\n width: sameWidth || width !== 'content' ? contentWidth : undefined,\n maxWidth,\n },\n arrowStyle: getArrowPosition({\n arrowHeight: resolvedArrowHeight,\n arrowWidth: resolvedArrowWidth,\n contentHeight,\n contentLeft: left,\n contentTop: top,\n contentWidth,\n side,\n triggerRect,\n }),\n anchorReady: true,\n maxWidth,\n };\n }, [\n align,\n alignOffset,\n avoidCollisions,\n collisionPadding,\n contentSize,\n insets,\n offset,\n placement,\n resolvedArrowHeight,\n resolvedArrowWidth,\n safeAreaInsets,\n sameWidth,\n triggerRect,\n width,\n windowDimensions,\n ]);\n}\n\nexport { useAnchoredPosition };\n"],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
require("../../../_virtual/_rolldown/runtime.cjs");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
let react_native = require("react-native");
|
|
6
|
+
//#region src/components/internal/Overlay/useOverlayDismiss.ts
|
|
7
|
+
function useOverlayDismiss({ open, dismissible = true, onDismiss }) {
|
|
8
|
+
const dismiss = (0, react.useCallback)(() => {
|
|
9
|
+
if (dismissible) onDismiss();
|
|
10
|
+
}, [dismissible, onDismiss]);
|
|
11
|
+
(0, react.useEffect)(() => {
|
|
12
|
+
if (!open) return;
|
|
13
|
+
const subscription = react_native.BackHandler.addEventListener("hardwareBackPress", () => {
|
|
14
|
+
dismiss();
|
|
15
|
+
return true;
|
|
16
|
+
});
|
|
17
|
+
return () => subscription.remove();
|
|
18
|
+
}, [dismiss, open]);
|
|
19
|
+
return dismiss;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
exports.useOverlayDismiss = useOverlayDismiss;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
|
|
2
|
+
import { UseOverlayDismissProps } from "./types.cjs";
|
|
3
|
+
|
|
4
|
+
//#region src/components/internal/Overlay/useOverlayDismiss.d.ts
|
|
5
|
+
declare function useOverlayDismiss({
|
|
6
|
+
open,
|
|
7
|
+
dismissible,
|
|
8
|
+
onDismiss
|
|
9
|
+
}: UseOverlayDismissProps): () => void;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { useOverlayDismiss };
|
|
12
|
+
//# sourceMappingURL=useOverlayDismiss.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOverlayDismiss.d.cts","names":[],"sources":["../../../../src/components/internal/Overlay/useOverlayDismiss.ts"],"mappings":";;;;iBAKS,iBAAA,CAAA;EACP,IAAA;EACA,WAAA;EACA;AAAA,GACC,sBAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
|
|
2
|
+
import { UseOverlayDismissProps } from "./types.js";
|
|
3
|
+
|
|
4
|
+
//#region src/components/internal/Overlay/useOverlayDismiss.d.ts
|
|
5
|
+
declare function useOverlayDismiss({
|
|
6
|
+
open,
|
|
7
|
+
dismissible,
|
|
8
|
+
onDismiss
|
|
9
|
+
}: UseOverlayDismissProps): () => void;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { useOverlayDismiss };
|
|
12
|
+
//# sourceMappingURL=useOverlayDismiss.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOverlayDismiss.d.ts","names":[],"sources":["../../../../src/components/internal/Overlay/useOverlayDismiss.ts"],"mappings":";;;;iBAKS,iBAAA,CAAA;EACP,IAAA;EACA,WAAA;EACA;AAAA,GACC,sBAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
|
|
2
|
+
import { useCallback, useEffect } from "react";
|
|
3
|
+
import { BackHandler } from "react-native";
|
|
4
|
+
//#region src/components/internal/Overlay/useOverlayDismiss.ts
|
|
5
|
+
function useOverlayDismiss({ open, dismissible = true, onDismiss }) {
|
|
6
|
+
const dismiss = useCallback(() => {
|
|
7
|
+
if (dismissible) onDismiss();
|
|
8
|
+
}, [dismissible, onDismiss]);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (!open) return;
|
|
11
|
+
const subscription = BackHandler.addEventListener("hardwareBackPress", () => {
|
|
12
|
+
dismiss();
|
|
13
|
+
return true;
|
|
14
|
+
});
|
|
15
|
+
return () => subscription.remove();
|
|
16
|
+
}, [dismiss, open]);
|
|
17
|
+
return dismiss;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { useOverlayDismiss };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=useOverlayDismiss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOverlayDismiss.js","names":[],"sources":["../../../../src/components/internal/Overlay/useOverlayDismiss.ts"],"sourcesContent":["import { useCallback, useEffect } from 'react';\nimport { BackHandler } from 'react-native';\n\nimport type { UseOverlayDismissProps } from './types';\n\nfunction useOverlayDismiss({\n open,\n dismissible = true,\n onDismiss,\n}: UseOverlayDismissProps): () => void {\n const dismiss = useCallback(() => {\n if (dismissible) {\n onDismiss();\n }\n }, [dismissible, onDismiss]);\n\n useEffect(() => {\n if (!open) {\n return;\n }\n\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n dismiss();\n return true;\n });\n\n return () => subscription.remove();\n }, [dismiss, open]);\n\n return dismiss;\n}\n\nexport { useOverlayDismiss };\n"],"mappings":";;;;AAKA,SAAS,kBAAkB,EACzB,MACA,cAAc,MACd,aACqC;CACrC,MAAM,UAAU,kBAAkB;EAChC,IAAI,aACF,WAAW;IAEZ,CAAC,aAAa,UAAU,CAAC;CAE5B,gBAAgB;EACd,IAAI,CAAC,MACH;EAGF,MAAM,eAAe,YAAY,iBAAiB,2BAA2B;GAC3E,SAAS;GACT,OAAO;IACP;EAEF,aAAa,aAAa,QAAQ;IACjC,CAAC,SAAS,KAAK,CAAC;CAEnB,OAAO"}
|
|
@@ -114,6 +114,16 @@ const Keyboard = {
|
|
|
114
114
|
removeListener: jest.fn(),
|
|
115
115
|
isVisible: jest.fn(() => false)
|
|
116
116
|
};
|
|
117
|
+
const BackHandler = {
|
|
118
|
+
addEventListener: jest.fn(() => ({ remove: jest.fn() })),
|
|
119
|
+
exitApp: jest.fn()
|
|
120
|
+
};
|
|
121
|
+
const I18nManager = {
|
|
122
|
+
isRTL: false,
|
|
123
|
+
allowRTL: jest.fn(),
|
|
124
|
+
forceRTL: jest.fn(),
|
|
125
|
+
getConstants: () => ({ isRTL: false })
|
|
126
|
+
};
|
|
117
127
|
const Linking = {
|
|
118
128
|
openURL: jest.fn().mockResolvedValue(true),
|
|
119
129
|
canOpenURL: jest.fn().mockResolvedValue(true),
|
|
@@ -170,7 +180,9 @@ const ReactNative = {
|
|
|
170
180
|
Dimensions,
|
|
171
181
|
PixelRatio,
|
|
172
182
|
Animated,
|
|
183
|
+
BackHandler,
|
|
173
184
|
Keyboard,
|
|
185
|
+
I18nManager,
|
|
174
186
|
Linking,
|
|
175
187
|
AppState,
|
|
176
188
|
AccessibilityInfo,
|
|
@@ -185,8 +197,10 @@ exports.ActivityIndicator = ActivityIndicator;
|
|
|
185
197
|
exports.Animated = Animated;
|
|
186
198
|
exports.AppState = AppState;
|
|
187
199
|
exports.Appearance = Appearance;
|
|
200
|
+
exports.BackHandler = BackHandler;
|
|
188
201
|
exports.Dimensions = Dimensions;
|
|
189
202
|
exports.FlatList = FlatList;
|
|
203
|
+
exports.I18nManager = I18nManager;
|
|
190
204
|
exports.Image = Image;
|
|
191
205
|
exports.Keyboard = Keyboard;
|
|
192
206
|
exports.KeyboardAvoidingView = KeyboardAvoidingView;
|
|
@@ -108,6 +108,20 @@ declare const Keyboard: {
|
|
|
108
108
|
removeListener: jest.Mock<any, any, any>;
|
|
109
109
|
isVisible: jest.Mock<boolean, [], any>;
|
|
110
110
|
};
|
|
111
|
+
declare const BackHandler: {
|
|
112
|
+
addEventListener: jest.Mock<{
|
|
113
|
+
remove: jest.Mock<any, any, any>;
|
|
114
|
+
}, [], any>;
|
|
115
|
+
exitApp: jest.Mock<any, any, any>;
|
|
116
|
+
};
|
|
117
|
+
declare const I18nManager: {
|
|
118
|
+
isRTL: boolean;
|
|
119
|
+
allowRTL: jest.Mock<any, any, any>;
|
|
120
|
+
forceRTL: jest.Mock<any, any, any>;
|
|
121
|
+
getConstants: () => {
|
|
122
|
+
isRTL: boolean;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
111
125
|
declare const Linking: {
|
|
112
126
|
openURL: jest.Mock<any, any, any>;
|
|
113
127
|
canOpenURL: jest.Mock<any, any, any>;
|
|
@@ -242,6 +256,12 @@ declare const ReactNative: {
|
|
|
242
256
|
}, [], any>;
|
|
243
257
|
createAnimatedComponent: (Component: React.ComponentType) => React.ComponentType<{}>;
|
|
244
258
|
};
|
|
259
|
+
BackHandler: {
|
|
260
|
+
addEventListener: jest.Mock<{
|
|
261
|
+
remove: jest.Mock<any, any, any>;
|
|
262
|
+
}, [], any>;
|
|
263
|
+
exitApp: jest.Mock<any, any, any>;
|
|
264
|
+
};
|
|
245
265
|
Keyboard: {
|
|
246
266
|
dismiss: jest.Mock<any, any, any>;
|
|
247
267
|
addListener: jest.Mock<{
|
|
@@ -250,6 +270,14 @@ declare const ReactNative: {
|
|
|
250
270
|
removeListener: jest.Mock<any, any, any>;
|
|
251
271
|
isVisible: jest.Mock<boolean, [], any>;
|
|
252
272
|
};
|
|
273
|
+
I18nManager: {
|
|
274
|
+
isRTL: boolean;
|
|
275
|
+
allowRTL: jest.Mock<any, any, any>;
|
|
276
|
+
forceRTL: jest.Mock<any, any, any>;
|
|
277
|
+
getConstants: () => {
|
|
278
|
+
isRTL: boolean;
|
|
279
|
+
};
|
|
280
|
+
};
|
|
253
281
|
Linking: {
|
|
254
282
|
openURL: jest.Mock<any, any, any>;
|
|
255
283
|
canOpenURL: jest.Mock<any, any, any>;
|
|
@@ -289,5 +317,5 @@ declare const ReactNative: {
|
|
|
289
317
|
};
|
|
290
318
|
};
|
|
291
319
|
//#endregion
|
|
292
|
-
export { AccessibilityInfo, ActivityIndicator, Animated, AppState, Appearance, Dimensions, FlatList, Image, Keyboard, KeyboardAvoidingView, Linking, Modal, NativeEventEmitter, PixelRatio, Platform, Pressable, RefreshControl, SafeAreaView, ScrollView, SectionList, StyleSheet, Switch, Text, TextInput, TouchableHighlight, TouchableOpacity, TouchableWithoutFeedback, View, ReactNative as default, useColorScheme, useWindowDimensions };
|
|
320
|
+
export { AccessibilityInfo, ActivityIndicator, Animated, AppState, Appearance, BackHandler, Dimensions, FlatList, I18nManager, Image, Keyboard, KeyboardAvoidingView, Linking, Modal, NativeEventEmitter, PixelRatio, Platform, Pressable, RefreshControl, SafeAreaView, ScrollView, SectionList, StyleSheet, Switch, Text, TextInput, TouchableHighlight, TouchableOpacity, TouchableWithoutFeedback, View, ReactNative as default, useColorScheme, useWindowDimensions };
|
|
293
321
|
//# sourceMappingURL=react-native.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-native.d.cts","names":[],"sources":["../../../src/jest/mocks/react-native.tsx"],"mappings":";;;;UAgBU,kBAAA;EACR,QAAA,GAAW,SAAA;EACX,KAAA;EACA,MAAA;EACA,iBAAA;EACA,kBAAA;EAAA,CACC,GAAA;AAAA;AAAA,cAaG,IAAA,EAAI,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACJ,IAAA,EAAI,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACJ,KAAA,EAAK,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACL,UAAA,EAAU,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACV,SAAA,EAAS,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACT,gBAAA,EAAgB,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cAChB,kBAAA,EAAkB,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cAClB,wBAAA,EAAwB,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACxB,SAAA,EAAS,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACT,QAAA,EAAQ,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACR,WAAA,EAAW,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACX,iBAAA,EAAiB,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACjB,YAAA,EAAY,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACZ,KAAA,EAAK,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACL,MAAA,EAAM,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACN,cAAA,EAAc,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACd,oBAAA,EAAoB,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cAGpB,UAAA;qBACe,MAAA,kBAAsB,MAAA,EAAU,CAAA,KAAI,CAAA;;4BAO/B,MAAA;;;;;;;;;;;;;;;;;cAOpB,QAAA;;;qBAGe,MAAA,mBAAuB,MAAA,EAAU,CAAA,KAAI,CAAA,OAAQ,CAAA;;;;;;;;;;;;;cAgB5D,UAAA;;;;;;;;;;;;;cAaA,UAAA;;;;;;cAQA,QAAA;;;;;;;;;;;;;;;;uCAaiC,KAAA,CAAM,aAAA,KAAa,KAAA,CAAA,aAAA;AAAA;AAAA,cAIpD,QAAA;;;;;;;;
|
|
1
|
+
{"version":3,"file":"react-native.d.cts","names":[],"sources":["../../../src/jest/mocks/react-native.tsx"],"mappings":"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"}
|
|
@@ -108,6 +108,20 @@ declare const Keyboard: {
|
|
|
108
108
|
removeListener: jest.Mock<any, any, any>;
|
|
109
109
|
isVisible: jest.Mock<boolean, [], any>;
|
|
110
110
|
};
|
|
111
|
+
declare const BackHandler: {
|
|
112
|
+
addEventListener: jest.Mock<{
|
|
113
|
+
remove: jest.Mock<any, any, any>;
|
|
114
|
+
}, [], any>;
|
|
115
|
+
exitApp: jest.Mock<any, any, any>;
|
|
116
|
+
};
|
|
117
|
+
declare const I18nManager: {
|
|
118
|
+
isRTL: boolean;
|
|
119
|
+
allowRTL: jest.Mock<any, any, any>;
|
|
120
|
+
forceRTL: jest.Mock<any, any, any>;
|
|
121
|
+
getConstants: () => {
|
|
122
|
+
isRTL: boolean;
|
|
123
|
+
};
|
|
124
|
+
};
|
|
111
125
|
declare const Linking: {
|
|
112
126
|
openURL: jest.Mock<any, any, any>;
|
|
113
127
|
canOpenURL: jest.Mock<any, any, any>;
|
|
@@ -242,6 +256,12 @@ declare const ReactNative: {
|
|
|
242
256
|
}, [], any>;
|
|
243
257
|
createAnimatedComponent: (Component: React.ComponentType) => React.ComponentType<{}>;
|
|
244
258
|
};
|
|
259
|
+
BackHandler: {
|
|
260
|
+
addEventListener: jest.Mock<{
|
|
261
|
+
remove: jest.Mock<any, any, any>;
|
|
262
|
+
}, [], any>;
|
|
263
|
+
exitApp: jest.Mock<any, any, any>;
|
|
264
|
+
};
|
|
245
265
|
Keyboard: {
|
|
246
266
|
dismiss: jest.Mock<any, any, any>;
|
|
247
267
|
addListener: jest.Mock<{
|
|
@@ -250,6 +270,14 @@ declare const ReactNative: {
|
|
|
250
270
|
removeListener: jest.Mock<any, any, any>;
|
|
251
271
|
isVisible: jest.Mock<boolean, [], any>;
|
|
252
272
|
};
|
|
273
|
+
I18nManager: {
|
|
274
|
+
isRTL: boolean;
|
|
275
|
+
allowRTL: jest.Mock<any, any, any>;
|
|
276
|
+
forceRTL: jest.Mock<any, any, any>;
|
|
277
|
+
getConstants: () => {
|
|
278
|
+
isRTL: boolean;
|
|
279
|
+
};
|
|
280
|
+
};
|
|
253
281
|
Linking: {
|
|
254
282
|
openURL: jest.Mock<any, any, any>;
|
|
255
283
|
canOpenURL: jest.Mock<any, any, any>;
|
|
@@ -289,5 +317,5 @@ declare const ReactNative: {
|
|
|
289
317
|
};
|
|
290
318
|
};
|
|
291
319
|
//#endregion
|
|
292
|
-
export { AccessibilityInfo, ActivityIndicator, Animated, AppState, Appearance, Dimensions, FlatList, Image, Keyboard, KeyboardAvoidingView, Linking, Modal, NativeEventEmitter, PixelRatio, Platform, Pressable, RefreshControl, SafeAreaView, ScrollView, SectionList, StyleSheet, Switch, Text, TextInput, TouchableHighlight, TouchableOpacity, TouchableWithoutFeedback, View, ReactNative as default, useColorScheme, useWindowDimensions };
|
|
320
|
+
export { AccessibilityInfo, ActivityIndicator, Animated, AppState, Appearance, BackHandler, Dimensions, FlatList, I18nManager, Image, Keyboard, KeyboardAvoidingView, Linking, Modal, NativeEventEmitter, PixelRatio, Platform, Pressable, RefreshControl, SafeAreaView, ScrollView, SectionList, StyleSheet, Switch, Text, TextInput, TouchableHighlight, TouchableOpacity, TouchableWithoutFeedback, View, ReactNative as default, useColorScheme, useWindowDimensions };
|
|
293
321
|
//# sourceMappingURL=react-native.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-native.d.ts","names":[],"sources":["../../../src/jest/mocks/react-native.tsx"],"mappings":";;;;UAgBU,kBAAA;EACR,QAAA,GAAW,SAAA;EACX,KAAA;EACA,MAAA;EACA,iBAAA;EACA,kBAAA;EAAA,CACC,GAAA;AAAA;AAAA,cAaG,IAAA,EAAI,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACJ,IAAA,EAAI,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACJ,KAAA,EAAK,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACL,UAAA,EAAU,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACV,SAAA,EAAS,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACT,gBAAA,EAAgB,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cAChB,kBAAA,EAAkB,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cAClB,wBAAA,EAAwB,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACxB,SAAA,EAAS,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACT,QAAA,EAAQ,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACR,WAAA,EAAW,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACX,iBAAA,EAAiB,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACjB,YAAA,EAAY,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACZ,KAAA,EAAK,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACL,MAAA,EAAM,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACN,cAAA,EAAc,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cACd,oBAAA,EAAoB,KAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,kBAAA,WAAA,KAAA,CAAA,aAAA;AAAA,cAGpB,UAAA;qBACe,MAAA,kBAAsB,MAAA,EAAU,CAAA,KAAI,CAAA;;4BAO/B,MAAA;;;;;;;;;;;;;;;;;cAOpB,QAAA;;;qBAGe,MAAA,mBAAuB,MAAA,EAAU,CAAA,KAAI,CAAA,OAAQ,CAAA;;;;;;;;;;;;;cAgB5D,UAAA;;;;;;;;;;;;;cAaA,UAAA;;;;;;cAQA,QAAA;;;;;;;;;;;;;;;;uCAaiC,KAAA,CAAM,aAAA,KAAa,KAAA,CAAA,aAAA;AAAA;AAAA,cAIpD,QAAA;;;;;;;;
|
|
1
|
+
{"version":3,"file":"react-native.d.ts","names":[],"sources":["../../../src/jest/mocks/react-native.tsx"],"mappings":"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"}
|
|
@@ -108,6 +108,16 @@ const Keyboard = {
|
|
|
108
108
|
removeListener: jest.fn(),
|
|
109
109
|
isVisible: jest.fn(() => false)
|
|
110
110
|
};
|
|
111
|
+
const BackHandler = {
|
|
112
|
+
addEventListener: jest.fn(() => ({ remove: jest.fn() })),
|
|
113
|
+
exitApp: jest.fn()
|
|
114
|
+
};
|
|
115
|
+
const I18nManager = {
|
|
116
|
+
isRTL: false,
|
|
117
|
+
allowRTL: jest.fn(),
|
|
118
|
+
forceRTL: jest.fn(),
|
|
119
|
+
getConstants: () => ({ isRTL: false })
|
|
120
|
+
};
|
|
111
121
|
const Linking = {
|
|
112
122
|
openURL: jest.fn().mockResolvedValue(true),
|
|
113
123
|
canOpenURL: jest.fn().mockResolvedValue(true),
|
|
@@ -164,7 +174,9 @@ const ReactNative = {
|
|
|
164
174
|
Dimensions,
|
|
165
175
|
PixelRatio,
|
|
166
176
|
Animated,
|
|
177
|
+
BackHandler,
|
|
167
178
|
Keyboard,
|
|
179
|
+
I18nManager,
|
|
168
180
|
Linking,
|
|
169
181
|
AppState,
|
|
170
182
|
AccessibilityInfo,
|
|
@@ -174,6 +186,6 @@ const ReactNative = {
|
|
|
174
186
|
useWindowDimensions
|
|
175
187
|
};
|
|
176
188
|
//#endregion
|
|
177
|
-
export { AccessibilityInfo, ActivityIndicator, Animated, AppState, Appearance, Dimensions, FlatList, Image, Keyboard, KeyboardAvoidingView, Linking, Modal, NativeEventEmitter, PixelRatio, Platform, Pressable, RefreshControl, SafeAreaView, ScrollView, SectionList, StyleSheet, Switch, Text, TextInput, TouchableHighlight, TouchableOpacity, TouchableWithoutFeedback, View, ReactNative as default, useColorScheme, useWindowDimensions };
|
|
189
|
+
export { AccessibilityInfo, ActivityIndicator, Animated, AppState, Appearance, BackHandler, Dimensions, FlatList, I18nManager, Image, Keyboard, KeyboardAvoidingView, Linking, Modal, NativeEventEmitter, PixelRatio, Platform, Pressable, RefreshControl, SafeAreaView, ScrollView, SectionList, StyleSheet, Switch, Text, TextInput, TouchableHighlight, TouchableOpacity, TouchableWithoutFeedback, View, ReactNative as default, useColorScheme, useWindowDimensions };
|
|
178
190
|
|
|
179
191
|
//# sourceMappingURL=react-native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-native.js","names":[],"sources":["../../../src/jest/mocks/react-native.tsx"],"sourcesContent":["/**\n * Jest mock for react-native core components.\n *\n * Provides simple mock implementations for React Native components\n * that work in a Jest environment without native modules.\n */\n\n/// <reference types=\"jest\" />\n\nimport type { ReactNode } from 'react';\nimport React, { forwardRef } from 'react';\n\n// Set up React Native globals\ndeclare const global: { __DEV__?: boolean };\nglobal.__DEV__ = true;\n\ninterface MockComponentProps {\n children?: ReactNode;\n style?: object;\n testID?: string;\n accessibilityRole?: string;\n accessibilityLabel?: string;\n [key: string]: unknown;\n}\n\n// Create a simple mock component factory\nfunction createMockComponent(name: string) {\n const MockComponent = forwardRef<unknown, MockComponentProps>(({ children, ...props }, ref) => {\n return React.createElement(name, { ...props, ref }, children as ReactNode);\n });\n MockComponent.displayName = name;\n return MockComponent;\n}\n\n// Component mocks\nconst View = createMockComponent('View');\nconst Text = createMockComponent('Text');\nconst Image = createMockComponent('Image');\nconst ScrollView = createMockComponent('ScrollView');\nconst TextInput = createMockComponent('TextInput');\nconst TouchableOpacity = createMockComponent('TouchableOpacity');\nconst TouchableHighlight = createMockComponent('TouchableHighlight');\nconst TouchableWithoutFeedback = createMockComponent('TouchableWithoutFeedback');\nconst Pressable = createMockComponent('Pressable');\nconst FlatList = createMockComponent('FlatList');\nconst SectionList = createMockComponent('SectionList');\nconst ActivityIndicator = createMockComponent('ActivityIndicator');\nconst SafeAreaView = createMockComponent('SafeAreaView');\nconst Modal = createMockComponent('Modal');\nconst Switch = createMockComponent('Switch');\nconst RefreshControl = createMockComponent('RefreshControl');\nconst KeyboardAvoidingView = createMockComponent('KeyboardAvoidingView');\n\n// StyleSheet mock\nconst StyleSheet = {\n create: <T extends Record<string, object>>(styles: T): T => styles,\n flatten: (style: object | object[]): object => {\n if (Array.isArray(style)) {\n return Object.assign({}, ...style);\n }\n return style || {};\n },\n compose: (style1: object, style2: object): object[] => [style1, style2],\n hairlineWidth: 1,\n absoluteFill: { position: 'absolute', left: 0, right: 0, top: 0, bottom: 0 },\n absoluteFillObject: { position: 'absolute', left: 0, right: 0, top: 0, bottom: 0 },\n};\n\n// Platform mock\nconst Platform = {\n OS: 'ios' as const,\n Version: 17,\n select: <T extends Record<string, unknown>>(config: T): T[keyof T] | undefined => {\n return (config.ios ?? config.default) as T[keyof T] | undefined;\n },\n isTV: false,\n isPad: false,\n isVision: false,\n isTesting: true,\n constants: {\n reactNativeVersion: { major: 0, minor: 83, patch: 0 },\n },\n};\n\n// Dimensions mock\nconst SCREEN_WIDTH = 375;\nconst SCREEN_HEIGHT = 812;\n\nconst Dimensions = {\n get: (_dim: 'window' | 'screen') => ({\n width: SCREEN_WIDTH,\n height: SCREEN_HEIGHT,\n scale: 2,\n fontScale: 1,\n }),\n set: jest.fn(),\n addEventListener: jest.fn(() => ({ remove: jest.fn() })),\n removeEventListener: jest.fn(),\n};\n\n// PixelRatio mock\nconst PixelRatio = {\n get: () => 2,\n getFontScale: () => 1,\n getPixelSizeForLayoutSize: (size: number) => size * 2,\n roundToNearestPixel: (size: number) => Math.round(size * 2) / 2,\n};\n\n// Animated mock (basic - reanimated provides more complete implementation)\nconst Animated = {\n View: createMockComponent('Animated.View'),\n Text: createMockComponent('Animated.Text'),\n Image: createMockComponent('Animated.Image'),\n ScrollView: createMockComponent('Animated.ScrollView'),\n Value: class {\n _value: number;\n constructor(value: number) {\n this._value = value;\n }\n },\n timing: jest.fn(() => ({ start: jest.fn() })),\n spring: jest.fn(() => ({ start: jest.fn() })),\n createAnimatedComponent: (Component: React.ComponentType) => Component,\n};\n\n// Keyboard mock\nconst Keyboard = {\n dismiss: jest.fn(),\n addListener: jest.fn(() => ({ remove: jest.fn() })),\n removeListener: jest.fn(),\n isVisible: jest.fn(() => false),\n};\n\n// Linking mock\nconst Linking = {\n openURL: jest.fn().mockResolvedValue(true),\n canOpenURL: jest.fn().mockResolvedValue(true),\n getInitialURL: jest.fn().mockResolvedValue(null),\n addEventListener: jest.fn(() => ({ remove: jest.fn() })),\n};\n\n// AppState mock\nconst AppState = {\n currentState: 'active',\n addEventListener: jest.fn(() => ({ remove: jest.fn() })),\n removeEventListener: jest.fn(),\n};\n\n// AccessibilityInfo mock\nconst AccessibilityInfo = {\n isReduceMotionEnabled: jest.fn().mockResolvedValue(false),\n isScreenReaderEnabled: jest.fn().mockResolvedValue(false),\n addEventListener: jest.fn(() => ({ remove: jest.fn() })),\n};\n\n// NativeEventEmitter mock\nclass NativeEventEmitter {\n addListener = jest.fn(() => ({ remove: jest.fn() }));\n removeListener = jest.fn();\n removeAllListeners = jest.fn();\n}\n\n// Appearance mock\nconst Appearance = {\n getColorScheme: () => 'light' as const,\n addChangeListener: jest.fn(() => ({ remove: jest.fn() })),\n removeChangeListener: jest.fn(),\n};\n\n// useColorScheme hook mock\nconst useColorScheme = () => 'light' as const;\n\n// useWindowDimensions hook mock\nconst useWindowDimensions = () => ({\n width: SCREEN_WIDTH,\n height: SCREEN_HEIGHT,\n scale: 2,\n fontScale: 1,\n});\n\n// Default export for compatibility\nconst ReactNative = {\n View,\n Text,\n Image,\n ScrollView,\n TextInput,\n TouchableOpacity,\n TouchableHighlight,\n TouchableWithoutFeedback,\n Pressable,\n FlatList,\n SectionList,\n ActivityIndicator,\n SafeAreaView,\n Modal,\n Switch,\n RefreshControl,\n KeyboardAvoidingView,\n StyleSheet,\n Platform,\n Dimensions,\n PixelRatio,\n Animated,\n Keyboard,\n Linking,\n AppState,\n AccessibilityInfo,\n NativeEventEmitter,\n Appearance,\n useColorScheme,\n useWindowDimensions,\n};\n\n// Named exports\nexport {\n AccessibilityInfo,\n ActivityIndicator,\n Animated,\n Appearance,\n AppState,\n Dimensions,\n FlatList,\n Image,\n Keyboard,\n KeyboardAvoidingView,\n Linking,\n Modal,\n NativeEventEmitter,\n PixelRatio,\n Platform,\n Pressable,\n RefreshControl,\n SafeAreaView,\n ScrollView,\n SectionList,\n StyleSheet,\n Switch,\n Text,\n TextInput,\n TouchableHighlight,\n TouchableOpacity,\n TouchableWithoutFeedback,\n useColorScheme,\n useWindowDimensions,\n View,\n};\n\nexport default ReactNative;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-native.js","names":[],"sources":["../../../src/jest/mocks/react-native.tsx"],"sourcesContent":["/**\n * Jest mock for react-native core components.\n *\n * Provides simple mock implementations for React Native components\n * that work in a Jest environment without native modules.\n */\n\n/// <reference types=\"jest\" />\n\nimport type { ReactNode } from 'react';\nimport React, { forwardRef } from 'react';\n\n// Set up React Native globals\ndeclare const global: { __DEV__?: boolean };\nglobal.__DEV__ = true;\n\ninterface MockComponentProps {\n children?: ReactNode;\n style?: object;\n testID?: string;\n accessibilityRole?: string;\n accessibilityLabel?: string;\n [key: string]: unknown;\n}\n\n// Create a simple mock component factory\nfunction createMockComponent(name: string) {\n const MockComponent = forwardRef<unknown, MockComponentProps>(({ children, ...props }, ref) => {\n return React.createElement(name, { ...props, ref }, children as ReactNode);\n });\n MockComponent.displayName = name;\n return MockComponent;\n}\n\n// Component mocks\nconst View = createMockComponent('View');\nconst Text = createMockComponent('Text');\nconst Image = createMockComponent('Image');\nconst ScrollView = createMockComponent('ScrollView');\nconst TextInput = createMockComponent('TextInput');\nconst TouchableOpacity = createMockComponent('TouchableOpacity');\nconst TouchableHighlight = createMockComponent('TouchableHighlight');\nconst TouchableWithoutFeedback = createMockComponent('TouchableWithoutFeedback');\nconst Pressable = createMockComponent('Pressable');\nconst FlatList = createMockComponent('FlatList');\nconst SectionList = createMockComponent('SectionList');\nconst ActivityIndicator = createMockComponent('ActivityIndicator');\nconst SafeAreaView = createMockComponent('SafeAreaView');\nconst Modal = createMockComponent('Modal');\nconst Switch = createMockComponent('Switch');\nconst RefreshControl = createMockComponent('RefreshControl');\nconst KeyboardAvoidingView = createMockComponent('KeyboardAvoidingView');\n\n// StyleSheet mock\nconst StyleSheet = {\n create: <T extends Record<string, object>>(styles: T): T => styles,\n flatten: (style: object | object[]): object => {\n if (Array.isArray(style)) {\n return Object.assign({}, ...style);\n }\n return style || {};\n },\n compose: (style1: object, style2: object): object[] => [style1, style2],\n hairlineWidth: 1,\n absoluteFill: { position: 'absolute', left: 0, right: 0, top: 0, bottom: 0 },\n absoluteFillObject: { position: 'absolute', left: 0, right: 0, top: 0, bottom: 0 },\n};\n\n// Platform mock\nconst Platform = {\n OS: 'ios' as const,\n Version: 17,\n select: <T extends Record<string, unknown>>(config: T): T[keyof T] | undefined => {\n return (config.ios ?? config.default) as T[keyof T] | undefined;\n },\n isTV: false,\n isPad: false,\n isVision: false,\n isTesting: true,\n constants: {\n reactNativeVersion: { major: 0, minor: 83, patch: 0 },\n },\n};\n\n// Dimensions mock\nconst SCREEN_WIDTH = 375;\nconst SCREEN_HEIGHT = 812;\n\nconst Dimensions = {\n get: (_dim: 'window' | 'screen') => ({\n width: SCREEN_WIDTH,\n height: SCREEN_HEIGHT,\n scale: 2,\n fontScale: 1,\n }),\n set: jest.fn(),\n addEventListener: jest.fn(() => ({ remove: jest.fn() })),\n removeEventListener: jest.fn(),\n};\n\n// PixelRatio mock\nconst PixelRatio = {\n get: () => 2,\n getFontScale: () => 1,\n getPixelSizeForLayoutSize: (size: number) => size * 2,\n roundToNearestPixel: (size: number) => Math.round(size * 2) / 2,\n};\n\n// Animated mock (basic - reanimated provides more complete implementation)\nconst Animated = {\n View: createMockComponent('Animated.View'),\n Text: createMockComponent('Animated.Text'),\n Image: createMockComponent('Animated.Image'),\n ScrollView: createMockComponent('Animated.ScrollView'),\n Value: class {\n _value: number;\n constructor(value: number) {\n this._value = value;\n }\n },\n timing: jest.fn(() => ({ start: jest.fn() })),\n spring: jest.fn(() => ({ start: jest.fn() })),\n createAnimatedComponent: (Component: React.ComponentType) => Component,\n};\n\n// Keyboard mock\nconst Keyboard = {\n dismiss: jest.fn(),\n addListener: jest.fn(() => ({ remove: jest.fn() })),\n removeListener: jest.fn(),\n isVisible: jest.fn(() => false),\n};\n\nconst BackHandler = {\n addEventListener: jest.fn(() => ({ remove: jest.fn() })),\n exitApp: jest.fn(),\n};\n\nconst I18nManager = {\n isRTL: false,\n allowRTL: jest.fn(),\n forceRTL: jest.fn(),\n getConstants: () => ({ isRTL: false }),\n};\n\n// Linking mock\nconst Linking = {\n openURL: jest.fn().mockResolvedValue(true),\n canOpenURL: jest.fn().mockResolvedValue(true),\n getInitialURL: jest.fn().mockResolvedValue(null),\n addEventListener: jest.fn(() => ({ remove: jest.fn() })),\n};\n\n// AppState mock\nconst AppState = {\n currentState: 'active',\n addEventListener: jest.fn(() => ({ remove: jest.fn() })),\n removeEventListener: jest.fn(),\n};\n\n// AccessibilityInfo mock\nconst AccessibilityInfo = {\n isReduceMotionEnabled: jest.fn().mockResolvedValue(false),\n isScreenReaderEnabled: jest.fn().mockResolvedValue(false),\n addEventListener: jest.fn(() => ({ remove: jest.fn() })),\n};\n\n// NativeEventEmitter mock\nclass NativeEventEmitter {\n addListener = jest.fn(() => ({ remove: jest.fn() }));\n removeListener = jest.fn();\n removeAllListeners = jest.fn();\n}\n\n// Appearance mock\nconst Appearance = {\n getColorScheme: () => 'light' as const,\n addChangeListener: jest.fn(() => ({ remove: jest.fn() })),\n removeChangeListener: jest.fn(),\n};\n\n// useColorScheme hook mock\nconst useColorScheme = () => 'light' as const;\n\n// useWindowDimensions hook mock\nconst useWindowDimensions = () => ({\n width: SCREEN_WIDTH,\n height: SCREEN_HEIGHT,\n scale: 2,\n fontScale: 1,\n});\n\n// Default export for compatibility\nconst ReactNative = {\n View,\n Text,\n Image,\n ScrollView,\n TextInput,\n TouchableOpacity,\n TouchableHighlight,\n TouchableWithoutFeedback,\n Pressable,\n FlatList,\n SectionList,\n ActivityIndicator,\n SafeAreaView,\n Modal,\n Switch,\n RefreshControl,\n KeyboardAvoidingView,\n StyleSheet,\n Platform,\n Dimensions,\n PixelRatio,\n Animated,\n BackHandler,\n Keyboard,\n I18nManager,\n Linking,\n AppState,\n AccessibilityInfo,\n NativeEventEmitter,\n Appearance,\n useColorScheme,\n useWindowDimensions,\n};\n\n// Named exports\nexport {\n AccessibilityInfo,\n ActivityIndicator,\n Animated,\n Appearance,\n AppState,\n BackHandler,\n Dimensions,\n FlatList,\n I18nManager,\n Image,\n Keyboard,\n KeyboardAvoidingView,\n Linking,\n Modal,\n NativeEventEmitter,\n PixelRatio,\n Platform,\n Pressable,\n RefreshControl,\n SafeAreaView,\n ScrollView,\n SectionList,\n StyleSheet,\n Switch,\n Text,\n TextInput,\n TouchableHighlight,\n TouchableOpacity,\n TouchableWithoutFeedback,\n useColorScheme,\n useWindowDimensions,\n View,\n};\n\nexport default ReactNative;\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
4
4
|
var styles_exports = /* @__PURE__ */ require("../../_virtual/_rolldown/runtime.cjs").__exportAll({
|
|
5
5
|
avatarStyles: () => avatarStyles,
|
|
6
6
|
badgeStyles: () => badgeStyles,
|
|
7
|
+
bottomSheetStyles: () => bottomSheetStyles,
|
|
7
8
|
buttonStyles: () => buttonStyles,
|
|
8
9
|
checkboxStyles: () => checkboxStyles,
|
|
9
10
|
chipStyles: () => chipStyles,
|
|
@@ -11,7 +12,9 @@ var styles_exports = /* @__PURE__ */ require("../../_virtual/_rolldown/runtime.c
|
|
|
11
12
|
iconButtonStyles: () => iconButtonStyles,
|
|
12
13
|
inputStyles: () => inputStyles,
|
|
13
14
|
linkStyles: () => linkStyles,
|
|
15
|
+
popoverStyles: () => popoverStyles,
|
|
14
16
|
radioStyles: () => radioStyles,
|
|
17
|
+
scrimStyles: () => scrimStyles,
|
|
15
18
|
styles: () => styles,
|
|
16
19
|
switchStyles: () => switchStyles,
|
|
17
20
|
tabsStyles: () => tabsStyles,
|
|
@@ -319,6 +322,60 @@ const iconButtonStyles = createComponentStyles({
|
|
|
319
322
|
color: "#000000"
|
|
320
323
|
}
|
|
321
324
|
});
|
|
325
|
+
const bottomSheetStyles = createComponentStyles({
|
|
326
|
+
root: {
|
|
327
|
+
backgroundColor: "#ffffff",
|
|
328
|
+
backgroundBlurColor: "#ffffff",
|
|
329
|
+
backgroundBlurRadius: 0,
|
|
330
|
+
borderColor: "#e0e0e0",
|
|
331
|
+
borderWidth: 1,
|
|
332
|
+
borderRadius: 16,
|
|
333
|
+
paddingHorizontal: 16,
|
|
334
|
+
paddingVertical: 8,
|
|
335
|
+
marginHorizontal: 8,
|
|
336
|
+
marginBottom: 8
|
|
337
|
+
},
|
|
338
|
+
header: {
|
|
339
|
+
fontFamily: "YahooProductSans-Medium",
|
|
340
|
+
fontSize: 16,
|
|
341
|
+
letterSpacing: 0,
|
|
342
|
+
lineHeight: 20,
|
|
343
|
+
color: "#000000"
|
|
344
|
+
},
|
|
345
|
+
handleIndicator: { backgroundColor: "#999999" }
|
|
346
|
+
});
|
|
347
|
+
const scrimStyles = createComponentStyles({ root: {
|
|
348
|
+
backgroundColor: "#000000",
|
|
349
|
+
opacity: .2,
|
|
350
|
+
backgroundBlurRadius: 0
|
|
351
|
+
} });
|
|
352
|
+
const popoverStyles = createComponentStyles({
|
|
353
|
+
root: { boxShadow: "0px 8px 16px rgba(0, 0, 0, 0.12)" },
|
|
354
|
+
blur: { backgroundBlurRadius: 0 },
|
|
355
|
+
closeIcon: {
|
|
356
|
+
fontSize: 16,
|
|
357
|
+
iconSizeToken: "sm",
|
|
358
|
+
lineHeight: 16,
|
|
359
|
+
color: "#000000"
|
|
360
|
+
},
|
|
361
|
+
closeIconContainer: { padding: 8 },
|
|
362
|
+
contentWrapper: {
|
|
363
|
+
gap: 8,
|
|
364
|
+
paddingHorizontal: 16,
|
|
365
|
+
paddingVertical: 16
|
|
366
|
+
},
|
|
367
|
+
svgBase: {
|
|
368
|
+
borderRadius: 16,
|
|
369
|
+
backgroundBlurColor: "#ffffff",
|
|
370
|
+
backgroundBlurRadius: 0,
|
|
371
|
+
backgroundColor: "#ffffff",
|
|
372
|
+
backgroundOpacity: 1
|
|
373
|
+
},
|
|
374
|
+
svgBorder: {
|
|
375
|
+
borderColor: "#e0e0e0",
|
|
376
|
+
borderWidth: 1
|
|
377
|
+
}
|
|
378
|
+
});
|
|
322
379
|
const tabsStyles = createComponentStyles({ root: {
|
|
323
380
|
flexDirection: "row",
|
|
324
381
|
alignItems: "center",
|
|
@@ -362,6 +419,7 @@ const toastStyles = createComponentStyles({
|
|
|
362
419
|
//#endregion
|
|
363
420
|
exports.avatarStyles = avatarStyles;
|
|
364
421
|
exports.badgeStyles = badgeStyles;
|
|
422
|
+
exports.bottomSheetStyles = bottomSheetStyles;
|
|
365
423
|
exports.buttonStyles = buttonStyles;
|
|
366
424
|
exports.checkboxStyles = checkboxStyles;
|
|
367
425
|
exports.chipStyles = chipStyles;
|
|
@@ -369,7 +427,9 @@ exports.dividerStyles = dividerStyles;
|
|
|
369
427
|
exports.iconButtonStyles = iconButtonStyles;
|
|
370
428
|
exports.inputStyles = inputStyles;
|
|
371
429
|
exports.linkStyles = linkStyles;
|
|
430
|
+
exports.popoverStyles = popoverStyles;
|
|
372
431
|
exports.radioStyles = radioStyles;
|
|
432
|
+
exports.scrimStyles = scrimStyles;
|
|
373
433
|
exports.styles = styles;
|
|
374
434
|
Object.defineProperty(exports, "styles_exports", {
|
|
375
435
|
enumerable: true,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
declare namespace styles_d_exports {
|
|
3
|
-
export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
3
|
+
export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, popoverStyles, radioStyles, scrimStyles, styles, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
6
|
* Jest mock for generated/styles.
|
|
@@ -21,6 +21,9 @@ declare const dividerStyles: Record<string, unknown>;
|
|
|
21
21
|
declare const linkStyles: Record<string, unknown>;
|
|
22
22
|
declare const radioStyles: Record<string, unknown>;
|
|
23
23
|
declare const iconButtonStyles: Record<string, unknown>;
|
|
24
|
+
declare const bottomSheetStyles: Record<string, unknown>;
|
|
25
|
+
declare const scrimStyles: Record<string, unknown>;
|
|
26
|
+
declare const popoverStyles: Record<string, unknown>;
|
|
24
27
|
declare const tabsStyles: Record<string, unknown>;
|
|
25
28
|
declare const toastStyles: Record<string, unknown>;
|
|
26
29
|
interface StyleProps {
|
|
@@ -32,5 +35,5 @@ interface StyleProps {
|
|
|
32
35
|
[key: string]: unknown;
|
|
33
36
|
}
|
|
34
37
|
//#endregion
|
|
35
|
-
export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, styles_d_exports, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
38
|
+
export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, popoverStyles, radioStyles, scrimStyles, styles, styles_d_exports, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
36
39
|
//# sourceMappingURL=styles.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.cts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;cAyGa,MAAA,EAAM,MAAA;AAAA,cAKN,YAAA,EAAY,MAAA;AAAA,cAgCZ,UAAA,EAAU,MAAA;AAAA,cAUV,WAAA,EAAW,MAAA;AAAA,cAuCX,cAAA,EAAc,MAAA;AAAA,cAwBd,YAAA,EAAY,MAAA;AAAA,cA4BZ,YAAA,EAAY,MAAA;AAAA,cAqBZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,aAAA,EAAa,MAAA;AAAA,cAiBb,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA8BX,gBAAA,EAAgB,MAAA;AAAA,cAehB,UAAA,EAAU,MAAA;AAAA,cASV,WAAA,EAAW,MAAA;AAAA,UAuCP,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"styles.d.cts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;cAyGa,MAAA,EAAM,MAAA;AAAA,cAKN,YAAA,EAAY,MAAA;AAAA,cAgCZ,UAAA,EAAU,MAAA;AAAA,cAUV,WAAA,EAAW,MAAA;AAAA,cAuCX,cAAA,EAAc,MAAA;AAAA,cAwBd,YAAA,EAAY,MAAA;AAAA,cA4BZ,YAAA,EAAY,MAAA;AAAA,cAqBZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,aAAA,EAAa,MAAA;AAAA,cAiBb,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA8BX,gBAAA,EAAgB,MAAA;AAAA,cAehB,iBAAA,EAAiB,MAAA;AAAA,cA0BjB,WAAA,EAAW,MAAA;AAAA,cASX,aAAA,EAAa,MAAA;AAAA,cAmCb,UAAA,EAAU,MAAA;AAAA,cASV,WAAA,EAAW,MAAA;AAAA,UAuCP,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
|
|
2
2
|
declare namespace styles_d_exports {
|
|
3
|
-
export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
3
|
+
export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, popoverStyles, radioStyles, scrimStyles, styles, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
4
4
|
}
|
|
5
5
|
/**
|
|
6
6
|
* Jest mock for generated/styles.
|
|
@@ -21,6 +21,9 @@ declare const dividerStyles: Record<string, unknown>;
|
|
|
21
21
|
declare const linkStyles: Record<string, unknown>;
|
|
22
22
|
declare const radioStyles: Record<string, unknown>;
|
|
23
23
|
declare const iconButtonStyles: Record<string, unknown>;
|
|
24
|
+
declare const bottomSheetStyles: Record<string, unknown>;
|
|
25
|
+
declare const scrimStyles: Record<string, unknown>;
|
|
26
|
+
declare const popoverStyles: Record<string, unknown>;
|
|
24
27
|
declare const tabsStyles: Record<string, unknown>;
|
|
25
28
|
declare const toastStyles: Record<string, unknown>;
|
|
26
29
|
interface StyleProps {
|
|
@@ -32,5 +35,5 @@ interface StyleProps {
|
|
|
32
35
|
[key: string]: unknown;
|
|
33
36
|
}
|
|
34
37
|
//#endregion
|
|
35
|
-
export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, styles_d_exports, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
38
|
+
export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, popoverStyles, radioStyles, scrimStyles, styles, styles_d_exports, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
36
39
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;cAyGa,MAAA,EAAM,MAAA;AAAA,cAKN,YAAA,EAAY,MAAA;AAAA,cAgCZ,UAAA,EAAU,MAAA;AAAA,cAUV,WAAA,EAAW,MAAA;AAAA,cAuCX,cAAA,EAAc,MAAA;AAAA,cAwBd,YAAA,EAAY,MAAA;AAAA,cA4BZ,YAAA,EAAY,MAAA;AAAA,cAqBZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,aAAA,EAAa,MAAA;AAAA,cAiBb,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA8BX,gBAAA,EAAgB,MAAA;AAAA,cAehB,UAAA,EAAU,MAAA;AAAA,cASV,WAAA,EAAW,MAAA;AAAA,UAuCP,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"styles.d.ts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;cAyGa,MAAA,EAAM,MAAA;AAAA,cAKN,YAAA,EAAY,MAAA;AAAA,cAgCZ,UAAA,EAAU,MAAA;AAAA,cAUV,WAAA,EAAW,MAAA;AAAA,cAuCX,cAAA,EAAc,MAAA;AAAA,cAwBd,YAAA,EAAY,MAAA;AAAA,cA4BZ,YAAA,EAAY,MAAA;AAAA,cAqBZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,aAAA,EAAa,MAAA;AAAA,cAiBb,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA8BX,gBAAA,EAAgB,MAAA;AAAA,cAehB,iBAAA,EAAiB,MAAA;AAAA,cA0BjB,WAAA,EAAW,MAAA;AAAA,cASX,aAAA,EAAa,MAAA;AAAA,cAmCb,UAAA,EAAU,MAAA;AAAA,cASV,WAAA,EAAW,MAAA;AAAA,UAuCP,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
|
|
@@ -4,6 +4,7 @@ import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
|
|
|
4
4
|
var styles_exports = /* @__PURE__ */ __exportAll({
|
|
5
5
|
avatarStyles: () => avatarStyles,
|
|
6
6
|
badgeStyles: () => badgeStyles,
|
|
7
|
+
bottomSheetStyles: () => bottomSheetStyles,
|
|
7
8
|
buttonStyles: () => buttonStyles,
|
|
8
9
|
checkboxStyles: () => checkboxStyles,
|
|
9
10
|
chipStyles: () => chipStyles,
|
|
@@ -11,7 +12,9 @@ var styles_exports = /* @__PURE__ */ __exportAll({
|
|
|
11
12
|
iconButtonStyles: () => iconButtonStyles,
|
|
12
13
|
inputStyles: () => inputStyles,
|
|
13
14
|
linkStyles: () => linkStyles,
|
|
15
|
+
popoverStyles: () => popoverStyles,
|
|
14
16
|
radioStyles: () => radioStyles,
|
|
17
|
+
scrimStyles: () => scrimStyles,
|
|
15
18
|
styles: () => styles,
|
|
16
19
|
switchStyles: () => switchStyles,
|
|
17
20
|
tabsStyles: () => tabsStyles,
|
|
@@ -319,6 +322,60 @@ const iconButtonStyles = createComponentStyles({
|
|
|
319
322
|
color: "#000000"
|
|
320
323
|
}
|
|
321
324
|
});
|
|
325
|
+
const bottomSheetStyles = createComponentStyles({
|
|
326
|
+
root: {
|
|
327
|
+
backgroundColor: "#ffffff",
|
|
328
|
+
backgroundBlurColor: "#ffffff",
|
|
329
|
+
backgroundBlurRadius: 0,
|
|
330
|
+
borderColor: "#e0e0e0",
|
|
331
|
+
borderWidth: 1,
|
|
332
|
+
borderRadius: 16,
|
|
333
|
+
paddingHorizontal: 16,
|
|
334
|
+
paddingVertical: 8,
|
|
335
|
+
marginHorizontal: 8,
|
|
336
|
+
marginBottom: 8
|
|
337
|
+
},
|
|
338
|
+
header: {
|
|
339
|
+
fontFamily: "YahooProductSans-Medium",
|
|
340
|
+
fontSize: 16,
|
|
341
|
+
letterSpacing: 0,
|
|
342
|
+
lineHeight: 20,
|
|
343
|
+
color: "#000000"
|
|
344
|
+
},
|
|
345
|
+
handleIndicator: { backgroundColor: "#999999" }
|
|
346
|
+
});
|
|
347
|
+
const scrimStyles = createComponentStyles({ root: {
|
|
348
|
+
backgroundColor: "#000000",
|
|
349
|
+
opacity: .2,
|
|
350
|
+
backgroundBlurRadius: 0
|
|
351
|
+
} });
|
|
352
|
+
const popoverStyles = createComponentStyles({
|
|
353
|
+
root: { boxShadow: "0px 8px 16px rgba(0, 0, 0, 0.12)" },
|
|
354
|
+
blur: { backgroundBlurRadius: 0 },
|
|
355
|
+
closeIcon: {
|
|
356
|
+
fontSize: 16,
|
|
357
|
+
iconSizeToken: "sm",
|
|
358
|
+
lineHeight: 16,
|
|
359
|
+
color: "#000000"
|
|
360
|
+
},
|
|
361
|
+
closeIconContainer: { padding: 8 },
|
|
362
|
+
contentWrapper: {
|
|
363
|
+
gap: 8,
|
|
364
|
+
paddingHorizontal: 16,
|
|
365
|
+
paddingVertical: 16
|
|
366
|
+
},
|
|
367
|
+
svgBase: {
|
|
368
|
+
borderRadius: 16,
|
|
369
|
+
backgroundBlurColor: "#ffffff",
|
|
370
|
+
backgroundBlurRadius: 0,
|
|
371
|
+
backgroundColor: "#ffffff",
|
|
372
|
+
backgroundOpacity: 1
|
|
373
|
+
},
|
|
374
|
+
svgBorder: {
|
|
375
|
+
borderColor: "#e0e0e0",
|
|
376
|
+
borderWidth: 1
|
|
377
|
+
}
|
|
378
|
+
});
|
|
322
379
|
const tabsStyles = createComponentStyles({ root: {
|
|
323
380
|
flexDirection: "row",
|
|
324
381
|
alignItems: "center",
|
|
@@ -360,6 +417,6 @@ const toastStyles = createComponentStyles({
|
|
|
360
417
|
}
|
|
361
418
|
});
|
|
362
419
|
//#endregion
|
|
363
|
-
export { avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, styles_exports, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
420
|
+
export { avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, popoverStyles, radioStyles, scrimStyles, styles, styles_exports, switchStyles, tabsStyles, textStyles, toastStyles };
|
|
364
421
|
|
|
365
422
|
//# sourceMappingURL=styles.js.map
|