@yahoo/uds-mobile 2.24.0-beta.4 → 2.24.0-beta.5

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 (118) hide show
  1. package/dist/components/Avatar/AvatarIcon.cjs +8 -2
  2. package/dist/components/Avatar/AvatarIcon.d.cts.map +1 -1
  3. package/dist/components/Avatar/AvatarIcon.d.ts.map +1 -1
  4. package/dist/components/Avatar/AvatarIcon.js +9 -3
  5. package/dist/components/Avatar/AvatarIcon.js.map +1 -1
  6. package/dist/components/Avatar/AvatarImage.cjs +9 -2
  7. package/dist/components/Avatar/AvatarImage.d.cts.map +1 -1
  8. package/dist/components/Avatar/AvatarImage.d.ts.map +1 -1
  9. package/dist/components/Avatar/AvatarImage.js +10 -3
  10. package/dist/components/Avatar/AvatarImage.js.map +1 -1
  11. package/dist/components/Avatar/AvatarText.cjs +8 -2
  12. package/dist/components/Avatar/AvatarText.d.cts.map +1 -1
  13. package/dist/components/Avatar/AvatarText.d.ts.map +1 -1
  14. package/dist/components/Avatar/AvatarText.js +9 -3
  15. package/dist/components/Avatar/AvatarText.js.map +1 -1
  16. package/dist/components/Avatar/types.d.cts +7 -3
  17. package/dist/components/Avatar/types.d.cts.map +1 -1
  18. package/dist/components/Avatar/types.d.ts +7 -3
  19. package/dist/components/Avatar/types.d.ts.map +1 -1
  20. package/dist/components/Avatar/utils.cjs +9 -6
  21. package/dist/components/Avatar/utils.d.cts +2 -2
  22. package/dist/components/Avatar/utils.d.cts.map +1 -1
  23. package/dist/components/Avatar/utils.d.ts +2 -2
  24. package/dist/components/Avatar/utils.d.ts.map +1 -1
  25. package/dist/components/Avatar/utils.js +9 -6
  26. package/dist/components/Avatar/utils.js.map +1 -1
  27. package/dist/components/Button.cjs +5 -1
  28. package/dist/components/Button.d.cts.map +1 -1
  29. package/dist/components/Button.d.ts.map +1 -1
  30. package/dist/components/Button.js +5 -1
  31. package/dist/components/Button.js.map +1 -1
  32. package/dist/components/Checkbox.cjs +3 -1
  33. package/dist/components/Checkbox.js +3 -1
  34. package/dist/components/Checkbox.js.map +1 -1
  35. package/dist/components/Icon.cjs +2 -2
  36. package/dist/components/Icon.js +2 -2
  37. package/dist/components/Icon.js.map +1 -1
  38. package/dist/components/Input.cjs +54 -18
  39. package/dist/components/Input.d.cts +5 -0
  40. package/dist/components/Input.d.cts.map +1 -1
  41. package/dist/components/Input.d.ts +5 -0
  42. package/dist/components/Input.d.ts.map +1 -1
  43. package/dist/components/Input.js +54 -18
  44. package/dist/components/Input.js.map +1 -1
  45. package/dist/components/InputHelpText.cjs +6 -1
  46. package/dist/components/InputHelpText.d.cts +2 -0
  47. package/dist/components/InputHelpText.d.cts.map +1 -1
  48. package/dist/components/InputHelpText.d.ts +2 -0
  49. package/dist/components/InputHelpText.d.ts.map +1 -1
  50. package/dist/components/InputHelpText.js +6 -1
  51. package/dist/components/InputHelpText.js.map +1 -1
  52. package/dist/components/Select/Select.cjs +11 -2
  53. package/dist/components/Select/Select.d.cts +2 -0
  54. package/dist/components/Select/Select.d.cts.map +1 -1
  55. package/dist/components/Select/Select.d.ts +2 -0
  56. package/dist/components/Select/Select.d.ts.map +1 -1
  57. package/dist/components/Select/Select.js +11 -2
  58. package/dist/components/Select/Select.js.map +1 -1
  59. package/dist/components/Select/SelectItem.cjs +23 -12
  60. package/dist/components/Select/SelectItem.d.cts.map +1 -1
  61. package/dist/components/Select/SelectItem.d.ts.map +1 -1
  62. package/dist/components/Select/SelectItem.js +23 -12
  63. package/dist/components/Select/SelectItem.js.map +1 -1
  64. package/dist/components/Select/SelectTrigger.cjs +28 -13
  65. package/dist/components/Select/SelectTrigger.d.cts.map +1 -1
  66. package/dist/components/Select/SelectTrigger.d.ts.map +1 -1
  67. package/dist/components/Select/SelectTrigger.js +28 -13
  68. package/dist/components/Select/SelectTrigger.js.map +1 -1
  69. package/dist/components/Select/types.d.cts +2 -0
  70. package/dist/components/Select/types.d.cts.map +1 -1
  71. package/dist/components/Select/types.d.ts +2 -0
  72. package/dist/components/Select/types.d.ts.map +1 -1
  73. package/dist/components/Switch.cjs +2 -2
  74. package/dist/components/Switch.d.cts.map +1 -1
  75. package/dist/components/Switch.d.ts.map +1 -1
  76. package/dist/components/Switch.js +2 -2
  77. package/dist/components/Switch.js.map +1 -1
  78. package/dist/components/Tabs/Tab.cjs +5 -1
  79. package/dist/components/Tabs/Tab.d.cts.map +1 -1
  80. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  81. package/dist/components/Tabs/Tab.js +5 -1
  82. package/dist/components/Tabs/Tab.js.map +1 -1
  83. package/dist/components/Text.cjs +4 -0
  84. package/dist/components/Text.d.cts.map +1 -1
  85. package/dist/components/Text.d.ts.map +1 -1
  86. package/dist/components/Text.js +4 -0
  87. package/dist/components/Text.js.map +1 -1
  88. package/dist/components/UDSProvider.cjs +1 -1
  89. package/dist/components/UDSProvider.js +1 -1
  90. package/dist/fontScaling/FontScalingContext.cjs +14 -0
  91. package/dist/fontScaling/FontScalingContext.d.cts +7 -1
  92. package/dist/fontScaling/FontScalingContext.d.cts.map +1 -1
  93. package/dist/fontScaling/FontScalingContext.d.ts +7 -1
  94. package/dist/fontScaling/FontScalingContext.d.ts.map +1 -1
  95. package/dist/fontScaling/FontScalingContext.js +15 -2
  96. package/dist/fontScaling/FontScalingContext.js.map +1 -1
  97. package/dist/fontScaling/constants.cjs +33 -0
  98. package/dist/fontScaling/constants.d.cts +11 -1
  99. package/dist/fontScaling/constants.d.cts.map +1 -1
  100. package/dist/fontScaling/constants.d.ts +11 -1
  101. package/dist/fontScaling/constants.d.ts.map +1 -1
  102. package/dist/fontScaling/constants.js +33 -1
  103. package/dist/fontScaling/constants.js.map +1 -1
  104. package/dist/fontScaling/index.cjs +2 -1
  105. package/dist/fontScaling/index.d.cts +2 -2
  106. package/dist/fontScaling/index.d.ts +2 -2
  107. package/dist/fontScaling/index.js +3 -3
  108. package/dist/jest/mocks/styles.cjs +13 -1
  109. package/dist/jest/mocks/styles.d.cts.map +1 -1
  110. package/dist/jest/mocks/styles.d.ts.map +1 -1
  111. package/dist/jest/mocks/styles.js +13 -1
  112. package/dist/jest/mocks/styles.js.map +1 -1
  113. package/dist/portal.cjs +8 -2
  114. package/dist/portal.d.cts.map +1 -1
  115. package/dist/portal.d.ts.map +1 -1
  116. package/dist/portal.js +8 -2
  117. package/dist/portal.js.map +1 -1
  118. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.cts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;cA8Ga,MAAA,EAAM,MAAA;AAAA,cAKN,YAAA,EAAY,MAAA;AAAA,cAgCZ,UAAA,EAAU,MAAA;AAAA,cAUV,WAAA,EAAW,MAAA;AAAA,cAkEX,cAAA,EAAc,MAAA;AAAA,cA2Bd,YAAA,EAAY,MAAA;AAAA,cAmCZ,YAAA,EAAY,MAAA;AAAA,cAqBZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,aAAA,EAAa,MAAA;AAAA,cAiBb,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA+CX,gBAAA,EAAgB,MAAA;AAAA,cAehB,iBAAA,EAAiB,MAAA;AAAA,cA0BjB,WAAA,EAAW,MAAA;AAAA,cASX,aAAA,EAAa,MAAA;AAAA,cAmCb,UAAA,EAAU,MAAA;AAAA,cASV,gBAAA,EAAgB,MAAA;AAAA,cAuBhB,WAAA,EAAW,MAAA;AAAA,cAuCX,WAAA,EAAW,MAAA;AAAA,cAiDX,YAAA,EAAY,MAAA;AAAA,cASZ,mBAAA,EAAmB,MAAA;AAAA,cAanB,gBAAA,EAAgB,MAAA;AAAA,UAeZ,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
1
+ {"version":3,"file":"styles.d.cts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;cA8Ga,MAAA,EAAM,MAAA;AAAA,cAKN,YAAA,EAAY,MAAA;AAAA,cAgCZ,UAAA,EAAU,MAAA;AAAA,cAUV,WAAA,EAAW,MAAA;AAAA,cAmEX,cAAA,EAAc,MAAA;AAAA,cA2Bd,YAAA,EAAY,MAAA;AAAA,cAmCZ,YAAA,EAAY,MAAA;AAAA,cAgCZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,aAAA,EAAa,MAAA;AAAA,cAiBb,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA+CX,gBAAA,EAAgB,MAAA;AAAA,cAehB,iBAAA,EAAiB,MAAA;AAAA,cA0BjB,WAAA,EAAW,MAAA;AAAA,cASX,aAAA,EAAa,MAAA;AAAA,cAmCb,UAAA,EAAU,MAAA;AAAA,cASV,gBAAA,EAAgB,MAAA;AAAA,cAuBhB,WAAA,EAAW,MAAA;AAAA,cAuCX,WAAA,EAAW,MAAA;AAAA,cAiDX,YAAA,EAAY,MAAA;AAAA,cASZ,mBAAA,EAAmB,MAAA;AAAA,cAanB,gBAAA,EAAgB,MAAA;AAAA,UAeZ,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;cA8Ga,MAAA,EAAM,MAAA;AAAA,cAKN,YAAA,EAAY,MAAA;AAAA,cAgCZ,UAAA,EAAU,MAAA;AAAA,cAUV,WAAA,EAAW,MAAA;AAAA,cAkEX,cAAA,EAAc,MAAA;AAAA,cA2Bd,YAAA,EAAY,MAAA;AAAA,cAmCZ,YAAA,EAAY,MAAA;AAAA,cAqBZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,aAAA,EAAa,MAAA;AAAA,cAiBb,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA+CX,gBAAA,EAAgB,MAAA;AAAA,cAehB,iBAAA,EAAiB,MAAA;AAAA,cA0BjB,WAAA,EAAW,MAAA;AAAA,cASX,aAAA,EAAa,MAAA;AAAA,cAmCb,UAAA,EAAU,MAAA;AAAA,cASV,gBAAA,EAAgB,MAAA;AAAA,cAuBhB,WAAA,EAAW,MAAA;AAAA,cAuCX,WAAA,EAAW,MAAA;AAAA,cAiDX,YAAA,EAAY,MAAA;AAAA,cASZ,mBAAA,EAAmB,MAAA;AAAA,cAanB,gBAAA,EAAgB,MAAA;AAAA,UAeZ,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
1
+ {"version":3,"file":"styles.d.ts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;cA8Ga,MAAA,EAAM,MAAA;AAAA,cAKN,YAAA,EAAY,MAAA;AAAA,cAgCZ,UAAA,EAAU,MAAA;AAAA,cAUV,WAAA,EAAW,MAAA;AAAA,cAmEX,cAAA,EAAc,MAAA;AAAA,cA2Bd,YAAA,EAAY,MAAA;AAAA,cAmCZ,YAAA,EAAY,MAAA;AAAA,cAgCZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,aAAA,EAAa,MAAA;AAAA,cAiBb,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA+CX,gBAAA,EAAgB,MAAA;AAAA,cAehB,iBAAA,EAAiB,MAAA;AAAA,cA0BjB,WAAA,EAAW,MAAA;AAAA,cASX,aAAA,EAAa,MAAA;AAAA,cAmCb,UAAA,EAAU,MAAA;AAAA,cASV,gBAAA,EAAgB,MAAA;AAAA,cAuBhB,WAAA,EAAW,MAAA;AAAA,cAuCX,WAAA,EAAW,MAAA;AAAA,cAiDX,YAAA,EAAY,MAAA;AAAA,cASZ,mBAAA,EAAmB,MAAA;AAAA,cAanB,gBAAA,EAAgB,MAAA;AAAA,UAeZ,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
@@ -149,6 +149,7 @@ const inputStyles = createComponentStyles({
149
149
  },
150
150
  input: {
151
151
  flex: 1,
152
+ height: 24,
152
153
  fontFamily: "YahooProductSans-Regular",
153
154
  fontSize: 16,
154
155
  lineHeight: 24,
@@ -241,7 +242,9 @@ const avatarStyles = createComponentStyles({
241
242
  justifyContent: "center",
242
243
  borderRadius: 9999,
243
244
  backgroundColor: "#E0E0E0",
244
- overflow: "hidden"
245
+ overflow: "hidden",
246
+ width: 40,
247
+ height: 40
245
248
  },
246
249
  image: {
247
250
  width: "100%",
@@ -251,6 +254,15 @@ const avatarStyles = createComponentStyles({
251
254
  fontFamily: "YahooProductSans-Medium",
252
255
  fontSize: 14,
253
256
  color: "#000000"
257
+ },
258
+ text: {
259
+ fontFamily: "YahooProductSans-Medium",
260
+ fontSize: 16,
261
+ lineHeight: 20
262
+ },
263
+ icon: {
264
+ fontSize: 24,
265
+ lineHeight: 24
254
266
  }
255
267
  });
256
268
  const badgeStyles = createComponentStyles({
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"sourcesContent":["/**\n * Jest mock for generated/styles.\n *\n * Provides proxy-based mocks for the generated style objects\n * (styles, buttonStyles, etc.) with useVariants as a no-op.\n */\n\n/// <reference types=\"jest\" />\n\n// Default style values for foundation\nconst defaultFoundation = {\n // Layout\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n justifyContent: 'flex-start',\n // Spacing\n padding: 0,\n paddingHorizontal: 0,\n paddingVertical: 0,\n margin: 0,\n gap: 0,\n // Colors\n backgroundColor: 'transparent',\n color: '#000000',\n borderColor: 'transparent',\n // Border\n borderWidth: 0,\n borderRadius: 0,\n // Typography\n fontFamily: 'System',\n fontSize: 14,\n lineHeight: 20,\n fontWeight: 'regular',\n // Effects\n opacity: 1,\n boxShadow: '',\n};\n\n// Create a style object with useVariants attached\nfunction createStyleObject(baseStyles: Record<string, unknown> = {}) {\n const useVariants = jest.fn();\n const proxy = new Proxy(\n { ...defaultFoundation, ...baseStyles, useVariants },\n {\n get(target, prop) {\n if (prop === 'useVariants') {\n return useVariants;\n }\n if (prop in target) {\n return target[prop as keyof typeof target];\n }\n // Return sensible defaults for unknown properties\n if (typeof prop === 'string') {\n if (prop.includes('color') || prop.includes('Color')) {\n return '#000000';\n }\n if (prop.includes('width') || prop.includes('Width')) {\n return 0;\n }\n if (prop.includes('radius') || prop.includes('Radius')) {\n return 0;\n }\n if (prop.includes('size') || prop.includes('Size')) {\n return 16;\n }\n if (prop.includes('spacing') || prop.includes('Spacing')) {\n return 0;\n }\n if (prop.includes('gap') || prop.includes('Gap')) {\n return 0;\n }\n }\n return undefined;\n },\n },\n );\n useVariants.mockReturnValue(proxy);\n return proxy;\n}\n\n// Create a component style object (like buttonStyles) with multiple style keys\nfunction createComponentStyles(styleKeys: Record<string, Record<string, unknown>>) {\n const useVariants = jest.fn();\n const result: Record<string, unknown> = { useVariants };\n\n for (const [key, baseStyles] of Object.entries(styleKeys)) {\n result[key] = createStyleObject(baseStyles);\n }\n\n const proxy = new Proxy(result, {\n get(target, prop) {\n if (prop === 'useVariants') {\n return useVariants;\n }\n if (prop in target) {\n return target[prop as keyof typeof target];\n }\n // Return a default style object for any unknown key\n if (typeof prop === 'string') {\n return createStyleObject();\n }\n return undefined;\n },\n });\n useVariants.mockReturnValue(proxy);\n return proxy;\n}\n\n// Main styles export\nexport const styles = createComponentStyles({\n foundation: defaultFoundation,\n});\n\n// Button styles\nexport const buttonStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 8,\n paddingHorizontal: 16,\n paddingVertical: 10,\n backgroundColor: '#6001D2',\n borderRadius: 8,\n borderWidth: 0,\n borderColor: 'transparent',\n opacity: 1,\n boxShadow: '',\n },\n text: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 14,\n letterSpacing: 0,\n lineHeight: 20,\n color: '#FFFFFF',\n },\n icon: {\n fontSize: 16,\n iconSizeToken: 'sm',\n lineHeight: 16,\n color: '#FFFFFF',\n },\n});\n\n// Text styles\nexport const textStyles = createComponentStyles({\n root: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n});\n\n// Input styles\nexport const inputStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n },\n label: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n inputContainer: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: 12,\n paddingVertical: 10,\n backgroundColor: '#FFFFFF',\n borderRadius: 8,\n borderWidth: 1,\n borderColor: '#E0E0E0',\n },\n input: {\n flex: 1,\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 16,\n lineHeight: 24,\n color: '#000000',\n },\n helperText: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 12,\n lineHeight: 16,\n color: '#666666',\n },\n labelRequired: {\n color: '#6001D2',\n },\n inputWrapper: {\n backgroundColor: '#FFFFFF',\n borderColor: '#E0E0E0',\n },\n inputWrapperStatic: {\n paddingHorizontal: 12,\n gap: 8,\n },\n inputWrapperDynamic: {\n borderWidth: 1,\n borderRadius: 8,\n },\n inputPlaceholder: {\n color: '#666666',\n },\n startIcon: {\n color: '#666666',\n },\n endIcon: {\n color: '#666666',\n },\n helperIcon: {\n color: '#666666',\n },\n});\n\n// Checkbox styles\nexport const checkboxStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n },\n checkbox: {\n width: 20,\n height: 20,\n borderRadius: 4,\n borderWidth: 2,\n borderColor: '#6001D2',\n backgroundColor: 'transparent',\n },\n checkboxIcon: {\n color: '#6001D2',\n },\n text: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n});\n\n// Switch styles\nexport const switchStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n },\n switch: {\n width: 48,\n height: 28,\n padding: 2,\n borderRadius: 14,\n backgroundColor: '#E0E0E0',\n },\n handle: {\n width: 24,\n height: 24,\n borderRadius: 12,\n backgroundColor: '#FFFFFF',\n },\n handleIcon: {\n fontSize: 16,\n iconSizeToken: 'sm',\n lineHeight: 16,\n color: '#000000',\n },\n text: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n});\n\n// Avatar styles\nexport const avatarStyles = createComponentStyles({\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 9999,\n backgroundColor: '#E0E0E0',\n overflow: 'hidden',\n },\n image: {\n width: '100%',\n height: '100%',\n },\n initials: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 14,\n color: '#000000',\n },\n});\n\n// Badge styles\nexport const badgeStyles = createComponentStyles({\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 8,\n paddingVertical: 2,\n borderRadius: 4,\n backgroundColor: '#E0E0E0',\n },\n text: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 12,\n lineHeight: 16,\n color: '#000000',\n },\n});\n\n// Chip styles\nexport const chipStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n paddingHorizontal: 12,\n paddingVertical: 6,\n borderRadius: 16,\n backgroundColor: '#F5F5F5',\n borderWidth: 1,\n borderColor: '#E0E0E0',\n },\n text: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n});\n\n// Divider styles\nexport const dividerStyles = createComponentStyles({\n root: {\n gap: 8,\n },\n label: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 12,\n lineHeight: 16,\n color: '#000000',\n },\n line: {\n borderWidth: 1,\n borderColor: '#E0E0E0',\n },\n});\n\n// Link styles\nexport const linkStyles = createComponentStyles({\n root: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n },\n text: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#6001D2',\n textDecorationLine: 'underline',\n },\n});\n\n// Radio styles\nexport const radioStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n },\n // Keys used by Radio.tsx (mirror the generated styles)\n radio: {\n width: 20,\n height: 20,\n borderWidth: 2,\n borderColor: '#6001D2',\n backgroundColor: 'transparent',\n },\n radioCircle: {\n backgroundColor: '#6001D2',\n },\n circle: {\n width: 20,\n height: 20,\n borderRadius: 10,\n borderWidth: 2,\n borderColor: '#6001D2',\n backgroundColor: 'transparent',\n },\n dot: {\n width: 10,\n height: 10,\n borderRadius: 5,\n backgroundColor: '#6001D2',\n },\n label: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n text: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n});\n\n// IconButton styles\nexport const iconButtonStyles = createComponentStyles({\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 8,\n backgroundColor: 'transparent',\n },\n icon: {\n fontSize: 24,\n color: '#000000',\n },\n});\n\n// BottomSheet styles\nexport const bottomSheetStyles = createComponentStyles({\n root: {\n backgroundColor: '#ffffff',\n backgroundBlurColor: '#ffffff',\n backgroundBlurRadius: 0,\n borderColor: '#e0e0e0',\n borderWidth: 1,\n borderRadius: 16,\n paddingHorizontal: 16,\n paddingVertical: 8,\n marginHorizontal: 8,\n marginBottom: 8,\n },\n header: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 16,\n letterSpacing: 0,\n lineHeight: 20,\n color: '#000000',\n },\n handleIndicator: {\n backgroundColor: '#999999',\n },\n});\n\n// Scrim styles\nexport const scrimStyles = createComponentStyles({\n root: {\n backgroundColor: '#000000',\n opacity: 0.2,\n backgroundBlurRadius: 0,\n },\n});\n\n// Popover styles\nexport const popoverStyles = createComponentStyles({\n root: {\n boxShadow: '0px 8px 16px rgba(0, 0, 0, 0.12)',\n },\n blur: {\n backgroundBlurRadius: 0,\n },\n closeIcon: {\n fontSize: 16,\n iconSizeToken: 'sm',\n lineHeight: 16,\n color: '#000000',\n },\n closeIconContainer: {\n padding: 8,\n },\n contentWrapper: {\n gap: 8,\n paddingHorizontal: 16,\n paddingVertical: 16,\n },\n svgBase: {\n borderRadius: 16,\n backgroundBlurColor: '#ffffff',\n backgroundBlurRadius: 0,\n backgroundColor: '#ffffff',\n backgroundOpacity: 1,\n },\n svgBorder: {\n borderColor: '#e0e0e0',\n borderWidth: 1,\n },\n});\n\n// Tabs (tab list chrome)\nexport const tabsStyles = createComponentStyles({\n root: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n },\n});\n\n// Pagination styles\nexport const paginationStyles = createComponentStyles({\n root: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n },\n item: {\n alignItems: 'center',\n justifyContent: 'center',\n padding: 8,\n borderRadius: 999,\n },\n text: {\n fontSize: 14,\n lineHeight: 16,\n },\n icon: {\n fontSize: 16,\n lineHeight: 16,\n },\n});\n\n// Toast styles\nexport const toastStyles = createComponentStyles({\n root: {\n alignItems: 'center',\n backgroundBlurColor: 'rgba(255, 255, 255, 0.9)',\n backgroundBlurRadius: 0,\n backgroundColor: '#FFFFFF',\n borderColor: '#E0E0E0',\n borderRadius: 12,\n borderWidth: 1,\n boxShadow: '',\n flexDirection: 'row',\n gap: 8,\n paddingHorizontal: 12,\n paddingVertical: 10,\n },\n text: {\n color: '#000000',\n },\n icon: {\n color: '#000000',\n fontSize: 16,\n iconSizeToken: 'md',\n lineHeight: 16,\n },\n closeIcon: {\n color: '#000000',\n fontSize: 12,\n iconSizeToken: 'sm',\n lineHeight: 12,\n },\n label: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 14,\n letterSpacing: 0,\n lineHeight: 20,\n },\n});\n\n// Modal styles\nexport const modalStyles = createComponentStyles({\n root: {\n backgroundBlurColor: 'rgba(255, 255, 255, 0.9)',\n backgroundBlurRadius: 0,\n backgroundColor: '#FFFFFF',\n borderColor: '#E0E0E0',\n borderRadius: 16,\n borderWidth: 1,\n boxShadow: '',\n paddingVertical: 32,\n },\n actions: {\n gap: 12,\n },\n closeIcon: {\n color: '#000000',\n fontSize: 24,\n iconSizeToken: 'md',\n lineHeight: 24,\n },\n closeIconContainer: {\n padding: 8,\n },\n description: {\n color: '#000000',\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 18,\n letterSpacing: 0,\n lineHeight: 28,\n },\n scrim: {\n padding: 32,\n },\n spacingHorizontal: {\n paddingHorizontal: 32,\n },\n title: {\n color: '#000000',\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 28,\n letterSpacing: 0,\n lineHeight: 36,\n },\n titleDescriptionWrapper: {\n gap: 8,\n },\n});\n\n// Select styles\nexport const selectStyles = createComponentStyles({\n startIcon: {\n color: '#666666',\n },\n endIcon: {\n color: '#666666',\n },\n});\n\nexport const selectContentStyles = createComponentStyles({\n root: {\n backgroundColor: '#FFFFFF',\n borderColor: '#E0E0E0',\n borderWidth: 1,\n borderRadius: 8,\n boxShadow: '',\n gap: 0,\n paddingHorizontal: 0,\n paddingVertical: 0,\n },\n});\n\nexport const selectItemStyles = createComponentStyles({\n root: {\n backgroundColor: '#FFFFFF',\n paddingHorizontal: 16,\n paddingVertical: 8,\n },\n text: {\n color: '#000000',\n },\n endIcon: {\n color: '#6001D2',\n },\n});\n\n// Type for StyleProps\nexport interface StyleProps {\n color?: string;\n backgroundColor?: string;\n borderColor?: string;\n borderWidth?: number;\n borderRadius?: number;\n [key: string]: unknown;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"sourcesContent":["/**\n * Jest mock for generated/styles.\n *\n * Provides proxy-based mocks for the generated style objects\n * (styles, buttonStyles, etc.) with useVariants as a no-op.\n */\n\n/// <reference types=\"jest\" />\n\n// Default style values for foundation\nconst defaultFoundation = {\n // Layout\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n justifyContent: 'flex-start',\n // Spacing\n padding: 0,\n paddingHorizontal: 0,\n paddingVertical: 0,\n margin: 0,\n gap: 0,\n // Colors\n backgroundColor: 'transparent',\n color: '#000000',\n borderColor: 'transparent',\n // Border\n borderWidth: 0,\n borderRadius: 0,\n // Typography\n fontFamily: 'System',\n fontSize: 14,\n lineHeight: 20,\n fontWeight: 'regular',\n // Effects\n opacity: 1,\n boxShadow: '',\n};\n\n// Create a style object with useVariants attached\nfunction createStyleObject(baseStyles: Record<string, unknown> = {}) {\n const useVariants = jest.fn();\n const proxy = new Proxy(\n { ...defaultFoundation, ...baseStyles, useVariants },\n {\n get(target, prop) {\n if (prop === 'useVariants') {\n return useVariants;\n }\n if (prop in target) {\n return target[prop as keyof typeof target];\n }\n // Return sensible defaults for unknown properties\n if (typeof prop === 'string') {\n if (prop.includes('color') || prop.includes('Color')) {\n return '#000000';\n }\n if (prop.includes('width') || prop.includes('Width')) {\n return 0;\n }\n if (prop.includes('radius') || prop.includes('Radius')) {\n return 0;\n }\n if (prop.includes('size') || prop.includes('Size')) {\n return 16;\n }\n if (prop.includes('spacing') || prop.includes('Spacing')) {\n return 0;\n }\n if (prop.includes('gap') || prop.includes('Gap')) {\n return 0;\n }\n }\n return undefined;\n },\n },\n );\n useVariants.mockReturnValue(proxy);\n return proxy;\n}\n\n// Create a component style object (like buttonStyles) with multiple style keys\nfunction createComponentStyles(styleKeys: Record<string, Record<string, unknown>>) {\n const useVariants = jest.fn();\n const result: Record<string, unknown> = { useVariants };\n\n for (const [key, baseStyles] of Object.entries(styleKeys)) {\n result[key] = createStyleObject(baseStyles);\n }\n\n const proxy = new Proxy(result, {\n get(target, prop) {\n if (prop === 'useVariants') {\n return useVariants;\n }\n if (prop in target) {\n return target[prop as keyof typeof target];\n }\n // Return a default style object for any unknown key\n if (typeof prop === 'string') {\n return createStyleObject();\n }\n return undefined;\n },\n });\n useVariants.mockReturnValue(proxy);\n return proxy;\n}\n\n// Main styles export\nexport const styles = createComponentStyles({\n foundation: defaultFoundation,\n});\n\n// Button styles\nexport const buttonStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 8,\n paddingHorizontal: 16,\n paddingVertical: 10,\n backgroundColor: '#6001D2',\n borderRadius: 8,\n borderWidth: 0,\n borderColor: 'transparent',\n opacity: 1,\n boxShadow: '',\n },\n text: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 14,\n letterSpacing: 0,\n lineHeight: 20,\n color: '#FFFFFF',\n },\n icon: {\n fontSize: 16,\n iconSizeToken: 'sm',\n lineHeight: 16,\n color: '#FFFFFF',\n },\n});\n\n// Text styles\nexport const textStyles = createComponentStyles({\n root: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n});\n\n// Input styles\nexport const inputStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: 4,\n },\n label: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n inputContainer: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n paddingHorizontal: 12,\n paddingVertical: 10,\n backgroundColor: '#FFFFFF',\n borderRadius: 8,\n borderWidth: 1,\n borderColor: '#E0E0E0',\n },\n input: {\n flex: 1,\n height: 24,\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 16,\n lineHeight: 24,\n color: '#000000',\n },\n helperText: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 12,\n lineHeight: 16,\n color: '#666666',\n },\n labelRequired: {\n color: '#6001D2',\n },\n inputWrapper: {\n backgroundColor: '#FFFFFF',\n borderColor: '#E0E0E0',\n },\n inputWrapperStatic: {\n paddingHorizontal: 12,\n gap: 8,\n },\n inputWrapperDynamic: {\n borderWidth: 1,\n borderRadius: 8,\n },\n inputPlaceholder: {\n color: '#666666',\n },\n startIcon: {\n color: '#666666',\n },\n endIcon: {\n color: '#666666',\n },\n helperIcon: {\n color: '#666666',\n },\n});\n\n// Checkbox styles\nexport const checkboxStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n },\n checkbox: {\n width: 20,\n height: 20,\n borderRadius: 4,\n borderWidth: 2,\n borderColor: '#6001D2',\n backgroundColor: 'transparent',\n },\n checkboxIcon: {\n color: '#6001D2',\n },\n text: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n});\n\n// Switch styles\nexport const switchStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n },\n switch: {\n width: 48,\n height: 28,\n padding: 2,\n borderRadius: 14,\n backgroundColor: '#E0E0E0',\n },\n handle: {\n width: 24,\n height: 24,\n borderRadius: 12,\n backgroundColor: '#FFFFFF',\n },\n handleIcon: {\n fontSize: 16,\n iconSizeToken: 'sm',\n lineHeight: 16,\n color: '#000000',\n },\n text: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n});\n\n// Avatar styles\nexport const avatarStyles = createComponentStyles({\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 9999,\n backgroundColor: '#E0E0E0',\n overflow: 'hidden',\n width: 40,\n height: 40,\n },\n image: {\n width: '100%',\n height: '100%',\n },\n initials: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 14,\n color: '#000000',\n },\n text: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 16,\n lineHeight: 20,\n },\n icon: {\n fontSize: 24,\n lineHeight: 24,\n },\n});\n\n// Badge styles\nexport const badgeStyles = createComponentStyles({\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n paddingHorizontal: 8,\n paddingVertical: 2,\n borderRadius: 4,\n backgroundColor: '#E0E0E0',\n },\n text: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 12,\n lineHeight: 16,\n color: '#000000',\n },\n});\n\n// Chip styles\nexport const chipStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n paddingHorizontal: 12,\n paddingVertical: 6,\n borderRadius: 16,\n backgroundColor: '#F5F5F5',\n borderWidth: 1,\n borderColor: '#E0E0E0',\n },\n text: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n});\n\n// Divider styles\nexport const dividerStyles = createComponentStyles({\n root: {\n gap: 8,\n },\n label: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 12,\n lineHeight: 16,\n color: '#000000',\n },\n line: {\n borderWidth: 1,\n borderColor: '#E0E0E0',\n },\n});\n\n// Link styles\nexport const linkStyles = createComponentStyles({\n root: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n },\n text: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#6001D2',\n textDecorationLine: 'underline',\n },\n});\n\n// Radio styles\nexport const radioStyles = createComponentStyles({\n root: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n },\n // Keys used by Radio.tsx (mirror the generated styles)\n radio: {\n width: 20,\n height: 20,\n borderWidth: 2,\n borderColor: '#6001D2',\n backgroundColor: 'transparent',\n },\n radioCircle: {\n backgroundColor: '#6001D2',\n },\n circle: {\n width: 20,\n height: 20,\n borderRadius: 10,\n borderWidth: 2,\n borderColor: '#6001D2',\n backgroundColor: 'transparent',\n },\n dot: {\n width: 10,\n height: 10,\n borderRadius: 5,\n backgroundColor: '#6001D2',\n },\n label: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n text: {\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 14,\n lineHeight: 20,\n color: '#000000',\n },\n});\n\n// IconButton styles\nexport const iconButtonStyles = createComponentStyles({\n root: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 8,\n backgroundColor: 'transparent',\n },\n icon: {\n fontSize: 24,\n color: '#000000',\n },\n});\n\n// BottomSheet styles\nexport const bottomSheetStyles = createComponentStyles({\n root: {\n backgroundColor: '#ffffff',\n backgroundBlurColor: '#ffffff',\n backgroundBlurRadius: 0,\n borderColor: '#e0e0e0',\n borderWidth: 1,\n borderRadius: 16,\n paddingHorizontal: 16,\n paddingVertical: 8,\n marginHorizontal: 8,\n marginBottom: 8,\n },\n header: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 16,\n letterSpacing: 0,\n lineHeight: 20,\n color: '#000000',\n },\n handleIndicator: {\n backgroundColor: '#999999',\n },\n});\n\n// Scrim styles\nexport const scrimStyles = createComponentStyles({\n root: {\n backgroundColor: '#000000',\n opacity: 0.2,\n backgroundBlurRadius: 0,\n },\n});\n\n// Popover styles\nexport const popoverStyles = createComponentStyles({\n root: {\n boxShadow: '0px 8px 16px rgba(0, 0, 0, 0.12)',\n },\n blur: {\n backgroundBlurRadius: 0,\n },\n closeIcon: {\n fontSize: 16,\n iconSizeToken: 'sm',\n lineHeight: 16,\n color: '#000000',\n },\n closeIconContainer: {\n padding: 8,\n },\n contentWrapper: {\n gap: 8,\n paddingHorizontal: 16,\n paddingVertical: 16,\n },\n svgBase: {\n borderRadius: 16,\n backgroundBlurColor: '#ffffff',\n backgroundBlurRadius: 0,\n backgroundColor: '#ffffff',\n backgroundOpacity: 1,\n },\n svgBorder: {\n borderColor: '#e0e0e0',\n borderWidth: 1,\n },\n});\n\n// Tabs (tab list chrome)\nexport const tabsStyles = createComponentStyles({\n root: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n },\n});\n\n// Pagination styles\nexport const paginationStyles = createComponentStyles({\n root: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 4,\n },\n item: {\n alignItems: 'center',\n justifyContent: 'center',\n padding: 8,\n borderRadius: 999,\n },\n text: {\n fontSize: 14,\n lineHeight: 16,\n },\n icon: {\n fontSize: 16,\n lineHeight: 16,\n },\n});\n\n// Toast styles\nexport const toastStyles = createComponentStyles({\n root: {\n alignItems: 'center',\n backgroundBlurColor: 'rgba(255, 255, 255, 0.9)',\n backgroundBlurRadius: 0,\n backgroundColor: '#FFFFFF',\n borderColor: '#E0E0E0',\n borderRadius: 12,\n borderWidth: 1,\n boxShadow: '',\n flexDirection: 'row',\n gap: 8,\n paddingHorizontal: 12,\n paddingVertical: 10,\n },\n text: {\n color: '#000000',\n },\n icon: {\n color: '#000000',\n fontSize: 16,\n iconSizeToken: 'md',\n lineHeight: 16,\n },\n closeIcon: {\n color: '#000000',\n fontSize: 12,\n iconSizeToken: 'sm',\n lineHeight: 12,\n },\n label: {\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 14,\n letterSpacing: 0,\n lineHeight: 20,\n },\n});\n\n// Modal styles\nexport const modalStyles = createComponentStyles({\n root: {\n backgroundBlurColor: 'rgba(255, 255, 255, 0.9)',\n backgroundBlurRadius: 0,\n backgroundColor: '#FFFFFF',\n borderColor: '#E0E0E0',\n borderRadius: 16,\n borderWidth: 1,\n boxShadow: '',\n paddingVertical: 32,\n },\n actions: {\n gap: 12,\n },\n closeIcon: {\n color: '#000000',\n fontSize: 24,\n iconSizeToken: 'md',\n lineHeight: 24,\n },\n closeIconContainer: {\n padding: 8,\n },\n description: {\n color: '#000000',\n fontFamily: 'YahooProductSans-Regular',\n fontSize: 18,\n letterSpacing: 0,\n lineHeight: 28,\n },\n scrim: {\n padding: 32,\n },\n spacingHorizontal: {\n paddingHorizontal: 32,\n },\n title: {\n color: '#000000',\n fontFamily: 'YahooProductSans-Medium',\n fontSize: 28,\n letterSpacing: 0,\n lineHeight: 36,\n },\n titleDescriptionWrapper: {\n gap: 8,\n },\n});\n\n// Select styles\nexport const selectStyles = createComponentStyles({\n startIcon: {\n color: '#666666',\n },\n endIcon: {\n color: '#666666',\n },\n});\n\nexport const selectContentStyles = createComponentStyles({\n root: {\n backgroundColor: '#FFFFFF',\n borderColor: '#E0E0E0',\n borderWidth: 1,\n borderRadius: 8,\n boxShadow: '',\n gap: 0,\n paddingHorizontal: 0,\n paddingVertical: 0,\n },\n});\n\nexport const selectItemStyles = createComponentStyles({\n root: {\n backgroundColor: '#FFFFFF',\n paddingHorizontal: 16,\n paddingVertical: 8,\n },\n text: {\n color: '#000000',\n },\n endIcon: {\n color: '#6001D2',\n },\n});\n\n// Type for StyleProps\nexport interface StyleProps {\n color?: string;\n backgroundColor?: string;\n borderColor?: string;\n borderWidth?: number;\n borderRadius?: number;\n [key: string]: unknown;\n}\n"],"mappings":"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"}
package/dist/portal.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  require("./_virtual/_rolldown/runtime.cjs");
4
+ const require_fontScaling_FontScalingContext = require("./fontScaling/FontScalingContext.cjs");
4
5
  let react = require("react");
5
6
  let react_native = require("react-native");
6
7
  let react_jsx_runtime = require("react/jsx-runtime");
@@ -41,11 +42,16 @@ const PortalHost = (0, react.memo)(function PortalHost({ state }) {
41
42
  function Portal({ children }) {
42
43
  const id = (0, react.useId)();
43
44
  const { register, unregister } = usePortalContext();
45
+ const fontScalingConfig = (0, react.useContext)(require_fontScaling_FontScalingContext.FontScalingContext);
46
+ const bridgedChildren = (0, react.useMemo)(() => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_fontScaling_FontScalingContext.FontScalingContext.Provider, {
47
+ value: fontScalingConfig,
48
+ children
49
+ }), [children, fontScalingConfig]);
44
50
  (0, react.useEffect)(() => {
45
- register(id, children);
51
+ register(id, bridgedChildren);
46
52
  }, [
47
53
  id,
48
- children,
54
+ bridgedChildren,
49
55
  register
50
56
  ]);
51
57
  (0, react.useEffect)(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"portal.d.cts","names":[],"sources":["../src/portal.tsx"],"mappings":";;;;;UA4CU,kBAAA;EACR,QAAA,GAAW,EAAA,UAAY,IAAA,EAAM,SAAA;EAC7B,UAAA,GAAa,EAAA;AAAA;AAAA,iBAKN,gBAAA,CAAA,GAAoB,kBAAA;AAAA,iBAgCpB,MAAA,CAAA;EAAS;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA;AAAA,iBAmBjC,cAAA,CAAA;EAAiB;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA,IAAW,OAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"portal.d.cts","names":[],"sources":["../src/portal.tsx"],"mappings":";;;;;UA8CU,kBAAA;EACR,QAAA,GAAW,EAAA,UAAY,IAAA,EAAM,SAAA;EAC7B,UAAA,GAAa,EAAA;AAAA;AAAA,iBAKN,gBAAA,CAAA,GAAoB,kBAAA;AAAA,iBAgCpB,MAAA,CAAA;EAAS;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA;AAAA,iBA+BjC,cAAA,CAAA;EAAiB;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA,IAAW,OAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"portal.d.ts","names":[],"sources":["../src/portal.tsx"],"mappings":";;;;;UA4CU,kBAAA;EACR,QAAA,GAAW,EAAA,UAAY,IAAA,EAAM,SAAA;EAC7B,UAAA,GAAa,EAAA;AAAA;AAAA,iBAKN,gBAAA,CAAA,GAAoB,kBAAA;AAAA,iBAgCpB,MAAA,CAAA;EAAS;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA;AAAA,iBAmBjC,cAAA,CAAA;EAAiB;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA,IAAW,OAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"portal.d.ts","names":[],"sources":["../src/portal.tsx"],"mappings":";;;;;UA8CU,kBAAA;EACR,QAAA,GAAW,EAAA,UAAY,IAAA,EAAM,SAAA;EAC7B,UAAA,GAAa,EAAA;AAAA;AAAA,iBAKN,gBAAA,CAAA,GAAoB,kBAAA;AAAA,iBAgCpB,MAAA,CAAA;EAAS;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA;AAAA,iBA+BjC,cAAA,CAAA;EAAiB;AAAA;EAAc,QAAA,EAAU,SAAA;AAAA,IAAW,OAAA,CAAA,GAAA,CAAA,OAAA"}
package/dist/portal.js CHANGED
@@ -1,4 +1,5 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { FontScalingContext } from "./fontScaling/FontScalingContext.js";
2
3
  import { createContext, memo, useCallback, useContext, useEffect, useId, useMemo, useReducer } from "react";
3
4
  import { StyleSheet, View } from "react-native";
4
5
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -39,11 +40,16 @@ const PortalHost = memo(function PortalHost({ state }) {
39
40
  function Portal({ children }) {
40
41
  const id = useId();
41
42
  const { register, unregister } = usePortalContext();
43
+ const fontScalingConfig = useContext(FontScalingContext);
44
+ const bridgedChildren = useMemo(() => /* @__PURE__ */ jsx(FontScalingContext.Provider, {
45
+ value: fontScalingConfig,
46
+ children
47
+ }), [children, fontScalingConfig]);
42
48
  useEffect(() => {
43
- register(id, children);
49
+ register(id, bridgedChildren);
44
50
  }, [
45
51
  id,
46
- children,
52
+ bridgedChildren,
47
53
  register
48
54
  ]);
49
55
  useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"portal.js","names":[],"sources":["../src/portal.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport {\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useReducer,\n} from 'react';\nimport { StyleSheet, View } from 'react-native';\n\n// ---------------------------------------------------------------------------\n// State\n// ---------------------------------------------------------------------------\n\ntype PortalState = Map<string, ReactNode>;\n\ntype PortalAction =\n { type: 'register'; id: string; node: ReactNode } | { type: 'unregister'; id: string };\n\nfunction portalReducer(state: PortalState, action: PortalAction): PortalState {\n switch (action.type) {\n case 'register': {\n const next = new Map(state);\n next.set(action.id, action.node);\n return next;\n }\n case 'unregister': {\n if (!state.has(action.id)) {\n return state;\n }\n const next = new Map(state);\n next.delete(action.id);\n return next;\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface PortalContextValue {\n register: (id: string, node: ReactNode) => void;\n unregister: (id: string) => void;\n}\n\nconst PortalContext = createContext<PortalContextValue | null>(null);\n\nfunction usePortalContext(): PortalContextValue {\n const ctx = useContext(PortalContext);\n if (!ctx) {\n throw new Error('Portal must be used within a UDSGestureProvider.');\n }\n return ctx;\n}\n\n// ---------------------------------------------------------------------------\n// PortalHost — renders registered portals. Place after children for z-order.\n// ---------------------------------------------------------------------------\n\nconst PortalHost = memo(function PortalHost({ state }: { state: PortalState }) {\n if (state.size === 0) {\n return null;\n }\n\n const nodes: ReactNode[] = [];\n state.forEach((node, id) => {\n nodes.push(\n <View key={id} style={styles.overlay} pointerEvents=\"box-none\">\n {node}\n </View>,\n );\n });\n return nodes;\n});\n\n// ---------------------------------------------------------------------------\n// Portal — registers children with the host. Renders nothing itself.\n// ---------------------------------------------------------------------------\n\nfunction Portal({ children }: { children: ReactNode }) {\n const id = useId();\n const { register, unregister } = usePortalContext();\n\n useEffect(() => {\n register(id, children);\n }, [id, children, register]);\n\n useEffect(() => {\n return () => unregister(id);\n }, [id, unregister]);\n\n return null;\n}\n\n// ---------------------------------------------------------------------------\n// PortalProvider — sets up the portal context and host.\n// ---------------------------------------------------------------------------\n\nfunction PortalProvider({ children }: { children: ReactNode }) {\n const [state, dispatch] = useReducer(portalReducer, new Map() as PortalState);\n\n const register = useCallback(\n (id: string, node: ReactNode) => dispatch({ type: 'register', id, node }),\n [],\n );\n const unregister = useCallback((id: string) => dispatch({ type: 'unregister', id }), []);\n\n const contextValue = useMemo(() => ({ register, unregister }), [register, unregister]);\n\n return (\n <PortalContext.Provider value={contextValue}>\n {children}\n <PortalHost state={state} />\n </PortalContext.Provider>\n );\n}\n\nconst styles = StyleSheet.create({\n overlay: {\n ...StyleSheet.absoluteFill,\n },\n});\n\nexport { Portal, PortalProvider, usePortalContext };\nexport type { PortalContextValue };\n"],"mappings":";;;;;AAsBA,SAAS,cAAc,OAAoB,QAAmC;CAC5E,QAAQ,OAAO,MAAf;EACE,KAAK,YAAY;GACf,MAAM,OAAO,IAAI,IAAI,MAAM;GAC3B,KAAK,IAAI,OAAO,IAAI,OAAO,KAAK;GAChC,OAAO;;EAET,KAAK,cAAc;GACjB,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,EACvB,OAAO;GAET,MAAM,OAAO,IAAI,IAAI,MAAM;GAC3B,KAAK,OAAO,OAAO,GAAG;GACtB,OAAO;;;;AAcb,MAAM,gBAAgB,cAAyC,KAAK;AAEpE,SAAS,mBAAuC;CAC9C,MAAM,MAAM,WAAW,cAAc;CACrC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,mDAAmD;CAErE,OAAO;;AAOT,MAAM,aAAa,KAAK,SAAS,WAAW,EAAE,SAAiC;CAC7E,IAAI,MAAM,SAAS,GACjB,OAAO;CAGT,MAAM,QAAqB,EAAE;CAC7B,MAAM,SAAS,MAAM,OAAO;EAC1B,MAAM,KACJ,oBAAC,MAAD;GAAe,OAAO,OAAO;GAAS,eAAc;aACjD;GACI,EAFI,GAEJ,CACR;GACD;CACF,OAAO;EACP;AAMF,SAAS,OAAO,EAAE,YAAqC;CACrD,MAAM,KAAK,OAAO;CAClB,MAAM,EAAE,UAAU,eAAe,kBAAkB;CAEnD,gBAAgB;EACd,SAAS,IAAI,SAAS;IACrB;EAAC;EAAI;EAAU;EAAS,CAAC;CAE5B,gBAAgB;EACd,aAAa,WAAW,GAAG;IAC1B,CAAC,IAAI,WAAW,CAAC;CAEpB,OAAO;;AAOT,SAAS,eAAe,EAAE,YAAqC;CAC7D,MAAM,CAAC,OAAO,YAAY,WAAW,+BAAe,IAAI,KAAK,CAAgB;CAE7E,MAAM,WAAW,aACd,IAAY,SAAoB,SAAS;EAAE,MAAM;EAAY;EAAI;EAAM,CAAC,EACzE,EAAE,CACH;CACD,MAAM,aAAa,aAAa,OAAe,SAAS;EAAE,MAAM;EAAc;EAAI,CAAC,EAAE,EAAE,CAAC;CAExF,MAAM,eAAe,eAAe;EAAE;EAAU;EAAY,GAAG,CAAC,UAAU,WAAW,CAAC;CAEtF,OACE,qBAAC,cAAc,UAAf;EAAwB,OAAO;YAA/B,CACG,UACD,oBAAC,YAAD,EAAmB,OAAS,CAAA,CACL;;;AAI7B,MAAM,SAAS,WAAW,OAAO,EAC/B,SAAS,EACP,GAAG,WAAW,cACf,EACF,CAAC"}
1
+ {"version":3,"file":"portal.js","names":[],"sources":["../src/portal.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport {\n createContext,\n memo,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useReducer,\n} from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { FontScalingContext } from './fontScaling/FontScalingContext';\n\n// ---------------------------------------------------------------------------\n// State\n// ---------------------------------------------------------------------------\n\ntype PortalState = Map<string, ReactNode>;\n\ntype PortalAction =\n { type: 'register'; id: string; node: ReactNode } | { type: 'unregister'; id: string };\n\nfunction portalReducer(state: PortalState, action: PortalAction): PortalState {\n switch (action.type) {\n case 'register': {\n const next = new Map(state);\n next.set(action.id, action.node);\n return next;\n }\n case 'unregister': {\n if (!state.has(action.id)) {\n return state;\n }\n const next = new Map(state);\n next.delete(action.id);\n return next;\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface PortalContextValue {\n register: (id: string, node: ReactNode) => void;\n unregister: (id: string) => void;\n}\n\nconst PortalContext = createContext<PortalContextValue | null>(null);\n\nfunction usePortalContext(): PortalContextValue {\n const ctx = useContext(PortalContext);\n if (!ctx) {\n throw new Error('Portal must be used within a UDSGestureProvider.');\n }\n return ctx;\n}\n\n// ---------------------------------------------------------------------------\n// PortalHost — renders registered portals. Place after children for z-order.\n// ---------------------------------------------------------------------------\n\nconst PortalHost = memo(function PortalHost({ state }: { state: PortalState }) {\n if (state.size === 0) {\n return null;\n }\n\n const nodes: ReactNode[] = [];\n state.forEach((node, id) => {\n nodes.push(\n <View key={id} style={styles.overlay} pointerEvents=\"box-none\">\n {node}\n </View>,\n );\n });\n return nodes;\n});\n\n// ---------------------------------------------------------------------------\n// Portal — registers children with the host. Renders nothing itself.\n// ---------------------------------------------------------------------------\n\nfunction Portal({ children }: { children: ReactNode }) {\n const id = useId();\n const { register, unregister } = usePortalContext();\n const fontScalingConfig = useContext(FontScalingContext);\n\n // This portal host renders beside the app tree, so React context would\n // otherwise resolve at the host and lose both root and nested overrides.\n const bridgedChildren = useMemo(\n () => (\n <FontScalingContext.Provider value={fontScalingConfig}>\n {children}\n </FontScalingContext.Provider>\n ),\n [children, fontScalingConfig],\n );\n\n useEffect(() => {\n register(id, bridgedChildren);\n }, [id, bridgedChildren, register]);\n\n useEffect(() => {\n return () => unregister(id);\n }, [id, unregister]);\n\n return null;\n}\n\n// ---------------------------------------------------------------------------\n// PortalProvider — sets up the portal context and host.\n// ---------------------------------------------------------------------------\n\nfunction PortalProvider({ children }: { children: ReactNode }) {\n const [state, dispatch] = useReducer(portalReducer, new Map() as PortalState);\n\n const register = useCallback(\n (id: string, node: ReactNode) => dispatch({ type: 'register', id, node }),\n [],\n );\n const unregister = useCallback((id: string) => dispatch({ type: 'unregister', id }), []);\n\n const contextValue = useMemo(() => ({ register, unregister }), [register, unregister]);\n\n return (\n <PortalContext.Provider value={contextValue}>\n {children}\n <PortalHost state={state} />\n </PortalContext.Provider>\n );\n}\n\nconst styles = StyleSheet.create({\n overlay: {\n ...StyleSheet.absoluteFill,\n },\n});\n\nexport { Portal, PortalProvider, usePortalContext };\nexport type { PortalContextValue };\n"],"mappings":";;;;;;AAwBA,SAAS,cAAc,OAAoB,QAAmC;CAC5E,QAAQ,OAAO,MAAf;EACE,KAAK,YAAY;GACf,MAAM,OAAO,IAAI,IAAI,MAAM;GAC3B,KAAK,IAAI,OAAO,IAAI,OAAO,KAAK;GAChC,OAAO;;EAET,KAAK,cAAc;GACjB,IAAI,CAAC,MAAM,IAAI,OAAO,GAAG,EACvB,OAAO;GAET,MAAM,OAAO,IAAI,IAAI,MAAM;GAC3B,KAAK,OAAO,OAAO,GAAG;GACtB,OAAO;;;;AAcb,MAAM,gBAAgB,cAAyC,KAAK;AAEpE,SAAS,mBAAuC;CAC9C,MAAM,MAAM,WAAW,cAAc;CACrC,IAAI,CAAC,KACH,MAAM,IAAI,MAAM,mDAAmD;CAErE,OAAO;;AAOT,MAAM,aAAa,KAAK,SAAS,WAAW,EAAE,SAAiC;CAC7E,IAAI,MAAM,SAAS,GACjB,OAAO;CAGT,MAAM,QAAqB,EAAE;CAC7B,MAAM,SAAS,MAAM,OAAO;EAC1B,MAAM,KACJ,oBAAC,MAAD;GAAe,OAAO,OAAO;GAAS,eAAc;aACjD;GACI,EAFI,GAEJ,CACR;GACD;CACF,OAAO;EACP;AAMF,SAAS,OAAO,EAAE,YAAqC;CACrD,MAAM,KAAK,OAAO;CAClB,MAAM,EAAE,UAAU,eAAe,kBAAkB;CACnD,MAAM,oBAAoB,WAAW,mBAAmB;CAIxD,MAAM,kBAAkB,cAEpB,oBAAC,mBAAmB,UAApB;EAA6B,OAAO;EACjC;EAC2B,CAAA,EAEhC,CAAC,UAAU,kBAAkB,CAC9B;CAED,gBAAgB;EACd,SAAS,IAAI,gBAAgB;IAC5B;EAAC;EAAI;EAAiB;EAAS,CAAC;CAEnC,gBAAgB;EACd,aAAa,WAAW,GAAG;IAC1B,CAAC,IAAI,WAAW,CAAC;CAEpB,OAAO;;AAOT,SAAS,eAAe,EAAE,YAAqC;CAC7D,MAAM,CAAC,OAAO,YAAY,WAAW,+BAAe,IAAI,KAAK,CAAgB;CAE7E,MAAM,WAAW,aACd,IAAY,SAAoB,SAAS;EAAE,MAAM;EAAY;EAAI;EAAM,CAAC,EACzE,EAAE,CACH;CACD,MAAM,aAAa,aAAa,OAAe,SAAS;EAAE,MAAM;EAAc;EAAI,CAAC,EAAE,EAAE,CAAC;CAExF,MAAM,eAAe,eAAe;EAAE;EAAU;EAAY,GAAG,CAAC,UAAU,WAAW,CAAC;CAEtF,OACE,qBAAC,cAAc,UAAf;EAAwB,OAAO;YAA/B,CACG,UACD,oBAAC,YAAD,EAAmB,OAAS,CAAA,CACL;;;AAI7B,MAAM,SAAS,WAAW,OAAO,EAC/B,SAAS,EACP,GAAG,WAAW,cACf,EACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yahoo/uds-mobile",
3
- "version": "2.24.0-beta.4",
3
+ "version": "2.24.0-beta.5",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "uds-mobile": "./cli/uds-mobile.js"