@yahoo/uds-mobile 2.21.2 → 2.23.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 (112) hide show
  1. package/README.md +2 -0
  2. package/dist/bin/automated-config/dist/generated/generatedConfigs.mjs +3127 -452
  3. package/dist/bin/uds-mobile.mjs +7 -7
  4. package/dist/components/IconButton.cjs +24 -21
  5. package/dist/components/IconButton.js +25 -22
  6. package/dist/components/IconButton.js.map +1 -1
  7. package/dist/components/Select/Select.cjs +194 -0
  8. package/dist/components/Select/Select.d.cts +47 -0
  9. package/dist/components/Select/Select.d.cts.map +1 -0
  10. package/dist/components/Select/Select.d.ts +47 -0
  11. package/dist/components/Select/Select.d.ts.map +1 -0
  12. package/dist/components/Select/Select.js +194 -0
  13. package/dist/components/Select/Select.js.map +1 -0
  14. package/dist/components/Select/SelectContent.cjs +148 -0
  15. package/dist/components/Select/SelectContent.d.cts +31 -0
  16. package/dist/components/Select/SelectContent.d.cts.map +1 -0
  17. package/dist/components/Select/SelectContent.d.ts +31 -0
  18. package/dist/components/Select/SelectContent.d.ts.map +1 -0
  19. package/dist/components/Select/SelectContent.js +147 -0
  20. package/dist/components/Select/SelectContent.js.map +1 -0
  21. package/dist/components/Select/SelectItem.cjs +138 -0
  22. package/dist/components/Select/SelectItem.d.cts +24 -0
  23. package/dist/components/Select/SelectItem.d.cts.map +1 -0
  24. package/dist/components/Select/SelectItem.d.ts +24 -0
  25. package/dist/components/Select/SelectItem.d.ts.map +1 -0
  26. package/dist/components/Select/SelectItem.js +137 -0
  27. package/dist/components/Select/SelectItem.js.map +1 -0
  28. package/dist/components/Select/SelectTrigger.cjs +140 -0
  29. package/dist/components/Select/SelectTrigger.d.cts +13 -0
  30. package/dist/components/Select/SelectTrigger.d.cts.map +1 -0
  31. package/dist/components/Select/SelectTrigger.d.ts +13 -0
  32. package/dist/components/Select/SelectTrigger.d.ts.map +1 -0
  33. package/dist/components/Select/SelectTrigger.js +139 -0
  34. package/dist/components/Select/SelectTrigger.js.map +1 -0
  35. package/dist/components/Select/index.cjs +8 -0
  36. package/dist/components/Select/index.d.cts +5 -0
  37. package/dist/components/Select/index.d.ts +5 -0
  38. package/dist/components/Select/index.js +5 -0
  39. package/dist/components/Select/selectContext.cjs +22 -0
  40. package/dist/components/Select/selectContext.d.cts +12 -0
  41. package/dist/components/Select/selectContext.d.cts.map +1 -0
  42. package/dist/components/Select/selectContext.d.ts +12 -0
  43. package/dist/components/Select/selectContext.d.ts.map +1 -0
  44. package/dist/components/Select/selectContext.js +19 -0
  45. package/dist/components/Select/selectContext.js.map +1 -0
  46. package/dist/components/Select/selectItemTheme.cjs +39 -0
  47. package/dist/components/Select/selectItemTheme.d.cts +19 -0
  48. package/dist/components/Select/selectItemTheme.d.cts.map +1 -0
  49. package/dist/components/Select/selectItemTheme.d.ts +19 -0
  50. package/dist/components/Select/selectItemTheme.d.ts.map +1 -0
  51. package/dist/components/Select/selectItemTheme.js +39 -0
  52. package/dist/components/Select/selectItemTheme.js.map +1 -0
  53. package/dist/components/Select/types.cjs +1 -0
  54. package/dist/components/Select/types.d.cts +43 -0
  55. package/dist/components/Select/types.d.cts.map +1 -0
  56. package/dist/components/Select/types.d.ts +43 -0
  57. package/dist/components/Select/types.d.ts.map +1 -0
  58. package/dist/components/Select/types.js +1 -0
  59. package/dist/components/Switch.cjs +34 -12
  60. package/dist/components/Switch.d.cts.map +1 -1
  61. package/dist/components/Switch.d.ts.map +1 -1
  62. package/dist/components/Switch.js +36 -14
  63. package/dist/components/Switch.js.map +1 -1
  64. package/dist/components/UDSGestureProvider.cjs +4 -0
  65. package/dist/components/UDSGestureProvider.d.cts +3 -0
  66. package/dist/components/UDSGestureProvider.d.ts +3 -0
  67. package/dist/components/UDSGestureProvider.js +3 -0
  68. package/dist/components/UDSProvider.cjs +10 -5
  69. package/dist/components/UDSProvider.d.cts +15 -7
  70. package/dist/components/UDSProvider.d.cts.map +1 -1
  71. package/dist/components/UDSProvider.d.ts +15 -7
  72. package/dist/components/UDSProvider.d.ts.map +1 -1
  73. package/dist/components/UDSProvider.js +10 -6
  74. package/dist/components/UDSProvider.js.map +1 -1
  75. package/dist/components/internal/Overlay/OverlayPortal.js.map +1 -1
  76. package/dist/components/internal/Overlay/index.cjs +2 -0
  77. package/dist/components/internal/Overlay/index.d.cts +2 -1
  78. package/dist/components/internal/Overlay/index.d.ts +2 -1
  79. package/dist/components/internal/Overlay/index.js +2 -1
  80. package/dist/components/internal/Overlay/measureTrigger.cjs +35 -0
  81. package/dist/components/internal/Overlay/measureTrigger.d.cts +9 -0
  82. package/dist/components/internal/Overlay/measureTrigger.d.cts.map +1 -0
  83. package/dist/components/internal/Overlay/measureTrigger.d.ts +9 -0
  84. package/dist/components/internal/Overlay/measureTrigger.d.ts.map +1 -0
  85. package/dist/components/internal/Overlay/measureTrigger.js +36 -0
  86. package/dist/components/internal/Overlay/measureTrigger.js.map +1 -0
  87. package/dist/jest/mocks/styles.cjs +68 -10
  88. package/dist/jest/mocks/styles.d.cts +5 -2
  89. package/dist/jest/mocks/styles.d.cts.map +1 -1
  90. package/dist/jest/mocks/styles.d.ts +5 -2
  91. package/dist/jest/mocks/styles.d.ts.map +1 -1
  92. package/dist/jest/mocks/styles.js +66 -11
  93. package/dist/jest/mocks/styles.js.map +1 -1
  94. package/dist/jest/mocks/unistyles.cjs +16 -1
  95. package/dist/jest/mocks/unistyles.d.cts +56 -2
  96. package/dist/jest/mocks/unistyles.d.cts.map +1 -1
  97. package/dist/jest/mocks/unistyles.d.ts +56 -2
  98. package/dist/jest/mocks/unistyles.d.ts.map +1 -1
  99. package/dist/jest/mocks/unistyles.js +16 -1
  100. package/dist/jest/mocks/unistyles.js.map +1 -1
  101. package/dist/portal.cjs +1 -1
  102. package/dist/portal.js +1 -1
  103. package/dist/portal.js.map +1 -1
  104. package/dist/types/dist/index.d.cts +28 -1
  105. package/dist/types/dist/index.d.cts.map +1 -1
  106. package/dist/types/dist/index.d.ts +28 -1
  107. package/dist/types/dist/index.d.ts.map +1 -1
  108. package/generated/styles.cjs +125 -0
  109. package/generated/styles.d.ts +39 -0
  110. package/generated/styles.mjs +125 -0
  111. package/generated/unistyles.d.ts +108 -8
  112. package/package.json +21 -1
@@ -1,6 +1,6 @@
1
1
 
2
2
  declare namespace styles_d_exports {
3
- export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, modalStyles, paginationStyles, popoverStyles, radioStyles, scrimStyles, styles, switchStyles, tabsStyles, textStyles, toastStyles };
3
+ export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, modalStyles, paginationStyles, popoverStyles, radioStyles, scrimStyles, selectContentStyles, selectItemStyles, selectStyles, styles, switchStyles, tabsStyles, textStyles, toastStyles };
4
4
  }
5
5
  /**
6
6
  * Jest mock for generated/styles.
@@ -28,6 +28,9 @@ declare const tabsStyles: Record<string, unknown>;
28
28
  declare const paginationStyles: Record<string, unknown>;
29
29
  declare const toastStyles: Record<string, unknown>;
30
30
  declare const modalStyles: Record<string, unknown>;
31
+ declare const selectStyles: Record<string, unknown>;
32
+ declare const selectContentStyles: Record<string, unknown>;
33
+ declare const selectItemStyles: Record<string, unknown>;
31
34
  interface StyleProps {
32
35
  color?: string;
33
36
  backgroundColor?: string;
@@ -37,5 +40,5 @@ interface StyleProps {
37
40
  [key: string]: unknown;
38
41
  }
39
42
  //#endregion
40
- export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, modalStyles, paginationStyles, popoverStyles, radioStyles, scrimStyles, styles, styles_d_exports, switchStyles, tabsStyles, textStyles, toastStyles };
43
+ export { StyleProps, avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, modalStyles, paginationStyles, popoverStyles, radioStyles, scrimStyles, selectContentStyles, selectItemStyles, selectStyles, styles, styles_d_exports, switchStyles, tabsStyles, textStyles, toastStyles };
41
44
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","names":[],"sources":["../../../src/jest/mocks/styles.ts"],"mappings":";;;;;;;;;;cAyGa,MAAA,EAAM,MAAA;AAAA,cAKN,YAAA,EAAY,MAAA;AAAA,cAgCZ,UAAA,EAAU,MAAA;AAAA,cAUV,WAAA,EAAW,MAAA;AAAA,cAuCX,cAAA,EAAc,MAAA;AAAA,cA2Bd,YAAA,EAAY,MAAA;AAAA,cA4BZ,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,cA8BX,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,UAiDP,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,cAkEX,cAAA,EAAc,MAAA;AAAA,cA2Bd,YAAA,EAAY,MAAA;AAAA,cAkCZ,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,cA8BX,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"}
@@ -17,6 +17,9 @@ var styles_exports = /* @__PURE__ */ __exportAll({
17
17
  popoverStyles: () => popoverStyles,
18
18
  radioStyles: () => radioStyles,
19
19
  scrimStyles: () => scrimStyles,
20
+ selectContentStyles: () => selectContentStyles,
21
+ selectItemStyles: () => selectItemStyles,
22
+ selectStyles: () => selectStyles,
20
23
  styles: () => styles,
21
24
  switchStyles: () => switchStyles,
22
25
  tabsStyles: () => tabsStyles,
@@ -52,12 +55,13 @@ const defaultFoundation = {
52
55
  boxShadow: ""
53
56
  };
54
57
  function createStyleObject(baseStyles = {}) {
55
- return new Proxy({
58
+ const useVariants = jest.fn();
59
+ const proxy = new Proxy({
56
60
  ...defaultFoundation,
57
61
  ...baseStyles,
58
- useVariants: jest.fn()
62
+ useVariants
59
63
  }, { get(target, prop) {
60
- if (prop === "useVariants") return jest.fn();
64
+ if (prop === "useVariants") return useVariants;
61
65
  if (prop in target) return target[prop];
62
66
  if (typeof prop === "string") {
63
67
  if (prop.includes("color") || prop.includes("Color")) return "#000000";
@@ -68,15 +72,20 @@ function createStyleObject(baseStyles = {}) {
68
72
  if (prop.includes("gap") || prop.includes("Gap")) return 0;
69
73
  }
70
74
  } });
75
+ useVariants.mockReturnValue(proxy);
76
+ return proxy;
71
77
  }
72
78
  function createComponentStyles(styleKeys) {
73
- const result = { useVariants: jest.fn() };
79
+ const useVariants = jest.fn();
80
+ const result = { useVariants };
74
81
  for (const [key, baseStyles] of Object.entries(styleKeys)) result[key] = createStyleObject(baseStyles);
75
- return new Proxy(result, { get(target, prop) {
76
- if (prop === "useVariants") return jest.fn();
82
+ const proxy = new Proxy(result, { get(target, prop) {
83
+ if (prop === "useVariants") return useVariants;
77
84
  if (prop in target) return target[prop];
78
85
  if (typeof prop === "string") return createStyleObject();
79
86
  } });
87
+ useVariants.mockReturnValue(proxy);
88
+ return proxy;
80
89
  }
81
90
  const styles = createComponentStyles({ foundation: defaultFoundation });
82
91
  const buttonStyles = createComponentStyles({
@@ -150,7 +159,24 @@ const inputStyles = createComponentStyles({
150
159
  fontSize: 12,
151
160
  lineHeight: 16,
152
161
  color: "#666666"
153
- }
162
+ },
163
+ labelRequired: { color: "#6001D2" },
164
+ inputWrapper: {
165
+ backgroundColor: "#FFFFFF",
166
+ borderColor: "#E0E0E0"
167
+ },
168
+ inputWrapperStatic: {
169
+ paddingHorizontal: 12,
170
+ gap: 8
171
+ },
172
+ inputWrapperDynamic: {
173
+ borderWidth: 1,
174
+ borderRadius: 8
175
+ },
176
+ inputPlaceholder: { color: "#666666" },
177
+ startIcon: { color: "#666666" },
178
+ endIcon: { color: "#666666" },
179
+ helperIcon: { color: "#666666" }
154
180
  });
155
181
  const checkboxStyles = createComponentStyles({
156
182
  root: {
@@ -182,19 +208,25 @@ const switchStyles = createComponentStyles({
182
208
  alignItems: "center",
183
209
  gap: 8
184
210
  },
185
- track: {
211
+ switch: {
186
212
  width: 48,
187
213
  height: 28,
188
214
  borderRadius: 14,
189
215
  backgroundColor: "#E0E0E0"
190
216
  },
191
- thumb: {
217
+ handle: {
192
218
  width: 24,
193
219
  height: 24,
194
220
  borderRadius: 12,
195
221
  backgroundColor: "#FFFFFF"
196
222
  },
197
- label: {
223
+ handleIcon: {
224
+ fontSize: 16,
225
+ iconSizeToken: "sm",
226
+ lineHeight: 16,
227
+ color: "#000000"
228
+ },
229
+ text: {
198
230
  fontFamily: "YahooProductSans-Regular",
199
231
  fontSize: 14,
200
232
  lineHeight: 20,
@@ -477,7 +509,30 @@ const modalStyles = createComponentStyles({
477
509
  },
478
510
  titleDescriptionWrapper: { gap: 8 }
479
511
  });
512
+ const selectStyles = createComponentStyles({
513
+ startIcon: { color: "#666666" },
514
+ endIcon: { color: "#666666" }
515
+ });
516
+ const selectContentStyles = createComponentStyles({ root: {
517
+ backgroundColor: "#FFFFFF",
518
+ borderColor: "#E0E0E0",
519
+ borderWidth: 1,
520
+ borderRadius: 8,
521
+ boxShadow: "",
522
+ gap: 0,
523
+ paddingHorizontal: 0,
524
+ paddingVertical: 0
525
+ } });
526
+ const selectItemStyles = createComponentStyles({
527
+ root: {
528
+ backgroundColor: "#FFFFFF",
529
+ paddingHorizontal: 16,
530
+ paddingVertical: 8
531
+ },
532
+ text: { color: "#000000" },
533
+ endIcon: { color: "#6001D2" }
534
+ });
480
535
  //#endregion
481
- export { avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, modalStyles, paginationStyles, popoverStyles, radioStyles, scrimStyles, styles, styles_exports, switchStyles, tabsStyles, textStyles, toastStyles };
536
+ export { avatarStyles, badgeStyles, bottomSheetStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, modalStyles, paginationStyles, popoverStyles, radioStyles, scrimStyles, selectContentStyles, selectItemStyles, selectStyles, styles, styles_exports, switchStyles, tabsStyles, textStyles, toastStyles };
482
537
 
483
538
  //# sourceMappingURL=styles.js.map
@@ -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 proxy = new Proxy(\n { ...defaultFoundation, ...baseStyles, useVariants: jest.fn() },\n {\n get(target, prop) {\n if (prop === 'useVariants') {\n return jest.fn();\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 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 result: Record<string, unknown> = { useVariants: jest.fn() };\n\n for (const [key, baseStyles] of Object.entries(styleKeys)) {\n result[key] = createStyleObject(baseStyles);\n }\n\n return new Proxy(result, {\n get(target, prop) {\n if (prop === 'useVariants') {\n return jest.fn();\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}\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});\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 track: {\n width: 48,\n height: 28,\n borderRadius: 14,\n backgroundColor: '#E0E0E0',\n },\n thumb: {\n width: 24,\n height: 24,\n borderRadius: 12,\n backgroundColor: '#FFFFFF',\n },\n label: {\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 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});\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// 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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AsB;EACtB,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,aAAa;EACb,WAAW;EACX,eAAe;EACf,KAAK;EACL,mBAAmB;EACnB,iBAAiB;EAClB;CACD,MAAM,EACJ,OAAO,WACR;CACD,MAAM;EACJ,OAAO;EACP,UAAU;EACV,eAAe;EACf,YAAY;EACb;CACD,WAAW;EACT,OAAO;EACP,UAAU;EACV,eAAe;EACf,YAAY;EACb;CACD,OAAO;EACL,YAAY;EACZ,UAAU;EACV,eAAe;EACf,YAAY;EACb;CACF,CAAC;AAGF,MAAa,cAAc,sBAAsB;CAC/C,MAAM;EACJ,qBAAqB;EACrB,sBAAsB;EACtB,iBAAiB;EACjB,aAAa;EACb,cAAc;EACd,aAAa;EACb,WAAW;EACX,iBAAiB;EAClB;CACD,SAAS,EACP,KAAK,IACN;CACD,WAAW;EACT,OAAO;EACP,UAAU;EACV,eAAe;EACf,YAAY;EACb;CACD,oBAAoB,EAClB,SAAS,GACV;CACD,aAAa;EACX,OAAO;EACP,YAAY;EACZ,UAAU;EACV,eAAe;EACf,YAAY;EACb;CACD,OAAO,EACL,SAAS,IACV;CACD,mBAAmB,EACjB,mBAAmB,IACpB;CACD,OAAO;EACL,OAAO;EACP,YAAY;EACZ,UAAU;EACV,eAAe;EACf,YAAY;EACb;CACD,yBAAyB,EACvB,KAAK,GACN;CACF,CAAC"}
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 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 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});\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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"}
@@ -78,7 +78,22 @@ const mockTheme = {
78
78
  xl: 16,
79
79
  full: 9999
80
80
  },
81
- components: {}
81
+ components: {
82
+ "switch/variant/default/active/off/handle/rest": { backgroundColor: "#ffffff" },
83
+ "switch/variant/default/active/off/handleIcon/rest": { color: "#666666" },
84
+ "switch/variant/default/active/off/rootText/rest": { color: "#6001D2" },
85
+ "switch/variant/default/active/off/switch/rest": {
86
+ backgroundColor: "#188038",
87
+ borderColor: "#188038"
88
+ },
89
+ "switch/variant/default/active/on/handle/rest": { backgroundColor: "#ffffff" },
90
+ "switch/variant/default/active/on/handleIcon/rest": { color: "#6001D2" },
91
+ "switch/variant/default/active/on/rootText/rest": { color: "#D93025" },
92
+ "switch/variant/default/active/on/switch/rest": {
93
+ backgroundColor: "#D93025",
94
+ borderColor: "#D93025"
95
+ }
96
+ }
82
97
  };
83
98
  const mockRuntime = {
84
99
  themeName: "light",
@@ -72,7 +72,34 @@ declare const useUnistyles: jest.Mock<{
72
72
  xl: number;
73
73
  full: number;
74
74
  };
75
- components: {};
75
+ components: {
76
+ 'switch/variant/default/active/off/handle/rest': {
77
+ backgroundColor: string;
78
+ };
79
+ 'switch/variant/default/active/off/handleIcon/rest': {
80
+ color: string;
81
+ };
82
+ 'switch/variant/default/active/off/rootText/rest': {
83
+ color: string;
84
+ };
85
+ 'switch/variant/default/active/off/switch/rest': {
86
+ backgroundColor: string;
87
+ borderColor: string;
88
+ };
89
+ 'switch/variant/default/active/on/handle/rest': {
90
+ backgroundColor: string;
91
+ };
92
+ 'switch/variant/default/active/on/handleIcon/rest': {
93
+ color: string;
94
+ };
95
+ 'switch/variant/default/active/on/rootText/rest': {
96
+ color: string;
97
+ };
98
+ 'switch/variant/default/active/on/switch/rest': {
99
+ backgroundColor: string;
100
+ borderColor: string;
101
+ };
102
+ };
76
103
  };
77
104
  rt: {
78
105
  themeName: "light" | "dark";
@@ -186,7 +213,34 @@ declare const useAnimatedTheme: jest.Mock<{
186
213
  xl: number;
187
214
  full: number;
188
215
  };
189
- components: {};
216
+ components: {
217
+ 'switch/variant/default/active/off/handle/rest': {
218
+ backgroundColor: string;
219
+ };
220
+ 'switch/variant/default/active/off/handleIcon/rest': {
221
+ color: string;
222
+ };
223
+ 'switch/variant/default/active/off/rootText/rest': {
224
+ color: string;
225
+ };
226
+ 'switch/variant/default/active/off/switch/rest': {
227
+ backgroundColor: string;
228
+ borderColor: string;
229
+ };
230
+ 'switch/variant/default/active/on/handle/rest': {
231
+ backgroundColor: string;
232
+ };
233
+ 'switch/variant/default/active/on/handleIcon/rest': {
234
+ color: string;
235
+ };
236
+ 'switch/variant/default/active/on/rootText/rest': {
237
+ color: string;
238
+ };
239
+ 'switch/variant/default/active/on/switch/rest': {
240
+ backgroundColor: string;
241
+ borderColor: string;
242
+ };
243
+ };
190
244
  };
191
245
  }, [], any>;
192
246
  declare const useAnimatedVariantColor: jest.Mock<{
@@ -1 +1 @@
1
- {"version":3,"file":"unistyles.d.cts","names":[],"sources":["../../../src/jest/mocks/unistyles.ts"],"mappings":";;;;;;;;;;;;cAkGM,YAAA,EAAY,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKZ,eAAA,EAAe,IAAA,CAAA,IAAA;AAAA,cAwBf,UAAA;;aAGL,IAAA,CAAA,IAAA;AAAA;AAAA,cAEK,gBAAA;;;YAA8B,IAAA,CAAA,IAAA;kBAAA,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;cAK9B,gBAAA,EAAgB,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIhB,uBAAA,EAAuB,IAAA,CAAA,IAAA"}
1
+ {"version":3,"file":"unistyles.d.cts","names":[],"sources":["../../../src/jest/mocks/unistyles.ts"],"mappings":";;;;;;;;;;;;cA6HM,YAAA,EAAY,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKZ,eAAA,EAAe,IAAA,CAAA,IAAA;AAAA,cAwBf,UAAA;;aAGL,IAAA,CAAA,IAAA;AAAA;AAAA,cAEK,gBAAA;;;YAA8B,IAAA,CAAA,IAAA;kBAAA,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;cAK9B,gBAAA,EAAgB,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIhB,uBAAA,EAAuB,IAAA,CAAA,IAAA"}
@@ -72,7 +72,34 @@ declare const useUnistyles: jest.Mock<{
72
72
  xl: number;
73
73
  full: number;
74
74
  };
75
- components: {};
75
+ components: {
76
+ 'switch/variant/default/active/off/handle/rest': {
77
+ backgroundColor: string;
78
+ };
79
+ 'switch/variant/default/active/off/handleIcon/rest': {
80
+ color: string;
81
+ };
82
+ 'switch/variant/default/active/off/rootText/rest': {
83
+ color: string;
84
+ };
85
+ 'switch/variant/default/active/off/switch/rest': {
86
+ backgroundColor: string;
87
+ borderColor: string;
88
+ };
89
+ 'switch/variant/default/active/on/handle/rest': {
90
+ backgroundColor: string;
91
+ };
92
+ 'switch/variant/default/active/on/handleIcon/rest': {
93
+ color: string;
94
+ };
95
+ 'switch/variant/default/active/on/rootText/rest': {
96
+ color: string;
97
+ };
98
+ 'switch/variant/default/active/on/switch/rest': {
99
+ backgroundColor: string;
100
+ borderColor: string;
101
+ };
102
+ };
76
103
  };
77
104
  rt: {
78
105
  themeName: "light" | "dark";
@@ -186,7 +213,34 @@ declare const useAnimatedTheme: jest.Mock<{
186
213
  xl: number;
187
214
  full: number;
188
215
  };
189
- components: {};
216
+ components: {
217
+ 'switch/variant/default/active/off/handle/rest': {
218
+ backgroundColor: string;
219
+ };
220
+ 'switch/variant/default/active/off/handleIcon/rest': {
221
+ color: string;
222
+ };
223
+ 'switch/variant/default/active/off/rootText/rest': {
224
+ color: string;
225
+ };
226
+ 'switch/variant/default/active/off/switch/rest': {
227
+ backgroundColor: string;
228
+ borderColor: string;
229
+ };
230
+ 'switch/variant/default/active/on/handle/rest': {
231
+ backgroundColor: string;
232
+ };
233
+ 'switch/variant/default/active/on/handleIcon/rest': {
234
+ color: string;
235
+ };
236
+ 'switch/variant/default/active/on/rootText/rest': {
237
+ color: string;
238
+ };
239
+ 'switch/variant/default/active/on/switch/rest': {
240
+ backgroundColor: string;
241
+ borderColor: string;
242
+ };
243
+ };
190
244
  };
191
245
  }, [], any>;
192
246
  declare const useAnimatedVariantColor: jest.Mock<{
@@ -1 +1 @@
1
- {"version":3,"file":"unistyles.d.ts","names":[],"sources":["../../../src/jest/mocks/unistyles.ts"],"mappings":";;;;;;;;;;;;cAkGM,YAAA,EAAY,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKZ,eAAA,EAAe,IAAA,CAAA,IAAA;AAAA,cAwBf,UAAA;;aAGL,IAAA,CAAA,IAAA;AAAA;AAAA,cAEK,gBAAA;;;YAA8B,IAAA,CAAA,IAAA;kBAAA,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;cAK9B,gBAAA,EAAgB,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIhB,uBAAA,EAAuB,IAAA,CAAA,IAAA"}
1
+ {"version":3,"file":"unistyles.d.ts","names":[],"sources":["../../../src/jest/mocks/unistyles.ts"],"mappings":";;;;;;;;;;;;cA6HM,YAAA,EAAY,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAKZ,eAAA,EAAe,IAAA,CAAA,IAAA;AAAA,cAwBf,UAAA;;aAGL,IAAA,CAAA,IAAA;AAAA;AAAA,cAEK,gBAAA;;;YAA8B,IAAA,CAAA,IAAA;kBAAA,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;cAK9B,gBAAA,EAAgB,IAAA,CAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAIhB,uBAAA,EAAuB,IAAA,CAAA,IAAA"}
@@ -78,7 +78,22 @@ const mockTheme = {
78
78
  xl: 16,
79
79
  full: 9999
80
80
  },
81
- components: {}
81
+ components: {
82
+ "switch/variant/default/active/off/handle/rest": { backgroundColor: "#ffffff" },
83
+ "switch/variant/default/active/off/handleIcon/rest": { color: "#666666" },
84
+ "switch/variant/default/active/off/rootText/rest": { color: "#6001D2" },
85
+ "switch/variant/default/active/off/switch/rest": {
86
+ backgroundColor: "#188038",
87
+ borderColor: "#188038"
88
+ },
89
+ "switch/variant/default/active/on/handle/rest": { backgroundColor: "#ffffff" },
90
+ "switch/variant/default/active/on/handleIcon/rest": { color: "#6001D2" },
91
+ "switch/variant/default/active/on/rootText/rest": { color: "#D93025" },
92
+ "switch/variant/default/active/on/switch/rest": {
93
+ backgroundColor: "#D93025",
94
+ borderColor: "#D93025"
95
+ }
96
+ }
82
97
  };
83
98
  const mockRuntime = {
84
99
  themeName: "light",
@@ -1 +1 @@
1
- {"version":3,"file":"unistyles.js","names":[],"sources":["../../../src/jest/mocks/unistyles.ts"],"sourcesContent":["/**\n * Jest mock for react-native-unistyles.\n *\n * Provides minimal implementations of:\n * - useUnistyles() hook\n * - StyleSheet.create() / StyleSheet.configure()\n * - UnistylesRuntime\n */\n\n/// <reference types=\"jest\" />\n\nconst mockTheme = {\n colors: {\n text: {\n primary: '#000000',\n secondary: '#666666',\n tertiary: '#999999',\n muted: '#CCCCCC',\n onColor: '#FFFFFF',\n brand: '#6001D2',\n alert: '#D93025',\n positive: '#188038',\n warning: '#F29900',\n info: '#1A73E8',\n },\n background: {\n primary: '#FFFFFF',\n secondary: '#F5F5F5',\n accent: '#E8E0F0',\n brand: '#6001D2',\n 'brand-secondary': '#F3E8FF',\n alert: '#D93025',\n 'alert-secondary': '#FDECEA',\n positive: '#188038',\n 'positive-secondary': '#E6F4EA',\n warning: '#F29900',\n 'warning-secondary': '#FEF7E0',\n info: '#1A73E8',\n 'info-secondary': '#E8F0FE',\n 'elevation-0': '#FFFFFF',\n 'elevation-1': '#FFFFFF',\n 'elevation-2': '#FFFFFF',\n 'elevation-3': '#FFFFFF',\n 'elevation-4': '#FFFFFF',\n 'elevation-5': '#FFFFFF',\n },\n border: {\n primary: '#E0E0E0',\n secondary: '#CCCCCC',\n },\n },\n spacing: {\n '0': 0,\n '1': 4,\n '2': 8,\n '3': 12,\n '4': 16,\n '5': 20,\n '6': 24,\n '8': 32,\n '10': 40,\n '12': 48,\n },\n borderRadius: {\n none: 0,\n xs: 2,\n sm: 4,\n md: 8,\n lg: 12,\n xl: 16,\n full: 9999,\n },\n components: {},\n};\n\nconst mockRuntime = {\n themeName: 'light' as 'light' | 'dark',\n colorScheme: 'light' as 'light' | 'dark',\n setTheme: jest.fn(),\n setColorScheme: jest.fn(),\n screen: {\n width: 375,\n height: 812,\n },\n insets: {\n top: 44,\n bottom: 34,\n left: 0,\n right: 0,\n },\n statusBar: {\n height: 44,\n },\n navigationBar: {\n height: 0,\n },\n};\n\nconst useUnistyles = jest.fn(() => ({\n theme: mockTheme,\n rt: mockRuntime,\n}));\n\nconst useInitialTheme = jest.fn();\n\n// StyleSheet mock that handles both static and dynamic styles\nconst createStyleSheet = (styleCreator: unknown) => {\n // If it's a function (dynamic styles), call it with mock theme\n if (typeof styleCreator === 'function') {\n const styles = styleCreator(mockTheme, mockRuntime);\n // Add useVariants as a no-op for each style object\n if (styles && typeof styles === 'object') {\n const result = { ...styles };\n for (const key of Object.keys(result)) {\n const styleObj = result[key];\n if (styleObj && typeof styleObj === 'object') {\n (styleObj as Record<string, unknown>).useVariants = jest.fn();\n }\n }\n return result;\n }\n return styles;\n }\n // Static styles, return as-is\n return styleCreator;\n};\n\nconst StyleSheet = {\n create: createStyleSheet,\n configure: jest.fn(),\n};\n\nconst UnistylesRuntime = mockRuntime;\n\n// react-native-unistyles/reanimated exports\n// These are used for animated theme values in components like Button, Switch, Link, IconButton\n\nconst useAnimatedTheme = jest.fn(() => ({\n value: mockTheme,\n}));\n\nconst useAnimatedVariantColor = jest.fn((_path: string, fallback?: string) => ({\n value: fallback ?? '#000000',\n}));\n\n// All exports at the end of the file\nexport {\n StyleSheet,\n UnistylesRuntime,\n useAnimatedTheme,\n useAnimatedVariantColor,\n useInitialTheme,\n useUnistyles,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAWA,MAAM,YAAY;CAChB,QAAQ;EACN,MAAM;GACJ,SAAS;GACT,WAAW;GACX,UAAU;GACV,OAAO;GACP,SAAS;GACT,OAAO;GACP,OAAO;GACP,UAAU;GACV,SAAS;GACT,MAAM;GACP;EACD,YAAY;GACV,SAAS;GACT,WAAW;GACX,QAAQ;GACR,OAAO;GACP,mBAAmB;GACnB,OAAO;GACP,mBAAmB;GACnB,UAAU;GACV,sBAAsB;GACtB,SAAS;GACT,qBAAqB;GACrB,MAAM;GACN,kBAAkB;GAClB,eAAe;GACf,eAAe;GACf,eAAe;GACf,eAAe;GACf,eAAe;GACf,eAAe;GAChB;EACD,QAAQ;GACN,SAAS;GACT,WAAW;GACZ;EACF;CACD,SAAS;EACP,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,MAAM;EACN,MAAM;EACP;CACD,cAAc;EACZ,MAAM;EACN,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,MAAM;EACP;CACD,YAAY,EAAE;CACf;AAED,MAAM,cAAc;CAClB,WAAW;CACX,aAAa;CACb,UAAU,KAAK,IAAI;CACnB,gBAAgB,KAAK,IAAI;CACzB,QAAQ;EACN,OAAO;EACP,QAAQ;EACT;CACD,QAAQ;EACN,KAAK;EACL,QAAQ;EACR,MAAM;EACN,OAAO;EACR;CACD,WAAW,EACT,QAAQ,IACT;CACD,eAAe,EACb,QAAQ,GACT;CACF;AAED,MAAM,eAAe,KAAK,UAAU;CAClC,OAAO;CACP,IAAI;CACL,EAAE;AAEH,MAAM,kBAAkB,KAAK,IAAI;AAGjC,MAAM,oBAAoB,iBAA0B;CAElD,IAAI,OAAO,iBAAiB,YAAY;EACtC,MAAM,SAAS,aAAa,WAAW,YAAY;EAEnD,IAAI,UAAU,OAAO,WAAW,UAAU;GACxC,MAAM,SAAS,EAAE,GAAG,QAAQ;GAC5B,KAAK,MAAM,OAAO,OAAO,KAAK,OAAO,EAAE;IACrC,MAAM,WAAW,OAAO;IACxB,IAAI,YAAY,OAAO,aAAa,UAClC,SAAsC,cAAc,KAAK,IAAI;;GAGjE,OAAO;;EAET,OAAO;;CAGT,OAAO;;AAGT,MAAM,aAAa;CACjB,QAAQ;CACR,WAAW,KAAK,IAAI;CACrB;AAED,MAAM,mBAAmB;AAKzB,MAAM,mBAAmB,KAAK,UAAU,EACtC,OAAO,WACR,EAAE;AAEH,MAAM,0BAA0B,KAAK,IAAI,OAAe,cAAuB,EAC7E,OAAO,YAAY,WACpB,EAAE"}
1
+ {"version":3,"file":"unistyles.js","names":[],"sources":["../../../src/jest/mocks/unistyles.ts"],"sourcesContent":["/**\n * Jest mock for react-native-unistyles.\n *\n * Provides minimal implementations of:\n * - useUnistyles() hook\n * - StyleSheet.create() / StyleSheet.configure()\n * - UnistylesRuntime\n */\n\n/// <reference types=\"jest\" />\n\nconst mockTheme = {\n colors: {\n text: {\n primary: '#000000',\n secondary: '#666666',\n tertiary: '#999999',\n muted: '#CCCCCC',\n onColor: '#FFFFFF',\n brand: '#6001D2',\n alert: '#D93025',\n positive: '#188038',\n warning: '#F29900',\n info: '#1A73E8',\n },\n background: {\n primary: '#FFFFFF',\n secondary: '#F5F5F5',\n accent: '#E8E0F0',\n brand: '#6001D2',\n 'brand-secondary': '#F3E8FF',\n alert: '#D93025',\n 'alert-secondary': '#FDECEA',\n positive: '#188038',\n 'positive-secondary': '#E6F4EA',\n warning: '#F29900',\n 'warning-secondary': '#FEF7E0',\n info: '#1A73E8',\n 'info-secondary': '#E8F0FE',\n 'elevation-0': '#FFFFFF',\n 'elevation-1': '#FFFFFF',\n 'elevation-2': '#FFFFFF',\n 'elevation-3': '#FFFFFF',\n 'elevation-4': '#FFFFFF',\n 'elevation-5': '#FFFFFF',\n },\n border: {\n primary: '#E0E0E0',\n secondary: '#CCCCCC',\n },\n },\n spacing: {\n '0': 0,\n '1': 4,\n '2': 8,\n '3': 12,\n '4': 16,\n '5': 20,\n '6': 24,\n '8': 32,\n '10': 40,\n '12': 48,\n },\n borderRadius: {\n none: 0,\n xs: 2,\n sm: 4,\n md: 8,\n lg: 12,\n xl: 16,\n full: 9999,\n },\n components: {\n 'switch/variant/default/active/off/handle/rest': {\n backgroundColor: '#ffffff',\n },\n 'switch/variant/default/active/off/handleIcon/rest': {\n color: '#666666',\n },\n 'switch/variant/default/active/off/rootText/rest': {\n color: '#6001D2',\n },\n 'switch/variant/default/active/off/switch/rest': {\n backgroundColor: '#188038',\n borderColor: '#188038',\n },\n 'switch/variant/default/active/on/handle/rest': {\n backgroundColor: '#ffffff',\n },\n 'switch/variant/default/active/on/handleIcon/rest': {\n color: '#6001D2',\n },\n 'switch/variant/default/active/on/rootText/rest': {\n color: '#D93025',\n },\n 'switch/variant/default/active/on/switch/rest': {\n backgroundColor: '#D93025',\n borderColor: '#D93025',\n },\n },\n};\n\nconst mockRuntime = {\n themeName: 'light' as 'light' | 'dark',\n colorScheme: 'light' as 'light' | 'dark',\n setTheme: jest.fn(),\n setColorScheme: jest.fn(),\n screen: {\n width: 375,\n height: 812,\n },\n insets: {\n top: 44,\n bottom: 34,\n left: 0,\n right: 0,\n },\n statusBar: {\n height: 44,\n },\n navigationBar: {\n height: 0,\n },\n};\n\nconst useUnistyles = jest.fn(() => ({\n theme: mockTheme,\n rt: mockRuntime,\n}));\n\nconst useInitialTheme = jest.fn();\n\n// StyleSheet mock that handles both static and dynamic styles\nconst createStyleSheet = (styleCreator: unknown) => {\n // If it's a function (dynamic styles), call it with mock theme\n if (typeof styleCreator === 'function') {\n const styles = styleCreator(mockTheme, mockRuntime);\n // Add useVariants as a no-op for each style object\n if (styles && typeof styles === 'object') {\n const result = { ...styles };\n for (const key of Object.keys(result)) {\n const styleObj = result[key];\n if (styleObj && typeof styleObj === 'object') {\n (styleObj as Record<string, unknown>).useVariants = jest.fn();\n }\n }\n return result;\n }\n return styles;\n }\n // Static styles, return as-is\n return styleCreator;\n};\n\nconst StyleSheet = {\n create: createStyleSheet,\n configure: jest.fn(),\n};\n\nconst UnistylesRuntime = mockRuntime;\n\n// react-native-unistyles/reanimated exports\n// These are used for animated theme values in components like Button, Switch, Link, IconButton\n\nconst useAnimatedTheme = jest.fn(() => ({\n value: mockTheme,\n}));\n\nconst useAnimatedVariantColor = jest.fn((_path: string, fallback?: string) => ({\n value: fallback ?? '#000000',\n}));\n\n// All exports at the end of the file\nexport {\n StyleSheet,\n UnistylesRuntime,\n useAnimatedTheme,\n useAnimatedVariantColor,\n useInitialTheme,\n useUnistyles,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAWA,MAAM,YAAY;CAChB,QAAQ;EACN,MAAM;GACJ,SAAS;GACT,WAAW;GACX,UAAU;GACV,OAAO;GACP,SAAS;GACT,OAAO;GACP,OAAO;GACP,UAAU;GACV,SAAS;GACT,MAAM;GACP;EACD,YAAY;GACV,SAAS;GACT,WAAW;GACX,QAAQ;GACR,OAAO;GACP,mBAAmB;GACnB,OAAO;GACP,mBAAmB;GACnB,UAAU;GACV,sBAAsB;GACtB,SAAS;GACT,qBAAqB;GACrB,MAAM;GACN,kBAAkB;GAClB,eAAe;GACf,eAAe;GACf,eAAe;GACf,eAAe;GACf,eAAe;GACf,eAAe;GAChB;EACD,QAAQ;GACN,SAAS;GACT,WAAW;GACZ;EACF;CACD,SAAS;EACP,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,MAAM;EACN,MAAM;EACP;CACD,cAAc;EACZ,MAAM;EACN,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,MAAM;EACP;CACD,YAAY;EACV,iDAAiD,EAC/C,iBAAiB,WAClB;EACD,qDAAqD,EACnD,OAAO,WACR;EACD,mDAAmD,EACjD,OAAO,WACR;EACD,iDAAiD;GAC/C,iBAAiB;GACjB,aAAa;GACd;EACD,gDAAgD,EAC9C,iBAAiB,WAClB;EACD,oDAAoD,EAClD,OAAO,WACR;EACD,kDAAkD,EAChD,OAAO,WACR;EACD,gDAAgD;GAC9C,iBAAiB;GACjB,aAAa;GACd;EACF;CACF;AAED,MAAM,cAAc;CAClB,WAAW;CACX,aAAa;CACb,UAAU,KAAK,IAAI;CACnB,gBAAgB,KAAK,IAAI;CACzB,QAAQ;EACN,OAAO;EACP,QAAQ;EACT;CACD,QAAQ;EACN,KAAK;EACL,QAAQ;EACR,MAAM;EACN,OAAO;EACR;CACD,WAAW,EACT,QAAQ,IACT;CACD,eAAe,EACb,QAAQ,GACT;CACF;AAED,MAAM,eAAe,KAAK,UAAU;CAClC,OAAO;CACP,IAAI;CACL,EAAE;AAEH,MAAM,kBAAkB,KAAK,IAAI;AAGjC,MAAM,oBAAoB,iBAA0B;CAElD,IAAI,OAAO,iBAAiB,YAAY;EACtC,MAAM,SAAS,aAAa,WAAW,YAAY;EAEnD,IAAI,UAAU,OAAO,WAAW,UAAU;GACxC,MAAM,SAAS,EAAE,GAAG,QAAQ;GAC5B,KAAK,MAAM,OAAO,OAAO,KAAK,OAAO,EAAE;IACrC,MAAM,WAAW,OAAO;IACxB,IAAI,YAAY,OAAO,aAAa,UAClC,SAAsC,cAAc,KAAK,IAAI;;GAGjE,OAAO;;EAET,OAAO;;CAGT,OAAO;;AAGT,MAAM,aAAa;CACjB,QAAQ;CACR,WAAW,KAAK,IAAI;CACrB;AAED,MAAM,mBAAmB;AAKzB,MAAM,mBAAmB,KAAK,UAAU,EACtC,OAAO,WACR,EAAE;AAEH,MAAM,0BAA0B,KAAK,IAAI,OAAe,cAAuB,EAC7E,OAAO,YAAY,WACpB,EAAE"}
package/dist/portal.cjs CHANGED
@@ -23,7 +23,7 @@ function portalReducer(state, action) {
23
23
  const PortalContext = (0, react.createContext)(null);
24
24
  function usePortalContext() {
25
25
  const ctx = (0, react.useContext)(PortalContext);
26
- if (!ctx) throw new Error("Portal must be used within a UDSProvider.");
26
+ if (!ctx) throw new Error("Portal must be used within a UDSGestureProvider.");
27
27
  return ctx;
28
28
  }
29
29
  const PortalHost = (0, react.memo)(function PortalHost({ state }) {
package/dist/portal.js CHANGED
@@ -21,7 +21,7 @@ function portalReducer(state, action) {
21
21
  const PortalContext = createContext(null);
22
22
  function usePortalContext() {
23
23
  const ctx = useContext(PortalContext);
24
- if (!ctx) throw new Error("Portal must be used within a UDSProvider.");
24
+ if (!ctx) throw new Error("Portal must be used within a UDSGestureProvider.");
25
25
  return ctx;
26
26
  }
27
27
  const PortalHost = memo(function PortalHost({ state }) {
@@ -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 }\n | { 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 UDSProvider.');\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":";;;;;AAuBA,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,4CAA4C;CAE9D,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\n// ---------------------------------------------------------------------------\n// State\n// ---------------------------------------------------------------------------\n\ntype PortalState = Map<string, ReactNode>;\n\ntype PortalAction =\n | { type: 'register'; id: string; node: ReactNode }\n | { 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":";;;;;AAuBA,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"}
@@ -257,6 +257,33 @@ interface UniversalInputProps<IconSlotType = UniversalIconSlot> {
257
257
  /** The width of the input container. @default 'full' */
258
258
  width?: UniversalBoxProps['width'];
259
259
  }
260
+ type SelectSize = InputSize;
261
+ interface UniversalSelectProps<IconSlotType = UniversalIconSlot> {
262
+ /** The label displayed above the select. */
263
+ label?: string | ReactNode | (() => ReactNode);
264
+ /** Whether the select is disabled. */
265
+ disabled?: boolean;
266
+ /** Whether the select is required. */
267
+ required?: boolean;
268
+ /** Helper text displayed below the select. */
269
+ helpText?: string | ReactNode | (() => ReactNode);
270
+ /** Icon displayed alongside the helper text. */
271
+ helperTextIcon?: IconSlotType;
272
+ /** Whether the select has a validation error. */
273
+ hasError?: boolean;
274
+ /** The size of the select. @default 'md' */
275
+ size?: SelectSize;
276
+ /** Icon displayed at the start of the select trigger. */
277
+ startIcon?: IconSlotType;
278
+ /** Icon displayed at the end of the select trigger. */
279
+ endIcon?: IconSlotType;
280
+ /** Disable motion and transition effects. */
281
+ reduceMotion?: boolean;
282
+ /** Whether the select is read-only. */
283
+ readOnly?: boolean;
284
+ /** The width of the select container. @default 'full' */
285
+ width?: UniversalBoxProps['width'];
286
+ }
260
287
  type DividerVariant = 'primary' | 'secondary' | 'tertiary' | 'muted';
261
288
  interface UniversalDividerProps {
262
289
  /** The visual style variant of the divider. @default 'primary' */
@@ -543,5 +570,5 @@ interface UniversalPaginationNumbersProps {
543
570
  className?: string;
544
571
  }
545
572
  //#endregion
546
- export { type AvatarAbbreviationStrategy, type AvatarSize, type AvatarVariant, type BadgeSize, type BadgeVariant, type BannerVariant, type ButtonSize, type ButtonVariantFlat, type ChipSize, type ChipVariant, type ElevationLevel, type IconButtonSize, type IconSize, type IconVariant, type InputSize, type MotionConfig, type MotionVariantValues, type PaginationEllipsisPlacement, type PaginationSize, type PaginationVariant, type PaginationVisibleItem, type RadioSize, type RadioVariant, type ToastPosition, type ToastSize, type ToastVariant, type UniversalAvatarIconProps, type UniversalAvatarImageProps, type UniversalAvatarTextProps, type UniversalBannerProps, type UniversalCheckboxProps, type UniversalDividerProps, type UniversalFormLabelProps, type UniversalImageProps, type UniversalInputProps, type UniversalLinkProps, type UniversalPaginationItemProps, type UniversalPaginationLinkProps, type UniversalPaginationNextProps, type UniversalPaginationNumbersProps, type UniversalPaginationPrevProps, type UniversalPaginationProps, type UniversalRadioGroupProps, type UniversalRadioProps, type UniversalSwitchProps, type UniversalTabListProps, type UniversalTabPanelProps, type UniversalTabProps, type UniversalTabsProps, type UniversalTabsVariant };
573
+ export { type AvatarAbbreviationStrategy, type AvatarSize, type AvatarVariant, type BadgeSize, type BadgeVariant, type BannerVariant, type ButtonSize, type ButtonVariantFlat, type ChipSize, type ChipVariant, type ElevationLevel, type IconButtonSize, type IconSize, type IconVariant, type InputSize, type MotionConfig, type MotionVariantValues, type PaginationEllipsisPlacement, type PaginationSize, type PaginationVariant, type PaginationVisibleItem, type RadioSize, type RadioVariant, type ToastPosition, type ToastSize, type ToastVariant, type UniversalAvatarIconProps, type UniversalAvatarImageProps, type UniversalAvatarTextProps, type UniversalBannerProps, type UniversalCheckboxProps, type UniversalDividerProps, type UniversalFormLabelProps, type UniversalImageProps, type UniversalInputProps, type UniversalLinkProps, type UniversalPaginationItemProps, type UniversalPaginationLinkProps, type UniversalPaginationNextProps, type UniversalPaginationNumbersProps, type UniversalPaginationPrevProps, type UniversalPaginationProps, type UniversalRadioGroupProps, type UniversalRadioProps, type UniversalSelectProps, type UniversalSwitchProps, type UniversalTabListProps, type UniversalTabPanelProps, type UniversalTabProps, type UniversalTabsProps, type UniversalTabsVariant };
547
574
  //# sourceMappingURL=index.d.cts.map