@yahoo/uds 3.116.3 → 3.117.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.
Files changed (150) hide show
  1. package/dist/automated-config/dist/generated/autoVariants.cjs +11 -0
  2. package/dist/automated-config/dist/generated/autoVariants.d.cts +11 -0
  3. package/dist/automated-config/dist/generated/autoVariants.d.ts +11 -0
  4. package/dist/automated-config/dist/generated/autoVariants.js +11 -0
  5. package/dist/automated-config/dist/generated/generatedConfigs.cjs +1890 -0
  6. package/dist/automated-config/dist/generated/generatedConfigs.d.cts +208 -1
  7. package/dist/automated-config/dist/generated/generatedConfigs.d.ts +208 -1
  8. package/dist/automated-config/dist/generated/generatedConfigs.js +1890 -1
  9. package/dist/automated-config/dist/generated/universalTokensConfigAuto.cjs +83 -0
  10. package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.cts +2 -1
  11. package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.ts +2 -1
  12. package/dist/automated-config/dist/generated/universalTokensConfigAuto.js +83 -0
  13. package/dist/cli/commands/sync.cjs +6 -0
  14. package/dist/cli/commands/sync.js +6 -0
  15. package/dist/components/SvgFloatingOverlay.cjs +122 -0
  16. package/dist/components/SvgFloatingOverlay.d.cts +42 -0
  17. package/dist/components/SvgFloatingOverlay.d.ts +42 -0
  18. package/dist/components/SvgFloatingOverlay.js +120 -0
  19. package/dist/components/client/Menu/Menu.ItemCheckbox.d.cts +1 -1
  20. package/dist/components/client/Menu/Menu.ItemCheckbox.d.ts +1 -1
  21. package/dist/components/client/Popover/Popover.cjs +96 -0
  22. package/dist/components/client/Popover/Popover.d.cts +55 -0
  23. package/dist/components/client/Popover/Popover.d.ts +55 -0
  24. package/dist/components/client/Popover/Popover.js +94 -0
  25. package/dist/components/client/Popover/PopoverContent.cjs +175 -0
  26. package/dist/components/client/Popover/PopoverContent.d.cts +26 -0
  27. package/dist/components/client/Popover/PopoverContent.d.ts +26 -0
  28. package/dist/components/client/Popover/PopoverContent.js +173 -0
  29. package/dist/components/client/Popover/PopoverContext.cjs +11 -0
  30. package/dist/components/client/Popover/PopoverContext.d.cts +21 -0
  31. package/dist/components/client/Popover/PopoverContext.d.ts +21 -0
  32. package/dist/components/client/Popover/PopoverContext.js +9 -0
  33. package/dist/components/client/Popover/PopoverTrigger.cjs +26 -0
  34. package/dist/components/client/Popover/PopoverTrigger.d.cts +14 -0
  35. package/dist/components/client/Popover/PopoverTrigger.d.ts +14 -0
  36. package/dist/components/client/Popover/PopoverTrigger.js +24 -0
  37. package/dist/components/client/Popover/UDSPopoverConfigProvider.cjs +40 -0
  38. package/dist/components/client/Popover/UDSPopoverConfigProvider.d.cts +28 -0
  39. package/dist/components/client/Popover/UDSPopoverConfigProvider.d.ts +28 -0
  40. package/dist/components/client/Popover/UDSPopoverConfigProvider.js +37 -0
  41. package/dist/components/client/Popover/index.cjs +12 -0
  42. package/dist/components/client/Popover/index.d.cts +7 -0
  43. package/dist/components/client/Popover/index.d.ts +7 -0
  44. package/dist/components/client/Popover/index.js +8 -0
  45. package/dist/components/client/Toast/Toast.cjs +3 -3
  46. package/dist/components/client/Toast/Toast.d.cts +1 -1
  47. package/dist/components/client/Toast/Toast.d.ts +1 -1
  48. package/dist/components/client/Toast/Toast.js +3 -3
  49. package/dist/components/client/Toast/index.d.cts +1 -1
  50. package/dist/components/client/Toast/index.d.ts +1 -1
  51. package/dist/components/client/Tooltip/Tooltip.cjs +6 -6
  52. package/dist/components/client/Tooltip/Tooltip.d.cts +1 -1
  53. package/dist/components/client/Tooltip/Tooltip.d.ts +1 -1
  54. package/dist/components/client/Tooltip/Tooltip.js +6 -6
  55. package/dist/components/client/Tooltip/TooltipContent.cjs +33 -96
  56. package/dist/components/client/Tooltip/TooltipContent.js +34 -97
  57. package/dist/components/client/Tooltip/tooltipContext.cjs +0 -1
  58. package/dist/components/client/Tooltip/tooltipContext.d.cts +1 -2
  59. package/dist/components/client/Tooltip/tooltipContext.d.ts +1 -2
  60. package/dist/components/client/Tooltip/tooltipContext.js +0 -1
  61. package/dist/components/client/index.cjs +8 -0
  62. package/dist/components/client/index.d.cts +10 -5
  63. package/dist/components/client/index.d.ts +10 -5
  64. package/dist/components/client/index.js +5 -1
  65. package/dist/components/client/providers/UDSConfigProvider.cjs +6 -2
  66. package/dist/components/client/providers/UDSConfigProvider.d.cts +2 -1
  67. package/dist/components/client/providers/UDSConfigProvider.d.ts +2 -1
  68. package/dist/components/client/providers/UDSConfigProvider.js +6 -2
  69. package/dist/components/experimental/client/{Popover.cjs → ExperimentalPopover.cjs} +10 -1
  70. package/dist/components/experimental/client/ExperimentalPopover.d.cts +40 -0
  71. package/dist/components/experimental/client/ExperimentalPopover.d.ts +40 -0
  72. package/dist/components/experimental/client/{Popover.js → ExperimentalPopover.js} +10 -1
  73. package/dist/components/experimental/client/index.cjs +10 -10
  74. package/dist/components/experimental/client/index.d.cts +2 -2
  75. package/dist/components/experimental/client/index.d.ts +2 -2
  76. package/dist/components/experimental/client/index.js +1 -1
  77. package/dist/components/experimental/index.cjs +19 -19
  78. package/dist/components/experimental/index.d.cts +2 -2
  79. package/dist/components/experimental/index.d.ts +2 -2
  80. package/dist/components/experimental/index.js +1 -1
  81. package/dist/components/index.cjs +12 -0
  82. package/dist/components/index.d.cts +9 -5
  83. package/dist/components/index.d.ts +9 -5
  84. package/dist/components/index.js +9 -1
  85. package/dist/config/dist/index.cjs +84 -1
  86. package/dist/config/dist/index.js +84 -1
  87. package/dist/hooks/useSvgFloatingContent.cjs +236 -0
  88. package/dist/hooks/useSvgFloatingContent.d.cts +74 -0
  89. package/dist/hooks/useSvgFloatingContent.d.ts +74 -0
  90. package/dist/{components/client/Tooltip/useTooltipContent.js → hooks/useSvgFloatingContent.js} +94 -44
  91. package/dist/index.cjs +21 -10
  92. package/dist/index.d.cts +15 -10
  93. package/dist/index.d.ts +15 -10
  94. package/dist/index.js +16 -11
  95. package/dist/runtime/index.cjs +2 -0
  96. package/dist/runtime/index.d.cts +3 -2
  97. package/dist/runtime/index.d.ts +3 -2
  98. package/dist/runtime/index.js +2 -1
  99. package/dist/runtime/popoverConfig.cjs +36 -0
  100. package/dist/runtime/popoverConfig.d.cts +25 -0
  101. package/dist/runtime/popoverConfig.d.ts +25 -0
  102. package/dist/runtime/popoverConfig.js +35 -0
  103. package/dist/runtime/udsConfig.cjs +3 -1
  104. package/dist/runtime/udsConfig.d.cts +3 -1
  105. package/dist/runtime/udsConfig.d.ts +3 -1
  106. package/dist/runtime/udsConfig.js +3 -1
  107. package/dist/styles/styler.d.cts +114 -103
  108. package/dist/styles/styler.d.ts +114 -103
  109. package/dist/styles/variants.d.cts +33 -0
  110. package/dist/styles/variants.d.ts +33 -0
  111. package/dist/tailwind/dist/tailwind/plugins/components.cjs +1 -0
  112. package/dist/tailwind/dist/tailwind/plugins/components.js +2 -1
  113. package/dist/tokens/automation/configs/index.cjs +1 -0
  114. package/dist/tokens/automation/configs/index.d.cts +2 -2
  115. package/dist/tokens/automation/configs/index.d.ts +2 -2
  116. package/dist/tokens/automation/configs/index.js +2 -2
  117. package/dist/tokens/automation/index.cjs +1 -0
  118. package/dist/tokens/automation/index.d.cts +2 -2
  119. package/dist/tokens/automation/index.d.ts +2 -2
  120. package/dist/tokens/automation/index.js +2 -2
  121. package/dist/tokens/index.cjs +2 -1
  122. package/dist/tokens/index.d.cts +3 -3
  123. package/dist/tokens/index.d.ts +3 -3
  124. package/dist/tokens/index.js +3 -3
  125. package/dist/tokens/types.d.cts +2 -2
  126. package/dist/tokens/types.d.ts +2 -2
  127. package/dist/types/dist/index.d.cts +51 -1
  128. package/dist/types/dist/index.d.ts +51 -1
  129. package/dist/uds/generated/componentData.cjs +1296 -1134
  130. package/dist/uds/generated/componentData.js +1262 -1136
  131. package/dist/uds/generated/tailwindPurge.cjs +55 -27
  132. package/dist/uds/generated/tailwindPurge.js +55 -27
  133. package/dist/utils/parseShadow.cjs +120 -0
  134. package/dist/utils/parseShadow.d.cts +33 -0
  135. package/dist/utils/parseShadow.d.ts +33 -0
  136. package/dist/utils/parseShadow.js +118 -0
  137. package/dist/utils/svgFloatingContentUtils.cjs +121 -0
  138. package/dist/{components/client/Tooltip/util.d.cts → utils/svgFloatingContentUtils.d.cts} +25 -62
  139. package/dist/{components/client/Tooltip/util.d.ts → utils/svgFloatingContentUtils.d.ts} +25 -62
  140. package/dist/utils/svgFloatingContentUtils.js +117 -0
  141. package/generated/componentData.json +1628 -1469
  142. package/generated/tailwindPurge.ts +4 -4
  143. package/package.json +1 -1
  144. package/dist/components/client/Tooltip/useTooltipContent.cjs +0 -186
  145. package/dist/components/client/Tooltip/useTooltipContent.d.cts +0 -66
  146. package/dist/components/client/Tooltip/useTooltipContent.d.ts +0 -66
  147. package/dist/components/client/Tooltip/util.cjs +0 -248
  148. package/dist/components/client/Tooltip/util.js +0 -240
  149. package/dist/components/experimental/client/Popover.d.cts +0 -29
  150. package/dist/components/experimental/client/Popover.d.ts +0 -29
@@ -0,0 +1,173 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ import { spacingMap } from "../../../fixtures/dist/index.js";
4
+ import { cx, getStyles } from "../../../styles/styler.js";
5
+ import { Box } from "../../Box.js";
6
+ import { IconSlot } from "../../IconSlot.js";
7
+ import { Pressable } from "../Pressable.js";
8
+ import { PopoverInternalContext } from "./PopoverContext.js";
9
+ import { usePopoverConfig } from "./UDSPopoverConfigProvider.js";
10
+ import { useForkRef } from "../../../hooks/useForkRef.js";
11
+ import { useSvgFloatingContent } from "../../../hooks/useSvgFloatingContent.js";
12
+ import { SvgFloatingOverlay } from "../../SvgFloatingOverlay.js";
13
+ import { forwardRef, useContext, useRef } from "react";
14
+ import { jsx, jsxs } from "react/jsx-runtime";
15
+ import { Cross } from "@yahoo/uds-icons";
16
+ import { Popover, PopoverArrow, PopoverDismiss, usePopoverContext, useStoreState } from "@ariakit/react";
17
+
18
+ //#region src/components/client/Popover/PopoverContent.tsx
19
+ const ARROW_HEIGHT = 12;
20
+ const ARROW_WIDTH = 22;
21
+ const ARROW_TIP_RADIUS_FRACTION = .3;
22
+ const PopoverContent = forwardRef(function PopoverContent({ children, className, closeIcon = Cross, slotProps, maxWidth, maxHeight }, ref) {
23
+ const store = usePopoverContext();
24
+ const open = useStoreState(store, "open");
25
+ const internalContext = useContext(PopoverInternalContext);
26
+ const disableVerticalSpacing = internalContext?.disableVerticalSpacing ?? false;
27
+ const disableHorizontalSpacing = internalContext?.disableHorizontalSpacing ?? false;
28
+ const sameWidth = internalContext?.sameWidth ?? false;
29
+ const gutter = internalContext?.gutter ?? 4;
30
+ const currentPlacement = useStoreState(store, "currentPlacement");
31
+ const placement = useStoreState(store, "placement");
32
+ const effectivePlacement = currentPlacement ?? placement ?? "top";
33
+ const { borderRadius, gap, spacingHorizontal, spacingVertical, dismissButtonSpacing, dismissIconSize } = usePopoverConfig();
34
+ const defaultBorderRadius = borderRadius["default"];
35
+ const defaultGap = gap["default"];
36
+ const defaultSpacingHorizontal = spacingHorizontal["default"];
37
+ const defaultSpacingVertical = spacingVertical["default"];
38
+ const defaultDismissButtonSpacing = spacingMap[dismissButtonSpacing["default"]];
39
+ const defaultDismissButtonSize = dismissIconSize["default"] + 2 * defaultDismissButtonSpacing;
40
+ const arrowRef = useRef(null);
41
+ const reducedMotion = internalContext ? internalContext.reducedMotion : false;
42
+ const animationDuration = reducedMotion || !internalContext ? 0 : internalContext.animationDuration;
43
+ const { internalRef, shift, onPositionUpdate, ...svgFloatingContentProps } = useSvgFloatingContent({
44
+ open: open ?? false,
45
+ effectivePlacement,
46
+ borderRadius: defaultBorderRadius,
47
+ arrowRef,
48
+ animationDuration,
49
+ hideArrow: internalContext?.hideArrow,
50
+ arrowWidth: ARROW_WIDTH,
51
+ arrowHeight: ARROW_HEIGHT,
52
+ arrowTipRadiusFraction: ARROW_TIP_RADIUS_FRACTION
53
+ });
54
+ const mergedRef = useForkRef(ref, internalRef);
55
+ const { className: closeIconClassName, ...closeIconProps } = slotProps?.closeIcon ?? {};
56
+ const { className: closeIconContainerClassName, ...closeIconContainerProps } = slotProps?.closeIconContainer ?? {};
57
+ const classNames = {
58
+ root: getStyles({
59
+ popoverSizeRoot: "default",
60
+ popoverVariantRoot: "default",
61
+ display: "flex",
62
+ position: "relative",
63
+ className: cx("z-[9999]", "outline-none", "focus-visible:outline-none", className)
64
+ }),
65
+ contentWrapper: getStyles({
66
+ display: "block",
67
+ spacingTop: disableVerticalSpacing ? "0" : defaultSpacingVertical,
68
+ spacingStart: disableHorizontalSpacing ? "0" : defaultSpacingHorizontal,
69
+ spacingBottom: disableVerticalSpacing ? "0" : defaultSpacingVertical,
70
+ spacingEnd: internalContext?.hideDismissButton ? disableHorizontalSpacing ? "0" : defaultSpacingHorizontal : void 0
71
+ }),
72
+ svgBase: getStyles({
73
+ popoverSizeSvgBase: "default",
74
+ popoverVariantSvgBase: "default",
75
+ className: cx("uds-bgBlurFillFallback")
76
+ }),
77
+ svgBorder: getStyles({
78
+ popoverSizeSvgBorder: "default",
79
+ popoverVariantSvgBorder: "default"
80
+ }),
81
+ blur: getStyles({
82
+ popoverVariantBlur: "default",
83
+ position: "absolute",
84
+ width: "full",
85
+ height: "full",
86
+ className: cx("uds-bgBlurFallback", "top-0", "left-0", "z-[1]")
87
+ }),
88
+ closeIconContainer: getStyles({
89
+ flexShrink: "0",
90
+ borderRadius: "full",
91
+ alignItems: "center",
92
+ justifyContent: "center",
93
+ display: "flex",
94
+ className: cx(reducedMotion ? "duration-0" : "duration-120", "transition-[background-color]", "bg-carbon-15/0", "hover:bg-carbon-15/10", "active:bg-carbon-15/15", "uds-ring")
95
+ }),
96
+ closeIcon: getStyles({
97
+ popoverVariantCloseIcon: "default",
98
+ popoverSizeCloseIcon: "default"
99
+ })
100
+ };
101
+ return /* @__PURE__ */ jsxs(Popover, {
102
+ hideOnInteractOutside: (event) => {
103
+ if (internalContext && !internalContext.isControlled) return true;
104
+ internalContext?.onClose?.(event);
105
+ return false;
106
+ },
107
+ ref: mergedRef,
108
+ className: classNames.root,
109
+ portal: internalContext ? internalContext.portal : true,
110
+ gutter: internalContext?.hideArrow ? gutter : ARROW_HEIGHT + gutter,
111
+ updatePosition: onPositionUpdate,
112
+ style: {
113
+ ...shift.x !== 0 || shift.y !== 0 ? { transform: `translate(${shift.x}px, ${shift.y}px)` } : {},
114
+ maxWidth,
115
+ maxHeight
116
+ },
117
+ onClose: internalContext?.onClose,
118
+ sameWidth,
119
+ autoFocusOnShow: internalContext?.disableAutoFocus ? false : (element) => {
120
+ element?.focus({ preventScroll: true });
121
+ return false;
122
+ },
123
+ autoFocusOnHide: !internalContext?.disableAutoFocus,
124
+ children: [
125
+ /* @__PURE__ */ jsx(SvgFloatingOverlay, {
126
+ blurClassName: classNames.blur,
127
+ svgClassNames: {
128
+ base: classNames.svgBase,
129
+ border: classNames.svgBorder
130
+ },
131
+ arrowHeight: ARROW_HEIGHT,
132
+ contentWrapperSlotProps: { alignItems: "flex-start" },
133
+ borderRadius: defaultBorderRadius,
134
+ svgBaseStyle: slotProps?.svgBase?.style,
135
+ svgBorderStyle: slotProps?.svgBorder?.style,
136
+ ...svgFloatingContentProps,
137
+ children: /* @__PURE__ */ jsx(Box, {
138
+ className: cx(classNames.contentWrapper),
139
+ style: { paddingInlineEnd: internalContext?.hideDismissButton || disableHorizontalSpacing ? void 0 : spacingMap[defaultGap] + spacingMap[defaultSpacingHorizontal] + defaultDismissButtonSize },
140
+ children
141
+ })
142
+ }),
143
+ !internalContext?.hideDismissButton && /* @__PURE__ */ jsx(PopoverDismiss, { render: /* @__PURE__ */ jsx(Pressable, {
144
+ className: cx(classNames.closeIconContainer, "absolute", "z-[4]", closeIconContainerClassName),
145
+ ...closeIconContainerProps,
146
+ style: {
147
+ ...closeIconContainerProps?.style,
148
+ top: spacingMap[defaultSpacingVertical],
149
+ insetInlineEnd: spacingMap[defaultSpacingHorizontal],
150
+ width: defaultDismissButtonSize,
151
+ height: defaultDismissButtonSize,
152
+ ...svgFloatingContentProps.childTransitionStyle
153
+ },
154
+ children: /* @__PURE__ */ jsx(IconSlot, {
155
+ icon: closeIcon,
156
+ iconProps: {
157
+ className: cx(classNames.closeIcon, closeIconClassName),
158
+ ...closeIconProps
159
+ }
160
+ })
161
+ }) }),
162
+ !internalContext?.hideArrow && /* @__PURE__ */ jsx(PopoverArrow, {
163
+ size: 1,
164
+ ref: arrowRef,
165
+ style: { opacity: 0 }
166
+ })
167
+ ]
168
+ });
169
+ });
170
+ PopoverContent.displayName = "PopoverContent";
171
+
172
+ //#endregion
173
+ export { PopoverContent };
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
5
+ let react = require("react");
6
+
7
+ //#region src/components/client/Popover/PopoverContext.tsx
8
+ const PopoverInternalContext = (0, react.createContext)(null);
9
+
10
+ //#endregion
11
+ exports.PopoverInternalContext = PopoverInternalContext;
@@ -0,0 +1,21 @@
1
+
2
+ import * as react from "react";
3
+
4
+ //#region src/components/client/Popover/PopoverContext.d.ts
5
+ interface PopoverInternalContextType {
6
+ portal: boolean;
7
+ hideArrow: boolean;
8
+ hideDismissButton: boolean;
9
+ onClose?: (event: Event) => void;
10
+ isControlled: boolean;
11
+ animationDuration: number;
12
+ reducedMotion: boolean;
13
+ disableAutoFocus: boolean;
14
+ disableVerticalSpacing: boolean;
15
+ disableHorizontalSpacing: boolean;
16
+ sameWidth: boolean;
17
+ gutter: number;
18
+ }
19
+ declare const PopoverInternalContext: react.Context<PopoverInternalContextType | null>;
20
+ //#endregion
21
+ export { PopoverInternalContext };
@@ -0,0 +1,21 @@
1
+
2
+ import * as react from "react";
3
+
4
+ //#region src/components/client/Popover/PopoverContext.d.ts
5
+ interface PopoverInternalContextType {
6
+ portal: boolean;
7
+ hideArrow: boolean;
8
+ hideDismissButton: boolean;
9
+ onClose?: (event: Event) => void;
10
+ isControlled: boolean;
11
+ animationDuration: number;
12
+ reducedMotion: boolean;
13
+ disableAutoFocus: boolean;
14
+ disableVerticalSpacing: boolean;
15
+ disableHorizontalSpacing: boolean;
16
+ sameWidth: boolean;
17
+ gutter: number;
18
+ }
19
+ declare const PopoverInternalContext: react.Context<PopoverInternalContextType | null>;
20
+ //#endregion
21
+ export { PopoverInternalContext };
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ import { createContext } from "react";
4
+
5
+ //#region src/components/client/Popover/PopoverContext.tsx
6
+ const PopoverInternalContext = createContext(null);
7
+
8
+ //#endregion
9
+ export { PopoverInternalContext };
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
5
+ const require_components_client_Popover_PopoverContext = require('./PopoverContext.cjs');
6
+ let react = require("react");
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ let _ariakit_react = require("@ariakit/react");
9
+
10
+ //#region src/components/client/Popover/PopoverTrigger.tsx
11
+ function PopoverTrigger({ children }) {
12
+ const toggleOnClick = !(0, react.useContext)(require_components_client_Popover_PopoverContext.PopoverInternalContext)?.isControlled;
13
+ if ((0, react.isValidElement)(children) && children.type !== react.Fragment) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ariakit_react.PopoverDisclosure, {
14
+ render: children,
15
+ toggleOnClick
16
+ });
17
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ariakit_react.PopoverDisclosure, {
18
+ className: "inline",
19
+ toggleOnClick,
20
+ children
21
+ });
22
+ }
23
+ PopoverTrigger.displayName = "PopoverTrigger";
24
+
25
+ //#endregion
26
+ exports.PopoverTrigger = PopoverTrigger;
@@ -0,0 +1,14 @@
1
+
2
+ import { UniversalPopoverTriggerProps } from "../../../types/dist/index.cjs";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/client/Popover/PopoverTrigger.d.ts
6
+ type PopoverTriggerProps = UniversalPopoverTriggerProps;
7
+ declare function PopoverTrigger({
8
+ children
9
+ }: PopoverTriggerProps): react_jsx_runtime0.JSX.Element;
10
+ declare namespace PopoverTrigger {
11
+ var displayName: string;
12
+ }
13
+ //#endregion
14
+ export { PopoverTrigger };
@@ -0,0 +1,14 @@
1
+
2
+ import { UniversalPopoverTriggerProps } from "../../../types/dist/index.js";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/client/Popover/PopoverTrigger.d.ts
6
+ type PopoverTriggerProps = UniversalPopoverTriggerProps;
7
+ declare function PopoverTrigger({
8
+ children
9
+ }: PopoverTriggerProps): react_jsx_runtime0.JSX.Element;
10
+ declare namespace PopoverTrigger {
11
+ var displayName: string;
12
+ }
13
+ //#endregion
14
+ export { PopoverTrigger };
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ import { PopoverInternalContext } from "./PopoverContext.js";
4
+ import { Fragment, isValidElement, useContext } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { PopoverDisclosure } from "@ariakit/react";
7
+
8
+ //#region src/components/client/Popover/PopoverTrigger.tsx
9
+ function PopoverTrigger({ children }) {
10
+ const toggleOnClick = !useContext(PopoverInternalContext)?.isControlled;
11
+ if (isValidElement(children) && children.type !== Fragment) return /* @__PURE__ */ jsx(PopoverDisclosure, {
12
+ render: children,
13
+ toggleOnClick
14
+ });
15
+ return /* @__PURE__ */ jsx(PopoverDisclosure, {
16
+ className: "inline",
17
+ toggleOnClick,
18
+ children
19
+ });
20
+ }
21
+ PopoverTrigger.displayName = "PopoverTrigger";
22
+
23
+ //#endregion
24
+ export { PopoverTrigger };
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
5
+ let react = require("react");
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+
8
+ //#region src/components/client/Popover/UDSPopoverConfigProvider.tsx
9
+ const PopoverContext = (0, react.createContext)(void 0);
10
+ const UDSPopoverConfigProvider = ({ children, value }) => {
11
+ const existingContext = (0, react.useContext)(PopoverContext);
12
+ if ("type" in value) {
13
+ if (!existingContext) throw new Error("Cannot merge context values without an existing PopoverContext");
14
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PopoverContext.Provider, {
15
+ value: {
16
+ ...existingContext,
17
+ ...value.value
18
+ },
19
+ children
20
+ });
21
+ }
22
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PopoverContext.Provider, {
23
+ value,
24
+ children
25
+ });
26
+ };
27
+ UDSPopoverConfigProvider.displayName = "UDSPopoverConfigProvider";
28
+ function usePopoverConfig(options) {
29
+ const context = (0, react.useContext)(PopoverContext);
30
+ if (!context) throw new Error("usePopoverConfig must be used within a UDSConfigProvider or UDSPopoverConfigProvider");
31
+ const { placementMap, placement, ...contextRest } = context;
32
+ return {
33
+ ...contextRest,
34
+ ariaKitPlacement: placementMap[options?.placement ?? placement]
35
+ };
36
+ }
37
+
38
+ //#endregion
39
+ exports.UDSPopoverConfigProvider = UDSPopoverConfigProvider;
40
+ exports.usePopoverConfig = usePopoverConfig;
@@ -0,0 +1,28 @@
1
+
2
+ import { PopoverPlacement } from "../../../types/dist/index.cjs";
3
+ import { UDSPopoverConfigContextType } from "../../../runtime/popoverConfig.cjs";
4
+ import { PropsWithChildren } from "react";
5
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
6
+ import { PopoverProviderProps } from "@ariakit/react";
7
+
8
+ //#region src/components/client/Popover/UDSPopoverConfigProvider.d.ts
9
+ interface UDSPopoverConfigProviderProps extends PropsWithChildren {
10
+ value: UDSPopoverConfigContextType | {
11
+ type: 'merge';
12
+ value: Partial<UDSPopoverConfigContextType>;
13
+ };
14
+ }
15
+ declare const UDSPopoverConfigProvider: {
16
+ ({
17
+ children,
18
+ value
19
+ }: UDSPopoverConfigProviderProps): react_jsx_runtime0.JSX.Element;
20
+ displayName: string;
21
+ };
22
+ declare function usePopoverConfig(options?: {
23
+ placement?: PopoverPlacement;
24
+ }): Omit<UDSPopoverConfigContextType, 'placementMap' | 'placement'> & {
25
+ ariaKitPlacement: PopoverProviderProps['placement'];
26
+ };
27
+ //#endregion
28
+ export { type UDSPopoverConfigContextType, UDSPopoverConfigProvider, type UDSPopoverConfigProviderProps, usePopoverConfig };
@@ -0,0 +1,28 @@
1
+
2
+ import { PopoverPlacement } from "../../../types/dist/index.js";
3
+ import { UDSPopoverConfigContextType } from "../../../runtime/popoverConfig.js";
4
+ import { PropsWithChildren } from "react";
5
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
6
+ import { PopoverProviderProps } from "@ariakit/react";
7
+
8
+ //#region src/components/client/Popover/UDSPopoverConfigProvider.d.ts
9
+ interface UDSPopoverConfigProviderProps extends PropsWithChildren {
10
+ value: UDSPopoverConfigContextType | {
11
+ type: 'merge';
12
+ value: Partial<UDSPopoverConfigContextType>;
13
+ };
14
+ }
15
+ declare const UDSPopoverConfigProvider: {
16
+ ({
17
+ children,
18
+ value
19
+ }: UDSPopoverConfigProviderProps): react_jsx_runtime0.JSX.Element;
20
+ displayName: string;
21
+ };
22
+ declare function usePopoverConfig(options?: {
23
+ placement?: PopoverPlacement;
24
+ }): Omit<UDSPopoverConfigContextType, 'placementMap' | 'placement'> & {
25
+ ariaKitPlacement: PopoverProviderProps['placement'];
26
+ };
27
+ //#endregion
28
+ export { type UDSPopoverConfigContextType, UDSPopoverConfigProvider, type UDSPopoverConfigProviderProps, usePopoverConfig };
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ import { createContext, useContext } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+
6
+ //#region src/components/client/Popover/UDSPopoverConfigProvider.tsx
7
+ const PopoverContext = createContext(void 0);
8
+ const UDSPopoverConfigProvider = ({ children, value }) => {
9
+ const existingContext = useContext(PopoverContext);
10
+ if ("type" in value) {
11
+ if (!existingContext) throw new Error("Cannot merge context values without an existing PopoverContext");
12
+ return /* @__PURE__ */ jsx(PopoverContext.Provider, {
13
+ value: {
14
+ ...existingContext,
15
+ ...value.value
16
+ },
17
+ children
18
+ });
19
+ }
20
+ return /* @__PURE__ */ jsx(PopoverContext.Provider, {
21
+ value,
22
+ children
23
+ });
24
+ };
25
+ UDSPopoverConfigProvider.displayName = "UDSPopoverConfigProvider";
26
+ function usePopoverConfig(options) {
27
+ const context = useContext(PopoverContext);
28
+ if (!context) throw new Error("usePopoverConfig must be used within a UDSConfigProvider or UDSPopoverConfigProvider");
29
+ const { placementMap, placement, ...contextRest } = context;
30
+ return {
31
+ ...contextRest,
32
+ ariaKitPlacement: placementMap[options?.placement ?? placement]
33
+ };
34
+ }
35
+
36
+ //#endregion
37
+ export { UDSPopoverConfigProvider, usePopoverConfig };
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_components_client_Popover_UDSPopoverConfigProvider = require('./UDSPopoverConfigProvider.cjs');
5
+ const require_components_client_Popover_Popover = require('./Popover.cjs');
6
+ const require_components_client_Popover_PopoverContent = require('./PopoverContent.cjs');
7
+ const require_components_client_Popover_PopoverTrigger = require('./PopoverTrigger.cjs');
8
+
9
+ exports.Popover = require_components_client_Popover_Popover.Popover;
10
+ exports.PopoverContent = require_components_client_Popover_PopoverContent.PopoverContent;
11
+ exports.PopoverTrigger = require_components_client_Popover_PopoverTrigger.PopoverTrigger;
12
+ exports.UDSPopoverConfigProvider = require_components_client_Popover_UDSPopoverConfigProvider.UDSPopoverConfigProvider;
@@ -0,0 +1,7 @@
1
+
2
+ import { UniversalPopoverContentProps, UniversalPopoverProps, UniversalPopoverTriggerProps } from "../../../types/dist/index.cjs";
3
+ import { Popover } from "./Popover.cjs";
4
+ import { PopoverTrigger } from "./PopoverTrigger.cjs";
5
+ import { UDSPopoverConfigProvider, UDSPopoverConfigProviderProps } from "./UDSPopoverConfigProvider.cjs";
6
+ import { PopoverContent } from "./PopoverContent.cjs";
7
+ export { Popover, PopoverContent, type UniversalPopoverContentProps as PopoverContentProps, type UniversalPopoverProps as PopoverProps, PopoverTrigger, type UniversalPopoverTriggerProps as PopoverTriggerProps, UDSPopoverConfigProvider, type UDSPopoverConfigProviderProps };
@@ -0,0 +1,7 @@
1
+
2
+ import { UniversalPopoverContentProps, UniversalPopoverProps, UniversalPopoverTriggerProps } from "../../../types/dist/index.js";
3
+ import { Popover } from "./Popover.js";
4
+ import { PopoverTrigger } from "./PopoverTrigger.js";
5
+ import { UDSPopoverConfigProvider, UDSPopoverConfigProviderProps } from "./UDSPopoverConfigProvider.js";
6
+ import { PopoverContent } from "./PopoverContent.js";
7
+ export { Popover, PopoverContent, type UniversalPopoverContentProps as PopoverContentProps, type UniversalPopoverProps as PopoverProps, PopoverTrigger, type UniversalPopoverTriggerProps as PopoverTriggerProps, UDSPopoverConfigProvider, type UDSPopoverConfigProviderProps };
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ import { UDSPopoverConfigProvider } from "./UDSPopoverConfigProvider.js";
4
+ import { Popover } from "./Popover.js";
5
+ import { PopoverContent } from "./PopoverContent.js";
6
+ import { PopoverTrigger } from "./PopoverTrigger.js";
7
+
8
+ export { Popover, PopoverContent, PopoverTrigger, UDSPopoverConfigProvider };
@@ -42,14 +42,14 @@ const iconMap = {
42
42
  * <Toast variant="info" message="This is a toast" />
43
43
  *```
44
44
  *
45
- * @related [Tooltip](https://uds.build/docs/components/tooltip), Popover (coming soon)
45
+ * @related [Tooltip](https://uds.build/docs/components/tooltip), [Popover](https://uds.build/docs/components/popover)
46
46
  **/
47
47
  const Toast = ({ message, onClickCloseButton, size: sizeProp, variant: variantProp, actionButton, onClickActionButton, startIcon, closeIcon = _yahoo_uds_icons.Cross, closeToast, slotProps, className, id, reduceMotion: forceReduceMotion }) => {
48
48
  const { iconVariant, iconSize, buttonVariant, buttonSize, size, variant, textVariant, textColor } = require_components_client_Toast_UDSToastConfigProvider.useToastConfig(sizeProp, variantProp);
49
49
  const { className: startIconClassName, ...startIconProps } = slotProps?.startIcon ?? {};
50
50
  const { className: closeIconContainerClassName, ...closeIconContainerProps } = slotProps?.closeIconContainer ?? {};
51
51
  const { className: closeIconClassName, ...closeIconProps } = slotProps?.closeIcon ?? {};
52
- const cssAnimationDuration = (0, motion_react.useReducedMotion)() || forceReduceMotion ? "duration-0" : "duration-120";
52
+ const reducedMotion = (0, motion_react.useReducedMotion)() || forceReduceMotion;
53
53
  const handleClose = () => {
54
54
  closeToast?.();
55
55
  onClickCloseButton?.(id);
@@ -72,7 +72,7 @@ const Toast = ({ message, onClickCloseButton, size: sizeProp, variant: variantPr
72
72
  closeIconContainer: require_styles_styler.getStyles({
73
73
  spacing: "2",
74
74
  borderRadius: "full",
75
- className: require_styles_styler.cx(cssAnimationDuration, "transition-[background-color]", "bg-carbon-15/0", "hover:bg-carbon-15/10", "active:bg-carbon-15/15", "uds-ring")
75
+ className: require_styles_styler.cx(reducedMotion ? "duration-0" : "duration-120", "transition-[background-color]", "bg-carbon-15/0", "hover:bg-carbon-15/10", "active:bg-carbon-15/15", "uds-ring")
76
76
  }),
77
77
  closeIcon: require_styles_styler.getStyles({
78
78
  toastVariantCloseIcon: variant,
@@ -44,7 +44,7 @@ interface ToastProps extends UniversalToastProps, Partial<ReactToastifyContext>
44
44
  * <Toast variant="info" message="This is a toast" />
45
45
  *```
46
46
  *
47
- * @related [Tooltip](https://uds.build/docs/components/tooltip), Popover (coming soon)
47
+ * @related [Tooltip](https://uds.build/docs/components/tooltip), [Popover](https://uds.build/docs/components/popover)
48
48
  **/
49
49
  declare const Toast: {
50
50
  ({
@@ -44,7 +44,7 @@ interface ToastProps extends UniversalToastProps, Partial<ReactToastifyContext>
44
44
  * <Toast variant="info" message="This is a toast" />
45
45
  *```
46
46
  *
47
- * @related [Tooltip](https://uds.build/docs/components/tooltip), Popover (coming soon)
47
+ * @related [Tooltip](https://uds.build/docs/components/tooltip), [Popover](https://uds.build/docs/components/popover)
48
48
  **/
49
49
  declare const Toast: {
50
50
  ({
@@ -40,14 +40,14 @@ const iconMap = {
40
40
  * <Toast variant="info" message="This is a toast" />
41
41
  *```
42
42
  *
43
- * @related [Tooltip](https://uds.build/docs/components/tooltip), Popover (coming soon)
43
+ * @related [Tooltip](https://uds.build/docs/components/tooltip), [Popover](https://uds.build/docs/components/popover)
44
44
  **/
45
45
  const Toast = ({ message, onClickCloseButton, size: sizeProp, variant: variantProp, actionButton, onClickActionButton, startIcon, closeIcon = Cross, closeToast, slotProps, className, id, reduceMotion: forceReduceMotion }) => {
46
46
  const { iconVariant, iconSize, buttonVariant, buttonSize, size, variant, textVariant, textColor } = useToastConfig(sizeProp, variantProp);
47
47
  const { className: startIconClassName, ...startIconProps } = slotProps?.startIcon ?? {};
48
48
  const { className: closeIconContainerClassName, ...closeIconContainerProps } = slotProps?.closeIconContainer ?? {};
49
49
  const { className: closeIconClassName, ...closeIconProps } = slotProps?.closeIcon ?? {};
50
- const cssAnimationDuration = useReducedMotion() || forceReduceMotion ? "duration-0" : "duration-120";
50
+ const reducedMotion = useReducedMotion() || forceReduceMotion;
51
51
  const handleClose = () => {
52
52
  closeToast?.();
53
53
  onClickCloseButton?.(id);
@@ -70,7 +70,7 @@ const Toast = ({ message, onClickCloseButton, size: sizeProp, variant: variantPr
70
70
  closeIconContainer: getStyles({
71
71
  spacing: "2",
72
72
  borderRadius: "full",
73
- className: cx(cssAnimationDuration, "transition-[background-color]", "bg-carbon-15/0", "hover:bg-carbon-15/10", "active:bg-carbon-15/15", "uds-ring")
73
+ className: cx(reducedMotion ? "duration-0" : "duration-120", "transition-[background-color]", "bg-carbon-15/0", "hover:bg-carbon-15/10", "active:bg-carbon-15/15", "uds-ring")
74
74
  }),
75
75
  closeIcon: getStyles({
76
76
  toastVariantCloseIcon: variant,
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { Toast, ToastProps } from "./Toast.cjs";
3
+ import { ToastLoadingPromise, createToast } from "./createToast.cjs";
3
4
  import { ToastContainer, ToastContainerProps } from "./ToastContainer.cjs";
4
5
  import { ToastPortal, ToastPortalProps } from "./ToastPortal.cjs";
5
6
  import { UDSToastConfigProvider, UDSToastConfigProviderProps, useToastConfig } from "./UDSToastConfigProvider.cjs";
6
- import { ToastLoadingPromise, createToast } from "./createToast.cjs";
7
7
  export { Toast, ToastContainer, type ToastContainerProps, type ToastLoadingPromise, ToastPortal, type ToastPortalProps, type ToastProps, UDSToastConfigProvider, type UDSToastConfigProviderProps, createToast, useToastConfig };
@@ -1,7 +1,7 @@
1
1
 
2
2
  import { Toast, ToastProps } from "./Toast.js";
3
+ import { ToastLoadingPromise, createToast } from "./createToast.js";
3
4
  import { ToastContainer, ToastContainerProps } from "./ToastContainer.js";
4
5
  import { ToastPortal, ToastPortalProps } from "./ToastPortal.js";
5
6
  import { UDSToastConfigProvider, UDSToastConfigProviderProps, useToastConfig } from "./UDSToastConfigProvider.js";
6
- import { ToastLoadingPromise, createToast } from "./createToast.js";
7
7
  export { Toast, ToastContainer, type ToastContainerProps, type ToastLoadingPromise, ToastPortal, type ToastPortalProps, type ToastProps, UDSToastConfigProvider, type UDSToastConfigProviderProps, createToast, useToastConfig };
@@ -34,21 +34,21 @@ let _ariakit_react = require("@ariakit/react");
34
34
  * </Tooltip>
35
35
  *```
36
36
  *
37
- * @related [Toast](https://uds.build/docs/components/toast), Popover (coming soon).
37
+ * @related [Toast](https://uds.build/docs/components/toast), [Popover](https://uds.build/docs/components/popover)
38
38
  **/
39
39
  function Tooltip({ children, placement, open, portal = true }) {
40
- const hideOnHoverOutside = open === void 0;
41
- const controlledProps = open !== void 0 ? {
40
+ const isControlled = open !== void 0;
41
+ const controlledProps = isControlled ? {
42
42
  showTimeout: 0,
43
43
  hideTimeout: 0,
44
44
  timeout: 0,
45
- mounted: open
45
+ ...open ? { mounted: true } : {}
46
46
  } : void 0;
47
47
  const { animationDuration, ariaKitPlacement } = require_components_client_Tooltip_UDSTooltipConfigProvider.useTooltipConfig({ placement });
48
48
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_client_Tooltip_tooltipContext.TooltipInternalContext.Provider, {
49
49
  value: {
50
- hideOnHoverOutside,
51
- portal
50
+ portal,
51
+ isControlled
52
52
  },
53
53
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ariakit_react.TooltipProvider, {
54
54
  placement: ariaKitPlacement,
@@ -30,7 +30,7 @@ type TooltipProps = UniversalTooltipProps;
30
30
  * </Tooltip>
31
31
  *```
32
32
  *
33
- * @related [Toast](https://uds.build/docs/components/toast), Popover (coming soon).
33
+ * @related [Toast](https://uds.build/docs/components/toast), [Popover](https://uds.build/docs/components/popover)
34
34
  **/
35
35
  declare function Tooltip({
36
36
  children,
@@ -30,7 +30,7 @@ type TooltipProps = UniversalTooltipProps;
30
30
  * </Tooltip>
31
31
  *```
32
32
  *
33
- * @related [Toast](https://uds.build/docs/components/toast), Popover (coming soon).
33
+ * @related [Toast](https://uds.build/docs/components/toast), [Popover](https://uds.build/docs/components/popover)
34
34
  **/
35
35
  declare function Tooltip({
36
36
  children,