@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,96 @@
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
+ const require_components_client_Popover_UDSPopoverConfigProvider = require('./UDSPopoverConfigProvider.cjs');
7
+ let react = require("react");
8
+ let react_jsx_runtime = require("react/jsx-runtime");
9
+ let _ariakit_react = require("@ariakit/react");
10
+ let motion_react = require("motion/react");
11
+
12
+ //#region src/components/client/Popover/Popover.tsx
13
+ const POPOVER_OPEN_EVENT = "uds:popover-open";
14
+ /**
15
+ * **⚙️️ A Popover component that anchors to a trigger element
16
+ *
17
+ * @componentType Client component
18
+ *
19
+ * @description
20
+ * Popover is a floating surface used to display contextual content anchored to a trigger. It is typically used for lightweight interactions such as quick settings, inline actions, previews, and simple selection.
21
+ *
22
+ * Popover is a container component, the shell is consistent, but the content inside can vary widely depending on product needs.*
23
+ * @see
24
+ * Check out the {@link https://uds.build/docs/components/popover Popover Docs} for more info
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * 'use client';
29
+ * import { Popover, PopoverTrigger, PopoverContent, Button } from "@yahoo/uds";
30
+ *
31
+ * <Popover>
32
+ * <PopoverTrigger>
33
+ * <Button>Popover Trigger</Button>
34
+ * </PopoverTrigger>
35
+ * <PopoverContent>basic popover content</PopoverContent>
36
+ * </Popover>
37
+ *```
38
+ *
39
+ * @related [Toast](https://uds.build/docs/components/toast), [Tooltip](https://uds.build/docs/components/tooltip)
40
+ **/
41
+ function Popover({ children, placement, open, defaultOpen = false, portal = true, hideArrow = false, hideDismissButton = false, onClose, onOpen, reduceMotion: forceReduceMotion = false, disableAutoFocus = false, disableVerticalSpacing = false, disableHorizontalSpacing = false, sameWidth = false, gutter = 4 }) {
42
+ const controlledProps = open !== void 0 ? {
43
+ showTimeout: 0,
44
+ hideTimeout: 0,
45
+ timeout: 0,
46
+ ...open ? { mounted: true } : {}
47
+ } : void 0;
48
+ const { animationDuration: animationDurationConfig, ariaKitPlacement } = require_components_client_Popover_UDSPopoverConfigProvider.usePopoverConfig({ placement });
49
+ const id = (0, react.useId)();
50
+ const store = (0, _ariakit_react.usePopoverStore)({ defaultOpen });
51
+ const handleSetOpen = (0, react.useCallback)((newOpen) => {
52
+ if (newOpen) {
53
+ onOpen?.();
54
+ document.dispatchEvent(new CustomEvent(POPOVER_OPEN_EVENT, { detail: id }));
55
+ }
56
+ }, [onOpen, id]);
57
+ (0, react.useEffect)(() => {
58
+ const handler = (e) => {
59
+ if (("detail" in e ? e.detail : void 0) !== id) store?.setState("open", false);
60
+ };
61
+ document.addEventListener(POPOVER_OPEN_EVENT, handler);
62
+ return () => document.removeEventListener(POPOVER_OPEN_EVENT, handler);
63
+ }, [id, store]);
64
+ const isControlled = open !== void 0;
65
+ const reducedMotion = (0, motion_react.useReducedMotion)() || forceReduceMotion;
66
+ const animationDuration = reducedMotion ? 0 : animationDurationConfig;
67
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_client_Popover_PopoverContext.PopoverInternalContext.Provider, {
68
+ value: {
69
+ portal,
70
+ hideArrow,
71
+ hideDismissButton,
72
+ onClose,
73
+ isControlled,
74
+ animationDuration,
75
+ reducedMotion,
76
+ disableAutoFocus,
77
+ disableVerticalSpacing,
78
+ disableHorizontalSpacing,
79
+ sameWidth,
80
+ gutter
81
+ },
82
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ariakit_react.PopoverProvider, {
83
+ placement: ariaKitPlacement,
84
+ animated: animationDuration,
85
+ open,
86
+ setOpen: handleSetOpen,
87
+ store,
88
+ ...controlledProps,
89
+ children
90
+ })
91
+ });
92
+ }
93
+ Popover.displayName = "Popover";
94
+
95
+ //#endregion
96
+ exports.Popover = Popover;
@@ -0,0 +1,55 @@
1
+
2
+ import { UniversalPopoverProps } from "../../../types/dist/index.cjs";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/client/Popover/Popover.d.ts
6
+ type PopoverProps = UniversalPopoverProps;
7
+ /**
8
+ * **⚙️️ A Popover component that anchors to a trigger element
9
+ *
10
+ * @componentType Client component
11
+ *
12
+ * @description
13
+ * Popover is a floating surface used to display contextual content anchored to a trigger. It is typically used for lightweight interactions such as quick settings, inline actions, previews, and simple selection.
14
+ *
15
+ * Popover is a container component, the shell is consistent, but the content inside can vary widely depending on product needs.*
16
+ * @see
17
+ * Check out the {@link https://uds.build/docs/components/popover Popover Docs} for more info
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * 'use client';
22
+ * import { Popover, PopoverTrigger, PopoverContent, Button } from "@yahoo/uds";
23
+ *
24
+ * <Popover>
25
+ * <PopoverTrigger>
26
+ * <Button>Popover Trigger</Button>
27
+ * </PopoverTrigger>
28
+ * <PopoverContent>basic popover content</PopoverContent>
29
+ * </Popover>
30
+ *```
31
+ *
32
+ * @related [Toast](https://uds.build/docs/components/toast), [Tooltip](https://uds.build/docs/components/tooltip)
33
+ **/
34
+ declare function Popover({
35
+ children,
36
+ placement,
37
+ open,
38
+ defaultOpen,
39
+ portal,
40
+ hideArrow,
41
+ hideDismissButton,
42
+ onClose,
43
+ onOpen,
44
+ reduceMotion: forceReduceMotion,
45
+ disableAutoFocus,
46
+ disableVerticalSpacing,
47
+ disableHorizontalSpacing,
48
+ sameWidth,
49
+ gutter
50
+ }: PopoverProps): react_jsx_runtime0.JSX.Element;
51
+ declare namespace Popover {
52
+ var displayName: string;
53
+ }
54
+ //#endregion
55
+ export { Popover };
@@ -0,0 +1,55 @@
1
+
2
+ import { UniversalPopoverProps } from "../../../types/dist/index.js";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/client/Popover/Popover.d.ts
6
+ type PopoverProps = UniversalPopoverProps;
7
+ /**
8
+ * **⚙️️ A Popover component that anchors to a trigger element
9
+ *
10
+ * @componentType Client component
11
+ *
12
+ * @description
13
+ * Popover is a floating surface used to display contextual content anchored to a trigger. It is typically used for lightweight interactions such as quick settings, inline actions, previews, and simple selection.
14
+ *
15
+ * Popover is a container component, the shell is consistent, but the content inside can vary widely depending on product needs.*
16
+ * @see
17
+ * Check out the {@link https://uds.build/docs/components/popover Popover Docs} for more info
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * 'use client';
22
+ * import { Popover, PopoverTrigger, PopoverContent, Button } from "@yahoo/uds";
23
+ *
24
+ * <Popover>
25
+ * <PopoverTrigger>
26
+ * <Button>Popover Trigger</Button>
27
+ * </PopoverTrigger>
28
+ * <PopoverContent>basic popover content</PopoverContent>
29
+ * </Popover>
30
+ *```
31
+ *
32
+ * @related [Toast](https://uds.build/docs/components/toast), [Tooltip](https://uds.build/docs/components/tooltip)
33
+ **/
34
+ declare function Popover({
35
+ children,
36
+ placement,
37
+ open,
38
+ defaultOpen,
39
+ portal,
40
+ hideArrow,
41
+ hideDismissButton,
42
+ onClose,
43
+ onOpen,
44
+ reduceMotion: forceReduceMotion,
45
+ disableAutoFocus,
46
+ disableVerticalSpacing,
47
+ disableHorizontalSpacing,
48
+ sameWidth,
49
+ gutter
50
+ }: PopoverProps): react_jsx_runtime0.JSX.Element;
51
+ declare namespace Popover {
52
+ var displayName: string;
53
+ }
54
+ //#endregion
55
+ export { Popover };
@@ -0,0 +1,94 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ import { PopoverInternalContext } from "./PopoverContext.js";
4
+ import { usePopoverConfig } from "./UDSPopoverConfigProvider.js";
5
+ import { useCallback, useEffect, useId } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { PopoverProvider, usePopoverStore } from "@ariakit/react";
8
+ import { useReducedMotion } from "motion/react";
9
+
10
+ //#region src/components/client/Popover/Popover.tsx
11
+ const POPOVER_OPEN_EVENT = "uds:popover-open";
12
+ /**
13
+ * **⚙️️ A Popover component that anchors to a trigger element
14
+ *
15
+ * @componentType Client component
16
+ *
17
+ * @description
18
+ * Popover is a floating surface used to display contextual content anchored to a trigger. It is typically used for lightweight interactions such as quick settings, inline actions, previews, and simple selection.
19
+ *
20
+ * Popover is a container component, the shell is consistent, but the content inside can vary widely depending on product needs.*
21
+ * @see
22
+ * Check out the {@link https://uds.build/docs/components/popover Popover Docs} for more info
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * 'use client';
27
+ * import { Popover, PopoverTrigger, PopoverContent, Button } from "@yahoo/uds";
28
+ *
29
+ * <Popover>
30
+ * <PopoverTrigger>
31
+ * <Button>Popover Trigger</Button>
32
+ * </PopoverTrigger>
33
+ * <PopoverContent>basic popover content</PopoverContent>
34
+ * </Popover>
35
+ *```
36
+ *
37
+ * @related [Toast](https://uds.build/docs/components/toast), [Tooltip](https://uds.build/docs/components/tooltip)
38
+ **/
39
+ function Popover({ children, placement, open, defaultOpen = false, portal = true, hideArrow = false, hideDismissButton = false, onClose, onOpen, reduceMotion: forceReduceMotion = false, disableAutoFocus = false, disableVerticalSpacing = false, disableHorizontalSpacing = false, sameWidth = false, gutter = 4 }) {
40
+ const controlledProps = open !== void 0 ? {
41
+ showTimeout: 0,
42
+ hideTimeout: 0,
43
+ timeout: 0,
44
+ ...open ? { mounted: true } : {}
45
+ } : void 0;
46
+ const { animationDuration: animationDurationConfig, ariaKitPlacement } = usePopoverConfig({ placement });
47
+ const id = useId();
48
+ const store = usePopoverStore({ defaultOpen });
49
+ const handleSetOpen = useCallback((newOpen) => {
50
+ if (newOpen) {
51
+ onOpen?.();
52
+ document.dispatchEvent(new CustomEvent(POPOVER_OPEN_EVENT, { detail: id }));
53
+ }
54
+ }, [onOpen, id]);
55
+ useEffect(() => {
56
+ const handler = (e) => {
57
+ if (("detail" in e ? e.detail : void 0) !== id) store?.setState("open", false);
58
+ };
59
+ document.addEventListener(POPOVER_OPEN_EVENT, handler);
60
+ return () => document.removeEventListener(POPOVER_OPEN_EVENT, handler);
61
+ }, [id, store]);
62
+ const isControlled = open !== void 0;
63
+ const reducedMotion = useReducedMotion() || forceReduceMotion;
64
+ const animationDuration = reducedMotion ? 0 : animationDurationConfig;
65
+ return /* @__PURE__ */ jsx(PopoverInternalContext.Provider, {
66
+ value: {
67
+ portal,
68
+ hideArrow,
69
+ hideDismissButton,
70
+ onClose,
71
+ isControlled,
72
+ animationDuration,
73
+ reducedMotion,
74
+ disableAutoFocus,
75
+ disableVerticalSpacing,
76
+ disableHorizontalSpacing,
77
+ sameWidth,
78
+ gutter
79
+ },
80
+ children: /* @__PURE__ */ jsx(PopoverProvider, {
81
+ placement: ariaKitPlacement,
82
+ animated: animationDuration,
83
+ open,
84
+ setOpen: handleSetOpen,
85
+ store,
86
+ ...controlledProps,
87
+ children
88
+ })
89
+ });
90
+ }
91
+ Popover.displayName = "Popover";
92
+
93
+ //#endregion
94
+ export { Popover };
@@ -0,0 +1,175 @@
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_index = require('../../../fixtures/dist/index.cjs');
6
+ const require_styles_styler = require('../../../styles/styler.cjs');
7
+ const require_components_Box = require('../../Box.cjs');
8
+ const require_components_IconSlot = require('../../IconSlot.cjs');
9
+ const require_components_client_Pressable = require('../Pressable.cjs');
10
+ const require_components_client_Popover_PopoverContext = require('./PopoverContext.cjs');
11
+ const require_components_client_Popover_UDSPopoverConfigProvider = require('./UDSPopoverConfigProvider.cjs');
12
+ const require_hooks_useForkRef = require('../../../hooks/useForkRef.cjs');
13
+ const require_hooks_useSvgFloatingContent = require('../../../hooks/useSvgFloatingContent.cjs');
14
+ const require_components_SvgFloatingOverlay = require('../../SvgFloatingOverlay.cjs');
15
+ let react = require("react");
16
+ let react_jsx_runtime = require("react/jsx-runtime");
17
+ let _yahoo_uds_icons = require("@yahoo/uds-icons");
18
+ let _ariakit_react = require("@ariakit/react");
19
+
20
+ //#region src/components/client/Popover/PopoverContent.tsx
21
+ const ARROW_HEIGHT = 12;
22
+ const ARROW_WIDTH = 22;
23
+ const ARROW_TIP_RADIUS_FRACTION = .3;
24
+ const PopoverContent = (0, react.forwardRef)(function PopoverContent({ children, className, closeIcon = _yahoo_uds_icons.Cross, slotProps, maxWidth, maxHeight }, ref) {
25
+ const store = (0, _ariakit_react.usePopoverContext)();
26
+ const open = (0, _ariakit_react.useStoreState)(store, "open");
27
+ const internalContext = (0, react.useContext)(require_components_client_Popover_PopoverContext.PopoverInternalContext);
28
+ const disableVerticalSpacing = internalContext?.disableVerticalSpacing ?? false;
29
+ const disableHorizontalSpacing = internalContext?.disableHorizontalSpacing ?? false;
30
+ const sameWidth = internalContext?.sameWidth ?? false;
31
+ const gutter = internalContext?.gutter ?? 4;
32
+ const currentPlacement = (0, _ariakit_react.useStoreState)(store, "currentPlacement");
33
+ const placement = (0, _ariakit_react.useStoreState)(store, "placement");
34
+ const effectivePlacement = currentPlacement ?? placement ?? "top";
35
+ const { borderRadius, gap, spacingHorizontal, spacingVertical, dismissButtonSpacing, dismissIconSize } = require_components_client_Popover_UDSPopoverConfigProvider.usePopoverConfig();
36
+ const defaultBorderRadius = borderRadius["default"];
37
+ const defaultGap = gap["default"];
38
+ const defaultSpacingHorizontal = spacingHorizontal["default"];
39
+ const defaultSpacingVertical = spacingVertical["default"];
40
+ const defaultDismissButtonSpacing = require_index.spacingMap[dismissButtonSpacing["default"]];
41
+ const defaultDismissButtonSize = dismissIconSize["default"] + 2 * defaultDismissButtonSpacing;
42
+ const arrowRef = (0, react.useRef)(null);
43
+ const reducedMotion = internalContext ? internalContext.reducedMotion : false;
44
+ const animationDuration = reducedMotion || !internalContext ? 0 : internalContext.animationDuration;
45
+ const { internalRef, shift, onPositionUpdate, ...svgFloatingContentProps } = require_hooks_useSvgFloatingContent.useSvgFloatingContent({
46
+ open: open ?? false,
47
+ effectivePlacement,
48
+ borderRadius: defaultBorderRadius,
49
+ arrowRef,
50
+ animationDuration,
51
+ hideArrow: internalContext?.hideArrow,
52
+ arrowWidth: ARROW_WIDTH,
53
+ arrowHeight: ARROW_HEIGHT,
54
+ arrowTipRadiusFraction: ARROW_TIP_RADIUS_FRACTION
55
+ });
56
+ const mergedRef = require_hooks_useForkRef.useForkRef(ref, internalRef);
57
+ const { className: closeIconClassName, ...closeIconProps } = slotProps?.closeIcon ?? {};
58
+ const { className: closeIconContainerClassName, ...closeIconContainerProps } = slotProps?.closeIconContainer ?? {};
59
+ const classNames = {
60
+ root: require_styles_styler.getStyles({
61
+ popoverSizeRoot: "default",
62
+ popoverVariantRoot: "default",
63
+ display: "flex",
64
+ position: "relative",
65
+ className: require_styles_styler.cx("z-[9999]", "outline-none", "focus-visible:outline-none", className)
66
+ }),
67
+ contentWrapper: require_styles_styler.getStyles({
68
+ display: "block",
69
+ spacingTop: disableVerticalSpacing ? "0" : defaultSpacingVertical,
70
+ spacingStart: disableHorizontalSpacing ? "0" : defaultSpacingHorizontal,
71
+ spacingBottom: disableVerticalSpacing ? "0" : defaultSpacingVertical,
72
+ spacingEnd: internalContext?.hideDismissButton ? disableHorizontalSpacing ? "0" : defaultSpacingHorizontal : void 0
73
+ }),
74
+ svgBase: require_styles_styler.getStyles({
75
+ popoverSizeSvgBase: "default",
76
+ popoverVariantSvgBase: "default",
77
+ className: require_styles_styler.cx("uds-bgBlurFillFallback")
78
+ }),
79
+ svgBorder: require_styles_styler.getStyles({
80
+ popoverSizeSvgBorder: "default",
81
+ popoverVariantSvgBorder: "default"
82
+ }),
83
+ blur: require_styles_styler.getStyles({
84
+ popoverVariantBlur: "default",
85
+ position: "absolute",
86
+ width: "full",
87
+ height: "full",
88
+ className: require_styles_styler.cx("uds-bgBlurFallback", "top-0", "left-0", "z-[1]")
89
+ }),
90
+ closeIconContainer: require_styles_styler.getStyles({
91
+ flexShrink: "0",
92
+ borderRadius: "full",
93
+ alignItems: "center",
94
+ justifyContent: "center",
95
+ display: "flex",
96
+ 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")
97
+ }),
98
+ closeIcon: require_styles_styler.getStyles({
99
+ popoverVariantCloseIcon: "default",
100
+ popoverSizeCloseIcon: "default"
101
+ })
102
+ };
103
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_ariakit_react.Popover, {
104
+ hideOnInteractOutside: (event) => {
105
+ if (internalContext && !internalContext.isControlled) return true;
106
+ internalContext?.onClose?.(event);
107
+ return false;
108
+ },
109
+ ref: mergedRef,
110
+ className: classNames.root,
111
+ portal: internalContext ? internalContext.portal : true,
112
+ gutter: internalContext?.hideArrow ? gutter : ARROW_HEIGHT + gutter,
113
+ updatePosition: onPositionUpdate,
114
+ style: {
115
+ ...shift.x !== 0 || shift.y !== 0 ? { transform: `translate(${shift.x}px, ${shift.y}px)` } : {},
116
+ maxWidth,
117
+ maxHeight
118
+ },
119
+ onClose: internalContext?.onClose,
120
+ sameWidth,
121
+ autoFocusOnShow: internalContext?.disableAutoFocus ? false : (element) => {
122
+ element?.focus({ preventScroll: true });
123
+ return false;
124
+ },
125
+ autoFocusOnHide: !internalContext?.disableAutoFocus,
126
+ children: [
127
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_SvgFloatingOverlay.SvgFloatingOverlay, {
128
+ blurClassName: classNames.blur,
129
+ svgClassNames: {
130
+ base: classNames.svgBase,
131
+ border: classNames.svgBorder
132
+ },
133
+ arrowHeight: ARROW_HEIGHT,
134
+ contentWrapperSlotProps: { alignItems: "flex-start" },
135
+ borderRadius: defaultBorderRadius,
136
+ svgBaseStyle: slotProps?.svgBase?.style,
137
+ svgBorderStyle: slotProps?.svgBorder?.style,
138
+ ...svgFloatingContentProps,
139
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Box.Box, {
140
+ className: require_styles_styler.cx(classNames.contentWrapper),
141
+ style: { paddingInlineEnd: internalContext?.hideDismissButton || disableHorizontalSpacing ? void 0 : require_index.spacingMap[defaultGap] + require_index.spacingMap[defaultSpacingHorizontal] + defaultDismissButtonSize },
142
+ children
143
+ })
144
+ }),
145
+ !internalContext?.hideDismissButton && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ariakit_react.PopoverDismiss, { render: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_client_Pressable.Pressable, {
146
+ className: require_styles_styler.cx(classNames.closeIconContainer, "absolute", "z-[4]", closeIconContainerClassName),
147
+ ...closeIconContainerProps,
148
+ style: {
149
+ ...closeIconContainerProps?.style,
150
+ top: require_index.spacingMap[defaultSpacingVertical],
151
+ insetInlineEnd: require_index.spacingMap[defaultSpacingHorizontal],
152
+ width: defaultDismissButtonSize,
153
+ height: defaultDismissButtonSize,
154
+ ...svgFloatingContentProps.childTransitionStyle
155
+ },
156
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_IconSlot.IconSlot, {
157
+ icon: closeIcon,
158
+ iconProps: {
159
+ className: require_styles_styler.cx(classNames.closeIcon, closeIconClassName),
160
+ ...closeIconProps
161
+ }
162
+ })
163
+ }) }),
164
+ !internalContext?.hideArrow && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ariakit_react.PopoverArrow, {
165
+ size: 1,
166
+ ref: arrowRef,
167
+ style: { opacity: 0 }
168
+ })
169
+ ]
170
+ });
171
+ });
172
+ PopoverContent.displayName = "PopoverContent";
173
+
174
+ //#endregion
175
+ exports.PopoverContent = PopoverContent;
@@ -0,0 +1,26 @@
1
+
2
+ import { IconPropsWithSVGProps, UniversalPopoverContentProps } from "../../../types/dist/index.cjs";
3
+ import { PressableProps } from "../Pressable.cjs";
4
+ import "../../../index.cjs";
5
+ import * as react from "react";
6
+ import { CSSProperties } from "react";
7
+
8
+ //#region src/components/client/Popover/PopoverContent.d.ts
9
+ type DataAttributes = {
10
+ [name: `data-${string}`]: string;
11
+ };
12
+ interface PopoverContentProps extends UniversalPopoverContentProps {
13
+ slotProps?: {
14
+ closeIcon?: Partial<IconPropsWithSVGProps & DataAttributes>;
15
+ closeIconContainer?: Partial<PressableProps & DataAttributes>;
16
+ svgBase?: {
17
+ style?: CSSProperties & Record<`--${string}`, string | undefined>;
18
+ };
19
+ svgBorder?: {
20
+ style?: CSSProperties & Record<`--${string}`, string | undefined>;
21
+ };
22
+ };
23
+ }
24
+ declare const PopoverContent: react.ForwardRefExoticComponent<PopoverContentProps & react.RefAttributes<HTMLInputElement>>;
25
+ //#endregion
26
+ export { PopoverContent };
@@ -0,0 +1,26 @@
1
+
2
+ import { IconPropsWithSVGProps, UniversalPopoverContentProps } from "../../../types/dist/index.js";
3
+ import { PressableProps } from "../Pressable.js";
4
+ import "../../../index.js";
5
+ import * as react from "react";
6
+ import { CSSProperties } from "react";
7
+
8
+ //#region src/components/client/Popover/PopoverContent.d.ts
9
+ type DataAttributes = {
10
+ [name: `data-${string}`]: string;
11
+ };
12
+ interface PopoverContentProps extends UniversalPopoverContentProps {
13
+ slotProps?: {
14
+ closeIcon?: Partial<IconPropsWithSVGProps & DataAttributes>;
15
+ closeIconContainer?: Partial<PressableProps & DataAttributes>;
16
+ svgBase?: {
17
+ style?: CSSProperties & Record<`--${string}`, string | undefined>;
18
+ };
19
+ svgBorder?: {
20
+ style?: CSSProperties & Record<`--${string}`, string | undefined>;
21
+ };
22
+ };
23
+ }
24
+ declare const PopoverContent: react.ForwardRefExoticComponent<PopoverContentProps & react.RefAttributes<HTMLInputElement>>;
25
+ //#endregion
26
+ export { PopoverContent };