@yahoo/uds-mobile 2.9.0 → 2.11.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 (206) hide show
  1. package/README.md +22 -24
  2. package/dist/components/Avatar.cjs +1 -1
  3. package/dist/components/Avatar.d.cts +1 -1
  4. package/dist/components/Avatar.d.ts +1 -1
  5. package/dist/components/Avatar.js +1 -1
  6. package/dist/components/Avatar.js.map +1 -1
  7. package/dist/components/Badge.cjs +1 -1
  8. package/dist/components/Badge.d.cts +1 -1
  9. package/dist/components/Badge.d.ts +1 -1
  10. package/dist/components/Badge.js +1 -1
  11. package/dist/components/Badge.js.map +1 -1
  12. package/dist/components/BlurTarget.cjs +2 -1
  13. package/dist/components/BlurTarget.d.cts +2 -1
  14. package/dist/components/BlurTarget.d.cts.map +1 -1
  15. package/dist/components/BlurTarget.d.ts +2 -1
  16. package/dist/components/BlurTarget.d.ts.map +1 -1
  17. package/dist/components/BlurTarget.js +2 -1
  18. package/dist/components/BlurTarget.js.map +1 -1
  19. package/dist/components/Box.cjs +1 -1
  20. package/dist/components/Box.d.cts +1 -1
  21. package/dist/components/Box.d.ts +1 -1
  22. package/dist/components/Box.js +1 -1
  23. package/dist/components/Box.js.map +1 -1
  24. package/dist/components/Button.cjs +1 -1
  25. package/dist/components/Button.d.cts +1 -1
  26. package/dist/components/Button.d.ts +1 -1
  27. package/dist/components/Button.js +1 -1
  28. package/dist/components/Button.js.map +1 -1
  29. package/dist/components/Checkbox.cjs +1 -1
  30. package/dist/components/Checkbox.d.cts +1 -1
  31. package/dist/components/Checkbox.d.ts +1 -1
  32. package/dist/components/Checkbox.js +1 -1
  33. package/dist/components/Checkbox.js.map +1 -1
  34. package/dist/components/Chip.cjs +1 -1
  35. package/dist/components/Chip.d.cts +1 -1
  36. package/dist/components/Chip.d.ts +1 -1
  37. package/dist/components/Chip.js +1 -1
  38. package/dist/components/Chip.js.map +1 -1
  39. package/dist/components/Divider/Divider.cjs +103 -0
  40. package/dist/components/Divider/Divider.d.cts +50 -0
  41. package/dist/components/Divider/Divider.d.cts.map +1 -0
  42. package/dist/components/Divider/Divider.d.ts +50 -0
  43. package/dist/components/Divider/Divider.d.ts.map +1 -0
  44. package/dist/components/Divider/Divider.js +103 -0
  45. package/dist/components/Divider/Divider.js.map +1 -0
  46. package/dist/components/Divider/DividerLabel.cjs +37 -0
  47. package/dist/components/Divider/DividerLabel.d.cts +18 -0
  48. package/dist/components/Divider/DividerLabel.d.cts.map +1 -0
  49. package/dist/components/Divider/DividerLabel.d.ts +18 -0
  50. package/dist/components/Divider/DividerLabel.d.ts.map +1 -0
  51. package/dist/components/Divider/DividerLabel.js +37 -0
  52. package/dist/components/Divider/DividerLabel.js.map +1 -0
  53. package/dist/components/Divider/DividerLine.cjs +62 -0
  54. package/dist/components/Divider/DividerLine.d.cts +19 -0
  55. package/dist/components/Divider/DividerLine.d.cts.map +1 -0
  56. package/dist/components/Divider/DividerLine.d.ts +19 -0
  57. package/dist/components/Divider/DividerLine.d.ts.map +1 -0
  58. package/dist/components/Divider/DividerLine.js +62 -0
  59. package/dist/components/Divider/DividerLine.js.map +1 -0
  60. package/dist/components/Divider/index.cjs +8 -0
  61. package/dist/components/Divider/index.d.cts +6 -0
  62. package/dist/components/Divider/index.d.ts +6 -0
  63. package/dist/components/Divider/index.js +5 -0
  64. package/dist/components/Divider/types.cjs +1 -0
  65. package/dist/components/Divider/types.d.cts +35 -0
  66. package/dist/components/Divider/types.d.cts.map +1 -0
  67. package/dist/components/Divider/types.d.ts +35 -0
  68. package/dist/components/Divider/types.d.ts.map +1 -0
  69. package/dist/components/Divider/types.js +1 -0
  70. package/dist/components/Divider/utils.cjs +33 -0
  71. package/dist/components/Divider/utils.d.cts +12 -0
  72. package/dist/components/Divider/utils.d.cts.map +1 -0
  73. package/dist/components/Divider/utils.d.ts +12 -0
  74. package/dist/components/Divider/utils.d.ts.map +1 -0
  75. package/dist/components/Divider/utils.js +31 -0
  76. package/dist/components/Divider/utils.js.map +1 -0
  77. package/dist/components/HStack.cjs +1 -1
  78. package/dist/components/HStack.d.cts +1 -1
  79. package/dist/components/HStack.d.ts +1 -1
  80. package/dist/components/HStack.js +1 -1
  81. package/dist/components/HStack.js.map +1 -1
  82. package/dist/components/Icon.cjs +1 -1
  83. package/dist/components/Icon.d.cts +2 -2
  84. package/dist/components/Icon.d.ts +2 -2
  85. package/dist/components/Icon.js +1 -1
  86. package/dist/components/Icon.js.map +1 -1
  87. package/dist/components/IconButton.cjs +1 -1
  88. package/dist/components/IconButton.d.cts +1 -1
  89. package/dist/components/IconButton.d.ts +1 -1
  90. package/dist/components/IconButton.js +1 -1
  91. package/dist/components/IconButton.js.map +1 -1
  92. package/dist/components/IconSlot.cjs +1 -1
  93. package/dist/components/IconSlot.d.cts +1 -1
  94. package/dist/components/IconSlot.d.ts +1 -1
  95. package/dist/components/IconSlot.js +1 -1
  96. package/dist/components/IconSlot.js.map +1 -1
  97. package/dist/components/Image.cjs +1 -1
  98. package/dist/components/Image.d.cts +1 -1
  99. package/dist/components/Image.d.ts +1 -1
  100. package/dist/components/Image.js +1 -1
  101. package/dist/components/Image.js.map +1 -1
  102. package/dist/components/Input.cjs +1 -1
  103. package/dist/components/Input.d.cts +1 -1
  104. package/dist/components/Input.d.ts +1 -1
  105. package/dist/components/Input.js +1 -1
  106. package/dist/components/Input.js.map +1 -1
  107. package/dist/components/Link.cjs +1 -1
  108. package/dist/components/Link.d.cts +1 -1
  109. package/dist/components/Link.d.ts +1 -1
  110. package/dist/components/Link.js +1 -1
  111. package/dist/components/Link.js.map +1 -1
  112. package/dist/components/Pressable.cjs +1 -1
  113. package/dist/components/Pressable.d.cts +1 -1
  114. package/dist/components/Pressable.d.ts +1 -1
  115. package/dist/components/Pressable.js +1 -1
  116. package/dist/components/Pressable.js.map +1 -1
  117. package/dist/components/Radio.cjs +1 -1
  118. package/dist/components/Radio.d.cts +1 -1
  119. package/dist/components/Radio.d.ts +1 -1
  120. package/dist/components/Radio.js +1 -1
  121. package/dist/components/Radio.js.map +1 -1
  122. package/dist/components/Screen.cjs +1 -1
  123. package/dist/components/Screen.d.cts +1 -1
  124. package/dist/components/Screen.d.ts +1 -1
  125. package/dist/components/Screen.js +1 -1
  126. package/dist/components/Screen.js.map +1 -1
  127. package/dist/components/Switch.cjs +1 -1
  128. package/dist/components/Switch.d.cts +1 -1
  129. package/dist/components/Switch.d.ts +1 -1
  130. package/dist/components/Switch.js +1 -1
  131. package/dist/components/Switch.js.map +1 -1
  132. package/dist/components/Tabs/Tab.cjs +174 -0
  133. package/dist/components/Tabs/Tab.d.cts +26 -0
  134. package/dist/components/Tabs/Tab.d.cts.map +1 -0
  135. package/dist/components/Tabs/Tab.d.ts +26 -0
  136. package/dist/components/Tabs/Tab.d.ts.map +1 -0
  137. package/dist/components/Tabs/Tab.js +174 -0
  138. package/dist/components/Tabs/Tab.js.map +1 -0
  139. package/dist/components/Tabs/TabList.cjs +142 -0
  140. package/dist/components/Tabs/TabList.d.cts +24 -0
  141. package/dist/components/Tabs/TabList.d.cts.map +1 -0
  142. package/dist/components/Tabs/TabList.d.ts +24 -0
  143. package/dist/components/Tabs/TabList.d.ts.map +1 -0
  144. package/dist/components/Tabs/TabList.js +141 -0
  145. package/dist/components/Tabs/TabList.js.map +1 -0
  146. package/dist/components/Tabs/TabPanel.cjs +31 -0
  147. package/dist/components/Tabs/TabPanel.d.cts +24 -0
  148. package/dist/components/Tabs/TabPanel.d.cts.map +1 -0
  149. package/dist/components/Tabs/TabPanel.d.ts +24 -0
  150. package/dist/components/Tabs/TabPanel.d.ts.map +1 -0
  151. package/dist/components/Tabs/TabPanel.js +31 -0
  152. package/dist/components/Tabs/TabPanel.js.map +1 -0
  153. package/dist/components/Tabs/Tabs.cjs +53 -0
  154. package/dist/components/Tabs/Tabs.d.cts +35 -0
  155. package/dist/components/Tabs/Tabs.d.cts.map +1 -0
  156. package/dist/components/Tabs/Tabs.d.ts +35 -0
  157. package/dist/components/Tabs/Tabs.d.ts.map +1 -0
  158. package/dist/components/Tabs/Tabs.js +53 -0
  159. package/dist/components/Tabs/Tabs.js.map +1 -0
  160. package/dist/components/Tabs/index.cjs +10 -0
  161. package/dist/components/Tabs/index.d.cts +13 -0
  162. package/dist/components/Tabs/index.d.cts.map +1 -0
  163. package/dist/components/Tabs/index.d.ts +13 -0
  164. package/dist/components/Tabs/index.d.ts.map +1 -0
  165. package/dist/components/Tabs/index.js +6 -0
  166. package/dist/components/Tabs/tabTheme.cjs +29 -0
  167. package/dist/components/Tabs/tabTheme.d.cts +23 -0
  168. package/dist/components/Tabs/tabTheme.d.cts.map +1 -0
  169. package/dist/components/Tabs/tabTheme.d.ts +23 -0
  170. package/dist/components/Tabs/tabTheme.d.ts.map +1 -0
  171. package/dist/components/Tabs/tabTheme.js +28 -0
  172. package/dist/components/Tabs/tabTheme.js.map +1 -0
  173. package/dist/components/Tabs/tabsContexts.cjs +91 -0
  174. package/dist/components/Tabs/tabsContexts.d.cts +35 -0
  175. package/dist/components/Tabs/tabsContexts.d.cts.map +1 -0
  176. package/dist/components/Tabs/tabsContexts.d.ts +35 -0
  177. package/dist/components/Tabs/tabsContexts.d.ts.map +1 -0
  178. package/dist/components/Tabs/tabsContexts.js +87 -0
  179. package/dist/components/Tabs/tabsContexts.js.map +1 -0
  180. package/dist/components/Text.cjs +1 -1
  181. package/dist/components/Text.d.cts +1 -1
  182. package/dist/components/Text.d.ts +1 -1
  183. package/dist/components/Text.js +1 -1
  184. package/dist/components/Text.js.map +1 -1
  185. package/dist/components/VStack.cjs +1 -1
  186. package/dist/components/VStack.d.cts +1 -1
  187. package/dist/components/VStack.d.ts +1 -1
  188. package/dist/components/VStack.js +1 -1
  189. package/dist/components/VStack.js.map +1 -1
  190. package/dist/jest/mocks/styles.cjs +22 -0
  191. package/dist/jest/mocks/styles.d.cts +4 -2
  192. package/dist/jest/mocks/styles.d.cts.map +1 -1
  193. package/dist/jest/mocks/styles.d.ts +4 -2
  194. package/dist/jest/mocks/styles.d.ts.map +1 -1
  195. package/dist/jest/mocks/styles.js +21 -1
  196. package/dist/jest/mocks/styles.js.map +1 -1
  197. package/dist/types/dist/index.d.cts +63 -2
  198. package/dist/types/dist/index.d.cts.map +1 -1
  199. package/dist/types/dist/index.d.ts +63 -2
  200. package/dist/types/dist/index.d.ts.map +1 -1
  201. package/fonts/uds-icons.ttf +0 -0
  202. package/generated/styles.cjs +87 -13
  203. package/generated/styles.d.ts +58 -0
  204. package/generated/styles.mjs +87 -13
  205. package/generated/unistyles.d.ts +62 -9
  206. package/package.json +21 -1
@@ -0,0 +1,87 @@
1
+ /*! © 2026 Yahoo, Inc. UDS Mobile v0.0.0-development */
2
+ import { createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
3
+ //#region src/components/Tabs/tabsContexts.tsx
4
+ const TabsVisualContext = createContext({
5
+ variant: "primary",
6
+ reduceMotion: false
7
+ });
8
+ function useTabsVisualContext() {
9
+ return useContext(TabsVisualContext);
10
+ }
11
+ const TabSelectionContext = createContext(null);
12
+ function useTabSelectionContext() {
13
+ const ctx = useContext(TabSelectionContext);
14
+ if (!ctx) throw new Error("Tab components must be used within <Tabs>");
15
+ return ctx;
16
+ }
17
+ function useTabSelectionState({ defaultSelectedId, selectedId: selectedIdProp, onSelectionChange }) {
18
+ const isControlled = selectedIdProp !== void 0;
19
+ const [internalSelectedId, setInternalSelectedId] = useState(defaultSelectedId ?? null);
20
+ const [registeredIds, setRegisteredIds] = useState([]);
21
+ const [tabLayouts, setTabLayouts] = useState(() => /* @__PURE__ */ new Map());
22
+ const selectedId = isControlled ? selectedIdProp : internalSelectedId;
23
+ const setSelectedId = useCallback((id) => {
24
+ if (!isControlled) setInternalSelectedId(id);
25
+ onSelectionChange?.(id);
26
+ }, [isControlled, onSelectionChange]);
27
+ const registerTab = useCallback((id) => {
28
+ setRegisteredIds((prev) => prev.includes(id) ? prev : [...prev, id]);
29
+ }, []);
30
+ const unregisterTab = useCallback((id) => {
31
+ setRegisteredIds((prev) => prev.filter((x) => x !== id));
32
+ setTabLayouts((prev) => {
33
+ const next = new Map(prev);
34
+ next.delete(id);
35
+ return next;
36
+ });
37
+ }, []);
38
+ const setTabLayout = useCallback((id, layout) => {
39
+ setTabLayouts((prev) => {
40
+ const cur = prev.get(id);
41
+ if (cur && cur.x === layout.x && cur.y === layout.y && cur.width === layout.width && cur.height === layout.height) return prev;
42
+ const next = new Map(prev);
43
+ next.set(id, layout);
44
+ return next;
45
+ });
46
+ }, []);
47
+ const clearTabLayout = useCallback((id) => {
48
+ setTabLayouts((prev) => {
49
+ if (!prev.has(id)) return prev;
50
+ const next = new Map(prev);
51
+ next.delete(id);
52
+ return next;
53
+ });
54
+ }, []);
55
+ useEffect(() => {
56
+ if (isControlled || defaultSelectedId !== void 0) return;
57
+ if (internalSelectedId !== null) return;
58
+ if (registeredIds.length === 0) return;
59
+ setInternalSelectedId(registeredIds[0]);
60
+ }, [
61
+ isControlled,
62
+ defaultSelectedId,
63
+ internalSelectedId,
64
+ registeredIds
65
+ ]);
66
+ return useMemo(() => ({
67
+ selectedId,
68
+ setSelectedId,
69
+ registerTab,
70
+ unregisterTab,
71
+ tabLayouts,
72
+ setTabLayout,
73
+ clearTabLayout
74
+ }), [
75
+ selectedId,
76
+ setSelectedId,
77
+ registerTab,
78
+ unregisterTab,
79
+ tabLayouts,
80
+ setTabLayout,
81
+ clearTabLayout
82
+ ]);
83
+ }
84
+ //#endregion
85
+ export { TabSelectionContext, TabsVisualContext, useTabSelectionContext, useTabSelectionState, useTabsVisualContext };
86
+
87
+ //# sourceMappingURL=tabsContexts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabsContexts.js","names":[],"sources":["../../../src/components/Tabs/tabsContexts.tsx"],"sourcesContent":["import type { UniversalTabsVariant } from '@yahoo/uds-types';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport type { LayoutRectangle } from 'react-native';\n\nexport interface TabsVisualContextValue {\n variant: UniversalTabsVariant;\n reduceMotion: boolean;\n}\n\nexport const TabsVisualContext = createContext<TabsVisualContextValue>({\n variant: 'primary',\n reduceMotion: false,\n});\n\nexport function useTabsVisualContext(): TabsVisualContextValue {\n return useContext(TabsVisualContext);\n}\n\nexport interface TabSelectionContextValue {\n selectedId: string | null | undefined;\n setSelectedId: (id: string) => void;\n registerTab: (id: string) => void;\n unregisterTab: (id: string) => void;\n tabLayouts: ReadonlyMap<string, LayoutRectangle>;\n setTabLayout: (id: string, layout: LayoutRectangle) => void;\n clearTabLayout: (id: string) => void;\n}\n\nexport const TabSelectionContext = createContext<TabSelectionContextValue | null>(null);\n\nexport function useTabSelectionContext(): TabSelectionContextValue {\n const ctx = useContext(TabSelectionContext);\n if (!ctx) {\n throw new Error('Tab components must be used within <Tabs>');\n }\n return ctx;\n}\n\nexport function useTabSelectionState({\n defaultSelectedId,\n selectedId: selectedIdProp,\n onSelectionChange,\n}: {\n defaultSelectedId?: string;\n selectedId?: string | null;\n onSelectionChange?: (selectedId: string | null | undefined) => void;\n}): TabSelectionContextValue {\n const isControlled = selectedIdProp !== undefined;\n const [internalSelectedId, setInternalSelectedId] = useState<string | null>(\n defaultSelectedId ?? null,\n );\n const [registeredIds, setRegisteredIds] = useState<string[]>([]);\n const [tabLayouts, setTabLayouts] = useState<Map<string, LayoutRectangle>>(() => new Map());\n\n const selectedId = isControlled ? selectedIdProp : internalSelectedId;\n\n const setSelectedId = useCallback(\n (id: string) => {\n if (!isControlled) {\n setInternalSelectedId(id);\n }\n onSelectionChange?.(id);\n },\n [isControlled, onSelectionChange],\n );\n\n const registerTab = useCallback((id: string) => {\n setRegisteredIds((prev) => (prev.includes(id) ? prev : [...prev, id]));\n }, []);\n\n const unregisterTab = useCallback((id: string) => {\n setRegisteredIds((prev) => prev.filter((x) => x !== id));\n setTabLayouts((prev) => {\n const next = new Map(prev);\n next.delete(id);\n return next;\n });\n }, []);\n\n const setTabLayout = useCallback((id: string, layout: LayoutRectangle) => {\n setTabLayouts((prev) => {\n const cur = prev.get(id);\n if (\n cur &&\n cur.x === layout.x &&\n cur.y === layout.y &&\n cur.width === layout.width &&\n cur.height === layout.height\n ) {\n return prev;\n }\n const next = new Map(prev);\n next.set(id, layout);\n return next;\n });\n }, []);\n\n const clearTabLayout = useCallback((id: string) => {\n setTabLayouts((prev) => {\n if (!prev.has(id)) {\n return prev;\n }\n const next = new Map(prev);\n next.delete(id);\n return next;\n });\n }, []);\n\n useEffect(() => {\n if (isControlled || defaultSelectedId !== undefined) {\n return;\n }\n if (internalSelectedId !== null) {\n return;\n }\n if (registeredIds.length === 0) {\n return;\n }\n setInternalSelectedId(registeredIds[0]!);\n }, [isControlled, defaultSelectedId, internalSelectedId, registeredIds]);\n\n return useMemo(\n () => ({\n selectedId,\n setSelectedId,\n registerTab,\n unregisterTab,\n tabLayouts,\n setTabLayout,\n clearTabLayout,\n }),\n [\n selectedId,\n setSelectedId,\n registerTab,\n unregisterTab,\n tabLayouts,\n setTabLayout,\n clearTabLayout,\n ],\n );\n}\n"],"mappings":";;;AASA,MAAa,oBAAoB,cAAsC;CACrE,SAAS;CACT,cAAc;CACf,CAAC;AAEF,SAAgB,uBAA+C;AAC7D,QAAO,WAAW,kBAAkB;;AAatC,MAAa,sBAAsB,cAA+C,KAAK;AAEvF,SAAgB,yBAAmD;CACjE,MAAM,MAAM,WAAW,oBAAoB;AAC3C,KAAI,CAAC,IACH,OAAM,IAAI,MAAM,4CAA4C;AAE9D,QAAO;;AAGT,SAAgB,qBAAqB,EACnC,mBACA,YAAY,gBACZ,qBAK2B;CAC3B,MAAM,eAAe,mBAAmB,KAAA;CACxC,MAAM,CAAC,oBAAoB,yBAAyB,SAClD,qBAAqB,KACtB;CACD,MAAM,CAAC,eAAe,oBAAoB,SAAmB,EAAE,CAAC;CAChE,MAAM,CAAC,YAAY,iBAAiB,+BAA6C,IAAI,KAAK,CAAC;CAE3F,MAAM,aAAa,eAAe,iBAAiB;CAEnD,MAAM,gBAAgB,aACnB,OAAe;AACd,MAAI,CAAC,aACH,uBAAsB,GAAG;AAE3B,sBAAoB,GAAG;IAEzB,CAAC,cAAc,kBAAkB,CAClC;CAED,MAAM,cAAc,aAAa,OAAe;AAC9C,oBAAkB,SAAU,KAAK,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,MAAM,GAAG,CAAE;IACrE,EAAE,CAAC;CAEN,MAAM,gBAAgB,aAAa,OAAe;AAChD,oBAAkB,SAAS,KAAK,QAAQ,MAAM,MAAM,GAAG,CAAC;AACxD,iBAAe,SAAS;GACtB,MAAM,OAAO,IAAI,IAAI,KAAK;AAC1B,QAAK,OAAO,GAAG;AACf,UAAO;IACP;IACD,EAAE,CAAC;CAEN,MAAM,eAAe,aAAa,IAAY,WAA4B;AACxE,iBAAe,SAAS;GACtB,MAAM,MAAM,KAAK,IAAI,GAAG;AACxB,OACE,OACA,IAAI,MAAM,OAAO,KACjB,IAAI,MAAM,OAAO,KACjB,IAAI,UAAU,OAAO,SACrB,IAAI,WAAW,OAAO,OAEtB,QAAO;GAET,MAAM,OAAO,IAAI,IAAI,KAAK;AAC1B,QAAK,IAAI,IAAI,OAAO;AACpB,UAAO;IACP;IACD,EAAE,CAAC;CAEN,MAAM,iBAAiB,aAAa,OAAe;AACjD,iBAAe,SAAS;AACtB,OAAI,CAAC,KAAK,IAAI,GAAG,CACf,QAAO;GAET,MAAM,OAAO,IAAI,IAAI,KAAK;AAC1B,QAAK,OAAO,GAAG;AACf,UAAO;IACP;IACD,EAAE,CAAC;AAEN,iBAAgB;AACd,MAAI,gBAAgB,sBAAsB,KAAA,EACxC;AAEF,MAAI,uBAAuB,KACzB;AAEF,MAAI,cAAc,WAAW,EAC3B;AAEF,wBAAsB,cAAc,GAAI;IACvC;EAAC;EAAc;EAAmB;EAAoB;EAAc,CAAC;AAExE,QAAO,eACE;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF"}
@@ -17,7 +17,7 @@ let generated_styles = require("../../generated/styles");
17
17
  *
18
18
  * @example
19
19
  * ```tsx
20
- * import { Text } from '@yahoo/uds-mobile';
20
+ * import { Text } from '@yahoo/uds-mobile/Text';
21
21
  *
22
22
  * <Text variant="body1" color="primary">Hello, World!</Text>
23
23
  * <Text variant="display1" fontWeight="bold">Heading</Text>
@@ -83,7 +83,7 @@ interface TextProps extends TextProps$1 {
83
83
  *
84
84
  * @example
85
85
  * ```tsx
86
- * import { Text } from '@yahoo/uds-mobile';
86
+ * import { Text } from '@yahoo/uds-mobile/Text';
87
87
  *
88
88
  * <Text variant="body1" color="primary">Hello, World!</Text>
89
89
  * <Text variant="display1" fontWeight="bold">Heading</Text>
@@ -83,7 +83,7 @@ interface TextProps extends TextProps$1 {
83
83
  *
84
84
  * @example
85
85
  * ```tsx
86
- * import { Text } from '@yahoo/uds-mobile';
86
+ * import { Text } from '@yahoo/uds-mobile/Text';
87
87
  *
88
88
  * <Text variant="body1" color="primary">Hello, World!</Text>
89
89
  * <Text variant="display1" fontWeight="bold">Heading</Text>
@@ -15,7 +15,7 @@ import { styles } from "../../generated/styles";
15
15
  *
16
16
  * @example
17
17
  * ```tsx
18
- * import { Text } from '@yahoo/uds-mobile';
18
+ * import { Text } from '@yahoo/uds-mobile/Text';
19
19
  *
20
20
  * <Text variant="body1" color="primary">Hello, World!</Text>
21
21
  * <Text variant="display1" fontWeight="bold">Heading</Text>
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","names":["RNText"],"sources":["../../src/components/Text.tsx"],"sourcesContent":["import type { Ref } from 'react';\nimport { memo, useMemo } from 'react';\nimport type { StyleProp, TextProps as RNTextProps, TextStyle } from 'react-native';\nimport { Text as RNText } from 'react-native';\n\nimport type { StyleProps } from '../../generated/styles';\nimport { styles } from '../../generated/styles';\n\n// TextVariant is a subset of fontFamily that represents typography variants\ntype TextVariant = Exclude<\n StyleProps['fontFamily'],\n 'sans' | 'sans-alt' | 'serif' | 'serif-alt' | 'mono' | 'icons'\n>;\n\n// React Native text decoration line values\n// See: https://reactnative.dev/docs/text-style-props#textdecorationline\ntype TextDecorationLine = 'none' | 'underline' | 'line-through' | 'underline line-through';\n\ninterface TextProps extends RNTextProps {\n /** Ref to the underlying Text element */\n ref?: Ref<RNText>;\n /** Text color from the theme palette */\n color?: StyleProps['color'];\n /** Typography variant - sets fontSize, lineHeight, letterSpacing, and fontFamily together */\n variant?: TextVariant;\n /** Override the fontFamily independently */\n fontFamily?: StyleProps['fontFamily'];\n /** Override the fontSize independently */\n fontSize?: StyleProps['fontSize'];\n /** Set font weight (not derived from variant) */\n fontWeight?: StyleProps['fontWeight'];\n /** Override the lineHeight independently */\n lineHeight?: StyleProps['lineHeight'];\n /** Override the letterSpacing independently */\n letterSpacing?: StyleProps['letterSpacing'];\n /** Text alignment (left, center, right) */\n textAlign?: StyleProps['textAlign'];\n /** Set text transform (not derived from variant) */\n textTransform?: StyleProps['textTransform'];\n /** Text decoration (underline, line-through, etc.) */\n textDecorationLine?: TextDecorationLine;\n // Background\n backgroundColor?: StyleProps['backgroundColor'];\n // Border\n borderRadius?: StyleProps['borderRadius'];\n borderTopStartRadius?: StyleProps['borderTopStartRadius'];\n borderTopEndRadius?: StyleProps['borderTopEndRadius'];\n borderBottomStartRadius?: StyleProps['borderBottomStartRadius'];\n borderBottomEndRadius?: StyleProps['borderBottomEndRadius'];\n borderColor?: StyleProps['borderColor'];\n borderStartColor?: StyleProps['borderStartColor'];\n borderEndColor?: StyleProps['borderEndColor'];\n borderTopColor?: StyleProps['borderTopColor'];\n borderBottomColor?: StyleProps['borderBottomColor'];\n borderWidth?: StyleProps['borderWidth'];\n borderVerticalWidth?: StyleProps['borderVerticalWidth'];\n borderHorizontalWidth?: StyleProps['borderHorizontalWidth'];\n borderStartWidth?: StyleProps['borderStartWidth'];\n borderEndWidth?: StyleProps['borderEndWidth'];\n borderTopWidth?: StyleProps['borderTopWidth'];\n borderBottomWidth?: StyleProps['borderBottomWidth'];\n // Spacing\n spacing?: StyleProps['spacing'];\n spacingHorizontal?: StyleProps['spacingHorizontal'];\n spacingVertical?: StyleProps['spacingVertical'];\n spacingBottom?: StyleProps['spacingBottom'];\n spacingEnd?: StyleProps['spacingEnd'];\n spacingStart?: StyleProps['spacingStart'];\n spacingTop?: StyleProps['spacingTop'];\n // Offset\n offset?: StyleProps['offset'];\n offsetVertical?: StyleProps['offsetVertical'];\n offsetHorizontal?: StyleProps['offsetHorizontal'];\n offsetBottom?: StyleProps['offsetBottom'];\n offsetEnd?: StyleProps['offsetEnd'];\n offsetStart?: StyleProps['offsetStart'];\n offsetTop?: StyleProps['offsetTop'];\n // Flex\n flexShrink?: StyleProps['flexShrink'];\n // Vertical Alignment\n verticalAlign?: TextStyle['textAlignVertical'];\n // Size\n height?: number | `${number}%`;\n width?: number | `${number}%`;\n minHeight?: number | `${number}%`;\n maxHeight?: number | `${number}%`;\n minWidth?: number | `${number}%`;\n maxWidth?: number | `${number}%`;\n // Dangerously set props\n dangerouslySetColor?: string;\n}\n\n/**\n * **📝 A text component with UDS styling**\n *\n * @description\n * A styled text component that supports UDS typography variants and colors.\n *\n * @category Display\n * @platform mobile\n *\n * @example\n * ```tsx\n * import { Text } from '@yahoo/uds-mobile';\n *\n * <Text variant=\"body1\" color=\"primary\">Hello, World!</Text>\n * <Text variant=\"display1\" fontWeight=\"bold\">Heading</Text>\n * <Text variant=\"label1\" color=\"secondary\">Caption text</Text>\n * ```\n *\n * @usage\n * - Use variant prop to set typography (display1, body1, label1, etc.)\n * - Use color prop to set text color from the palette\n * - Use fontWeight to override the variant's default weight\n *\n * @accessibility\n * - Text is readable by screen readers by default\n * - Use appropriate variant sizes for readability\n * - Ensure sufficient color contrast with background\n *\n * @see {@link Link} for interactive text links\n */\nconst Text = memo(function Text({\n // Text-specific\n color = 'primary',\n variant = 'body1',\n fontFamily = variant,\n fontSize = variant,\n fontWeight,\n lineHeight = variant,\n letterSpacing = variant,\n textAlign,\n textTransform,\n textDecorationLine,\n style,\n // Background\n backgroundColor,\n // Border\n borderRadius,\n borderTopStartRadius,\n borderTopEndRadius,\n borderBottomStartRadius,\n borderBottomEndRadius,\n borderColor,\n borderStartColor,\n borderEndColor,\n borderTopColor,\n borderBottomColor,\n borderWidth,\n borderVerticalWidth,\n borderHorizontalWidth,\n borderStartWidth,\n borderEndWidth,\n borderTopWidth,\n borderBottomWidth,\n // Spacing\n spacing,\n spacingHorizontal,\n spacingVertical,\n spacingBottom,\n spacingEnd,\n spacingStart,\n spacingTop,\n // Offset\n offset,\n offsetVertical,\n offsetHorizontal,\n offsetBottom,\n offsetEnd,\n offsetStart,\n offsetTop,\n // Flex\n flexShrink,\n // Vertical Alignment\n verticalAlign,\n // Size\n height,\n minHeight,\n maxHeight,\n width,\n minWidth,\n maxWidth,\n // Dangerously set props\n dangerouslySetColor,\n ref,\n // Rest\n ...props\n}: TextProps) {\n styles.useVariants({\n // Text styles\n color,\n fontFamily,\n fontSize,\n fontWeight,\n lineHeight,\n letterSpacing,\n textAlign,\n textTransform,\n // Background\n backgroundColor,\n // Border\n borderRadius,\n borderTopStartRadius,\n borderTopEndRadius,\n borderBottomStartRadius,\n borderBottomEndRadius,\n borderColor,\n borderStartColor,\n borderEndColor,\n borderTopColor,\n borderBottomColor,\n borderWidth,\n borderVerticalWidth,\n borderHorizontalWidth,\n borderStartWidth,\n borderEndWidth,\n borderTopWidth,\n borderBottomWidth,\n // Spacing\n spacing,\n spacingHorizontal,\n spacingVertical,\n spacingBottom,\n spacingEnd,\n spacingStart,\n spacingTop,\n // Offset\n offset,\n offsetVertical,\n offsetHorizontal,\n offsetBottom,\n offsetEnd,\n offsetStart,\n offsetTop,\n // Flex\n flexShrink,\n });\n\n // styles.foundation must be in deps - it returns a new reference when variants change.\n const computedStyle: StyleProp<TextStyle> = useMemo(\n () => [\n textDecorationLine ? { textDecorationLine } : undefined,\n dangerouslySetColor ? { color: dangerouslySetColor } : undefined,\n verticalAlign ? { textAlignVertical: verticalAlign } : undefined,\n height ? { height } : undefined,\n minHeight ? { minHeight } : undefined,\n maxHeight ? { maxHeight } : undefined,\n width ? { width } : undefined,\n minWidth ? { minWidth } : undefined,\n maxWidth ? { maxWidth } : undefined,\n styles.foundation,\n style,\n ],\n [\n textDecorationLine,\n dangerouslySetColor,\n verticalAlign,\n height,\n minHeight,\n maxHeight,\n width,\n minWidth,\n maxWidth,\n style,\n styles.foundation,\n ],\n );\n\n return <RNText ref={ref} style={computedStyle} {...props} />;\n});\n\nText.displayName = 'Text';\n\nexport { Text, type TextProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0HA,MAAM,OAAO,KAAK,SAAS,KAAK,EAE9B,QAAQ,WACR,UAAU,SACV,aAAa,SACb,WAAW,SACX,YACA,aAAa,SACb,gBAAgB,SAChB,WACA,eACA,oBACA,OAEA,iBAEA,cACA,sBACA,oBACA,yBACA,uBACA,aACA,kBACA,gBACA,gBACA,mBACA,aACA,qBACA,uBACA,kBACA,gBACA,gBACA,mBAEA,SACA,mBACA,iBACA,eACA,YACA,cACA,YAEA,QACA,gBACA,kBACA,cACA,WACA,aACA,WAEA,YAEA,eAEA,QACA,WACA,WACA,OACA,UACA,UAEA,qBACA,KAEA,GAAG,SACS;AACZ,QAAO,YAAY;EAEjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACD,CAAC;AAgCF,QAAO,oBAACA,QAAD;EAAa;EAAK,OA7BmB,cACpC;GACJ,qBAAqB,EAAE,oBAAoB,GAAG,KAAA;GAC9C,sBAAsB,EAAE,OAAO,qBAAqB,GAAG,KAAA;GACvD,gBAAgB,EAAE,mBAAmB,eAAe,GAAG,KAAA;GACvD,SAAS,EAAE,QAAQ,GAAG,KAAA;GACtB,YAAY,EAAE,WAAW,GAAG,KAAA;GAC5B,YAAY,EAAE,WAAW,GAAG,KAAA;GAC5B,QAAQ,EAAE,OAAO,GAAG,KAAA;GACpB,WAAW,EAAE,UAAU,GAAG,KAAA;GAC1B,WAAW,EAAE,UAAU,GAAG,KAAA;GAC1B,OAAO;GACP;GACD,EACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,OAAO;GACR,CAG0C;EAAE,GAAI;EAAS,CAAA;EAC5D;AAEF,KAAK,cAAc"}
1
+ {"version":3,"file":"Text.js","names":["RNText"],"sources":["../../src/components/Text.tsx"],"sourcesContent":["import type { Ref } from 'react';\nimport { memo, useMemo } from 'react';\nimport type { StyleProp, TextProps as RNTextProps, TextStyle } from 'react-native';\nimport { Text as RNText } from 'react-native';\n\nimport type { StyleProps } from '../../generated/styles';\nimport { styles } from '../../generated/styles';\n\n// TextVariant is a subset of fontFamily that represents typography variants\ntype TextVariant = Exclude<\n StyleProps['fontFamily'],\n 'sans' | 'sans-alt' | 'serif' | 'serif-alt' | 'mono' | 'icons'\n>;\n\n// React Native text decoration line values\n// See: https://reactnative.dev/docs/text-style-props#textdecorationline\ntype TextDecorationLine = 'none' | 'underline' | 'line-through' | 'underline line-through';\n\ninterface TextProps extends RNTextProps {\n /** Ref to the underlying Text element */\n ref?: Ref<RNText>;\n /** Text color from the theme palette */\n color?: StyleProps['color'];\n /** Typography variant - sets fontSize, lineHeight, letterSpacing, and fontFamily together */\n variant?: TextVariant;\n /** Override the fontFamily independently */\n fontFamily?: StyleProps['fontFamily'];\n /** Override the fontSize independently */\n fontSize?: StyleProps['fontSize'];\n /** Set font weight (not derived from variant) */\n fontWeight?: StyleProps['fontWeight'];\n /** Override the lineHeight independently */\n lineHeight?: StyleProps['lineHeight'];\n /** Override the letterSpacing independently */\n letterSpacing?: StyleProps['letterSpacing'];\n /** Text alignment (left, center, right) */\n textAlign?: StyleProps['textAlign'];\n /** Set text transform (not derived from variant) */\n textTransform?: StyleProps['textTransform'];\n /** Text decoration (underline, line-through, etc.) */\n textDecorationLine?: TextDecorationLine;\n // Background\n backgroundColor?: StyleProps['backgroundColor'];\n // Border\n borderRadius?: StyleProps['borderRadius'];\n borderTopStartRadius?: StyleProps['borderTopStartRadius'];\n borderTopEndRadius?: StyleProps['borderTopEndRadius'];\n borderBottomStartRadius?: StyleProps['borderBottomStartRadius'];\n borderBottomEndRadius?: StyleProps['borderBottomEndRadius'];\n borderColor?: StyleProps['borderColor'];\n borderStartColor?: StyleProps['borderStartColor'];\n borderEndColor?: StyleProps['borderEndColor'];\n borderTopColor?: StyleProps['borderTopColor'];\n borderBottomColor?: StyleProps['borderBottomColor'];\n borderWidth?: StyleProps['borderWidth'];\n borderVerticalWidth?: StyleProps['borderVerticalWidth'];\n borderHorizontalWidth?: StyleProps['borderHorizontalWidth'];\n borderStartWidth?: StyleProps['borderStartWidth'];\n borderEndWidth?: StyleProps['borderEndWidth'];\n borderTopWidth?: StyleProps['borderTopWidth'];\n borderBottomWidth?: StyleProps['borderBottomWidth'];\n // Spacing\n spacing?: StyleProps['spacing'];\n spacingHorizontal?: StyleProps['spacingHorizontal'];\n spacingVertical?: StyleProps['spacingVertical'];\n spacingBottom?: StyleProps['spacingBottom'];\n spacingEnd?: StyleProps['spacingEnd'];\n spacingStart?: StyleProps['spacingStart'];\n spacingTop?: StyleProps['spacingTop'];\n // Offset\n offset?: StyleProps['offset'];\n offsetVertical?: StyleProps['offsetVertical'];\n offsetHorizontal?: StyleProps['offsetHorizontal'];\n offsetBottom?: StyleProps['offsetBottom'];\n offsetEnd?: StyleProps['offsetEnd'];\n offsetStart?: StyleProps['offsetStart'];\n offsetTop?: StyleProps['offsetTop'];\n // Flex\n flexShrink?: StyleProps['flexShrink'];\n // Vertical Alignment\n verticalAlign?: TextStyle['textAlignVertical'];\n // Size\n height?: number | `${number}%`;\n width?: number | `${number}%`;\n minHeight?: number | `${number}%`;\n maxHeight?: number | `${number}%`;\n minWidth?: number | `${number}%`;\n maxWidth?: number | `${number}%`;\n // Dangerously set props\n dangerouslySetColor?: string;\n}\n\n/**\n * **📝 A text component with UDS styling**\n *\n * @description\n * A styled text component that supports UDS typography variants and colors.\n *\n * @category Display\n * @platform mobile\n *\n * @example\n * ```tsx\n * import { Text } from '@yahoo/uds-mobile/Text';\n *\n * <Text variant=\"body1\" color=\"primary\">Hello, World!</Text>\n * <Text variant=\"display1\" fontWeight=\"bold\">Heading</Text>\n * <Text variant=\"label1\" color=\"secondary\">Caption text</Text>\n * ```\n *\n * @usage\n * - Use variant prop to set typography (display1, body1, label1, etc.)\n * - Use color prop to set text color from the palette\n * - Use fontWeight to override the variant's default weight\n *\n * @accessibility\n * - Text is readable by screen readers by default\n * - Use appropriate variant sizes for readability\n * - Ensure sufficient color contrast with background\n *\n * @see {@link Link} for interactive text links\n */\nconst Text = memo(function Text({\n // Text-specific\n color = 'primary',\n variant = 'body1',\n fontFamily = variant,\n fontSize = variant,\n fontWeight,\n lineHeight = variant,\n letterSpacing = variant,\n textAlign,\n textTransform,\n textDecorationLine,\n style,\n // Background\n backgroundColor,\n // Border\n borderRadius,\n borderTopStartRadius,\n borderTopEndRadius,\n borderBottomStartRadius,\n borderBottomEndRadius,\n borderColor,\n borderStartColor,\n borderEndColor,\n borderTopColor,\n borderBottomColor,\n borderWidth,\n borderVerticalWidth,\n borderHorizontalWidth,\n borderStartWidth,\n borderEndWidth,\n borderTopWidth,\n borderBottomWidth,\n // Spacing\n spacing,\n spacingHorizontal,\n spacingVertical,\n spacingBottom,\n spacingEnd,\n spacingStart,\n spacingTop,\n // Offset\n offset,\n offsetVertical,\n offsetHorizontal,\n offsetBottom,\n offsetEnd,\n offsetStart,\n offsetTop,\n // Flex\n flexShrink,\n // Vertical Alignment\n verticalAlign,\n // Size\n height,\n minHeight,\n maxHeight,\n width,\n minWidth,\n maxWidth,\n // Dangerously set props\n dangerouslySetColor,\n ref,\n // Rest\n ...props\n}: TextProps) {\n styles.useVariants({\n // Text styles\n color,\n fontFamily,\n fontSize,\n fontWeight,\n lineHeight,\n letterSpacing,\n textAlign,\n textTransform,\n // Background\n backgroundColor,\n // Border\n borderRadius,\n borderTopStartRadius,\n borderTopEndRadius,\n borderBottomStartRadius,\n borderBottomEndRadius,\n borderColor,\n borderStartColor,\n borderEndColor,\n borderTopColor,\n borderBottomColor,\n borderWidth,\n borderVerticalWidth,\n borderHorizontalWidth,\n borderStartWidth,\n borderEndWidth,\n borderTopWidth,\n borderBottomWidth,\n // Spacing\n spacing,\n spacingHorizontal,\n spacingVertical,\n spacingBottom,\n spacingEnd,\n spacingStart,\n spacingTop,\n // Offset\n offset,\n offsetVertical,\n offsetHorizontal,\n offsetBottom,\n offsetEnd,\n offsetStart,\n offsetTop,\n // Flex\n flexShrink,\n });\n\n // styles.foundation must be in deps - it returns a new reference when variants change.\n const computedStyle: StyleProp<TextStyle> = useMemo(\n () => [\n textDecorationLine ? { textDecorationLine } : undefined,\n dangerouslySetColor ? { color: dangerouslySetColor } : undefined,\n verticalAlign ? { textAlignVertical: verticalAlign } : undefined,\n height ? { height } : undefined,\n minHeight ? { minHeight } : undefined,\n maxHeight ? { maxHeight } : undefined,\n width ? { width } : undefined,\n minWidth ? { minWidth } : undefined,\n maxWidth ? { maxWidth } : undefined,\n styles.foundation,\n style,\n ],\n [\n textDecorationLine,\n dangerouslySetColor,\n verticalAlign,\n height,\n minHeight,\n maxHeight,\n width,\n minWidth,\n maxWidth,\n style,\n styles.foundation,\n ],\n );\n\n return <RNText ref={ref} style={computedStyle} {...props} />;\n});\n\nText.displayName = 'Text';\n\nexport { Text, type TextProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0HA,MAAM,OAAO,KAAK,SAAS,KAAK,EAE9B,QAAQ,WACR,UAAU,SACV,aAAa,SACb,WAAW,SACX,YACA,aAAa,SACb,gBAAgB,SAChB,WACA,eACA,oBACA,OAEA,iBAEA,cACA,sBACA,oBACA,yBACA,uBACA,aACA,kBACA,gBACA,gBACA,mBACA,aACA,qBACA,uBACA,kBACA,gBACA,gBACA,mBAEA,SACA,mBACA,iBACA,eACA,YACA,cACA,YAEA,QACA,gBACA,kBACA,cACA,WACA,aACA,WAEA,YAEA,eAEA,QACA,WACA,WACA,OACA,UACA,UAEA,qBACA,KAEA,GAAG,SACS;AACZ,QAAO,YAAY;EAEjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACD,CAAC;AAgCF,QAAO,oBAACA,QAAD;EAAa;EAAK,OA7BmB,cACpC;GACJ,qBAAqB,EAAE,oBAAoB,GAAG,KAAA;GAC9C,sBAAsB,EAAE,OAAO,qBAAqB,GAAG,KAAA;GACvD,gBAAgB,EAAE,mBAAmB,eAAe,GAAG,KAAA;GACvD,SAAS,EAAE,QAAQ,GAAG,KAAA;GACtB,YAAY,EAAE,WAAW,GAAG,KAAA;GAC5B,YAAY,EAAE,WAAW,GAAG,KAAA;GAC5B,QAAQ,EAAE,OAAO,GAAG,KAAA;GACpB,WAAW,EAAE,UAAU,GAAG,KAAA;GAC1B,WAAW,EAAE,UAAU,GAAG,KAAA;GAC1B,OAAO;GACP;GACD,EACD;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,OAAO;GACR,CAG0C;EAAE,GAAI;EAAS,CAAA;EAC5D;AAEF,KAAK,cAAc"}
@@ -17,7 +17,7 @@ let react_jsx_runtime = require("react/jsx-runtime");
17
17
  *
18
18
  * @example
19
19
  * ```tsx
20
- * import { VStack } from '@yahoo/uds-mobile';
20
+ * import { VStack } from '@yahoo/uds-mobile/VStack';
21
21
  *
22
22
  * <VStack gap="4" alignItems="stretch">
23
23
  * <Text>Item 1</Text>
@@ -24,7 +24,7 @@ interface VStackProps extends Omit<BoxProps, 'ref'> {
24
24
  *
25
25
  * @example
26
26
  * ```tsx
27
- * import { VStack } from '@yahoo/uds-mobile';
27
+ * import { VStack } from '@yahoo/uds-mobile/VStack';
28
28
  *
29
29
  * <VStack gap="4" alignItems="stretch">
30
30
  * <Text>Item 1</Text>
@@ -24,7 +24,7 @@ interface VStackProps extends Omit<BoxProps, 'ref'> {
24
24
  *
25
25
  * @example
26
26
  * ```tsx
27
- * import { VStack } from '@yahoo/uds-mobile';
27
+ * import { VStack } from '@yahoo/uds-mobile/VStack';
28
28
  *
29
29
  * <VStack gap="4" alignItems="stretch">
30
30
  * <Text>Item 1</Text>
@@ -15,7 +15,7 @@ import { jsx } from "react/jsx-runtime";
15
15
  *
16
16
  * @example
17
17
  * ```tsx
18
- * import { VStack } from '@yahoo/uds-mobile';
18
+ * import { VStack } from '@yahoo/uds-mobile/VStack';
19
19
  *
20
20
  * <VStack gap="4" alignItems="stretch">
21
21
  * <Text>Item 1</Text>
@@ -1 +1 @@
1
- {"version":3,"file":"VStack.js","names":[],"sources":["../../src/components/VStack.tsx"],"sourcesContent":["import type { Ref } from 'react';\nimport { memo } from 'react';\nimport type { View } from 'react-native';\n\nimport type { StyleProps } from '../../generated/styles';\nimport type { BoxProps } from './Box';\nimport { Box } from './Box';\n\ninterface VStackProps extends Omit<BoxProps, 'ref'> {\n /** Gap between child elements */\n gap?: StyleProps['rowGap'];\n /** Ref to the underlying View */\n ref?: Ref<View>;\n}\n\n/**\n * **📦 A vertical stack layout component**\n *\n * @description\n * A convenience component for creating vertical layouts. It's a Box with\n * `flexDirection=\"column\"` preset.\n *\n * @category Layout\n * @platform mobile\n *\n * @example\n * ```tsx\n * import { VStack } from '@yahoo/uds-mobile';\n *\n * <VStack gap=\"4\" alignItems=\"stretch\">\n * <Text>Item 1</Text>\n * <Text>Item 2</Text>\n * </VStack>\n * ```\n *\n * @usage\n * - Use for vertical arrangements of elements\n * - Use gap prop for consistent spacing between children\n *\n * @see {@link HStack} for horizontal layouts\n * @see {@link Box} for custom flex layouts\n */\nconst VStack = memo(function VStack({ gap, children, ref, ...props }: VStackProps) {\n return (\n <Box ref={ref} flexDirection=\"column\" columnGap={gap} rowGap={gap} {...props}>\n {children}\n </Box>\n );\n});\n\nVStack.displayName = 'VStack';\n\nexport { VStack, type VStackProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,MAAM,SAAS,KAAK,SAAS,OAAO,EAAE,KAAK,UAAU,KAAK,GAAG,SAAsB;AACjF,QACE,oBAAC,KAAD;EAAU;EAAK,eAAc;EAAS,WAAW;EAAK,QAAQ;EAAK,GAAI;EACpE;EACG,CAAA;EAER;AAEF,OAAO,cAAc"}
1
+ {"version":3,"file":"VStack.js","names":[],"sources":["../../src/components/VStack.tsx"],"sourcesContent":["import type { Ref } from 'react';\nimport { memo } from 'react';\nimport type { View } from 'react-native';\n\nimport type { StyleProps } from '../../generated/styles';\nimport type { BoxProps } from './Box';\nimport { Box } from './Box';\n\ninterface VStackProps extends Omit<BoxProps, 'ref'> {\n /** Gap between child elements */\n gap?: StyleProps['rowGap'];\n /** Ref to the underlying View */\n ref?: Ref<View>;\n}\n\n/**\n * **📦 A vertical stack layout component**\n *\n * @description\n * A convenience component for creating vertical layouts. It's a Box with\n * `flexDirection=\"column\"` preset.\n *\n * @category Layout\n * @platform mobile\n *\n * @example\n * ```tsx\n * import { VStack } from '@yahoo/uds-mobile/VStack';\n *\n * <VStack gap=\"4\" alignItems=\"stretch\">\n * <Text>Item 1</Text>\n * <Text>Item 2</Text>\n * </VStack>\n * ```\n *\n * @usage\n * - Use for vertical arrangements of elements\n * - Use gap prop for consistent spacing between children\n *\n * @see {@link HStack} for horizontal layouts\n * @see {@link Box} for custom flex layouts\n */\nconst VStack = memo(function VStack({ gap, children, ref, ...props }: VStackProps) {\n return (\n <Box ref={ref} flexDirection=\"column\" columnGap={gap} rowGap={gap} {...props}>\n {children}\n </Box>\n );\n});\n\nVStack.displayName = 'VStack';\n\nexport { VStack, type VStackProps };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA,MAAM,SAAS,KAAK,SAAS,OAAO,EAAE,KAAK,UAAU,KAAK,GAAG,SAAsB;AACjF,QACE,oBAAC,KAAD;EAAU;EAAK,eAAc;EAAS,WAAW;EAAK,QAAQ;EAAK,GAAI;EACpE;EACG,CAAA;EAER;AAEF,OAAO,cAAc"}
@@ -7,12 +7,14 @@ var styles_exports = /* @__PURE__ */ require("../../_virtual/_rolldown/runtime.c
7
7
  buttonStyles: () => buttonStyles,
8
8
  checkboxStyles: () => checkboxStyles,
9
9
  chipStyles: () => chipStyles,
10
+ dividerStyles: () => dividerStyles,
10
11
  iconButtonStyles: () => iconButtonStyles,
11
12
  inputStyles: () => inputStyles,
12
13
  linkStyles: () => linkStyles,
13
14
  radioStyles: () => radioStyles,
14
15
  styles: () => styles,
15
16
  switchStyles: () => switchStyles,
17
+ tabsStyles: () => tabsStyles,
16
18
  textStyles: () => textStyles
17
19
  });
18
20
  /**
@@ -248,6 +250,19 @@ const chipStyles = createComponentStyles({
248
250
  color: "#000000"
249
251
  }
250
252
  });
253
+ const dividerStyles = createComponentStyles({
254
+ root: { gap: 8 },
255
+ label: {
256
+ fontFamily: "YahooProductSans-Medium",
257
+ fontSize: 12,
258
+ lineHeight: 16,
259
+ color: "#000000"
260
+ },
261
+ line: {
262
+ borderWidth: 1,
263
+ borderColor: "#E0E0E0"
264
+ }
265
+ });
251
266
  const linkStyles = createComponentStyles({
252
267
  root: {
253
268
  flexDirection: "row",
@@ -303,12 +318,18 @@ const iconButtonStyles = createComponentStyles({
303
318
  color: "#000000"
304
319
  }
305
320
  });
321
+ const tabsStyles = createComponentStyles({ root: {
322
+ flexDirection: "row",
323
+ alignItems: "center",
324
+ gap: 8
325
+ } });
306
326
  //#endregion
307
327
  exports.avatarStyles = avatarStyles;
308
328
  exports.badgeStyles = badgeStyles;
309
329
  exports.buttonStyles = buttonStyles;
310
330
  exports.checkboxStyles = checkboxStyles;
311
331
  exports.chipStyles = chipStyles;
332
+ exports.dividerStyles = dividerStyles;
312
333
  exports.iconButtonStyles = iconButtonStyles;
313
334
  exports.inputStyles = inputStyles;
314
335
  exports.linkStyles = linkStyles;
@@ -321,4 +342,5 @@ Object.defineProperty(exports, "styles_exports", {
321
342
  }
322
343
  });
323
344
  exports.switchStyles = switchStyles;
345
+ exports.tabsStyles = tabsStyles;
324
346
  exports.textStyles = textStyles;
@@ -1,6 +1,6 @@
1
1
 
2
2
  declare namespace styles_d_exports {
3
- export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, switchStyles, textStyles };
3
+ export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, switchStyles, tabsStyles, textStyles };
4
4
  }
5
5
  /**
6
6
  * Jest mock for generated/styles.
@@ -17,9 +17,11 @@ declare const switchStyles: Record<string, unknown>;
17
17
  declare const avatarStyles: Record<string, unknown>;
18
18
  declare const badgeStyles: Record<string, unknown>;
19
19
  declare const chipStyles: Record<string, unknown>;
20
+ declare const dividerStyles: Record<string, unknown>;
20
21
  declare const linkStyles: Record<string, unknown>;
21
22
  declare const radioStyles: Record<string, unknown>;
22
23
  declare const iconButtonStyles: Record<string, unknown>;
24
+ declare const tabsStyles: Record<string, unknown>;
23
25
  interface StyleProps {
24
26
  color?: string;
25
27
  backgroundColor?: string;
@@ -29,5 +31,5 @@ interface StyleProps {
29
31
  [key: string]: unknown;
30
32
  }
31
33
  //#endregion
32
- export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, styles_d_exports, switchStyles, textStyles };
34
+ export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, styles_d_exports, switchStyles, tabsStyles, textStyles };
33
35
  //# sourceMappingURL=styles.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.cts","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,cAwBd,YAAA,EAAY,MAAA;AAAA,cA4BZ,YAAA,EAAY,MAAA;AAAA,cAqBZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA8BX,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":";;;;;;;;;;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,cAwBd,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,UAAA,EAAU,MAAA;AAAA,UASN,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
@@ -1,6 +1,6 @@
1
1
 
2
2
  declare namespace styles_d_exports {
3
- export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, switchStyles, textStyles };
3
+ export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, switchStyles, tabsStyles, textStyles };
4
4
  }
5
5
  /**
6
6
  * Jest mock for generated/styles.
@@ -17,9 +17,11 @@ declare const switchStyles: Record<string, unknown>;
17
17
  declare const avatarStyles: Record<string, unknown>;
18
18
  declare const badgeStyles: Record<string, unknown>;
19
19
  declare const chipStyles: Record<string, unknown>;
20
+ declare const dividerStyles: Record<string, unknown>;
20
21
  declare const linkStyles: Record<string, unknown>;
21
22
  declare const radioStyles: Record<string, unknown>;
22
23
  declare const iconButtonStyles: Record<string, unknown>;
24
+ declare const tabsStyles: Record<string, unknown>;
23
25
  interface StyleProps {
24
26
  color?: string;
25
27
  backgroundColor?: string;
@@ -29,5 +31,5 @@ interface StyleProps {
29
31
  [key: string]: unknown;
30
32
  }
31
33
  //#endregion
32
- export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, styles_d_exports, switchStyles, textStyles };
34
+ export { StyleProps, avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, styles_d_exports, switchStyles, tabsStyles, textStyles };
33
35
  //# 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,cAwBd,YAAA,EAAY,MAAA;AAAA,cA4BZ,YAAA,EAAY,MAAA;AAAA,cAqBZ,WAAA,EAAW,MAAA;AAAA,cAmBX,UAAA,EAAU,MAAA;AAAA,cAsBV,UAAA,EAAU,MAAA;AAAA,cAgBV,WAAA,EAAW,MAAA;AAAA,cA8BX,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":";;;;;;;;;;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,cAwBd,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,UAAA,EAAU,MAAA;AAAA,UASN,UAAA;EACf,KAAA;EACA,eAAA;EACA,WAAA;EACA,WAAA;EACA,YAAA;EAAA,CACC,GAAA;AAAA"}
@@ -7,12 +7,14 @@ var styles_exports = /* @__PURE__ */ __exportAll({
7
7
  buttonStyles: () => buttonStyles,
8
8
  checkboxStyles: () => checkboxStyles,
9
9
  chipStyles: () => chipStyles,
10
+ dividerStyles: () => dividerStyles,
10
11
  iconButtonStyles: () => iconButtonStyles,
11
12
  inputStyles: () => inputStyles,
12
13
  linkStyles: () => linkStyles,
13
14
  radioStyles: () => radioStyles,
14
15
  styles: () => styles,
15
16
  switchStyles: () => switchStyles,
17
+ tabsStyles: () => tabsStyles,
16
18
  textStyles: () => textStyles
17
19
  });
18
20
  /**
@@ -248,6 +250,19 @@ const chipStyles = createComponentStyles({
248
250
  color: "#000000"
249
251
  }
250
252
  });
253
+ const dividerStyles = createComponentStyles({
254
+ root: { gap: 8 },
255
+ label: {
256
+ fontFamily: "YahooProductSans-Medium",
257
+ fontSize: 12,
258
+ lineHeight: 16,
259
+ color: "#000000"
260
+ },
261
+ line: {
262
+ borderWidth: 1,
263
+ borderColor: "#E0E0E0"
264
+ }
265
+ });
251
266
  const linkStyles = createComponentStyles({
252
267
  root: {
253
268
  flexDirection: "row",
@@ -303,7 +318,12 @@ const iconButtonStyles = createComponentStyles({
303
318
  color: "#000000"
304
319
  }
305
320
  });
321
+ const tabsStyles = createComponentStyles({ root: {
322
+ flexDirection: "row",
323
+ alignItems: "center",
324
+ gap: 8
325
+ } });
306
326
  //#endregion
307
- export { avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, styles_exports, switchStyles, textStyles };
327
+ export { avatarStyles, badgeStyles, buttonStyles, checkboxStyles, chipStyles, dividerStyles, iconButtonStyles, inputStyles, linkStyles, radioStyles, styles, styles_exports, switchStyles, tabsStyles, textStyles };
308
328
 
309
329
  //# 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 box: {\n width: 20,\n height: 20,\n borderRadius: 4,\n borderWidth: 2,\n borderColor: '#6001D2',\n backgroundColor: 'transparent',\n },\n label: {\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// 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// 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 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 box: {\n width: 20,\n height: 20,\n borderRadius: 4,\n borderWidth: 2,\n borderColor: '#6001D2',\n backgroundColor: 'transparent',\n },\n label: {\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// Tabs (tab list chrome)\nexport const tabsStyles = createComponentStyles({\n root: {\n flexDirection: 'row',\n alignItems: 'center',\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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"}
@@ -35,6 +35,7 @@ type BackgroundColor = BackgroundPaletteAlias | AlwaysPaletteAlias | ElevationAl
35
35
  type ShadowVariant = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
36
36
  type ShadowVariantWithElevation = ShadowVariant | ElevationAlias;
37
37
  type ShadowVariantInvert = `${Exclude<ShadowVariant, 'none'>}-invert`;
38
+ type ShadowVariantWithInvert = ShadowVariant | ShadowVariantInvert;
38
39
  type TextVariantTypography = 'display1' | 'display2' | 'display3' | 'title1' | 'title2' | 'title3' | 'title4' | 'headline1' | 'body1' | 'label1' | 'label2' | 'label3' | 'label4' | 'caption1' | 'caption2' | 'legal1';
39
40
  type TextVariantUi = 'ui1' | 'ui2' | 'ui3' | 'ui4' | 'ui5' | 'ui6';
40
41
  type TextVariantWithoutEmphasized = TextVariantTypography | TextVariantUi;
@@ -104,7 +105,7 @@ interface NestedBorderRadiusStyleProps {
104
105
  }
105
106
  interface ShadowStyleProps {
106
107
  dropShadow?: ShadowVariantWithElevation;
107
- insetShadow?: Exclude<ShadowVariant, ElevationAlias> | ShadowVariantInvert;
108
+ insetShadow?: ShadowVariantWithInvert | ElevationAlias;
108
109
  }
109
110
  interface LayoutStyleProps {
110
111
  display?: Display;
@@ -217,6 +218,15 @@ interface UniversalInputProps<IconSlotType = UniversalIconSlot> {
217
218
  /** The width of the input container. @default 'full' */
218
219
  width?: UniversalBoxProps['width'];
219
220
  }
221
+ type DividerVariant = 'primary' | 'secondary' | 'tertiary' | 'muted';
222
+ interface UniversalDividerProps {
223
+ /** The visual style variant of the divider. @default 'primary' */
224
+ variant?: DividerVariant;
225
+ /** Whether to render as a vertical divider. @default false */
226
+ vertical?: boolean;
227
+ /** Position of content within the divider. @default 'center' */
228
+ contentPosition?: 'start' | 'center' | 'end';
229
+ }
220
230
  type LinkVariant = 'primary' | 'secondary' | 'tertiary' | 'on-color';
221
231
  type LinkTextVariant = TextVariantWithoutEmphasized;
222
232
  interface UniversalLinkProps<IconSlotType = UniversalIconSlot> {
@@ -311,6 +321,57 @@ interface UniversalBannerProps<IconSlotType = UniversalIconSlot> {
311
321
  /** Actions (Button, Link) or BannerContent + actions. */
312
322
  children?: ReactNode;
313
323
  }
324
+ type UniversalTabsVariant = 'primary' | 'secondary';
325
+ interface UniversalTabsProps {
326
+ /** The TabList and TabPanel elements. */
327
+ children: ReactNode;
328
+ /** Visual style variant for the tab list and indicators. @default 'primary' */
329
+ variant?: UniversalTabsVariant;
330
+ /**
331
+ * When true, the sliding selection indicator motion is reduced and selection chrome is
332
+ * applied per tab without sliding motion. When false (default), the underline / pill is a single
333
+ * layer that slides between tabs (240ms, same easing as the design reference). @default false
334
+ */
335
+ reduceMotion?: boolean;
336
+ /** The id of the tab selected by default (uncontrolled). */
337
+ defaultSelectedId?: string;
338
+ /** The controlled selected tab id. `null` represents no selected tab. */
339
+ selectedId?: string | null;
340
+ /** Callback when the selected tab changes. */
341
+ onSelectionChange?: (selectedId: string | null | undefined) => void;
342
+ }
343
+ interface UniversalTabListProps extends React.AriaAttributes {
344
+ /** Tab items rendered within the list. */
345
+ children: ReactNode;
346
+ /** Enables horizontal scrolling when tabs overflow. */
347
+ scrollable?: boolean;
348
+ /** Optional class name for custom styling. */
349
+ className?: string;
350
+ }
351
+ interface UniversalTabPanelProps {
352
+ /** The id of the associated tab. */
353
+ tabId: string;
354
+ /** Content shown when the associated tab is selected. */
355
+ children: ReactNode;
356
+ /** Optional class name for custom styling. */
357
+ className?: string;
358
+ }
359
+ interface UniversalTabProps {
360
+ /** Unique identifier for this tab, used to connect with a TabPanel. When omitted, one is auto-generated. */
361
+ value?: string;
362
+ /** Tab content, typically a text label. */
363
+ children: ReactNode;
364
+ /** Icon rendered before the label. */
365
+ startIcon?: UniversalIconSlot;
366
+ /** Icon rendered after the label. */
367
+ endIcon?: UniversalIconSlot;
368
+ /** Disables the tab. */
369
+ disabled?: boolean;
370
+ /** Merge props onto the immediate child element instead of rendering a wrapper. */
371
+ asChild?: boolean;
372
+ /** Optional class name for custom styling. */
373
+ className?: string;
374
+ }
314
375
  //#endregion
315
- export { type BadgeSize, type BadgeVariant, type BannerVariant, type ButtonSize, type ButtonVariantFlat, type ChipSize, type ChipVariant, type ElevationLevel, type IconButtonSize, type IconSize, type IconVariant, type MotionConfig, type MotionVariantValues, type UniversalBannerProps, type UniversalCheckboxProps, type UniversalImageProps, type UniversalInputProps, type UniversalLinkProps, type UniversalRadioProps, type UniversalSwitchProps };
376
+ export { type BadgeSize, type BadgeVariant, type BannerVariant, type ButtonSize, type ButtonVariantFlat, type ChipSize, type ChipVariant, type ElevationLevel, type IconButtonSize, type IconSize, type IconVariant, type MotionConfig, type MotionVariantValues, type UniversalBannerProps, type UniversalCheckboxProps, type UniversalDividerProps, type UniversalImageProps, type UniversalInputProps, type UniversalLinkProps, type UniversalRadioProps, type UniversalSwitchProps, type UniversalTabListProps, type UniversalTabPanelProps, type UniversalTabProps, type UniversalTabsProps, type UniversalTabsVariant };
316
377
  //# sourceMappingURL=index.d.cts.map