@yahoo/uds-mobile 2.18.0 → 2.20.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 (201) hide show
  1. package/dist/components/Modal/Modal.cjs +396 -0
  2. package/dist/components/Modal/Modal.d.cts +9 -0
  3. package/dist/components/Modal/Modal.d.cts.map +1 -0
  4. package/dist/components/Modal/Modal.d.ts +9 -0
  5. package/dist/components/Modal/Modal.d.ts.map +1 -0
  6. package/dist/components/Modal/Modal.js +395 -0
  7. package/dist/components/Modal/Modal.js.map +1 -0
  8. package/dist/components/Modal/ModalActions.cjs +47 -0
  9. package/dist/components/Modal/ModalActions.d.cts +9 -0
  10. package/dist/components/Modal/ModalActions.d.cts.map +1 -0
  11. package/dist/components/Modal/ModalActions.d.ts +9 -0
  12. package/dist/components/Modal/ModalActions.d.ts.map +1 -0
  13. package/dist/components/Modal/ModalActions.js +47 -0
  14. package/dist/components/Modal/ModalActions.js.map +1 -0
  15. package/dist/components/Modal/ModalContent.cjs +41 -0
  16. package/dist/components/Modal/ModalContent.d.cts +9 -0
  17. package/dist/components/Modal/ModalContent.d.cts.map +1 -0
  18. package/dist/components/Modal/ModalContent.d.ts +9 -0
  19. package/dist/components/Modal/ModalContent.d.ts.map +1 -0
  20. package/dist/components/Modal/ModalContent.js +41 -0
  21. package/dist/components/Modal/ModalContent.js.map +1 -0
  22. package/dist/components/Modal/ModalContext.cjs +14 -0
  23. package/dist/components/Modal/ModalContext.d.cts +10 -0
  24. package/dist/components/Modal/ModalContext.d.cts.map +1 -0
  25. package/dist/components/Modal/ModalContext.d.ts +10 -0
  26. package/dist/components/Modal/ModalContext.d.ts.map +1 -0
  27. package/dist/components/Modal/ModalContext.js +13 -0
  28. package/dist/components/Modal/ModalContext.js.map +1 -0
  29. package/dist/components/Modal/ModalDescription.cjs +21 -0
  30. package/dist/components/Modal/ModalDescription.d.cts +9 -0
  31. package/dist/components/Modal/ModalDescription.d.cts.map +1 -0
  32. package/dist/components/Modal/ModalDescription.d.ts +9 -0
  33. package/dist/components/Modal/ModalDescription.d.ts.map +1 -0
  34. package/dist/components/Modal/ModalDescription.js +21 -0
  35. package/dist/components/Modal/ModalDescription.js.map +1 -0
  36. package/dist/components/Modal/ModalTitle.cjs +22 -0
  37. package/dist/components/Modal/ModalTitle.d.cts +9 -0
  38. package/dist/components/Modal/ModalTitle.d.cts.map +1 -0
  39. package/dist/components/Modal/ModalTitle.d.ts +9 -0
  40. package/dist/components/Modal/ModalTitle.d.ts.map +1 -0
  41. package/dist/components/Modal/ModalTitle.js +22 -0
  42. package/dist/components/Modal/ModalTitle.js.map +1 -0
  43. package/dist/components/Modal/index.cjs +12 -0
  44. package/dist/components/Modal/index.d.cts +8 -0
  45. package/dist/components/Modal/index.d.ts +8 -0
  46. package/dist/components/Modal/index.js +7 -0
  47. package/dist/components/Modal/types.cjs +1 -0
  48. package/dist/components/Modal/types.d.cts +111 -0
  49. package/dist/components/Modal/types.d.cts.map +1 -0
  50. package/dist/components/Modal/types.d.ts +111 -0
  51. package/dist/components/Modal/types.d.ts.map +1 -0
  52. package/dist/components/Modal/types.js +1 -0
  53. package/dist/components/Modal/utils.cjs +59 -0
  54. package/dist/components/Modal/utils.d.cts +28 -0
  55. package/dist/components/Modal/utils.d.cts.map +1 -0
  56. package/dist/components/Modal/utils.d.ts +28 -0
  57. package/dist/components/Modal/utils.d.ts.map +1 -0
  58. package/dist/components/Modal/utils.js +56 -0
  59. package/dist/components/Modal/utils.js.map +1 -0
  60. package/dist/components/Pagination/Pagination.cjs +75 -0
  61. package/dist/components/Pagination/Pagination.d.cts +40 -0
  62. package/dist/components/Pagination/Pagination.d.cts.map +1 -0
  63. package/dist/components/Pagination/Pagination.d.ts +40 -0
  64. package/dist/components/Pagination/Pagination.d.ts.map +1 -0
  65. package/dist/components/Pagination/Pagination.js +75 -0
  66. package/dist/components/Pagination/Pagination.js.map +1 -0
  67. package/dist/components/Pagination/PaginationEllipsis.cjs +64 -0
  68. package/dist/components/Pagination/PaginationEllipsis.d.cts +21 -0
  69. package/dist/components/Pagination/PaginationEllipsis.d.cts.map +1 -0
  70. package/dist/components/Pagination/PaginationEllipsis.d.ts +21 -0
  71. package/dist/components/Pagination/PaginationEllipsis.d.ts.map +1 -0
  72. package/dist/components/Pagination/PaginationEllipsis.js +64 -0
  73. package/dist/components/Pagination/PaginationEllipsis.js.map +1 -0
  74. package/dist/components/Pagination/PaginationItem.cjs +68 -0
  75. package/dist/components/Pagination/PaginationItem.d.cts +24 -0
  76. package/dist/components/Pagination/PaginationItem.d.cts.map +1 -0
  77. package/dist/components/Pagination/PaginationItem.d.ts +24 -0
  78. package/dist/components/Pagination/PaginationItem.d.ts.map +1 -0
  79. package/dist/components/Pagination/PaginationItem.js +68 -0
  80. package/dist/components/Pagination/PaginationItem.js.map +1 -0
  81. package/dist/components/Pagination/PaginationLink.cjs +68 -0
  82. package/dist/components/Pagination/PaginationLink.d.cts +25 -0
  83. package/dist/components/Pagination/PaginationLink.d.cts.map +1 -0
  84. package/dist/components/Pagination/PaginationLink.d.ts +25 -0
  85. package/dist/components/Pagination/PaginationLink.d.ts.map +1 -0
  86. package/dist/components/Pagination/PaginationLink.js +68 -0
  87. package/dist/components/Pagination/PaginationLink.js.map +1 -0
  88. package/dist/components/Pagination/PaginationNext.cjs +72 -0
  89. package/dist/components/Pagination/PaginationNext.d.cts +24 -0
  90. package/dist/components/Pagination/PaginationNext.d.cts.map +1 -0
  91. package/dist/components/Pagination/PaginationNext.d.ts +24 -0
  92. package/dist/components/Pagination/PaginationNext.d.ts.map +1 -0
  93. package/dist/components/Pagination/PaginationNext.js +72 -0
  94. package/dist/components/Pagination/PaginationNext.js.map +1 -0
  95. package/dist/components/Pagination/PaginationNumbers.cjs +50 -0
  96. package/dist/components/Pagination/PaginationNumbers.d.cts +23 -0
  97. package/dist/components/Pagination/PaginationNumbers.d.cts.map +1 -0
  98. package/dist/components/Pagination/PaginationNumbers.d.ts +23 -0
  99. package/dist/components/Pagination/PaginationNumbers.d.ts.map +1 -0
  100. package/dist/components/Pagination/PaginationNumbers.js +50 -0
  101. package/dist/components/Pagination/PaginationNumbers.js.map +1 -0
  102. package/dist/components/Pagination/PaginationPrev.cjs +72 -0
  103. package/dist/components/Pagination/PaginationPrev.d.cts +24 -0
  104. package/dist/components/Pagination/PaginationPrev.d.cts.map +1 -0
  105. package/dist/components/Pagination/PaginationPrev.d.ts +24 -0
  106. package/dist/components/Pagination/PaginationPrev.d.ts.map +1 -0
  107. package/dist/components/Pagination/PaginationPrev.js +72 -0
  108. package/dist/components/Pagination/PaginationPrev.js.map +1 -0
  109. package/dist/components/Pagination/computeVisiblePages.cjs +21 -0
  110. package/dist/components/Pagination/computeVisiblePages.d.cts +19 -0
  111. package/dist/components/Pagination/computeVisiblePages.d.cts.map +1 -0
  112. package/dist/components/Pagination/computeVisiblePages.d.ts +19 -0
  113. package/dist/components/Pagination/computeVisiblePages.d.ts.map +1 -0
  114. package/dist/components/Pagination/computeVisiblePages.js +22 -0
  115. package/dist/components/Pagination/computeVisiblePages.js.map +1 -0
  116. package/dist/components/Pagination/ellipsisDefault.cjs +28 -0
  117. package/dist/components/Pagination/ellipsisDefault.d.cts +11 -0
  118. package/dist/components/Pagination/ellipsisDefault.d.cts.map +1 -0
  119. package/dist/components/Pagination/ellipsisDefault.d.ts +11 -0
  120. package/dist/components/Pagination/ellipsisDefault.d.ts.map +1 -0
  121. package/dist/components/Pagination/ellipsisDefault.js +29 -0
  122. package/dist/components/Pagination/ellipsisDefault.js.map +1 -0
  123. package/dist/components/Pagination/ellipsisNone.cjs +24 -0
  124. package/dist/components/Pagination/ellipsisNone.d.cts +11 -0
  125. package/dist/components/Pagination/ellipsisNone.d.cts.map +1 -0
  126. package/dist/components/Pagination/ellipsisNone.d.ts +11 -0
  127. package/dist/components/Pagination/ellipsisNone.d.ts.map +1 -0
  128. package/dist/components/Pagination/ellipsisNone.js +25 -0
  129. package/dist/components/Pagination/ellipsisNone.js.map +1 -0
  130. package/dist/components/Pagination/index.cjs +18 -0
  131. package/dist/components/Pagination/index.d.cts +10 -0
  132. package/dist/components/Pagination/index.d.ts +10 -0
  133. package/dist/components/Pagination/index.js +10 -0
  134. package/dist/components/Pagination/paginationContext.cjs +42 -0
  135. package/dist/components/Pagination/paginationContext.d.cts +34 -0
  136. package/dist/components/Pagination/paginationContext.d.cts.map +1 -0
  137. package/dist/components/Pagination/paginationContext.d.ts +34 -0
  138. package/dist/components/Pagination/paginationContext.d.ts.map +1 -0
  139. package/dist/components/Pagination/paginationContext.js +38 -0
  140. package/dist/components/Pagination/paginationContext.js.map +1 -0
  141. package/dist/components/Pagination/paginationDefaultComponents.cjs +68 -0
  142. package/dist/components/Pagination/paginationDefaultComponents.d.cts +17 -0
  143. package/dist/components/Pagination/paginationDefaultComponents.d.cts.map +1 -0
  144. package/dist/components/Pagination/paginationDefaultComponents.d.ts +17 -0
  145. package/dist/components/Pagination/paginationDefaultComponents.d.ts.map +1 -0
  146. package/dist/components/Pagination/paginationDefaultComponents.js +69 -0
  147. package/dist/components/Pagination/paginationDefaultComponents.js.map +1 -0
  148. package/dist/components/Pagination/paginationTheme.cjs +67 -0
  149. package/dist/components/Pagination/paginationTheme.d.cts +28 -0
  150. package/dist/components/Pagination/paginationTheme.d.cts.map +1 -0
  151. package/dist/components/Pagination/paginationTheme.d.ts +28 -0
  152. package/dist/components/Pagination/paginationTheme.d.ts.map +1 -0
  153. package/dist/components/Pagination/paginationTheme.js +62 -0
  154. package/dist/components/Pagination/paginationTheme.js.map +1 -0
  155. package/dist/components/Pagination/range.cjs +10 -0
  156. package/dist/components/Pagination/range.d.cts +6 -0
  157. package/dist/components/Pagination/range.d.cts.map +1 -0
  158. package/dist/components/Pagination/range.d.ts +6 -0
  159. package/dist/components/Pagination/range.d.ts.map +1 -0
  160. package/dist/components/Pagination/range.js +11 -0
  161. package/dist/components/Pagination/range.js.map +1 -0
  162. package/dist/components/Pagination/usePaginationControlStyles.cjs +78 -0
  163. package/dist/components/Pagination/usePaginationControlStyles.d.cts +26 -0
  164. package/dist/components/Pagination/usePaginationControlStyles.d.cts.map +1 -0
  165. package/dist/components/Pagination/usePaginationControlStyles.d.ts +26 -0
  166. package/dist/components/Pagination/usePaginationControlStyles.d.ts.map +1 -0
  167. package/dist/components/Pagination/usePaginationControlStyles.js +78 -0
  168. package/dist/components/Pagination/usePaginationControlStyles.js.map +1 -0
  169. package/dist/jest/bun-test-guard.cjs +8 -0
  170. package/dist/jest/bun-test-guard.d.cts +2 -0
  171. package/dist/jest/bun-test-guard.d.ts +2 -0
  172. package/dist/jest/bun-test-guard.js +10 -0
  173. package/dist/jest/bun-test-guard.js.map +1 -0
  174. package/dist/jest/mocks/gesture-handler.cjs +29 -0
  175. package/dist/jest/mocks/gesture-handler.d.cts +27 -2
  176. package/dist/jest/mocks/gesture-handler.d.cts.map +1 -1
  177. package/dist/jest/mocks/gesture-handler.d.ts +27 -2
  178. package/dist/jest/mocks/gesture-handler.d.ts.map +1 -1
  179. package/dist/jest/mocks/gesture-handler.js +22 -1
  180. package/dist/jest/mocks/gesture-handler.js.map +1 -1
  181. package/dist/jest/mocks/styles.cjs +62 -0
  182. package/dist/jest/mocks/styles.d.cts +4 -2
  183. package/dist/jest/mocks/styles.d.cts.map +1 -1
  184. package/dist/jest/mocks/styles.d.ts +4 -2
  185. package/dist/jest/mocks/styles.d.ts.map +1 -1
  186. package/dist/jest/mocks/styles.js +61 -1
  187. package/dist/jest/mocks/styles.js.map +1 -1
  188. package/dist/jest/setup.cjs +8 -28
  189. package/dist/jest/setup.d.cts.map +1 -1
  190. package/dist/jest/setup.d.ts.map +1 -1
  191. package/dist/jest/setup.js +8 -28
  192. package/dist/jest/setup.js.map +1 -1
  193. package/dist/types/dist/index.d.cts +83 -1
  194. package/dist/types/dist/index.d.cts.map +1 -1
  195. package/dist/types/dist/index.d.ts +83 -1
  196. package/dist/types/dist/index.d.ts.map +1 -1
  197. package/generated/styles.cjs +75 -0
  198. package/generated/styles.d.ts +29 -0
  199. package/generated/styles.mjs +75 -0
  200. package/generated/unistyles.d.ts +69 -0
  201. package/package.json +21 -1
@@ -0,0 +1,24 @@
1
+
2
+ import { UniversalPaginationItemProps } from "../../types/dist/index.cjs";
3
+ import * as _$react from "react";
4
+ import { PressableProps } from "react-native";
5
+
6
+ //#region src/components/Pagination/PaginationItem.d.ts
7
+ /** RN Pressable types differ from web button HTML attributes; keep parity fields only. */
8
+ interface PaginationItemProps extends Omit<PressableProps, 'children' | 'style' | 'disabled'> {
9
+ page: UniversalPaginationItemProps['page'];
10
+ children?: UniversalPaginationItemProps['children'];
11
+ }
12
+ /**
13
+ * **PaginationItem — single page control**
14
+ *
15
+ * @description
16
+ * Renders a page number control. Usually composed via {@link PaginationNumbers}.
17
+ *
18
+ * @category Navigation
19
+ * @platform mobile
20
+ */
21
+ declare const PaginationItem: _$react.NamedExoticComponent<PaginationItemProps>;
22
+ //#endregion
23
+ export { PaginationItem, type PaginationItemProps };
24
+ //# sourceMappingURL=PaginationItem.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationItem.d.cts","names":[],"sources":["../../../src/components/Pagination/PaginationItem.tsx"],"mappings":";;;;;;;UAUU,mBAAA,SAA4B,IAAA,CAAK,cAAA;EACzC,IAAA,EAAM,4BAAA;EACN,QAAA,GAAW,4BAAA;AAAA;;;;;;;;;;cAYP,cAAA,EAAc,OAAA,CAAA,oBAAA,CAAA,mBAAA"}
@@ -0,0 +1,24 @@
1
+
2
+ import { UniversalPaginationItemProps } from "../../types/dist/index.js";
3
+ import * as _$react from "react";
4
+ import { PressableProps } from "react-native";
5
+
6
+ //#region src/components/Pagination/PaginationItem.d.ts
7
+ /** RN Pressable types differ from web button HTML attributes; keep parity fields only. */
8
+ interface PaginationItemProps extends Omit<PressableProps, 'children' | 'style' | 'disabled'> {
9
+ page: UniversalPaginationItemProps['page'];
10
+ children?: UniversalPaginationItemProps['children'];
11
+ }
12
+ /**
13
+ * **PaginationItem — single page control**
14
+ *
15
+ * @description
16
+ * Renders a page number control. Usually composed via {@link PaginationNumbers}.
17
+ *
18
+ * @category Navigation
19
+ * @platform mobile
20
+ */
21
+ declare const PaginationItem: _$react.NamedExoticComponent<PaginationItemProps>;
22
+ //#endregion
23
+ export { PaginationItem, type PaginationItemProps };
24
+ //# sourceMappingURL=PaginationItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationItem.d.ts","names":[],"sources":["../../../src/components/Pagination/PaginationItem.tsx"],"mappings":";;;;;;;UAUU,mBAAA,SAA4B,IAAA,CAAK,cAAA;EACzC,IAAA,EAAM,4BAAA;EACN,QAAA,GAAW,4BAAA;AAAA;;;;;;;;;;cAYP,cAAA,EAAc,OAAA,CAAA,oBAAA,CAAA,mBAAA"}
@@ -0,0 +1,68 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { Text as Text$1 } from "../Text.js";
3
+ import { usePaginationContext } from "./paginationContext.js";
4
+ import { usePaginationControlStyles } from "./usePaginationControlStyles.js";
5
+ import { memo, useCallback, useMemo, useState } from "react";
6
+ import { Pressable, StyleSheet } from "react-native";
7
+ import { jsx } from "react/jsx-runtime";
8
+ //#region src/components/Pagination/PaginationItem.tsx
9
+ /**
10
+ * **PaginationItem — single page control**
11
+ *
12
+ * @description
13
+ * Renders a page number control. Usually composed via {@link PaginationNumbers}.
14
+ *
15
+ * @category Navigation
16
+ * @platform mobile
17
+ */
18
+ const PaginationItem = memo(function PaginationItem({ page, children, onPress, ...rest }) {
19
+ const { activePage, size, variant, getItemAriaLabel, onPageChange } = usePaginationContext();
20
+ const isActive = page === activePage;
21
+ const [pressed, setPressed] = useState(false);
22
+ const { rootStyle, textStyle } = usePaginationControlStyles({
23
+ size,
24
+ variant,
25
+ isActive,
26
+ pressed
27
+ });
28
+ const handlePress = useCallback((event) => {
29
+ onPress?.(event);
30
+ if (!isActive) onPageChange?.(page);
31
+ }, [
32
+ isActive,
33
+ onPageChange,
34
+ onPress,
35
+ page
36
+ ]);
37
+ const label = children ?? page;
38
+ const resolvedTextColor = useMemo(() => {
39
+ const flat = StyleSheet.flatten(textStyle);
40
+ return typeof flat?.color === "string" ? flat.color : void 0;
41
+ }, [textStyle]);
42
+ return /* @__PURE__ */ jsx(Pressable, {
43
+ accessibilityLabel: getItemAriaLabel(page, isActive),
44
+ accessibilityRole: "button",
45
+ accessibilityState: {
46
+ disabled: isActive,
47
+ selected: isActive
48
+ },
49
+ disabled: isActive,
50
+ onPress: isActive ? void 0 : handlePress,
51
+ onPressIn: () => setPressed(true),
52
+ onPressOut: () => setPressed(false),
53
+ style: rootStyle,
54
+ ...rest,
55
+ children: typeof label === "string" || typeof label === "number" ? /* @__PURE__ */ jsx(Text$1, {
56
+ color: "inherit",
57
+ variant: "inherit",
58
+ style: textStyle,
59
+ dangerouslySetColor: resolvedTextColor,
60
+ children: label
61
+ }) : label
62
+ });
63
+ });
64
+ PaginationItem.displayName = "PaginationItem";
65
+ //#endregion
66
+ export { PaginationItem };
67
+
68
+ //# sourceMappingURL=PaginationItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationItem.js","names":["Text"],"sources":["../../../src/components/Pagination/PaginationItem.tsx"],"sourcesContent":["import type { UniversalPaginationItemProps } from '@yahoo/uds-types';\nimport { memo, useCallback, useMemo, useState } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable, StyleSheet } from 'react-native';\n\nimport { Text } from '../Text';\nimport { usePaginationContext } from './paginationContext';\nimport { usePaginationControlStyles } from './usePaginationControlStyles';\n\n/** RN Pressable types differ from web button HTML attributes; keep parity fields only. */\ninterface PaginationItemProps extends Omit<PressableProps, 'children' | 'style' | 'disabled'> {\n page: UniversalPaginationItemProps['page'];\n children?: UniversalPaginationItemProps['children'];\n}\n\n/**\n * **PaginationItem — single page control**\n *\n * @description\n * Renders a page number control. Usually composed via {@link PaginationNumbers}.\n *\n * @category Navigation\n * @platform mobile\n */\nconst PaginationItem = memo(function PaginationItem({\n page,\n children,\n onPress,\n ...rest\n}: PaginationItemProps) {\n const { activePage, size, variant, getItemAriaLabel, onPageChange } = usePaginationContext();\n const isActive = page === activePage;\n const [pressed, setPressed] = useState(false);\n const { rootStyle, textStyle } = usePaginationControlStyles({\n size,\n variant,\n isActive,\n pressed,\n });\n\n const handlePress = useCallback(\n (event: Parameters<NonNullable<PressableProps['onPress']>>[0]) => {\n onPress?.(event);\n if (!isActive) {\n onPageChange?.(page);\n }\n },\n [isActive, onPageChange, onPress, page],\n );\n\n const label = children ?? page;\n const resolvedTextColor = useMemo(() => {\n const flat = StyleSheet.flatten(textStyle);\n return typeof flat?.color === 'string' ? flat.color : undefined;\n }, [textStyle]);\n\n return (\n <Pressable\n accessibilityLabel={getItemAriaLabel(page, isActive)}\n accessibilityRole=\"button\"\n accessibilityState={{ disabled: isActive, selected: isActive }}\n disabled={isActive}\n onPress={isActive ? undefined : handlePress}\n onPressIn={() => setPressed(true)}\n onPressOut={() => setPressed(false)}\n style={rootStyle}\n {...rest}\n >\n {typeof label === 'string' || typeof label === 'number' ? (\n <Text\n color=\"inherit\"\n variant=\"inherit\"\n style={textStyle}\n dangerouslySetColor={resolvedTextColor}\n >\n {label}\n </Text>\n ) : (\n label\n )}\n </Pressable>\n );\n});\n\nPaginationItem.displayName = 'PaginationItem';\n\nexport { PaginationItem, type PaginationItemProps };\n"],"mappings":";;;;;;;;;;;;;;;;;AAwBA,MAAM,iBAAiB,KAAK,SAAS,eAAe,EAClD,MACA,UACA,SACA,GAAG,QACmB;CACtB,MAAM,EAAE,YAAY,MAAM,SAAS,kBAAkB,iBAAiB,sBAAsB;CAC5F,MAAM,WAAW,SAAS;CAC1B,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,EAAE,WAAW,cAAc,2BAA2B;EAC1D;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,cAAc,aACjB,UAAiE;EAChE,UAAU,MAAM;EAChB,IAAI,CAAC,UACH,eAAe,KAAK;IAGxB;EAAC;EAAU;EAAc;EAAS;EAAK,CACxC;CAED,MAAM,QAAQ,YAAY;CAC1B,MAAM,oBAAoB,cAAc;EACtC,MAAM,OAAO,WAAW,QAAQ,UAAU;EAC1C,OAAO,OAAO,MAAM,UAAU,WAAW,KAAK,QAAQ,KAAA;IACrD,CAAC,UAAU,CAAC;CAEf,OACE,oBAAC,WAAD;EACE,oBAAoB,iBAAiB,MAAM,SAAS;EACpD,mBAAkB;EAClB,oBAAoB;GAAE,UAAU;GAAU,UAAU;GAAU;EAC9D,UAAU;EACV,SAAS,WAAW,KAAA,IAAY;EAChC,iBAAiB,WAAW,KAAK;EACjC,kBAAkB,WAAW,MAAM;EACnC,OAAO;EACP,GAAI;YAEH,OAAO,UAAU,YAAY,OAAO,UAAU,WAC7C,oBAACA,QAAD;GACE,OAAM;GACN,SAAQ;GACR,OAAO;GACP,qBAAqB;aAEpB;GACI,CAAA,GAEP;EAEQ,CAAA;EAEd;AAEF,eAAe,cAAc"}
@@ -0,0 +1,68 @@
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
+ const require_components_Pagination_paginationContext = require("./paginationContext.cjs");
6
+ const require_components_Pagination_usePaginationControlStyles = require("./usePaginationControlStyles.cjs");
7
+ let react = require("react");
8
+ let react_native = require("react-native");
9
+ let react_jsx_runtime = require("react/jsx-runtime");
10
+ //#region src/components/Pagination/PaginationLink.tsx
11
+ /**
12
+ * **PaginationLink — link-style page control**
13
+ *
14
+ * @description
15
+ * Used when `getPageHref` is provided on {@link Pagination}. Invokes `onPageChange` on press.
16
+ *
17
+ * @category Navigation
18
+ * @platform mobile
19
+ */
20
+ const PaginationLink = (0, react.memo)(function PaginationLink({ page, href: _href, children, onPress, ...rest }) {
21
+ const { activePage, size, variant, getItemAriaLabel, onPageChange } = require_components_Pagination_paginationContext.usePaginationContext();
22
+ const isActive = page === activePage;
23
+ const [pressed, setPressed] = (0, react.useState)(false);
24
+ const { rootStyle, textStyle } = require_components_Pagination_usePaginationControlStyles.usePaginationControlStyles({
25
+ size,
26
+ variant,
27
+ isActive,
28
+ pressed
29
+ });
30
+ const handlePress = (0, react.useCallback)((event) => {
31
+ onPress?.(event);
32
+ if (!isActive) onPageChange?.(page);
33
+ }, [
34
+ isActive,
35
+ onPageChange,
36
+ onPress,
37
+ page
38
+ ]);
39
+ const label = children ?? page;
40
+ const resolvedTextColor = (0, react.useMemo)(() => {
41
+ const flat = react_native.StyleSheet.flatten(textStyle);
42
+ return typeof flat?.color === "string" ? flat.color : void 0;
43
+ }, [textStyle]);
44
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_native.Pressable, {
45
+ accessibilityLabel: getItemAriaLabel(page, isActive),
46
+ accessibilityRole: "link",
47
+ accessibilityState: {
48
+ disabled: isActive,
49
+ selected: isActive
50
+ },
51
+ disabled: isActive,
52
+ onPress: isActive ? void 0 : handlePress,
53
+ onPressIn: () => setPressed(true),
54
+ onPressOut: () => setPressed(false),
55
+ style: rootStyle,
56
+ ...rest,
57
+ children: typeof label === "string" || typeof label === "number" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Text.Text, {
58
+ color: "inherit",
59
+ variant: "inherit",
60
+ style: textStyle,
61
+ dangerouslySetColor: resolvedTextColor,
62
+ children: label
63
+ }) : label
64
+ });
65
+ });
66
+ PaginationLink.displayName = "PaginationLink";
67
+ //#endregion
68
+ exports.PaginationLink = PaginationLink;
@@ -0,0 +1,25 @@
1
+
2
+ import { UniversalPaginationLinkProps } from "../../types/dist/index.cjs";
3
+ import * as _$react from "react";
4
+ import { PressableProps } from "react-native";
5
+
6
+ //#region src/components/Pagination/PaginationLink.d.ts
7
+ /** RN Pressable types differ from web anchor HTML attributes; keep parity fields only. */
8
+ interface PaginationLinkProps extends Omit<PressableProps, 'children' | 'style' | 'disabled'> {
9
+ page: UniversalPaginationLinkProps['page'];
10
+ href: UniversalPaginationLinkProps['href'];
11
+ children?: UniversalPaginationLinkProps['children'];
12
+ }
13
+ /**
14
+ * **PaginationLink — link-style page control**
15
+ *
16
+ * @description
17
+ * Used when `getPageHref` is provided on {@link Pagination}. Invokes `onPageChange` on press.
18
+ *
19
+ * @category Navigation
20
+ * @platform mobile
21
+ */
22
+ declare const PaginationLink: _$react.NamedExoticComponent<PaginationLinkProps>;
23
+ //#endregion
24
+ export { PaginationLink, type PaginationLinkProps };
25
+ //# sourceMappingURL=PaginationLink.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationLink.d.cts","names":[],"sources":["../../../src/components/Pagination/PaginationLink.tsx"],"mappings":";;;;;;;UAUU,mBAAA,SAA4B,IAAA,CAAK,cAAA;EACzC,IAAA,EAAM,4BAAA;EACN,IAAA,EAAM,4BAAA;EACN,QAAA,GAAW,4BAAA;AAAA;;;;;;;;;;cAYP,cAAA,EAAc,OAAA,CAAA,oBAAA,CAAA,mBAAA"}
@@ -0,0 +1,25 @@
1
+
2
+ import { UniversalPaginationLinkProps } from "../../types/dist/index.js";
3
+ import * as _$react from "react";
4
+ import { PressableProps } from "react-native";
5
+
6
+ //#region src/components/Pagination/PaginationLink.d.ts
7
+ /** RN Pressable types differ from web anchor HTML attributes; keep parity fields only. */
8
+ interface PaginationLinkProps extends Omit<PressableProps, 'children' | 'style' | 'disabled'> {
9
+ page: UniversalPaginationLinkProps['page'];
10
+ href: UniversalPaginationLinkProps['href'];
11
+ children?: UniversalPaginationLinkProps['children'];
12
+ }
13
+ /**
14
+ * **PaginationLink — link-style page control**
15
+ *
16
+ * @description
17
+ * Used when `getPageHref` is provided on {@link Pagination}. Invokes `onPageChange` on press.
18
+ *
19
+ * @category Navigation
20
+ * @platform mobile
21
+ */
22
+ declare const PaginationLink: _$react.NamedExoticComponent<PaginationLinkProps>;
23
+ //#endregion
24
+ export { PaginationLink, type PaginationLinkProps };
25
+ //# sourceMappingURL=PaginationLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationLink.d.ts","names":[],"sources":["../../../src/components/Pagination/PaginationLink.tsx"],"mappings":";;;;;;;UAUU,mBAAA,SAA4B,IAAA,CAAK,cAAA;EACzC,IAAA,EAAM,4BAAA;EACN,IAAA,EAAM,4BAAA;EACN,QAAA,GAAW,4BAAA;AAAA;;;;;;;;;;cAYP,cAAA,EAAc,OAAA,CAAA,oBAAA,CAAA,mBAAA"}
@@ -0,0 +1,68 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { Text as Text$1 } from "../Text.js";
3
+ import { usePaginationContext } from "./paginationContext.js";
4
+ import { usePaginationControlStyles } from "./usePaginationControlStyles.js";
5
+ import { memo, useCallback, useMemo, useState } from "react";
6
+ import { Pressable, StyleSheet } from "react-native";
7
+ import { jsx } from "react/jsx-runtime";
8
+ //#region src/components/Pagination/PaginationLink.tsx
9
+ /**
10
+ * **PaginationLink — link-style page control**
11
+ *
12
+ * @description
13
+ * Used when `getPageHref` is provided on {@link Pagination}. Invokes `onPageChange` on press.
14
+ *
15
+ * @category Navigation
16
+ * @platform mobile
17
+ */
18
+ const PaginationLink = memo(function PaginationLink({ page, href: _href, children, onPress, ...rest }) {
19
+ const { activePage, size, variant, getItemAriaLabel, onPageChange } = usePaginationContext();
20
+ const isActive = page === activePage;
21
+ const [pressed, setPressed] = useState(false);
22
+ const { rootStyle, textStyle } = usePaginationControlStyles({
23
+ size,
24
+ variant,
25
+ isActive,
26
+ pressed
27
+ });
28
+ const handlePress = useCallback((event) => {
29
+ onPress?.(event);
30
+ if (!isActive) onPageChange?.(page);
31
+ }, [
32
+ isActive,
33
+ onPageChange,
34
+ onPress,
35
+ page
36
+ ]);
37
+ const label = children ?? page;
38
+ const resolvedTextColor = useMemo(() => {
39
+ const flat = StyleSheet.flatten(textStyle);
40
+ return typeof flat?.color === "string" ? flat.color : void 0;
41
+ }, [textStyle]);
42
+ return /* @__PURE__ */ jsx(Pressable, {
43
+ accessibilityLabel: getItemAriaLabel(page, isActive),
44
+ accessibilityRole: "link",
45
+ accessibilityState: {
46
+ disabled: isActive,
47
+ selected: isActive
48
+ },
49
+ disabled: isActive,
50
+ onPress: isActive ? void 0 : handlePress,
51
+ onPressIn: () => setPressed(true),
52
+ onPressOut: () => setPressed(false),
53
+ style: rootStyle,
54
+ ...rest,
55
+ children: typeof label === "string" || typeof label === "number" ? /* @__PURE__ */ jsx(Text$1, {
56
+ color: "inherit",
57
+ variant: "inherit",
58
+ style: textStyle,
59
+ dangerouslySetColor: resolvedTextColor,
60
+ children: label
61
+ }) : label
62
+ });
63
+ });
64
+ PaginationLink.displayName = "PaginationLink";
65
+ //#endregion
66
+ export { PaginationLink };
67
+
68
+ //# sourceMappingURL=PaginationLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationLink.js","names":["Text"],"sources":["../../../src/components/Pagination/PaginationLink.tsx"],"sourcesContent":["import type { UniversalPaginationLinkProps } from '@yahoo/uds-types';\nimport { memo, useCallback, useMemo, useState } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable, StyleSheet } from 'react-native';\n\nimport { Text } from '../Text';\nimport { usePaginationContext } from './paginationContext';\nimport { usePaginationControlStyles } from './usePaginationControlStyles';\n\n/** RN Pressable types differ from web anchor HTML attributes; keep parity fields only. */\ninterface PaginationLinkProps extends Omit<PressableProps, 'children' | 'style' | 'disabled'> {\n page: UniversalPaginationLinkProps['page'];\n href: UniversalPaginationLinkProps['href'];\n children?: UniversalPaginationLinkProps['children'];\n}\n\n/**\n * **PaginationLink — link-style page control**\n *\n * @description\n * Used when `getPageHref` is provided on {@link Pagination}. Invokes `onPageChange` on press.\n *\n * @category Navigation\n * @platform mobile\n */\nconst PaginationLink = memo(function PaginationLink({\n page,\n href: _href,\n children,\n onPress,\n ...rest\n}: PaginationLinkProps) {\n const { activePage, size, variant, getItemAriaLabel, onPageChange } = usePaginationContext();\n const isActive = page === activePage;\n const [pressed, setPressed] = useState(false);\n const { rootStyle, textStyle } = usePaginationControlStyles({\n size,\n variant,\n isActive,\n pressed,\n });\n\n const handlePress = useCallback(\n (event: Parameters<NonNullable<PressableProps['onPress']>>[0]) => {\n onPress?.(event);\n if (!isActive) {\n onPageChange?.(page);\n }\n },\n [isActive, onPageChange, onPress, page],\n );\n\n const label = children ?? page;\n const resolvedTextColor = useMemo(() => {\n const flat = StyleSheet.flatten(textStyle);\n return typeof flat?.color === 'string' ? flat.color : undefined;\n }, [textStyle]);\n\n return (\n <Pressable\n accessibilityLabel={getItemAriaLabel(page, isActive)}\n accessibilityRole=\"link\"\n accessibilityState={{ disabled: isActive, selected: isActive }}\n disabled={isActive}\n onPress={isActive ? undefined : handlePress}\n onPressIn={() => setPressed(true)}\n onPressOut={() => setPressed(false)}\n style={rootStyle}\n {...rest}\n >\n {typeof label === 'string' || typeof label === 'number' ? (\n <Text\n color=\"inherit\"\n variant=\"inherit\"\n style={textStyle}\n dangerouslySetColor={resolvedTextColor}\n >\n {label}\n </Text>\n ) : (\n label\n )}\n </Pressable>\n );\n});\n\nPaginationLink.displayName = 'PaginationLink';\n\nexport { PaginationLink, type PaginationLinkProps };\n"],"mappings":";;;;;;;;;;;;;;;;;AAyBA,MAAM,iBAAiB,KAAK,SAAS,eAAe,EAClD,MACA,MAAM,OACN,UACA,SACA,GAAG,QACmB;CACtB,MAAM,EAAE,YAAY,MAAM,SAAS,kBAAkB,iBAAiB,sBAAsB;CAC5F,MAAM,WAAW,SAAS;CAC1B,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAC7C,MAAM,EAAE,WAAW,cAAc,2BAA2B;EAC1D;EACA;EACA;EACA;EACD,CAAC;CAEF,MAAM,cAAc,aACjB,UAAiE;EAChE,UAAU,MAAM;EAChB,IAAI,CAAC,UACH,eAAe,KAAK;IAGxB;EAAC;EAAU;EAAc;EAAS;EAAK,CACxC;CAED,MAAM,QAAQ,YAAY;CAC1B,MAAM,oBAAoB,cAAc;EACtC,MAAM,OAAO,WAAW,QAAQ,UAAU;EAC1C,OAAO,OAAO,MAAM,UAAU,WAAW,KAAK,QAAQ,KAAA;IACrD,CAAC,UAAU,CAAC;CAEf,OACE,oBAAC,WAAD;EACE,oBAAoB,iBAAiB,MAAM,SAAS;EACpD,mBAAkB;EAClB,oBAAoB;GAAE,UAAU;GAAU,UAAU;GAAU;EAC9D,UAAU;EACV,SAAS,WAAW,KAAA,IAAY;EAChC,iBAAiB,WAAW,KAAK;EACjC,kBAAkB,WAAW,MAAM;EACnC,OAAO;EACP,GAAI;YAEH,OAAO,UAAU,YAAY,OAAO,UAAU,WAC7C,oBAACA,QAAD;GACE,OAAM;GACN,SAAQ;GACR,OAAO;GACP,qBAAqB;aAEpB;GACI,CAAA,GAEP;EAEQ,CAAA;EAEd;AAEF,eAAe,cAAc"}
@@ -0,0 +1,72 @@
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_Icon = require("../Icon.cjs");
5
+ const require_components_Text = require("../Text.cjs");
6
+ const require_components_Pagination_paginationContext = require("./paginationContext.cjs");
7
+ const require_components_Pagination_usePaginationControlStyles = require("./usePaginationControlStyles.cjs");
8
+ let react = require("react");
9
+ let react_native = require("react-native");
10
+ let react_jsx_runtime = require("react/jsx-runtime");
11
+ //#region src/components/Pagination/PaginationNext.tsx
12
+ /**
13
+ * **PaginationNext — next page control**
14
+ *
15
+ * @description
16
+ * Hidden on the last page. Moves to the next page when pressed.
17
+ *
18
+ * @category Navigation
19
+ * @platform mobile
20
+ */
21
+ const PaginationNext = (0, react.memo)(function PaginationNext({ label = "Next", children, onPress, ...rest }) {
22
+ const { activePage, totalPages, size, variant, onPageChange } = require_components_Pagination_paginationContext.usePaginationContext();
23
+ const [pressed, setPressed] = (0, react.useState)(false);
24
+ (0, react.useEffect)(() => {
25
+ setPressed(false);
26
+ }, [activePage]);
27
+ const { rootStyle, textStyle, iconStyle } = require_components_Pagination_usePaginationControlStyles.usePaginationControlStyles({
28
+ size,
29
+ variant,
30
+ isActive: false,
31
+ pressed,
32
+ layout: "prevNext"
33
+ });
34
+ const handlePress = (0, react.useCallback)((event) => {
35
+ onPress?.(event);
36
+ onPageChange?.(activePage + 1);
37
+ }, [
38
+ activePage,
39
+ onPageChange,
40
+ onPress
41
+ ]);
42
+ const resolvedTextColor = (0, react.useMemo)(() => {
43
+ const flat = react_native.StyleSheet.flatten(textStyle);
44
+ return typeof flat?.color === "string" ? flat.color : void 0;
45
+ }, [textStyle]);
46
+ if (activePage >= totalPages) return null;
47
+ const content = children ?? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Text.Text, {
48
+ color: "inherit",
49
+ variant: "inherit",
50
+ style: textStyle,
51
+ dangerouslySetColor: resolvedTextColor,
52
+ children: label
53
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Icon.Icon, {
54
+ name: "ChevronRight",
55
+ size: "sm",
56
+ color: iconStyle?.color,
57
+ style: iconStyle
58
+ })] });
59
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_native.Pressable, {
60
+ accessibilityLabel: "Go to next page",
61
+ accessibilityRole: "button",
62
+ onPress: handlePress,
63
+ onPressIn: () => setPressed(true),
64
+ onPressOut: () => setPressed(false),
65
+ style: rootStyle,
66
+ ...rest,
67
+ children: content
68
+ });
69
+ });
70
+ PaginationNext.displayName = "PaginationNext";
71
+ //#endregion
72
+ exports.PaginationNext = PaginationNext;
@@ -0,0 +1,24 @@
1
+
2
+ import { UniversalPaginationNextProps } from "../../types/dist/index.cjs";
3
+ import * as _$react from "react";
4
+ import { PressableProps } from "react-native";
5
+
6
+ //#region src/components/Pagination/PaginationNext.d.ts
7
+ /** RN Pressable types differ from web button HTML attributes; keep parity fields only. */
8
+ interface PaginationNextProps extends Omit<PressableProps, 'children' | 'style'> {
9
+ label?: UniversalPaginationNextProps['label'];
10
+ children?: UniversalPaginationNextProps['children'];
11
+ }
12
+ /**
13
+ * **PaginationNext — next page control**
14
+ *
15
+ * @description
16
+ * Hidden on the last page. Moves to the next page when pressed.
17
+ *
18
+ * @category Navigation
19
+ * @platform mobile
20
+ */
21
+ declare const PaginationNext: _$react.NamedExoticComponent<PaginationNextProps>;
22
+ //#endregion
23
+ export { PaginationNext, type PaginationNextProps };
24
+ //# sourceMappingURL=PaginationNext.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationNext.d.cts","names":[],"sources":["../../../src/components/Pagination/PaginationNext.tsx"],"mappings":";;;;;;;UAYU,mBAAA,SAA4B,IAAA,CAAK,cAAA;EACzC,KAAA,GAAQ,4BAAA;EACR,QAAA,GAAW,4BAAA;AAAA;;;;;;;;;;cAYP,cAAA,EAAc,OAAA,CAAA,oBAAA,CAAA,mBAAA"}
@@ -0,0 +1,24 @@
1
+
2
+ import { UniversalPaginationNextProps } from "../../types/dist/index.js";
3
+ import * as _$react from "react";
4
+ import { PressableProps } from "react-native";
5
+
6
+ //#region src/components/Pagination/PaginationNext.d.ts
7
+ /** RN Pressable types differ from web button HTML attributes; keep parity fields only. */
8
+ interface PaginationNextProps extends Omit<PressableProps, 'children' | 'style'> {
9
+ label?: UniversalPaginationNextProps['label'];
10
+ children?: UniversalPaginationNextProps['children'];
11
+ }
12
+ /**
13
+ * **PaginationNext — next page control**
14
+ *
15
+ * @description
16
+ * Hidden on the last page. Moves to the next page when pressed.
17
+ *
18
+ * @category Navigation
19
+ * @platform mobile
20
+ */
21
+ declare const PaginationNext: _$react.NamedExoticComponent<PaginationNextProps>;
22
+ //#endregion
23
+ export { PaginationNext, type PaginationNextProps };
24
+ //# sourceMappingURL=PaginationNext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationNext.d.ts","names":[],"sources":["../../../src/components/Pagination/PaginationNext.tsx"],"mappings":";;;;;;;UAYU,mBAAA,SAA4B,IAAA,CAAK,cAAA;EACzC,KAAA,GAAQ,4BAAA;EACR,QAAA,GAAW,4BAAA;AAAA;;;;;;;;;;cAYP,cAAA,EAAc,OAAA,CAAA,oBAAA,CAAA,mBAAA"}
@@ -0,0 +1,72 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { Icon } from "../Icon.js";
3
+ import { Text as Text$1 } from "../Text.js";
4
+ import { usePaginationContext } from "./paginationContext.js";
5
+ import { usePaginationControlStyles } from "./usePaginationControlStyles.js";
6
+ import { memo, useCallback, useEffect, useMemo, useState } from "react";
7
+ import { Pressable, StyleSheet } from "react-native";
8
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
+ //#region src/components/Pagination/PaginationNext.tsx
10
+ /**
11
+ * **PaginationNext — next page control**
12
+ *
13
+ * @description
14
+ * Hidden on the last page. Moves to the next page when pressed.
15
+ *
16
+ * @category Navigation
17
+ * @platform mobile
18
+ */
19
+ const PaginationNext = memo(function PaginationNext({ label = "Next", children, onPress, ...rest }) {
20
+ const { activePage, totalPages, size, variant, onPageChange } = usePaginationContext();
21
+ const [pressed, setPressed] = useState(false);
22
+ useEffect(() => {
23
+ setPressed(false);
24
+ }, [activePage]);
25
+ const { rootStyle, textStyle, iconStyle } = usePaginationControlStyles({
26
+ size,
27
+ variant,
28
+ isActive: false,
29
+ pressed,
30
+ layout: "prevNext"
31
+ });
32
+ const handlePress = useCallback((event) => {
33
+ onPress?.(event);
34
+ onPageChange?.(activePage + 1);
35
+ }, [
36
+ activePage,
37
+ onPageChange,
38
+ onPress
39
+ ]);
40
+ const resolvedTextColor = useMemo(() => {
41
+ const flat = StyleSheet.flatten(textStyle);
42
+ return typeof flat?.color === "string" ? flat.color : void 0;
43
+ }, [textStyle]);
44
+ if (activePage >= totalPages) return null;
45
+ const content = children ?? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Text$1, {
46
+ color: "inherit",
47
+ variant: "inherit",
48
+ style: textStyle,
49
+ dangerouslySetColor: resolvedTextColor,
50
+ children: label
51
+ }), /* @__PURE__ */ jsx(Icon, {
52
+ name: "ChevronRight",
53
+ size: "sm",
54
+ color: iconStyle?.color,
55
+ style: iconStyle
56
+ })] });
57
+ return /* @__PURE__ */ jsx(Pressable, {
58
+ accessibilityLabel: "Go to next page",
59
+ accessibilityRole: "button",
60
+ onPress: handlePress,
61
+ onPressIn: () => setPressed(true),
62
+ onPressOut: () => setPressed(false),
63
+ style: rootStyle,
64
+ ...rest,
65
+ children: content
66
+ });
67
+ });
68
+ PaginationNext.displayName = "PaginationNext";
69
+ //#endregion
70
+ export { PaginationNext };
71
+
72
+ //# sourceMappingURL=PaginationNext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationNext.js","names":["Text"],"sources":["../../../src/components/Pagination/PaginationNext.tsx"],"sourcesContent":["import type { UniversalPaginationNextProps } from '@yahoo/uds-types';\nimport { memo, useCallback, useEffect, useMemo, useState } from 'react';\nimport type { PressableProps, TextStyle } from 'react-native';\nimport { Pressable, StyleSheet } from 'react-native';\n\nimport type { StyleProps } from '../../../generated/styles';\nimport { Icon } from '../Icon';\nimport { Text } from '../Text';\nimport { usePaginationContext } from './paginationContext';\nimport { usePaginationControlStyles } from './usePaginationControlStyles';\n\n/** RN Pressable types differ from web button HTML attributes; keep parity fields only. */\ninterface PaginationNextProps extends Omit<PressableProps, 'children' | 'style'> {\n label?: UniversalPaginationNextProps['label'];\n children?: UniversalPaginationNextProps['children'];\n}\n\n/**\n * **PaginationNext — next page control**\n *\n * @description\n * Hidden on the last page. Moves to the next page when pressed.\n *\n * @category Navigation\n * @platform mobile\n */\nconst PaginationNext = memo(function PaginationNext({\n label = 'Next',\n children,\n onPress,\n ...rest\n}: PaginationNextProps) {\n const { activePage, totalPages, size, variant, onPageChange } = usePaginationContext();\n const [pressed, setPressed] = useState(false);\n\n // Pressable unmounts when we return null before onPressOut runs; reset on page change.\n useEffect(() => {\n setPressed(false);\n }, [activePage]);\n const { rootStyle, textStyle, iconStyle } = usePaginationControlStyles({\n size,\n variant,\n isActive: false,\n pressed,\n layout: 'prevNext',\n });\n\n const handlePress = useCallback(\n (event: Parameters<NonNullable<PressableProps['onPress']>>[0]) => {\n onPress?.(event);\n onPageChange?.(activePage + 1);\n },\n [activePage, onPageChange, onPress],\n );\n\n const resolvedTextColor = useMemo(() => {\n const flat = StyleSheet.flatten(textStyle);\n return typeof flat?.color === 'string' ? flat.color : undefined;\n }, [textStyle]);\n\n if (activePage >= totalPages) {\n return null;\n }\n\n const content = children ?? (\n <>\n <Text\n color=\"inherit\"\n variant=\"inherit\"\n style={textStyle}\n dangerouslySetColor={resolvedTextColor}\n >\n {label}\n </Text>\n <Icon\n name=\"ChevronRight\"\n size=\"sm\"\n color={(iconStyle as TextStyle)?.color as StyleProps['color'] | undefined}\n style={iconStyle}\n />\n </>\n );\n\n return (\n <Pressable\n accessibilityLabel=\"Go to next page\"\n accessibilityRole=\"button\"\n onPress={handlePress}\n onPressIn={() => setPressed(true)}\n onPressOut={() => setPressed(false)}\n style={rootStyle}\n {...rest}\n >\n {content}\n </Pressable>\n );\n});\n\nPaginationNext.displayName = 'PaginationNext';\n\nexport { PaginationNext, type PaginationNextProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;AA0BA,MAAM,iBAAiB,KAAK,SAAS,eAAe,EAClD,QAAQ,QACR,UACA,SACA,GAAG,QACmB;CACtB,MAAM,EAAE,YAAY,YAAY,MAAM,SAAS,iBAAiB,sBAAsB;CACtF,MAAM,CAAC,SAAS,cAAc,SAAS,MAAM;CAG7C,gBAAgB;EACd,WAAW,MAAM;IAChB,CAAC,WAAW,CAAC;CAChB,MAAM,EAAE,WAAW,WAAW,cAAc,2BAA2B;EACrE;EACA;EACA,UAAU;EACV;EACA,QAAQ;EACT,CAAC;CAEF,MAAM,cAAc,aACjB,UAAiE;EAChE,UAAU,MAAM;EAChB,eAAe,aAAa,EAAE;IAEhC;EAAC;EAAY;EAAc;EAAQ,CACpC;CAED,MAAM,oBAAoB,cAAc;EACtC,MAAM,OAAO,WAAW,QAAQ,UAAU;EAC1C,OAAO,OAAO,MAAM,UAAU,WAAW,KAAK,QAAQ,KAAA;IACrD,CAAC,UAAU,CAAC;CAEf,IAAI,cAAc,YAChB,OAAO;CAGT,MAAM,UAAU,YACd,qBAAA,UAAA,EAAA,UAAA,CACE,oBAACA,QAAD;EACE,OAAM;EACN,SAAQ;EACR,OAAO;EACP,qBAAqB;YAEpB;EACI,CAAA,EACP,oBAAC,MAAD;EACE,MAAK;EACL,MAAK;EACL,OAAQ,WAAyB;EACjC,OAAO;EACP,CAAA,CACD,EAAA,CAAA;CAGL,OACE,oBAAC,WAAD;EACE,oBAAmB;EACnB,mBAAkB;EAClB,SAAS;EACT,iBAAiB,WAAW,KAAK;EACjC,kBAAkB,WAAW,MAAM;EACnC,OAAO;EACP,GAAI;YAEH;EACS,CAAA;EAEd;AAEF,eAAe,cAAc"}
@@ -0,0 +1,50 @@
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_HStack = require("../HStack.cjs");
5
+ const require_components_Pagination_paginationContext = require("./paginationContext.cjs");
6
+ const require_components_Pagination_paginationTheme = require("./paginationTheme.cjs");
7
+ const require_components_Pagination_PaginationEllipsis = require("./PaginationEllipsis.cjs");
8
+ const require_components_Pagination_PaginationItem = require("./PaginationItem.cjs");
9
+ const require_components_Pagination_PaginationLink = require("./PaginationLink.cjs");
10
+ let react = require("react");
11
+ let react_native = require("react-native");
12
+ let react_jsx_runtime = require("react/jsx-runtime");
13
+ let react_native_unistyles = require("react-native-unistyles");
14
+ //#region src/components/Pagination/PaginationNumbers.tsx
15
+ /**
16
+ * **PaginationNumbers — page number list**
17
+ *
18
+ * @description
19
+ * Renders visible page numbers and ellipses based on overflow rules.
20
+ *
21
+ * @category Navigation
22
+ * @platform mobile
23
+ */
24
+ const PaginationNumbers = (0, react.memo)(function PaginationNumbers({ renderItem, style, ...rest }) {
25
+ const { activePage, getPageHref, size } = require_components_Pagination_paginationContext.usePaginationContext();
26
+ const visiblePages = require_components_Pagination_paginationContext.useVisiblePages();
27
+ const { theme } = (0, react_native_unistyles.useUnistyles)();
28
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_HStack.HStack, {
29
+ alignItems: "center",
30
+ justifyContent: "center",
31
+ gap: (0, react.useMemo)(() => require_components_Pagination_paginationTheme.getPaginationRootGapStyle(theme, size), [size, theme]).gap,
32
+ style,
33
+ ...rest,
34
+ children: visiblePages.map((item, index) => {
35
+ const key = item === "ellipsis" ? `ellipsis-${index}` : `page-${item}`;
36
+ if (item === "ellipsis") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Pagination_PaginationEllipsis.PaginationEllipsis, {}, key);
37
+ const isActive = item === activePage;
38
+ const href = getPageHref?.(item);
39
+ if (renderItem) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(react_native.View, { children: renderItem(item, { isActive }) }, key);
40
+ if (href && !isActive) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Pagination_PaginationLink.PaginationLink, {
41
+ page: item,
42
+ href
43
+ }, key);
44
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Pagination_PaginationItem.PaginationItem, { page: item }, key);
45
+ })
46
+ });
47
+ });
48
+ PaginationNumbers.displayName = "PaginationNumbers";
49
+ //#endregion
50
+ exports.PaginationNumbers = PaginationNumbers;
@@ -0,0 +1,23 @@
1
+
2
+ import { UniversalPaginationNumbersProps } from "../../types/dist/index.cjs";
3
+ import * as _$react from "react";
4
+ import { ViewProps } from "react-native";
5
+
6
+ //#region src/components/Pagination/PaginationNumbers.d.ts
7
+ interface PaginationNumbersProps extends Omit<UniversalPaginationNumbersProps, 'className'>, Pick<ViewProps, 'style'> {
8
+ /** Custom render for each page number. */
9
+ renderItem?: UniversalPaginationNumbersProps['renderItem'];
10
+ }
11
+ /**
12
+ * **PaginationNumbers — page number list**
13
+ *
14
+ * @description
15
+ * Renders visible page numbers and ellipses based on overflow rules.
16
+ *
17
+ * @category Navigation
18
+ * @platform mobile
19
+ */
20
+ declare const PaginationNumbers: _$react.NamedExoticComponent<PaginationNumbersProps>;
21
+ //#endregion
22
+ export { PaginationNumbers, type PaginationNumbersProps };
23
+ //# sourceMappingURL=PaginationNumbers.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaginationNumbers.d.cts","names":[],"sources":["../../../src/components/Pagination/PaginationNumbers.tsx"],"mappings":";;;;;;UAeU,sBAAA,SACA,IAAA,CAAK,+BAAA,gBAA+C,IAAA,CAAK,SAAA;;EAEjE,UAAA,GAAa,+BAAA;AAAA;;;;;;;;;;cAYT,iBAAA,EAAiB,OAAA,CAAA,oBAAA,CAAA,sBAAA"}