@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.
Files changed (146) hide show
  1. package/dist/bin/generateTheme.mjs +7 -2
  2. package/dist/bin/mobile/scripts/utils/configToRNMappings.mjs +4 -0
  3. package/dist/components/Popover/Popover.cjs +92 -0
  4. package/dist/components/Popover/Popover.d.cts +26 -0
  5. package/dist/components/Popover/Popover.d.cts.map +1 -0
  6. package/dist/components/Popover/Popover.d.ts +26 -0
  7. package/dist/components/Popover/Popover.d.ts.map +1 -0
  8. package/dist/components/Popover/Popover.js +92 -0
  9. package/dist/components/Popover/Popover.js.map +1 -0
  10. package/dist/components/Popover/PopoverContent.cjs +124 -0
  11. package/dist/components/Popover/PopoverContent.d.cts +15 -0
  12. package/dist/components/Popover/PopoverContent.d.cts.map +1 -0
  13. package/dist/components/Popover/PopoverContent.d.ts +15 -0
  14. package/dist/components/Popover/PopoverContent.d.ts.map +1 -0
  15. package/dist/components/Popover/PopoverContent.js +124 -0
  16. package/dist/components/Popover/PopoverContent.js.map +1 -0
  17. package/dist/components/Popover/PopoverContext.cjs +14 -0
  18. package/dist/components/Popover/PopoverContext.d.cts +10 -0
  19. package/dist/components/Popover/PopoverContext.d.cts.map +1 -0
  20. package/dist/components/Popover/PopoverContext.d.ts +10 -0
  21. package/dist/components/Popover/PopoverContext.d.ts.map +1 -0
  22. package/dist/components/Popover/PopoverContext.js +13 -0
  23. package/dist/components/Popover/PopoverContext.js.map +1 -0
  24. package/dist/components/Popover/PopoverDescription.cjs +23 -0
  25. package/dist/components/Popover/PopoverDescription.d.cts +15 -0
  26. package/dist/components/Popover/PopoverDescription.d.cts.map +1 -0
  27. package/dist/components/Popover/PopoverDescription.d.ts +15 -0
  28. package/dist/components/Popover/PopoverDescription.d.ts.map +1 -0
  29. package/dist/components/Popover/PopoverDescription.js +23 -0
  30. package/dist/components/Popover/PopoverDescription.js.map +1 -0
  31. package/dist/components/Popover/PopoverDismiss.cjs +22 -0
  32. package/dist/components/Popover/PopoverDismiss.d.cts +15 -0
  33. package/dist/components/Popover/PopoverDismiss.d.cts.map +1 -0
  34. package/dist/components/Popover/PopoverDismiss.d.ts +15 -0
  35. package/dist/components/Popover/PopoverDismiss.d.ts.map +1 -0
  36. package/dist/components/Popover/PopoverDismiss.js +22 -0
  37. package/dist/components/Popover/PopoverDismiss.js.map +1 -0
  38. package/dist/components/Popover/PopoverFrame.cjs +56 -0
  39. package/dist/components/Popover/PopoverFrame.d.cts +23 -0
  40. package/dist/components/Popover/PopoverFrame.d.cts.map +1 -0
  41. package/dist/components/Popover/PopoverFrame.d.ts +23 -0
  42. package/dist/components/Popover/PopoverFrame.d.ts.map +1 -0
  43. package/dist/components/Popover/PopoverFrame.js +55 -0
  44. package/dist/components/Popover/PopoverFrame.js.map +1 -0
  45. package/dist/components/Popover/PopoverPortalLayer.cjs +45 -0
  46. package/dist/components/Popover/PopoverPortalLayer.d.cts +15 -0
  47. package/dist/components/Popover/PopoverPortalLayer.d.cts.map +1 -0
  48. package/dist/components/Popover/PopoverPortalLayer.d.ts +15 -0
  49. package/dist/components/Popover/PopoverPortalLayer.d.ts.map +1 -0
  50. package/dist/components/Popover/PopoverPortalLayer.js +45 -0
  51. package/dist/components/Popover/PopoverPortalLayer.js.map +1 -0
  52. package/dist/components/Popover/PopoverSurface.cjs +228 -0
  53. package/dist/components/Popover/PopoverSurface.d.cts +26 -0
  54. package/dist/components/Popover/PopoverSurface.d.cts.map +1 -0
  55. package/dist/components/Popover/PopoverSurface.d.ts +26 -0
  56. package/dist/components/Popover/PopoverSurface.d.ts.map +1 -0
  57. package/dist/components/Popover/PopoverSurface.js +227 -0
  58. package/dist/components/Popover/PopoverSurface.js.map +1 -0
  59. package/dist/components/Popover/PopoverTitle.cjs +23 -0
  60. package/dist/components/Popover/PopoverTitle.d.cts +15 -0
  61. package/dist/components/Popover/PopoverTitle.d.cts.map +1 -0
  62. package/dist/components/Popover/PopoverTitle.d.ts +15 -0
  63. package/dist/components/Popover/PopoverTitle.d.ts.map +1 -0
  64. package/dist/components/Popover/PopoverTitle.js +23 -0
  65. package/dist/components/Popover/PopoverTitle.js.map +1 -0
  66. package/dist/components/Popover/PopoverTrigger.cjs +88 -0
  67. package/dist/components/Popover/PopoverTrigger.d.cts +15 -0
  68. package/dist/components/Popover/PopoverTrigger.d.cts.map +1 -0
  69. package/dist/components/Popover/PopoverTrigger.d.ts +15 -0
  70. package/dist/components/Popover/PopoverTrigger.d.ts.map +1 -0
  71. package/dist/components/Popover/PopoverTrigger.js +88 -0
  72. package/dist/components/Popover/PopoverTrigger.js.map +1 -0
  73. package/dist/components/Popover/index.cjs +14 -0
  74. package/dist/components/Popover/index.d.cts +9 -0
  75. package/dist/components/Popover/index.d.ts +9 -0
  76. package/dist/components/Popover/index.js +8 -0
  77. package/dist/components/Popover/popoverFrameGeometry.cjs +177 -0
  78. package/dist/components/Popover/popoverFrameGeometry.d.cts +48 -0
  79. package/dist/components/Popover/popoverFrameGeometry.d.cts.map +1 -0
  80. package/dist/components/Popover/popoverFrameGeometry.d.ts +48 -0
  81. package/dist/components/Popover/popoverFrameGeometry.d.ts.map +1 -0
  82. package/dist/components/Popover/popoverFrameGeometry.js +177 -0
  83. package/dist/components/Popover/popoverFrameGeometry.js.map +1 -0
  84. package/dist/components/Popover/popoverLayer.cjs +16 -0
  85. package/dist/components/Popover/popoverLayer.d.cts +8 -0
  86. package/dist/components/Popover/popoverLayer.d.cts.map +1 -0
  87. package/dist/components/Popover/popoverLayer.d.ts +8 -0
  88. package/dist/components/Popover/popoverLayer.d.ts.map +1 -0
  89. package/dist/components/Popover/popoverLayer.js +16 -0
  90. package/dist/components/Popover/popoverLayer.js.map +1 -0
  91. package/dist/components/Popover/types.cjs +1 -0
  92. package/dist/components/Popover/types.d.cts +170 -0
  93. package/dist/components/Popover/types.d.cts.map +1 -0
  94. package/dist/components/Popover/types.d.ts +170 -0
  95. package/dist/components/Popover/types.d.ts.map +1 -0
  96. package/dist/components/Popover/types.js +1 -0
  97. package/dist/components/Toast/ToastProvider.cjs +1 -1
  98. package/dist/components/Toast/ToastProvider.js +1 -1
  99. package/dist/components/internal/Overlay/index.cjs +4 -0
  100. package/dist/components/internal/Overlay/index.d.cts +4 -2
  101. package/dist/components/internal/Overlay/index.d.ts +4 -2
  102. package/dist/components/internal/Overlay/index.js +3 -1
  103. package/dist/components/internal/Overlay/types.d.cts +47 -1
  104. package/dist/components/internal/Overlay/types.d.cts.map +1 -1
  105. package/dist/components/internal/Overlay/types.d.ts +47 -1
  106. package/dist/components/internal/Overlay/types.d.ts.map +1 -1
  107. package/dist/components/internal/Overlay/useAnchoredPosition.cjs +225 -0
  108. package/dist/components/internal/Overlay/useAnchoredPosition.d.cts +22 -0
  109. package/dist/components/internal/Overlay/useAnchoredPosition.d.cts.map +1 -0
  110. package/dist/components/internal/Overlay/useAnchoredPosition.d.ts +22 -0
  111. package/dist/components/internal/Overlay/useAnchoredPosition.d.ts.map +1 -0
  112. package/dist/components/internal/Overlay/useAnchoredPosition.js +225 -0
  113. package/dist/components/internal/Overlay/useAnchoredPosition.js.map +1 -0
  114. package/dist/components/internal/Overlay/useOverlayDismiss.cjs +22 -0
  115. package/dist/components/internal/Overlay/useOverlayDismiss.d.cts +12 -0
  116. package/dist/components/internal/Overlay/useOverlayDismiss.d.cts.map +1 -0
  117. package/dist/components/internal/Overlay/useOverlayDismiss.d.ts +12 -0
  118. package/dist/components/internal/Overlay/useOverlayDismiss.d.ts.map +1 -0
  119. package/dist/components/internal/Overlay/useOverlayDismiss.js +22 -0
  120. package/dist/components/internal/Overlay/useOverlayDismiss.js.map +1 -0
  121. package/dist/jest/mocks/react-native.cjs +14 -0
  122. package/dist/jest/mocks/react-native.d.cts +29 -1
  123. package/dist/jest/mocks/react-native.d.cts.map +1 -1
  124. package/dist/jest/mocks/react-native.d.ts +29 -1
  125. package/dist/jest/mocks/react-native.d.ts.map +1 -1
  126. package/dist/jest/mocks/react-native.js +13 -1
  127. package/dist/jest/mocks/react-native.js.map +1 -1
  128. package/dist/jest/mocks/styles.cjs +60 -0
  129. package/dist/jest/mocks/styles.d.cts +5 -2
  130. package/dist/jest/mocks/styles.d.cts.map +1 -1
  131. package/dist/jest/mocks/styles.d.ts +5 -2
  132. package/dist/jest/mocks/styles.d.ts.map +1 -1
  133. package/dist/jest/mocks/styles.js +58 -1
  134. package/dist/jest/mocks/styles.js.map +1 -1
  135. package/dist/jest/setup.cjs +46 -3
  136. package/dist/jest/setup.d.cts.map +1 -1
  137. package/dist/jest/setup.d.ts.map +1 -1
  138. package/dist/jest/setup.js +46 -3
  139. package/dist/jest/setup.js.map +1 -1
  140. package/dist/types/dist/index.d.cts.map +1 -1
  141. package/dist/types/dist/index.d.ts.map +1 -1
  142. package/generated/styles.cjs +6 -0
  143. package/generated/styles.d.ts +13 -1
  144. package/generated/styles.mjs +6 -0
  145. package/generated/unistyles.d.ts +13 -0
  146. package/package.json +11 -1
@@ -0,0 +1,13 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { createContext, useContext } from "react";
3
+ //#region src/components/Popover/PopoverContext.tsx
4
+ const PopoverContext = createContext(null);
5
+ function usePopoverContext() {
6
+ const context = useContext(PopoverContext);
7
+ if (!context) throw new Error("Popover components must be used inside a Popover.");
8
+ return context;
9
+ }
10
+ //#endregion
11
+ export { PopoverContext, usePopoverContext };
12
+
13
+ //# sourceMappingURL=PopoverContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverContext.js","names":[],"sources":["../../../src/components/Popover/PopoverContext.tsx"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nimport type { PopoverContextValue } from './types';\n\nconst PopoverContext = createContext<PopoverContextValue | null>(null);\n\nfunction usePopoverContext(): PopoverContextValue {\n const context = useContext(PopoverContext);\n\n if (!context) {\n throw new Error('Popover components must be used inside a Popover.');\n }\n\n return context;\n}\n\nexport { PopoverContext, usePopoverContext };\n"],"mappings":";;;AAIA,MAAM,iBAAiB,cAA0C,KAAK;AAEtE,SAAS,oBAAyC;CAChD,MAAM,UAAU,WAAW,eAAe;CAE1C,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,oDAAoD;CAGtE,OAAO"}
@@ -0,0 +1,23 @@
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
+ const require_components_Text = require("../Text.cjs");
5
+ let react = require("react");
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+ //#region src/components/Popover/PopoverDescription.tsx
8
+ /**
9
+ * Description text for {@link PopoverContent}.
10
+ *
11
+ * Provides the default popover body typography while accepting the standard
12
+ * mobile {@link Text} props.
13
+ */
14
+ const PopoverDescription = (0, react.memo)(function PopoverDescription({ variant = "label2", color = "secondary", ...props }) {
15
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Text.Text, {
16
+ variant,
17
+ color,
18
+ ...props
19
+ });
20
+ });
21
+ PopoverDescription.displayName = "PopoverDescription";
22
+ //#endregion
23
+ exports.PopoverDescription = PopoverDescription;
@@ -0,0 +1,15 @@
1
+
2
+ import { TextProps } from "../Text.cjs";
3
+ import * as _$react from "react";
4
+
5
+ //#region src/components/Popover/PopoverDescription.d.ts
6
+ /**
7
+ * Description text for {@link PopoverContent}.
8
+ *
9
+ * Provides the default popover body typography while accepting the standard
10
+ * mobile {@link Text} props.
11
+ */
12
+ declare const PopoverDescription: _$react.NamedExoticComponent<TextProps>;
13
+ //#endregion
14
+ export { PopoverDescription };
15
+ //# sourceMappingURL=PopoverDescription.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverDescription.d.cts","names":[],"sources":["../../../src/components/Popover/PopoverDescription.tsx"],"mappings":";;;;;;;;;AAWwB;;cAAlB,kBAAA,EAAkB,OAAA,CAAA,oBAAA,CAMtB,SAAA"}
@@ -0,0 +1,15 @@
1
+
2
+ import { TextProps } from "../Text.js";
3
+ import * as _$react from "react";
4
+
5
+ //#region src/components/Popover/PopoverDescription.d.ts
6
+ /**
7
+ * Description text for {@link PopoverContent}.
8
+ *
9
+ * Provides the default popover body typography while accepting the standard
10
+ * mobile {@link Text} props.
11
+ */
12
+ declare const PopoverDescription: _$react.NamedExoticComponent<TextProps>;
13
+ //#endregion
14
+ export { PopoverDescription };
15
+ //# sourceMappingURL=PopoverDescription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverDescription.d.ts","names":[],"sources":["../../../src/components/Popover/PopoverDescription.tsx"],"mappings":";;;;;;;;;AAWwB;;cAAlB,kBAAA,EAAkB,OAAA,CAAA,oBAAA,CAMtB,SAAA"}
@@ -0,0 +1,23 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { Text } from "../Text.js";
3
+ import { memo } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/components/Popover/PopoverDescription.tsx
6
+ /**
7
+ * Description text for {@link PopoverContent}.
8
+ *
9
+ * Provides the default popover body typography while accepting the standard
10
+ * mobile {@link Text} props.
11
+ */
12
+ const PopoverDescription = memo(function PopoverDescription({ variant = "label2", color = "secondary", ...props }) {
13
+ return /* @__PURE__ */ jsx(Text, {
14
+ variant,
15
+ color,
16
+ ...props
17
+ });
18
+ });
19
+ PopoverDescription.displayName = "PopoverDescription";
20
+ //#endregion
21
+ export { PopoverDescription };
22
+
23
+ //# sourceMappingURL=PopoverDescription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverDescription.js","names":[],"sources":["../../../src/components/Popover/PopoverDescription.tsx"],"sourcesContent":["import { memo } from 'react';\n\nimport { Text } from '../Text';\nimport type { PopoverDescriptionProps } from './types';\n\n/**\n * Description text for {@link PopoverContent}.\n *\n * Provides the default popover body typography while accepting the standard\n * mobile {@link Text} props.\n */\nconst PopoverDescription = memo(function PopoverDescription({\n variant = 'label2',\n color = 'secondary',\n ...props\n}: PopoverDescriptionProps) {\n return <Text variant={variant} color={color} {...props} />;\n});\n\nPopoverDescription.displayName = 'PopoverDescription';\n\nexport { PopoverDescription };\n"],"mappings":";;;;;;;;;;;AAWA,MAAM,qBAAqB,KAAK,SAAS,mBAAmB,EAC1D,UAAU,UACV,QAAQ,aACR,GAAG,SACuB;CAC1B,OAAO,oBAAC,MAAD;EAAe;EAAgB;EAAO,GAAI;EAAS,CAAA;EAC1D;AAEF,mBAAmB,cAAc"}
@@ -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
+ const require_components_Popover_PopoverContext = require("./PopoverContext.cjs");
5
+ let react = require("react");
6
+ //#region src/components/Popover/PopoverDismiss.tsx
7
+ /**
8
+ * Dismiss control for {@link Popover}.
9
+ *
10
+ * Clones the rendered element with an `onPress` handler that closes the nearest
11
+ * popover.
12
+ */
13
+ const PopoverDismiss = (0, react.memo)(function PopoverDismiss({ render }) {
14
+ const context = require_components_Popover_PopoverContext.usePopoverContext();
15
+ return (0, react.cloneElement)(render, { onPress: (0, react.useCallback)((event) => {
16
+ render.props.onPress?.(event);
17
+ context.setOpen(false);
18
+ }, [context, render.props]) });
19
+ });
20
+ PopoverDismiss.displayName = "PopoverDismiss";
21
+ //#endregion
22
+ exports.PopoverDismiss = PopoverDismiss;
@@ -0,0 +1,15 @@
1
+
2
+ import { PopoverDismissProps } from "./types.cjs";
3
+ import * as _$react from "react";
4
+
5
+ //#region src/components/Popover/PopoverDismiss.d.ts
6
+ /**
7
+ * Dismiss control for {@link Popover}.
8
+ *
9
+ * Clones the rendered element with an `onPress` handler that closes the nearest
10
+ * popover.
11
+ */
12
+ declare const PopoverDismiss: _$react.NamedExoticComponent<PopoverDismissProps>;
13
+ //#endregion
14
+ export { PopoverDismiss };
15
+ //# sourceMappingURL=PopoverDismiss.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverDismiss.d.cts","names":[],"sources":["../../../src/components/Popover/PopoverDismiss.tsx"],"mappings":";;;;;;;;AAKmD;;;cAQ7C,cAAA,EAAc,OAAA,CAAA,oBAAA,CAAA,mBAAA"}
@@ -0,0 +1,15 @@
1
+
2
+ import { PopoverDismissProps } from "./types.js";
3
+ import * as _$react from "react";
4
+
5
+ //#region src/components/Popover/PopoverDismiss.d.ts
6
+ /**
7
+ * Dismiss control for {@link Popover}.
8
+ *
9
+ * Clones the rendered element with an `onPress` handler that closes the nearest
10
+ * popover.
11
+ */
12
+ declare const PopoverDismiss: _$react.NamedExoticComponent<PopoverDismissProps>;
13
+ //#endregion
14
+ export { PopoverDismiss };
15
+ //# sourceMappingURL=PopoverDismiss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverDismiss.d.ts","names":[],"sources":["../../../src/components/Popover/PopoverDismiss.tsx"],"mappings":";;;;;;;;AAKmD;;;cAQ7C,cAAA,EAAc,OAAA,CAAA,oBAAA,CAAA,mBAAA"}
@@ -0,0 +1,22 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { usePopoverContext } from "./PopoverContext.js";
3
+ import { cloneElement, memo, useCallback } from "react";
4
+ //#region src/components/Popover/PopoverDismiss.tsx
5
+ /**
6
+ * Dismiss control for {@link Popover}.
7
+ *
8
+ * Clones the rendered element with an `onPress` handler that closes the nearest
9
+ * popover.
10
+ */
11
+ const PopoverDismiss = memo(function PopoverDismiss({ render }) {
12
+ const context = usePopoverContext();
13
+ return cloneElement(render, { onPress: useCallback((event) => {
14
+ render.props.onPress?.(event);
15
+ context.setOpen(false);
16
+ }, [context, render.props]) });
17
+ });
18
+ PopoverDismiss.displayName = "PopoverDismiss";
19
+ //#endregion
20
+ export { PopoverDismiss };
21
+
22
+ //# sourceMappingURL=PopoverDismiss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverDismiss.js","names":[],"sources":["../../../src/components/Popover/PopoverDismiss.tsx"],"sourcesContent":["/* eslint-disable react/prop-types -- render-prop child props are validated by TypeScript. */\nimport { cloneElement, memo, useCallback } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\n\nimport { usePopoverContext } from './PopoverContext';\nimport type { PopoverDismissProps } from './types';\n\n/**\n * Dismiss control for {@link Popover}.\n *\n * Clones the rendered element with an `onPress` handler that closes the nearest\n * popover.\n */\nconst PopoverDismiss = memo(function PopoverDismiss({ render }: PopoverDismissProps) {\n const context = usePopoverContext();\n\n const handlePress = useCallback(\n (event: GestureResponderEvent) => {\n render.props.onPress?.(event);\n context.setOpen(false);\n },\n [context, render.props],\n );\n\n return cloneElement(render, { onPress: handlePress });\n});\n\nPopoverDismiss.displayName = 'PopoverDismiss';\n\nexport { PopoverDismiss };\n"],"mappings":";;;;;;;;;;AAaA,MAAM,iBAAiB,KAAK,SAAS,eAAe,EAAE,UAA+B;CACnF,MAAM,UAAU,mBAAmB;CAUnC,OAAO,aAAa,QAAQ,EAAE,SARV,aACjB,UAAiC;EAChC,OAAO,MAAM,UAAU,MAAM;EAC7B,QAAQ,QAAQ,MAAM;IAExB,CAAC,SAAS,OAAO,MAAM,CAGyB,EAAE,CAAC;EACrD;AAEF,eAAe,cAAc"}
@@ -0,0 +1,56 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
4
+ const require_components_Popover_popoverFrameGeometry = require("./popoverFrameGeometry.cjs");
5
+ let react = require("react");
6
+ let react_native = require("react-native");
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ let react_native_svg = require("react-native-svg");
9
+ react_native_svg = require_runtime.__toESM(react_native_svg);
10
+ //#region src/components/Popover/PopoverFrame.tsx
11
+ function getNumber(value) {
12
+ return typeof value === "number" && Number.isFinite(value) ? value : 0;
13
+ }
14
+ const PopoverFrame = (0, react.memo)(function PopoverFrame({ arrowHeight, arrowStyle, arrowWidth, borderRadius, fill, placement, stroke = "transparent", strokeWidth = 0, surfaceHeight, surfaceWidth, testID = "uds-popover-frame" }) {
15
+ if (surfaceWidth <= 0 || surfaceHeight <= 0) return null;
16
+ const physicalPlacement = require_components_Popover_popoverFrameGeometry.resolvePopoverFramePlacement(placement, react_native.I18nManager.isRTL);
17
+ const flattenedArrowStyle = react_native.StyleSheet.flatten(arrowStyle) ?? {};
18
+ const { fillPath, frameStyle, strokePath, viewBox } = require_components_Popover_popoverFrameGeometry.getPopoverFrameGeometry({
19
+ arrowHeight,
20
+ arrowOffset: physicalPlacement === "top" || physicalPlacement === "bottom" ? getNumber(flattenedArrowStyle.left) : getNumber(flattenedArrowStyle.top),
21
+ arrowWidth,
22
+ borderRadius,
23
+ placement: physicalPlacement,
24
+ strokeWidth,
25
+ surfaceHeight,
26
+ surfaceWidth
27
+ });
28
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_native.View, {
29
+ pointerEvents: "none",
30
+ style: [styles.frame, frameStyle],
31
+ testID,
32
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_native_svg.default, {
33
+ width: frameStyle.width,
34
+ height: frameStyle.height,
35
+ viewBox,
36
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_native_svg.Path, {
37
+ d: fillPath,
38
+ fill,
39
+ stroke: "none"
40
+ }), strokeWidth > 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_native_svg.Path, {
41
+ d: strokePath,
42
+ fill: "none",
43
+ stroke,
44
+ strokeLinejoin: "round",
45
+ strokeWidth
46
+ })]
47
+ })
48
+ });
49
+ });
50
+ const styles = react_native.StyleSheet.create({ frame: {
51
+ position: "absolute",
52
+ zIndex: 2
53
+ } });
54
+ PopoverFrame.displayName = "PopoverFrame";
55
+ //#endregion
56
+ exports.PopoverFrame = PopoverFrame;
@@ -0,0 +1,23 @@
1
+
2
+ import { AnchoredPlacement } from "../internal/Overlay/types.cjs";
3
+ import * as _$react from "react";
4
+ import { StyleProp, ViewStyle } from "react-native";
5
+
6
+ //#region src/components/Popover/PopoverFrame.d.ts
7
+ interface PopoverFrameProps {
8
+ arrowHeight: number;
9
+ arrowStyle: StyleProp<ViewStyle>;
10
+ arrowWidth: number;
11
+ borderRadius: number;
12
+ fill: string;
13
+ placement: AnchoredPlacement;
14
+ stroke?: string;
15
+ strokeWidth?: number;
16
+ surfaceHeight: number;
17
+ surfaceWidth: number;
18
+ testID?: string;
19
+ }
20
+ declare const PopoverFrame: _$react.NamedExoticComponent<PopoverFrameProps>;
21
+ //#endregion
22
+ export { PopoverFrame };
23
+ //# sourceMappingURL=PopoverFrame.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverFrame.d.cts","names":[],"sources":["../../../src/components/Popover/PopoverFrame.tsx"],"mappings":";;;;;;UAQU,iBAAA;EACR,WAAA;EACA,UAAA,EAAY,SAAA,CAAU,SAAA;EACtB,UAAA;EACA,YAAA;EACA,IAAA;EACA,SAAA,EAAW,iBAAA;EACX,MAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,MAAA;AAAA;AAAA,cAOI,YAAA,EAAY,OAAA,CAAA,oBAAA,CAAA,iBAAA"}
@@ -0,0 +1,23 @@
1
+
2
+ import { AnchoredPlacement } from "../internal/Overlay/types.js";
3
+ import * as _$react from "react";
4
+ import { StyleProp, ViewStyle } from "react-native";
5
+
6
+ //#region src/components/Popover/PopoverFrame.d.ts
7
+ interface PopoverFrameProps {
8
+ arrowHeight: number;
9
+ arrowStyle: StyleProp<ViewStyle>;
10
+ arrowWidth: number;
11
+ borderRadius: number;
12
+ fill: string;
13
+ placement: AnchoredPlacement;
14
+ stroke?: string;
15
+ strokeWidth?: number;
16
+ surfaceHeight: number;
17
+ surfaceWidth: number;
18
+ testID?: string;
19
+ }
20
+ declare const PopoverFrame: _$react.NamedExoticComponent<PopoverFrameProps>;
21
+ //#endregion
22
+ export { PopoverFrame };
23
+ //# sourceMappingURL=PopoverFrame.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverFrame.d.ts","names":[],"sources":["../../../src/components/Popover/PopoverFrame.tsx"],"mappings":";;;;;;UAQU,iBAAA;EACR,WAAA;EACA,UAAA,EAAY,SAAA,CAAU,SAAA;EACtB,UAAA;EACA,YAAA;EACA,IAAA;EACA,SAAA,EAAW,iBAAA;EACX,MAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,MAAA;AAAA;AAAA,cAOI,YAAA,EAAY,OAAA,CAAA,oBAAA,CAAA,iBAAA"}
@@ -0,0 +1,55 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { getPopoverFrameGeometry, resolvePopoverFramePlacement } from "./popoverFrameGeometry.js";
3
+ import { memo } from "react";
4
+ import { I18nManager, StyleSheet, View } from "react-native";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import Svg, { Path } from "react-native-svg";
7
+ //#region src/components/Popover/PopoverFrame.tsx
8
+ function getNumber(value) {
9
+ return typeof value === "number" && Number.isFinite(value) ? value : 0;
10
+ }
11
+ const PopoverFrame = memo(function PopoverFrame({ arrowHeight, arrowStyle, arrowWidth, borderRadius, fill, placement, stroke = "transparent", strokeWidth = 0, surfaceHeight, surfaceWidth, testID = "uds-popover-frame" }) {
12
+ if (surfaceWidth <= 0 || surfaceHeight <= 0) return null;
13
+ const physicalPlacement = resolvePopoverFramePlacement(placement, I18nManager.isRTL);
14
+ const flattenedArrowStyle = StyleSheet.flatten(arrowStyle) ?? {};
15
+ const { fillPath, frameStyle, strokePath, viewBox } = getPopoverFrameGeometry({
16
+ arrowHeight,
17
+ arrowOffset: physicalPlacement === "top" || physicalPlacement === "bottom" ? getNumber(flattenedArrowStyle.left) : getNumber(flattenedArrowStyle.top),
18
+ arrowWidth,
19
+ borderRadius,
20
+ placement: physicalPlacement,
21
+ strokeWidth,
22
+ surfaceHeight,
23
+ surfaceWidth
24
+ });
25
+ return /* @__PURE__ */ jsx(View, {
26
+ pointerEvents: "none",
27
+ style: [styles.frame, frameStyle],
28
+ testID,
29
+ children: /* @__PURE__ */ jsxs(Svg, {
30
+ width: frameStyle.width,
31
+ height: frameStyle.height,
32
+ viewBox,
33
+ children: [/* @__PURE__ */ jsx(Path, {
34
+ d: fillPath,
35
+ fill,
36
+ stroke: "none"
37
+ }), strokeWidth > 0 && /* @__PURE__ */ jsx(Path, {
38
+ d: strokePath,
39
+ fill: "none",
40
+ stroke,
41
+ strokeLinejoin: "round",
42
+ strokeWidth
43
+ })]
44
+ })
45
+ });
46
+ });
47
+ const styles = StyleSheet.create({ frame: {
48
+ position: "absolute",
49
+ zIndex: 2
50
+ } });
51
+ PopoverFrame.displayName = "PopoverFrame";
52
+ //#endregion
53
+ export { PopoverFrame };
54
+
55
+ //# sourceMappingURL=PopoverFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverFrame.js","names":[],"sources":["../../../src/components/Popover/PopoverFrame.tsx"],"sourcesContent":["import { memo } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport { I18nManager, StyleSheet, View } from 'react-native';\nimport Svg, { Path } from 'react-native-svg';\n\nimport type { AnchoredPlacement } from '../internal/Overlay';\nimport { getPopoverFrameGeometry, resolvePopoverFramePlacement } from './popoverFrameGeometry';\n\ninterface PopoverFrameProps {\n arrowHeight: number;\n arrowStyle: StyleProp<ViewStyle>;\n arrowWidth: number;\n borderRadius: number;\n fill: string;\n placement: AnchoredPlacement;\n stroke?: string;\n strokeWidth?: number;\n surfaceHeight: number;\n surfaceWidth: number;\n testID?: string;\n}\n\nfunction getNumber(value: unknown) {\n return typeof value === 'number' && Number.isFinite(value) ? value : 0;\n}\n\nconst PopoverFrame = memo(function PopoverFrame({\n arrowHeight,\n arrowStyle,\n arrowWidth,\n borderRadius,\n fill,\n placement,\n stroke = 'transparent',\n strokeWidth = 0,\n surfaceHeight,\n surfaceWidth,\n testID = 'uds-popover-frame',\n}: PopoverFrameProps) {\n if (surfaceWidth <= 0 || surfaceHeight <= 0) {\n return null;\n }\n\n const physicalPlacement = resolvePopoverFramePlacement(placement, I18nManager.isRTL);\n const flattenedArrowStyle = (StyleSheet.flatten(arrowStyle) ?? {}) as ViewStyle;\n const arrowOffset =\n physicalPlacement === 'top' || physicalPlacement === 'bottom'\n ? getNumber(flattenedArrowStyle.left)\n : getNumber(flattenedArrowStyle.top);\n const { fillPath, frameStyle, strokePath, viewBox } = getPopoverFrameGeometry({\n arrowHeight,\n arrowOffset,\n arrowWidth,\n borderRadius,\n placement: physicalPlacement,\n strokeWidth,\n surfaceHeight,\n surfaceWidth,\n });\n\n return (\n <View pointerEvents=\"none\" style={[styles.frame, frameStyle]} testID={testID}>\n <Svg width={frameStyle.width} height={frameStyle.height} viewBox={viewBox}>\n <Path d={fillPath} fill={fill} stroke=\"none\" />\n {strokeWidth > 0 && (\n <Path\n d={strokePath}\n fill=\"none\"\n stroke={stroke}\n strokeLinejoin=\"round\"\n strokeWidth={strokeWidth}\n />\n )}\n </Svg>\n </View>\n );\n});\n\nconst styles = StyleSheet.create({\n frame: {\n position: 'absolute',\n zIndex: 2,\n },\n});\n\nPopoverFrame.displayName = 'PopoverFrame';\n\nexport { PopoverFrame };\n"],"mappings":";;;;;;;AAsBA,SAAS,UAAU,OAAgB;CACjC,OAAO,OAAO,UAAU,YAAY,OAAO,SAAS,MAAM,GAAG,QAAQ;;AAGvE,MAAM,eAAe,KAAK,SAAS,aAAa,EAC9C,aACA,YACA,YACA,cACA,MACA,WACA,SAAS,eACT,cAAc,GACd,eACA,cACA,SAAS,uBACW;CACpB,IAAI,gBAAgB,KAAK,iBAAiB,GACxC,OAAO;CAGT,MAAM,oBAAoB,6BAA6B,WAAW,YAAY,MAAM;CACpF,MAAM,sBAAuB,WAAW,QAAQ,WAAW,IAAI,EAAE;CAKjE,MAAM,EAAE,UAAU,YAAY,YAAY,YAAY,wBAAwB;EAC5E;EACA,aALA,sBAAsB,SAAS,sBAAsB,WACjD,UAAU,oBAAoB,KAAK,GACnC,UAAU,oBAAoB,IAAI;EAItC;EACA;EACA,WAAW;EACX;EACA;EACA;EACD,CAAC;CAEF,OACE,oBAAC,MAAD;EAAM,eAAc;EAAO,OAAO,CAAC,OAAO,OAAO,WAAW;EAAU;YACpE,qBAAC,KAAD;GAAK,OAAO,WAAW;GAAO,QAAQ,WAAW;GAAiB;aAAlE,CACE,oBAAC,MAAD;IAAM,GAAG;IAAgB;IAAM,QAAO;IAAS,CAAA,EAC9C,cAAc,KACb,oBAAC,MAAD;IACE,GAAG;IACH,MAAK;IACG;IACR,gBAAe;IACF;IACb,CAAA,CAEA;;EACD,CAAA;EAET;AAEF,MAAM,SAAS,WAAW,OAAO,EAC/B,OAAO;CACL,UAAU;CACV,QAAQ;CACT,EACF,CAAC;AAEF,aAAa,cAAc"}
@@ -0,0 +1,45 @@
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
+ const require_components_internal_Overlay_OverlayPortal = require("../internal/Overlay/OverlayPortal.cjs");
5
+ const require_components_internal_Overlay_useOverlayDismiss = require("../internal/Overlay/useOverlayDismiss.cjs");
6
+ let react = require("react");
7
+ let react_native = require("react-native");
8
+ let react_jsx_runtime = require("react/jsx-runtime");
9
+ let react_native_gesture_handler = require("react-native-gesture-handler");
10
+ //#region src/components/Popover/PopoverPortalLayer.tsx
11
+ const preventBackdropResponderTermination = () => false;
12
+ const PopoverPortalLayer = (0, react.memo)(function PopoverPortalLayer({ children, dismissible, onDismiss, open }) {
13
+ const dismiss = require_components_internal_Overlay_useOverlayDismiss.useOverlayDismiss({
14
+ open,
15
+ dismissible,
16
+ onDismiss
17
+ });
18
+ const blockScrollGesture = (0, react.useMemo)(() => react_native_gesture_handler.Gesture.Pan().enabled(open).minDistance(1).onBegin(() => {
19
+ "worklet";
20
+ }), [open]);
21
+ const shouldCaptureBackdropResponder = (0, react.useCallback)(() => open, [open]);
22
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_internal_Overlay_OverlayPortal.OverlayPortal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_native_gesture_handler.GestureDetector, {
23
+ gesture: blockScrollGesture,
24
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_native.View, {
25
+ style: react_native.StyleSheet.absoluteFill,
26
+ pointerEvents: open ? "auto" : "none",
27
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_native.Pressable, {
28
+ accessible: false,
29
+ accessibilityElementsHidden: true,
30
+ importantForAccessibility: "no-hide-descendants",
31
+ pointerEvents: open ? "auto" : "none",
32
+ style: react_native.StyleSheet.absoluteFill,
33
+ onMoveShouldSetResponder: shouldCaptureBackdropResponder,
34
+ onMoveShouldSetResponderCapture: shouldCaptureBackdropResponder,
35
+ onPress: dismiss,
36
+ onResponderTerminationRequest: preventBackdropResponderTermination,
37
+ onStartShouldSetResponder: shouldCaptureBackdropResponder,
38
+ onStartShouldSetResponderCapture: shouldCaptureBackdropResponder
39
+ }), children(dismiss)]
40
+ })
41
+ }) });
42
+ });
43
+ PopoverPortalLayer.displayName = "PopoverPortalLayer";
44
+ //#endregion
45
+ exports.PopoverPortalLayer = PopoverPortalLayer;
@@ -0,0 +1,15 @@
1
+
2
+ import * as _$react from "react";
3
+ import { ReactNode } from "react";
4
+
5
+ //#region src/components/Popover/PopoverPortalLayer.d.ts
6
+ interface PopoverPortalLayerProps {
7
+ children: (dismiss: () => void) => ReactNode;
8
+ dismissible: boolean;
9
+ onDismiss: () => void;
10
+ open: boolean;
11
+ }
12
+ declare const PopoverPortalLayer: _$react.NamedExoticComponent<PopoverPortalLayerProps>;
13
+ //#endregion
14
+ export { PopoverPortalLayer };
15
+ //# sourceMappingURL=PopoverPortalLayer.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverPortalLayer.d.cts","names":[],"sources":["../../../src/components/Popover/PopoverPortalLayer.tsx"],"mappings":";;;;;UAOU,uBAAA;EACR,QAAA,GAAW,OAAA,iBAAwB,SAAA;EACnC,WAAA;EACA,SAAA;EACA,IAAA;AAAA;AAAA,cAKI,kBAAA,EAAkB,OAAA,CAAA,oBAAA,CAAA,uBAAA"}
@@ -0,0 +1,15 @@
1
+
2
+ import * as _$react from "react";
3
+ import { ReactNode } from "react";
4
+
5
+ //#region src/components/Popover/PopoverPortalLayer.d.ts
6
+ interface PopoverPortalLayerProps {
7
+ children: (dismiss: () => void) => ReactNode;
8
+ dismissible: boolean;
9
+ onDismiss: () => void;
10
+ open: boolean;
11
+ }
12
+ declare const PopoverPortalLayer: _$react.NamedExoticComponent<PopoverPortalLayerProps>;
13
+ //#endregion
14
+ export { PopoverPortalLayer };
15
+ //# sourceMappingURL=PopoverPortalLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverPortalLayer.d.ts","names":[],"sources":["../../../src/components/Popover/PopoverPortalLayer.tsx"],"mappings":";;;;;UAOU,uBAAA;EACR,QAAA,GAAW,OAAA,iBAAwB,SAAA;EACnC,WAAA;EACA,SAAA;EACA,IAAA;AAAA;AAAA,cAKI,kBAAA,EAAkB,OAAA,CAAA,oBAAA,CAAA,uBAAA"}
@@ -0,0 +1,45 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { OverlayPortal } from "../internal/Overlay/OverlayPortal.js";
3
+ import { useOverlayDismiss } from "../internal/Overlay/useOverlayDismiss.js";
4
+ import { memo, useCallback, useMemo } from "react";
5
+ import { Pressable, StyleSheet, View } from "react-native";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Gesture, GestureDetector } from "react-native-gesture-handler";
8
+ //#region src/components/Popover/PopoverPortalLayer.tsx
9
+ const preventBackdropResponderTermination = () => false;
10
+ const PopoverPortalLayer = memo(function PopoverPortalLayer({ children, dismissible, onDismiss, open }) {
11
+ const dismiss = useOverlayDismiss({
12
+ open,
13
+ dismissible,
14
+ onDismiss
15
+ });
16
+ const blockScrollGesture = useMemo(() => Gesture.Pan().enabled(open).minDistance(1).onBegin(() => {
17
+ "worklet";
18
+ }), [open]);
19
+ const shouldCaptureBackdropResponder = useCallback(() => open, [open]);
20
+ return /* @__PURE__ */ jsx(OverlayPortal, { children: /* @__PURE__ */ jsx(GestureDetector, {
21
+ gesture: blockScrollGesture,
22
+ children: /* @__PURE__ */ jsxs(View, {
23
+ style: StyleSheet.absoluteFill,
24
+ pointerEvents: open ? "auto" : "none",
25
+ children: [/* @__PURE__ */ jsx(Pressable, {
26
+ accessible: false,
27
+ accessibilityElementsHidden: true,
28
+ importantForAccessibility: "no-hide-descendants",
29
+ pointerEvents: open ? "auto" : "none",
30
+ style: StyleSheet.absoluteFill,
31
+ onMoveShouldSetResponder: shouldCaptureBackdropResponder,
32
+ onMoveShouldSetResponderCapture: shouldCaptureBackdropResponder,
33
+ onPress: dismiss,
34
+ onResponderTerminationRequest: preventBackdropResponderTermination,
35
+ onStartShouldSetResponder: shouldCaptureBackdropResponder,
36
+ onStartShouldSetResponderCapture: shouldCaptureBackdropResponder
37
+ }), children(dismiss)]
38
+ })
39
+ }) });
40
+ });
41
+ PopoverPortalLayer.displayName = "PopoverPortalLayer";
42
+ //#endregion
43
+ export { PopoverPortalLayer };
44
+
45
+ //# sourceMappingURL=PopoverPortalLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopoverPortalLayer.js","names":[],"sources":["../../../src/components/Popover/PopoverPortalLayer.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport { memo, useCallback, useMemo } from 'react';\nimport { Pressable, StyleSheet, View } from 'react-native';\nimport { Gesture, GestureDetector } from 'react-native-gesture-handler';\n\nimport { OverlayPortal, useOverlayDismiss } from '../internal/Overlay';\n\ninterface PopoverPortalLayerProps {\n children: (dismiss: () => void) => ReactNode;\n dismissible: boolean;\n onDismiss: () => void;\n open: boolean;\n}\n\nconst preventBackdropResponderTermination = () => false;\n\nconst PopoverPortalLayer = memo(function PopoverPortalLayer({\n children,\n dismissible,\n onDismiss,\n open,\n}: PopoverPortalLayerProps) {\n const dismiss = useOverlayDismiss({\n open,\n dismissible,\n onDismiss,\n });\n // Claim active pan gestures while the popover is open so scroll views underneath cannot move\n // away from the anchored trigger.\n const blockScrollGesture = useMemo(\n () =>\n Gesture.Pan()\n .enabled(open)\n .minDistance(1)\n .onBegin(() => {\n 'worklet';\n }),\n [open],\n );\n const shouldCaptureBackdropResponder = useCallback(() => open, [open]);\n\n return (\n <OverlayPortal>\n <GestureDetector gesture={blockScrollGesture}>\n <View style={StyleSheet.absoluteFill} pointerEvents={open ? 'auto' : 'none'}>\n <Pressable\n accessible={false}\n accessibilityElementsHidden\n importantForAccessibility=\"no-hide-descendants\"\n pointerEvents={open ? 'auto' : 'none'}\n style={StyleSheet.absoluteFill}\n onMoveShouldSetResponder={shouldCaptureBackdropResponder}\n onMoveShouldSetResponderCapture={shouldCaptureBackdropResponder}\n onPress={dismiss}\n onResponderTerminationRequest={preventBackdropResponderTermination}\n onStartShouldSetResponder={shouldCaptureBackdropResponder}\n onStartShouldSetResponderCapture={shouldCaptureBackdropResponder}\n />\n {children(dismiss)}\n </View>\n </GestureDetector>\n </OverlayPortal>\n );\n});\n\nPopoverPortalLayer.displayName = 'PopoverPortalLayer';\n\nexport { PopoverPortalLayer };\n"],"mappings":";;;;;;;;AAcA,MAAM,4CAA4C;AAElD,MAAM,qBAAqB,KAAK,SAAS,mBAAmB,EAC1D,UACA,aACA,WACA,QAC0B;CAC1B,MAAM,UAAU,kBAAkB;EAChC;EACA;EACA;EACD,CAAC;CAGF,MAAM,qBAAqB,cAEvB,QAAQ,KAAK,CACV,QAAQ,KAAK,CACb,YAAY,EAAE,CACd,cAAc;AACb;GACA,EACN,CAAC,KAAK,CACP;CACD,MAAM,iCAAiC,kBAAkB,MAAM,CAAC,KAAK,CAAC;CAEtE,OACE,oBAAC,eAAD,EAAA,UACE,oBAAC,iBAAD;EAAiB,SAAS;YACxB,qBAAC,MAAD;GAAM,OAAO,WAAW;GAAc,eAAe,OAAO,SAAS;aAArE,CACE,oBAAC,WAAD;IACE,YAAY;IACZ,6BAAA;IACA,2BAA0B;IAC1B,eAAe,OAAO,SAAS;IAC/B,OAAO,WAAW;IAClB,0BAA0B;IAC1B,iCAAiC;IACjC,SAAS;IACT,+BAA+B;IAC/B,2BAA2B;IAC3B,kCAAkC;IAClC,CAAA,EACD,SAAS,QAAQ,CACb;;EACS,CAAA,EACJ,CAAA;EAElB;AAEF,mBAAmB,cAAc"}