@yahoo/uds 3.59.0-beta.1 → 3.59.0-beta.2

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 (304) hide show
  1. package/cli/bin/uds-darwin-arm64-baseline +0 -0
  2. package/cli/bin/uds-darwin-x64 +0 -0
  3. package/cli/bin/uds-linux-arm64 +0 -0
  4. package/cli/bin/uds-linux-x64-baseline +0 -0
  5. package/dist/components/Box.d.ts +2 -2
  6. package/dist/components/Box.d.ts.map +1 -1
  7. package/dist/components/Divider/Divider.d.cts +2 -2
  8. package/dist/components/Divider/Divider.d.ts +2 -2
  9. package/dist/components/Divider/DividerCore.d.cts +2 -2
  10. package/dist/components/Divider/DividerCore.d.ts +2 -2
  11. package/dist/components/Divider/DividerInternal.d.cts +2 -2
  12. package/dist/components/Divider/DividerInternal.d.ts +2 -2
  13. package/dist/components/FormLabel.d.ts +2 -2
  14. package/dist/components/HStack.d.ts +2 -2
  15. package/dist/components/Icon.d.ts +2 -2
  16. package/dist/components/Link.d.ts +2 -2
  17. package/dist/components/Text.d.cts +5 -5
  18. package/dist/components/Text.d.cts.map +1 -1
  19. package/dist/components/Text.d.ts +8 -8
  20. package/dist/components/Text.d.ts.map +1 -1
  21. package/dist/components/VStack.d.ts +2 -2
  22. package/dist/components/VStack.d.ts.map +1 -1
  23. package/dist/components/client/AnimateHeightChange.d.cts +2 -2
  24. package/dist/components/client/AnimateHeightChange.d.ts +2 -2
  25. package/dist/components/client/Avatar/Avatar.d.cts +2 -2
  26. package/dist/components/client/Avatar/Avatar.d.cts.map +1 -1
  27. package/dist/components/client/Avatar/Avatar.d.ts +2 -2
  28. package/dist/components/client/Avatar/AvatarIcon.d.cts +2 -2
  29. package/dist/components/client/Avatar/AvatarIcon.d.cts.map +1 -1
  30. package/dist/components/client/Avatar/AvatarIcon.d.ts +2 -2
  31. package/dist/components/client/Avatar/AvatarImage.d.cts +2 -2
  32. package/dist/components/client/Avatar/AvatarImage.d.ts +2 -2
  33. package/dist/components/client/Avatar/AvatarText.d.cts +2 -2
  34. package/dist/components/client/Avatar/AvatarText.d.ts +2 -2
  35. package/dist/components/client/IconButton.d.cts +2 -2
  36. package/dist/components/client/IconButton.d.ts +2 -2
  37. package/dist/components/client/IconButton.d.ts.map +1 -1
  38. package/dist/components/client/Input/Input.d.cts +2 -2
  39. package/dist/components/client/Input/Input.d.ts +2 -2
  40. package/dist/components/client/Input/InputHelpText.d.cts +2 -2
  41. package/dist/components/client/Input/InputHelpText.d.cts.map +1 -1
  42. package/dist/components/client/Input/InputHelpText.d.ts +2 -2
  43. package/dist/components/client/Input/InputHelpTextInternal.d.cts +4 -4
  44. package/dist/components/client/Input/InputHelpTextInternal.d.cts.map +1 -1
  45. package/dist/components/client/Input/InputHelpTextInternal.d.ts +4 -4
  46. package/dist/components/client/Menu/Menu.Content.d.cts +2 -2
  47. package/dist/components/client/Menu/Menu.Content.d.ts +2 -2
  48. package/dist/components/client/Menu/Menu.Divider.d.cts +2 -2
  49. package/dist/components/client/Menu/Menu.Divider.d.ts +2 -2
  50. package/dist/components/client/Menu/Menu.Item.d.cts +2 -2
  51. package/dist/components/client/Menu/Menu.ItemBase.d.cts +2 -2
  52. package/dist/components/client/Menu/Menu.ItemBase.d.ts +2 -2
  53. package/dist/components/client/Menu/Menu.ItemCheckbox.d.cts +2 -2
  54. package/dist/components/client/Menu/Menu.ItemCheckbox.d.ts +2 -2
  55. package/dist/components/client/Menu/Menu.Provider.d.cts +2 -2
  56. package/dist/components/client/Menu/Menu.Provider.d.ts +2 -2
  57. package/dist/components/client/Menu/Menu.Trigger.d.cts +2 -2
  58. package/dist/components/client/Menu/Menu.Trigger.d.ts +2 -2
  59. package/dist/components/client/Pressable.d.cts +2 -2
  60. package/dist/components/client/Pressable.d.ts +2 -2
  61. package/dist/components/client/Pressable.d.ts.map +1 -1
  62. package/dist/components/client/Radio/RadioGroupStore.d.ts +2 -2
  63. package/dist/components/client/SpringMotionConfig.d.cts +3 -3
  64. package/dist/components/client/SpringMotionConfig.d.ts +3 -3
  65. package/dist/components/client/SpringMotionConfig.d.ts.map +1 -1
  66. package/dist/components/experimental/Spinner.d.cts +2 -2
  67. package/dist/components/experimental/Spinner.d.cts.map +1 -1
  68. package/dist/components/experimental/Spinner.d.ts +2 -2
  69. package/dist/components/experimental/Table.d.cts +2 -2
  70. package/dist/components/experimental/Table.d.ts +2 -2
  71. package/dist/components/experimental/client/Accordion.d.cts +2 -2
  72. package/dist/components/experimental/client/Accordion.d.cts.map +1 -1
  73. package/dist/components/experimental/client/Accordion.d.ts +2 -2
  74. package/dist/components/experimental/client/AvoidMotionLibraryProvider.d.cts +2 -2
  75. package/dist/components/experimental/client/AvoidMotionLibraryProvider.d.ts +2 -2
  76. package/dist/components/experimental/client/Modal.d.cts +3 -3
  77. package/dist/components/experimental/client/Modal.d.cts.map +1 -1
  78. package/dist/components/experimental/client/Modal.d.ts +3 -3
  79. package/dist/components/experimental/client/Popover.d.cts +3 -3
  80. package/dist/components/experimental/client/Popover.d.cts.map +1 -1
  81. package/dist/components/experimental/client/Popover.d.ts +3 -3
  82. package/dist/components/experimental/client/Tabs.d.cts +3 -3
  83. package/dist/components/experimental/client/Tabs.d.ts +6 -6
  84. package/dist/components/experimental/client/Toast.d.cts +2 -2
  85. package/dist/components/experimental/client/Toast.d.ts +2 -2
  86. package/dist/providers/ColorModeProvider.d.cts +4 -4
  87. package/dist/providers/ColorModeProvider.d.cts.map +1 -1
  88. package/dist/providers/ColorModeProvider.d.ts +4 -4
  89. package/dist/providers/ColorModeProvider.d.ts.map +1 -1
  90. package/dist/providers/ScaleModeProvider.d.cts +4 -4
  91. package/dist/providers/ScaleModeProvider.d.cts.map +1 -1
  92. package/dist/providers/ScaleModeProvider.d.ts +4 -4
  93. package/dist/providers/ScaleModeProvider.d.ts.map +1 -1
  94. package/dist/providers/ThemeProvider.d.cts +2 -2
  95. package/dist/providers/ThemeProvider.d.cts.map +1 -1
  96. package/dist/providers/ThemeProvider.d.ts +2 -2
  97. package/dist/styles/styler.d.cts +33 -33
  98. package/dist/styles/styler.d.ts +33 -33
  99. package/dist/styles/stylerTypes.d.ts.map +1 -1
  100. package/dist/tailwind/tailwind.config.d.ts +3 -3
  101. package/dist/tailwind/tailwindPlugin.d.ts +3 -3
  102. package/dist/tailwind/utils/getMotionStyles.d.cts +1 -1
  103. package/dist/tailwind/utils/getMotionStyles.d.ts +1 -1
  104. package/dist/tokens/automation/utils/getConfigVariantProperties.d.cts +2 -2
  105. package/dist/tokens/automation/utils/getConfigVariantProperties.d.cts.map +1 -1
  106. package/dist/tokens/automation/utils/getConfigVariantProperties.d.ts +2 -2
  107. package/dist/tokens/automation/utils/getConfigVariantProperties.d.ts.map +1 -1
  108. package/dist/tokens/types.d.cts.map +1 -1
  109. package/dist/tokens/types.d.ts.map +1 -1
  110. package/dist/utils/intersperse.d.cts +2 -2
  111. package/dist/utils/intersperse.d.ts +2 -2
  112. package/package.json +1 -3
  113. package/cli/FlattenButtonVariant.mock.tsx +0 -17
  114. package/src/components/Box.tsx +0 -181
  115. package/src/components/Divider/Divider.tsx +0 -44
  116. package/src/components/Divider/DividerCore.tsx +0 -101
  117. package/src/components/Divider/DividerInternal.tsx +0 -56
  118. package/src/components/Divider/index.ts +0 -1
  119. package/src/components/FormLabel.tsx +0 -66
  120. package/src/components/HStack.tsx +0 -53
  121. package/src/components/Icon.tsx +0 -82
  122. package/src/components/IconSlot.tsx +0 -82
  123. package/src/components/Image.tsx +0 -162
  124. package/src/components/Link.tsx +0 -134
  125. package/src/components/Text.tsx +0 -272
  126. package/src/components/VStack.tsx +0 -53
  127. package/src/components/client/AnimateHeightChange.tsx +0 -50
  128. package/src/components/client/Avatar/Avatar.tsx +0 -31
  129. package/src/components/client/Avatar/AvatarIcon.tsx +0 -103
  130. package/src/components/client/Avatar/AvatarImage.tsx +0 -147
  131. package/src/components/client/Avatar/AvatarText.tsx +0 -88
  132. package/src/components/client/Avatar/index.ts +0 -4
  133. package/src/components/client/Avatar/utils.ts +0 -105
  134. package/src/components/client/Badge.tsx +0 -133
  135. package/src/components/client/Button.tsx +0 -312
  136. package/src/components/client/Checkbox.tsx +0 -377
  137. package/src/components/client/Chip/Chip.tsx +0 -81
  138. package/src/components/client/Chip/ChipBase.tsx +0 -151
  139. package/src/components/client/Chip/ChipButton.tsx +0 -54
  140. package/src/components/client/Chip/ChipDismissible.tsx +0 -90
  141. package/src/components/client/Chip/ChipLink.tsx +0 -60
  142. package/src/components/client/Chip/ChipToggle.tsx +0 -79
  143. package/src/components/client/Chip/index.ts +0 -5
  144. package/src/components/client/IconButton.tsx +0 -198
  145. package/src/components/client/Input/Input.tsx +0 -323
  146. package/src/components/client/Input/InputHelpText.tsx +0 -52
  147. package/src/components/client/Input/InputHelpTextInternal.tsx +0 -81
  148. package/src/components/client/Input/index.ts +0 -2
  149. package/src/components/client/Menu/Menu.Content.tsx +0 -391
  150. package/src/components/client/Menu/Menu.Divider.tsx +0 -102
  151. package/src/components/client/Menu/Menu.Item.tsx +0 -114
  152. package/src/components/client/Menu/Menu.ItemBase.tsx +0 -265
  153. package/src/components/client/Menu/Menu.ItemCheckbox.tsx +0 -197
  154. package/src/components/client/Menu/Menu.Provider.tsx +0 -154
  155. package/src/components/client/Menu/Menu.Trigger.tsx +0 -119
  156. package/src/components/client/Menu/Menu.index.tsx +0 -9
  157. package/src/components/client/Menu/Menu.tsx +0 -2
  158. package/src/components/client/Menu/index.ts +0 -7
  159. package/src/components/client/Menu/utils/transformAriakitPlacement.ts +0 -66
  160. package/src/components/client/Pressable.tsx +0 -194
  161. package/src/components/client/Radio/Radio.tsx +0 -351
  162. package/src/components/client/Radio/RadioGroupProvider.tsx +0 -122
  163. package/src/components/client/Radio/RadioGroupStore.tsx +0 -56
  164. package/src/components/client/Radio/index.ts +0 -2
  165. package/src/components/client/Radio/useRadioGroup.ts +0 -149
  166. package/src/components/client/SpringMotionConfig.tsx +0 -151
  167. package/src/components/client/Switch.tsx +0 -377
  168. package/src/components/client/index.ts +0 -30
  169. package/src/components/client/motionFeatures/domAnimation.ts +0 -2
  170. package/src/components/client/motionFeatures/domMax.ts +0 -2
  171. package/src/components/experimental/Spinner.tsx +0 -30
  172. package/src/components/experimental/Table.mocks.tsx +0 -38
  173. package/src/components/experimental/Table.tsx +0 -239
  174. package/src/components/experimental/client/Accordion.tsx +0 -77
  175. package/src/components/experimental/client/AvoidMotionLibraryProvider.tsx +0 -10
  176. package/src/components/experimental/client/Modal.tsx +0 -68
  177. package/src/components/experimental/client/Popover.tsx +0 -63
  178. package/src/components/experimental/client/SwitchV2.tsx +0 -343
  179. package/src/components/experimental/client/Tabs.tsx +0 -106
  180. package/src/components/experimental/client/Toast.tsx +0 -186
  181. package/src/components/experimental/client/index.ts +0 -15
  182. package/src/components/experimental/index.ts +0 -48
  183. package/src/components/index.ts +0 -41
  184. package/src/defaultTokensConfig.ts +0 -31
  185. package/src/fixtures/index.ts +0 -638
  186. package/src/fixtures/macros/typesToConstants.ts +0 -42
  187. package/src/fixtures/utils/getScaleModeRamp.ts +0 -48
  188. package/src/fixtures/utils/getTailwindAsUdsColors.ts +0 -115
  189. package/src/flags.ts +0 -45
  190. package/src/hooks/useForkRef.ts +0 -34
  191. package/src/hooks/useNestedBorderRadius.ts +0 -138
  192. package/src/hooks/useRtl.ts +0 -64
  193. package/src/index.ts +0 -4
  194. package/src/providers/ColorModeProvider.tsx +0 -21
  195. package/src/providers/ScaleModeProvider.tsx +0 -29
  196. package/src/providers/ThemeProvider.tsx +0 -26
  197. package/src/styles/styler.ts +0 -194
  198. package/src/styles/stylerTypes.ts +0 -81
  199. package/src/styles/toast.css +0 -0
  200. package/src/styles/variants.ts +0 -1351
  201. package/src/tailwind/base/addColorModeVars.ts +0 -23
  202. package/src/tailwind/base/addColorModeVarsV2.ts +0 -57
  203. package/src/tailwind/base/addFontFaceDeclarations.ts +0 -13
  204. package/src/tailwind/base/addFontVars.ts +0 -9
  205. package/src/tailwind/base/addMotionVars.ts +0 -9
  206. package/src/tailwind/base/addScaleModeVars.ts +0 -33
  207. package/src/tailwind/base/types.ts +0 -8
  208. package/src/tailwind/components/getButtonStyles.ts +0 -240
  209. package/src/tailwind/components/getFocusRingStyles.ts +0 -32
  210. package/src/tailwind/components/getGroupedTextStyles.ts +0 -29
  211. package/src/tailwind/components/getHitTargetStyles.ts +0 -23
  212. package/src/tailwind/components/getIconButtonStyles.ts +0 -49
  213. package/src/tailwind/components/getIconStyles.ts +0 -13
  214. package/src/tailwind/components/getInputStyles.ts +0 -20
  215. package/src/tailwind/components/getResponsiveTextStyles.ts +0 -161
  216. package/src/tailwind/components/types.ts +0 -14
  217. package/src/tailwind/components/utils.ts +0 -73
  218. package/src/tailwind/defaultTailwindThemeAsUdsConfig.ts +0 -78
  219. package/src/tailwind/postcss.config.ts +0 -6
  220. package/src/tailwind/purger/index.ts +0 -1
  221. package/src/tailwind/tailwind.config.ts +0 -50
  222. package/src/tailwind/tailwind.d.ts +0 -5
  223. package/src/tailwind/tailwindPlugin.ts +0 -724
  224. package/src/tailwind/theme/getFontFamilyTheme.ts +0 -28
  225. package/src/tailwind/tsMorph.ts +0 -1
  226. package/src/tailwind/uds.css +0 -3
  227. package/src/tailwind/utils/addFontsPlugin.ts +0 -17
  228. package/src/tailwind/utils/getColorModeStyles.ts +0 -21
  229. package/src/tailwind/utils/getFontFaceDeclarations.ts +0 -12
  230. package/src/tailwind/utils/getFontStyles.ts +0 -38
  231. package/src/tailwind/utils/getMotionStyles.ts +0 -35
  232. package/src/tailwind/utils/getScaleModeStyles.ts +0 -23
  233. package/src/tailwind/utils/getShadowPresetValues.ts +0 -133
  234. package/src/tailwind/utils/getShadowStyles.ts +0 -26
  235. package/src/tailwind/utils/getShadowVars.ts +0 -40
  236. package/src/tailwind/utils/index.ts +0 -9
  237. package/src/tokens/automation/configs/avatar.ts +0 -297
  238. package/src/tokens/automation/configs/badge.ts +0 -306
  239. package/src/tokens/automation/configs/checkbox.ts +0 -226
  240. package/src/tokens/automation/configs/chip.ts +0 -521
  241. package/src/tokens/automation/configs/divider.ts +0 -112
  242. package/src/tokens/automation/configs/index.ts +0 -10
  243. package/src/tokens/automation/configs/input.ts +0 -496
  244. package/src/tokens/automation/configs/link.ts +0 -183
  245. package/src/tokens/automation/configs/menu.ts +0 -344
  246. package/src/tokens/automation/configs/radio.ts +0 -225
  247. package/src/tokens/automation/configs/switch.ts +0 -323
  248. package/src/tokens/automation/index.ts +0 -5
  249. package/src/tokens/automation/mapTextVariantFixtureToValue.ts +0 -8
  250. package/src/tokens/automation/properties.ts +0 -433
  251. package/src/tokens/automation/types/ComponentConfig.ts +0 -116
  252. package/src/tokens/automation/types/ComponentDB.ts +0 -1
  253. package/src/tokens/automation/types/ComponentStyles.ts +0 -47
  254. package/src/tokens/automation/types/index.ts +0 -2
  255. package/src/tokens/automation/utils/cartesianProduct.ts +0 -13
  256. package/src/tokens/automation/utils/coalesceConfigVariant.ts +0 -49
  257. package/src/tokens/automation/utils/defaults.ts +0 -29
  258. package/src/tokens/automation/utils/generateKeyFromFlatConfigPath.ts +0 -15
  259. package/src/tokens/automation/utils/generateSchemaKey.ts +0 -29
  260. package/src/tokens/automation/utils/getConfigComponentVariant.ts +0 -28
  261. package/src/tokens/automation/utils/getConfigVariantComponentStatesMatrix.ts +0 -40
  262. package/src/tokens/automation/utils/getConfigVariantProperties.ts +0 -32
  263. package/src/tokens/automation/utils/getConfigVariantPseudoStates.ts +0 -70
  264. package/src/tokens/automation/utils/getConfigVariants.ts +0 -73
  265. package/src/tokens/automation/utils/index.ts +0 -939
  266. package/src/tokens/automation/utils/mapColorFixtureToValue.ts +0 -34
  267. package/src/tokens/automation/utils/subcomponents.ts +0 -13
  268. package/src/tokens/automation/utils/variableData.ts +0 -79
  269. package/src/tokens/automation/utils/variantConfigGuards.ts +0 -17
  270. package/src/tokens/configs/borderRadius.ts +0 -23
  271. package/src/tokens/configs/borderWidth.ts +0 -17
  272. package/src/tokens/configs/button.ts +0 -888
  273. package/src/tokens/configs/colorMode.ts +0 -14
  274. package/src/tokens/configs/font.ts +0 -9
  275. package/src/tokens/configs/iconButton.ts +0 -28
  276. package/src/tokens/configs/motion.ts +0 -135
  277. package/src/tokens/configs/palette.ts +0 -124
  278. package/src/tokens/configs/scaleMode.ts +0 -28
  279. package/src/tokens/configs/shadow.ts +0 -286
  280. package/src/tokens/configs/sizes.ts +0 -23
  281. package/src/tokens/configs/spectrum.ts +0 -729
  282. package/src/tokens/configs/typography.ts +0 -417
  283. package/src/tokens/configs/yosConfig.ts +0 -7651
  284. package/src/tokens/consts/buttonMotionTokens.ts +0 -99
  285. package/src/tokens/consts/cssTokens.ts +0 -110
  286. package/src/tokens/consts/defaultModes.ts +0 -15
  287. package/src/tokens/consts/fontDeclarationsMap.ts +0 -509
  288. package/src/tokens/index.ts +0 -15
  289. package/src/tokens/parseButtonVariants.ts +0 -59
  290. package/src/tokens/parseTokens.ts +0 -122
  291. package/src/tokens/types.ts +0 -1882
  292. package/src/tokens/utils/entries.ts +0 -14
  293. package/src/tokens/utils/fromEntries.ts +0 -11
  294. package/src/tokens/utils/mapValues.ts +0 -15
  295. package/src/types.ts +0 -2
  296. package/src/utils/assertUnreachable.ts +0 -6
  297. package/src/utils/composeRefs.ts +0 -23
  298. package/src/utils/createSlot.tsx +0 -131
  299. package/src/utils/entries.ts +0 -6
  300. package/src/utils/falsyToString.ts +0 -3
  301. package/src/utils/getMotionVar.ts +0 -18
  302. package/src/utils/intersperse.ts +0 -45
  303. package/src/utils/mapValues.ts +0 -15
  304. package/src/utils/mergeSlotProps.ts +0 -70
@@ -1,15 +0,0 @@
1
- /**
2
- * Converts a flattened configuration path into a simplified alias key.
3
- *
4
- * @param path - The flattened configuration path (e.g., "checkbox.variables.xs.rest.value").
5
- * @returns A simplified alias key (e.g., "checkbox/xs/rest").
6
- */
7
- export function generateKeyFromFlatConfigPath(path: string) {
8
- const replaceStrings = ['root/', 'variables/', 'variant/', '/value'];
9
- let key = path;
10
- key = key.replaceAll('.', '/'); // Convert dot notation to slash notation
11
- replaceStrings.forEach((replaceString) => {
12
- key = key.replaceAll(replaceString, ''); // Remove specific substrings
13
- });
14
- return key;
15
- }
@@ -1,29 +0,0 @@
1
- export function generateSchemaKey({
2
- variantKey,
3
- variantValue,
4
- layer,
5
- subComponentName,
6
- stateKey,
7
- stateValue,
8
- }: {
9
- variantKey: string;
10
- variantValue: string;
11
- layer: string;
12
- subComponentName?: string;
13
- stateKey?: string;
14
- stateValue?: string;
15
- }): string {
16
- if (subComponentName) {
17
- if (stateKey && stateValue) {
18
- return `${subComponentName}/${variantKey}/${variantValue}/${stateKey}/${stateValue}/${layer}`;
19
- }
20
-
21
- return `${subComponentName}/${variantKey}/${variantValue}/${layer}`;
22
- }
23
-
24
- if (stateKey && stateValue) {
25
- return `${variantKey}/${variantValue}/${stateKey}/${stateValue}/${layer}`;
26
- }
27
-
28
- return `${variantKey}/${variantValue}/${layer}`;
29
- }
@@ -1,28 +0,0 @@
1
- import type { ComponentConfig } from '../types';
2
- import { coalesceConfigVariant } from './coalesceConfigVariant';
3
-
4
- export function getConfigComponentVariant<C extends ComponentConfig>(
5
- config: C,
6
- variantKey: string,
7
- subComponentName?: string,
8
- ) {
9
- const result = coalesceConfigVariant(config, variantKey);
10
-
11
- switch (result.type) {
12
- case 'no-variants':
13
- return null;
14
-
15
- case 'no-sub-components':
16
- return result.variant;
17
-
18
- case 'has-sub-components': {
19
- if (!subComponentName) {
20
- throw new Error(
21
- 'subComponentName argument name is required for configs with subcomponents',
22
- );
23
- }
24
-
25
- return result.variants[subComponentName];
26
- }
27
- }
28
- }
@@ -1,40 +0,0 @@
1
- import { entries } from 'lodash';
2
-
3
- import type { ComponentConfig } from '../types';
4
- import { cartesianProduct } from './cartesianProduct';
5
- import { getConfigComponentVariant } from './getConfigComponentVariant';
6
- import { isVariantConfigWithComponentStates } from './variantConfigGuards';
7
-
8
- export function getConfigVariantComponentStates<C extends ComponentConfig>(
9
- config: C,
10
- variantKey: string,
11
- subComponentName?: string,
12
- ) {
13
- const componentVariant = getConfigComponentVariant(config, variantKey, subComponentName);
14
-
15
- if (!componentVariant || !isVariantConfigWithComponentStates(componentVariant)) {
16
- return null;
17
- }
18
-
19
- return componentVariant?.componentStates ?? null;
20
- }
21
-
22
- export function getConfigVariantComponentStatesMatrix<C extends ComponentConfig>(
23
- config: C,
24
- variantKey: string,
25
- subComponentName?: string,
26
- ) {
27
- const componentStates = getConfigVariantComponentStates(config, variantKey, subComponentName);
28
-
29
- if (!componentStates) {
30
- return null;
31
- }
32
-
33
- const permutations = cartesianProduct(
34
- entries(componentStates).map(([key, c]) => c.options.map((c) => ({ [key]: c }))),
35
- );
36
-
37
- return permutations.map((p) =>
38
- Array.isArray(p) ? p.reduce((acc, curr: object) => ({ ...acc, ...curr }), {}) : p,
39
- );
40
- }
@@ -1,32 +0,0 @@
1
- import { mapValues } from '@yahoo/uds/tokens';
2
-
3
- import type { VariantConfig } from '../types';
4
- import { isVariantConfigWithProperties } from './variantConfigGuards';
5
-
6
- /**
7
- * Gets the properties of a variant config grouped by layer.
8
- *
9
- * @param variant - The variant config to get the properties from
10
- * @returns A Record of layer names to their properties, or null if no properties are found
11
- */
12
- export function getConfigVariantProperties(variant?: VariantConfig) {
13
- if (!variant || !isVariantConfigWithProperties(variant)) {
14
- return null;
15
- }
16
-
17
- const result = mapValues(variant.layers, (layer) => layer.properties);
18
-
19
- for (const layerKey in result) {
20
- const layerProperties = result[layerKey];
21
-
22
- if (!layerProperties || Object.keys(layerProperties).length === 0) {
23
- delete result[layerKey];
24
- }
25
- }
26
-
27
- if (Object.keys(result).length === 0) {
28
- return null;
29
- }
30
-
31
- return result;
32
- }
@@ -1,70 +0,0 @@
1
- import type { SelectedConfigurableProperty } from '@yahoo/uds/tokens';
2
-
3
- import type { ComponentConfig, LayerConfig, PossibleStatesWithRest } from '../types';
4
- import { getConfigComponentVariant } from './getConfigComponentVariant';
5
- import {
6
- isVariantConfigWithComponentStates,
7
- isVariantConfigWithProperties,
8
- } from './variantConfigGuards';
9
-
10
- const DEFAULT_PSEUDO_STATES: PossibleStatesWithRest[] = ['rest'];
11
-
12
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
- type GenericProperty = SelectedConfigurableProperty<any, any>;
14
-
15
- type InfoTuple = [string, string, GenericProperty];
16
-
17
- export function getConfigVariantPseudoStates<C extends ComponentConfig>(
18
- config: C,
19
- variantKey: string,
20
- state?: string,
21
- subComponentName?: string,
22
- ) {
23
- const componentVariant = getConfigComponentVariant(config, variantKey, subComponentName);
24
-
25
- if (!componentVariant) {
26
- return null;
27
- }
28
-
29
- const variantLayers: Array<[string, LayerConfig]> = isVariantConfigWithProperties(
30
- componentVariant,
31
- )
32
- ? Object.entries(componentVariant?.layers ?? {})
33
- : [];
34
-
35
- const stateLayers: Array<[string, LayerConfig]> =
36
- isVariantConfigWithComponentStates(componentVariant) && state
37
- ? Object.entries(componentVariant.componentStates[state].layers ?? {})
38
- : [];
39
-
40
- const result = [...variantLayers, ...stateLayers]
41
- .flatMap(([layerKey, layer]) =>
42
- Object.entries(layer.properties).map(
43
- ([propertyKey, property]) => [layerKey, propertyKey, property] as const,
44
- ),
45
- )
46
- .flatMap(([layerKey, propertyKey, property]) =>
47
- [...DEFAULT_PSEUDO_STATES, ...(property.pseudoStates ?? [])].map(
48
- (pseudoState) =>
49
- [layerKey, propertyKey, property, pseudoState] as [
50
- string,
51
- string,
52
- GenericProperty,
53
- PossibleStatesWithRest,
54
- ],
55
- ),
56
- );
57
-
58
- return result.reduce(
59
- (acc, [layerKey, propertyKey, property, pseudoState]) => {
60
- acc[pseudoState] = acc[pseudoState] ?? [];
61
-
62
- const info = [layerKey, propertyKey, property] as InfoTuple;
63
-
64
- acc[pseudoState].push(info);
65
-
66
- return acc;
67
- },
68
- {} as Record<PossibleStatesWithRest, Array<InfoTuple>>,
69
- );
70
- }
@@ -1,73 +0,0 @@
1
- import { entries } from 'lodash';
2
-
3
- import type { ComponentConfig } from '../types';
4
- import { coalesceConfigVariant } from './coalesceConfigVariant';
5
- import { getConfigSubcomponents } from './subcomponents';
6
-
7
- export function getConfigVariants<C extends ComponentConfig>(
8
- config: C,
9
- variantKey = 'variant',
10
- ):
11
- | {
12
- type: 'has-sub-components';
13
- description: string;
14
- variantNames: Array<string>;
15
- variantToSubcomponentNames: Record<string, Array<string>>;
16
- }
17
- | {
18
- type: 'no-sub-components';
19
- description: string;
20
- variantNames: Array<string>;
21
- }
22
- | {
23
- description: string;
24
- type: 'no-variants';
25
- } {
26
- const result = coalesceConfigVariant(config, variantKey);
27
-
28
- if (result.type === 'no-variants') {
29
- return {
30
- type: 'no-variants',
31
- description: 'No variants',
32
- };
33
- }
34
-
35
- if (result.type === 'no-sub-components') {
36
- if (getConfigSubcomponents(config)) {
37
- throw new Error('A config with a root variants.variant defintion cannot have subcomponents');
38
- }
39
-
40
- return {
41
- type: 'no-sub-components',
42
- description: result.variant.description,
43
- variantNames: [...result.variant.options],
44
- };
45
- }
46
-
47
- const variantToSubcomponentNames = entries(result.variants).reduce(
48
- (acc, [subComponentName, subComponentVariantDef]) => {
49
- for (const variant of subComponentVariantDef.options) {
50
- acc[variant] ??= [] as Array<string>;
51
-
52
- if (!acc[variant].includes(subComponentName)) {
53
- acc[variant].push(subComponentName);
54
- }
55
- }
56
-
57
- return acc;
58
- },
59
- {} as Record<string, Array<string>>,
60
- );
61
-
62
- const description =
63
- Object.values(result.variants)
64
- .map((c) => c.description)
65
- .filter((c) => c)[0] ?? '';
66
-
67
- return {
68
- type: 'has-sub-components',
69
- description,
70
- variantNames: Object.keys(variantToSubcomponentNames),
71
- variantToSubcomponentNames,
72
- };
73
- }