@yahoo/uds 3.99.0 → 3.100.0-beta.1

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 (154) hide show
  1. package/dist/automated-config/dist/generated/autoVariants.cjs +9 -1
  2. package/dist/automated-config/dist/generated/autoVariants.d.cts +8 -0
  3. package/dist/automated-config/dist/generated/autoVariants.d.ts +8 -0
  4. package/dist/automated-config/dist/generated/autoVariants.js +9 -1
  5. package/dist/automated-config/dist/generated/generatedConfigs.cjs +1588 -1
  6. package/dist/automated-config/dist/generated/generatedConfigs.d.cts +378 -189
  7. package/dist/automated-config/dist/generated/generatedConfigs.d.ts +378 -189
  8. package/dist/automated-config/dist/generated/generatedConfigs.js +1587 -1
  9. package/dist/automated-config/dist/generated/universalTokensConfigAuto.cjs +82 -0
  10. package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.cts +2 -1
  11. package/dist/automated-config/dist/generated/universalTokensConfigAuto.d.ts +2 -1
  12. package/dist/automated-config/dist/generated/universalTokensConfigAuto.js +82 -0
  13. package/dist/automated-config/dist/properties.cjs +141 -89
  14. package/dist/automated-config/dist/properties.d.cts +18 -3
  15. package/dist/automated-config/dist/properties.d.ts +18 -3
  16. package/dist/automated-config/dist/properties.js +142 -90
  17. package/dist/automated-config/dist/utils/buildConfigSchema.cjs +5 -1
  18. package/dist/automated-config/dist/utils/buildConfigSchema.d.cts +2 -1
  19. package/dist/automated-config/dist/utils/buildConfigSchema.d.ts +2 -1
  20. package/dist/automated-config/dist/utils/buildConfigSchema.js +5 -1
  21. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.cts +2 -2
  22. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.ts +2 -2
  23. package/dist/automated-config/dist/utils/index.d.cts +2 -1
  24. package/dist/automated-config/dist/utils/index.d.ts +2 -1
  25. package/dist/cli/commands/sync.cjs +5 -1
  26. package/dist/cli/commands/sync.js +5 -1
  27. package/dist/components/client/Button.js +2 -2
  28. package/dist/components/client/Tooltip/Tooltip.cjs +37 -0
  29. package/dist/components/client/Tooltip/Tooltip.d.cts +16 -0
  30. package/dist/components/client/Tooltip/Tooltip.d.ts +16 -0
  31. package/dist/components/client/Tooltip/Tooltip.js +35 -0
  32. package/dist/components/client/Tooltip/TooltipContent.cjs +171 -0
  33. package/dist/components/client/Tooltip/TooltipContent.d.cts +8 -0
  34. package/dist/components/client/Tooltip/TooltipContent.d.ts +8 -0
  35. package/dist/components/client/Tooltip/TooltipContent.js +169 -0
  36. package/dist/components/client/Tooltip/TooltipTrigger.cjs +20 -0
  37. package/dist/components/client/Tooltip/TooltipTrigger.d.cts +13 -0
  38. package/dist/components/client/Tooltip/TooltipTrigger.d.ts +13 -0
  39. package/dist/components/client/Tooltip/TooltipTrigger.js +18 -0
  40. package/dist/components/client/Tooltip/UDSTooltipConfigProvider.cjs +41 -0
  41. package/dist/components/client/Tooltip/UDSTooltipConfigProvider.d.cts +29 -0
  42. package/dist/components/client/Tooltip/UDSTooltipConfigProvider.d.ts +29 -0
  43. package/dist/components/client/Tooltip/UDSTooltipConfigProvider.js +38 -0
  44. package/dist/components/client/Tooltip/index.cjs +12 -0
  45. package/dist/components/client/Tooltip/index.d.cts +7 -0
  46. package/dist/components/client/Tooltip/index.d.ts +7 -0
  47. package/dist/components/client/Tooltip/index.js +8 -0
  48. package/dist/components/client/Tooltip/tooltipContext.cjs +12 -0
  49. package/dist/components/client/Tooltip/tooltipContext.d.cts +12 -0
  50. package/dist/components/client/Tooltip/tooltipContext.d.ts +12 -0
  51. package/dist/components/client/Tooltip/tooltipContext.js +10 -0
  52. package/dist/components/client/Tooltip/useTooltipContent.cjs +186 -0
  53. package/dist/components/client/Tooltip/useTooltipContent.d.cts +63 -0
  54. package/dist/components/client/Tooltip/useTooltipContent.d.ts +63 -0
  55. package/dist/components/client/Tooltip/useTooltipContent.js +184 -0
  56. package/dist/components/client/Tooltip/util.cjs +248 -0
  57. package/dist/components/client/Tooltip/util.d.cts +118 -0
  58. package/dist/components/client/Tooltip/util.d.ts +118 -0
  59. package/dist/components/client/Tooltip/util.js +240 -0
  60. package/dist/components/client/index.cjs +8 -0
  61. package/dist/components/client/index.d.cts +7 -1
  62. package/dist/components/client/index.d.ts +7 -1
  63. package/dist/components/client/index.js +5 -1
  64. package/dist/components/client/providers/UDSConfigProvider.cjs +6 -2
  65. package/dist/components/client/providers/UDSConfigProvider.d.cts +2 -1
  66. package/dist/components/client/providers/UDSConfigProvider.d.ts +2 -1
  67. package/dist/components/client/providers/UDSConfigProvider.js +6 -2
  68. package/dist/components/index.cjs +8 -0
  69. package/dist/components/index.d.cts +6 -1
  70. package/dist/components/index.d.ts +6 -1
  71. package/dist/components/index.js +5 -1
  72. package/dist/config/dist/index.cjs +83 -1
  73. package/dist/config/dist/index.d.cts +123 -1
  74. package/dist/config/dist/index.d.ts +123 -1
  75. package/dist/config/dist/index.js +83 -1
  76. package/dist/css-tokens/dist/index.cjs +2 -0
  77. package/dist/css-tokens/dist/index.d.cts +2 -1
  78. package/dist/css-tokens/dist/index.d.ts +2 -1
  79. package/dist/css-tokens/dist/index.js +2 -1
  80. package/dist/fixtures/dist/arbitrary.d.cts +11 -0
  81. package/dist/fixtures/dist/arbitrary.d.ts +11 -0
  82. package/dist/fixtures/dist/index.cjs +27 -1
  83. package/dist/fixtures/dist/index.d.cts +17 -3
  84. package/dist/fixtures/dist/index.d.ts +17 -3
  85. package/dist/fixtures/dist/index.js +26 -2
  86. package/dist/fixtures/index.cjs +6 -1
  87. package/dist/fixtures/index.d.cts +4 -2
  88. package/dist/fixtures/index.d.ts +4 -2
  89. package/dist/fixtures/index.js +3 -2
  90. package/dist/fixtures/src/arbitrary.cjs +23 -0
  91. package/dist/fixtures/src/arbitrary.d.cts +15 -0
  92. package/dist/fixtures/src/arbitrary.d.ts +15 -0
  93. package/dist/fixtures/src/arbitrary.js +18 -0
  94. package/dist/fixtures/src/util.cjs +26 -0
  95. package/dist/fixtures/src/util.d.cts +9 -0
  96. package/dist/fixtures/src/util.d.ts +9 -0
  97. package/dist/fixtures/src/util.js +25 -0
  98. package/dist/index.cjs +12 -0
  99. package/dist/index.d.cts +9 -4
  100. package/dist/index.d.ts +9 -4
  101. package/dist/index.js +8 -3
  102. package/dist/runtime/index.cjs +2 -0
  103. package/dist/runtime/index.d.cts +2 -1
  104. package/dist/runtime/index.d.ts +2 -1
  105. package/dist/runtime/index.js +2 -1
  106. package/dist/runtime/tooltipConfig.cjs +36 -0
  107. package/dist/runtime/tooltipConfig.d.cts +20 -0
  108. package/dist/runtime/tooltipConfig.d.ts +20 -0
  109. package/dist/runtime/tooltipConfig.js +35 -0
  110. package/dist/runtime/udsConfig.cjs +3 -1
  111. package/dist/runtime/udsConfig.d.cts +2 -0
  112. package/dist/runtime/udsConfig.d.ts +2 -0
  113. package/dist/runtime/udsConfig.js +3 -1
  114. package/dist/styles/styler.d.cts +51 -43
  115. package/dist/styles/styler.d.ts +51 -43
  116. package/dist/styles/variants.d.cts +24 -0
  117. package/dist/styles/variants.d.ts +24 -0
  118. package/dist/tailwind/plugins/blurBgFallback.cjs +30 -0
  119. package/dist/tailwind/plugins/blurBgFallback.d.cts +14 -0
  120. package/dist/tailwind/plugins/blurBgFallback.d.ts +14 -0
  121. package/dist/tailwind/plugins/blurBgFallback.js +27 -0
  122. package/dist/tailwind/plugins/components.cjs +1 -0
  123. package/dist/tailwind/plugins/components.js +2 -1
  124. package/dist/tailwind/tailwindPlugin.cjs +2 -1
  125. package/dist/tailwind/tailwindPlugin.js +2 -1
  126. package/dist/tailwind/utils/getShadowStyles.d.cts +4 -4
  127. package/dist/tailwind/utils/getShadowStyles.d.ts +4 -4
  128. package/dist/tailwind/utils/getTailwindAsUdsColors.d.cts +1 -1
  129. package/dist/tailwind/utils/getTailwindAsUdsColors.d.ts +1 -1
  130. package/dist/tokens/automation/configs/index.cjs +2 -1
  131. package/dist/tokens/automation/configs/index.d.cts +2 -2
  132. package/dist/tokens/automation/configs/index.d.ts +2 -2
  133. package/dist/tokens/automation/configs/index.js +2 -2
  134. package/dist/tokens/automation/index.cjs +1 -0
  135. package/dist/tokens/automation/index.d.cts +2 -2
  136. package/dist/tokens/automation/index.d.ts +2 -2
  137. package/dist/tokens/automation/index.js +2 -2
  138. package/dist/tokens/automation/properties.d.cts +2 -2
  139. package/dist/tokens/automation/properties.d.ts +2 -2
  140. package/dist/tokens/consts/cssTokens.cjs +1 -0
  141. package/dist/tokens/consts/cssTokens.d.cts +2 -2
  142. package/dist/tokens/consts/cssTokens.d.ts +2 -2
  143. package/dist/tokens/consts/cssTokens.js +2 -2
  144. package/dist/tokens/index.cjs +2 -0
  145. package/dist/tokens/index.d.cts +4 -4
  146. package/dist/tokens/index.d.ts +4 -4
  147. package/dist/tokens/index.js +3 -3
  148. package/dist/tokens/types.d.cts +2 -2
  149. package/dist/tokens/types.d.ts +2 -2
  150. package/dist/types/dist/index.d.cts +25 -2
  151. package/dist/types/dist/index.d.ts +25 -2
  152. package/dist/uds/generated/tailwindPurge.cjs +30 -2
  153. package/dist/uds/generated/tailwindPurge.js +30 -2
  154. package/package.json +1 -2
@@ -1,5 +1,5 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
- import { BUTTON_SCALE_EFFECT, getShadowLayerValue, textVariantsSafe } from "../../css-tokens/dist/index.js";
2
+ import { BACKGROUND_BLUR_COLOR_PREFIX, BACKGROUND_BLUR_FALLBACK_COLOR_PREFIX, BORDER_RADIUS_PREFIX, BUTTON_SCALE_EFFECT, DROP_SHADOW_PREFIX, getShadowLayerValue, textVariantsSafe } from "../../css-tokens/dist/index.js";
3
3
  import { mapTextVariantFixtureToValue } from "./mapTextVariantFixtureToValue.js";
4
4
  import { assertUnreachable } from "./utils/assertUnreachable.js";
5
5
  import { mapColorFixtureToValue } from "./utils/mapColorFixtureToValue.js";
@@ -163,6 +163,11 @@ const borderColor = {
163
163
  return false;
164
164
  }
165
165
  };
166
+ const stroke = {
167
+ ...borderColor,
168
+ name: "stroke",
169
+ cssProperties: "stroke"
170
+ };
166
171
  const outlineWidth = {
167
172
  name: "outlineWidth",
168
173
  cssProperties: "outline-width",
@@ -195,16 +200,108 @@ const outlineColor = {
195
200
  "linePaletteColors"
196
201
  ]
197
202
  };
203
+ const borderRadius = {
204
+ name: "borderRadius",
205
+ cssProperties: "border-radius",
206
+ twThemePath: (_, value) => `udsBorderRadius.${value}`,
207
+ possibleFixtures: ["borderRadii"]
208
+ };
209
+ const borderRadiusVar = {
210
+ ...borderRadius,
211
+ name: "borderRadiusVar",
212
+ cssProperties: `--${BORDER_RADIUS_PREFIX}`
213
+ };
214
+ const spacing = {
215
+ name: "spacing",
216
+ cssProperties: "padding",
217
+ twThemePath: (_, value) => `spacing[${value}]`,
218
+ possibleFixtures: ["spacingAliases"]
219
+ };
220
+ const spacingHorizontal = {
221
+ name: "spacingHorizontal",
222
+ cssProperties: ["padding-right", "padding-left"],
223
+ twThemePath: (_, value) => `spacing[${value}]`,
224
+ possibleFixtures: ["spacingAliases"]
225
+ };
226
+ const spacingVertical = {
227
+ name: "spacingVertical",
228
+ cssProperties: ["padding-top", "padding-bottom"],
229
+ twThemePath: (_, value) => `spacing[${value}]`,
230
+ possibleFixtures: ["spacingAliases"]
231
+ };
232
+ const height = {
233
+ name: "height",
234
+ cssProperties: "height",
235
+ twThemePath: (_, value) => {
236
+ return `height[${value}]`;
237
+ },
238
+ possibleFixtures: ["spacingAliases"]
239
+ };
240
+ const width = {
241
+ name: "width",
242
+ cssProperties: "width",
243
+ twThemePath: (_, value) => {
244
+ return `width[${value}]`;
245
+ },
246
+ possibleFixtures: ["spacingAliases"]
247
+ };
248
+ const shadow = {
249
+ name: "drop shadow",
250
+ cssProperties: "box-shadow",
251
+ twThemePath: () => {
252
+ return ``;
253
+ },
254
+ concatenate: true,
255
+ customValueRenderer: (schemaValue) => {
256
+ const shadowType = "drop";
257
+ const noneValue = "0 0 0 transparent";
258
+ if (schemaValue.valueType === "alias") {
259
+ const noneValue = "0 0 0 transparent";
260
+ if (schemaValue.value === "none") return noneValue;
261
+ if (schemaValue.value !== "custom") return `var(--uds-${shadowType}-shadow-${schemaValue.value})`;
262
+ } else if (schemaValue.valueType === "custom") return schemaValue.value.map((preset, index) => getShadowLayerValue({
263
+ preset,
264
+ shadowType,
265
+ prefix: index > 0 ? `${index + 1}` : void 0
266
+ }))?.join(", ") || noneValue;
267
+ throw new Error("Invalid valueType");
268
+ },
269
+ possibleFixtures: [
270
+ "shadowVariants",
271
+ "shadowVariantConfig",
272
+ "elevationAliases"
273
+ ]
274
+ };
275
+ const insetShadow = {
276
+ name: "inset shadow",
277
+ cssProperties: "box-shadow",
278
+ twThemePath: () => {
279
+ return ``;
280
+ },
281
+ concatenate: true,
282
+ customValueRenderer: (schemaValue) => {
283
+ const shadowType = "inset";
284
+ const noneValue = "0 0 0 transparent";
285
+ if (schemaValue.valueType === "alias") {
286
+ const noneValue = "0 0 0 transparent";
287
+ if (schemaValue.value === "none") return noneValue;
288
+ if (schemaValue.value !== "custom") return `var(--uds-${shadowType}-shadow-${schemaValue.value})`;
289
+ } else if (schemaValue.valueType === "custom") return schemaValue.value.map((preset, index) => getShadowLayerValue({
290
+ preset,
291
+ shadowType,
292
+ prefix: index > 0 ? `${index + 1}` : void 0
293
+ }))?.join(", ") || noneValue;
294
+ throw new Error("Invalid valueType");
295
+ },
296
+ possibleFixtures: ["shadowVariantsWithInvert"]
297
+ };
198
298
  const publicProperties = {
199
299
  backgroundColor,
200
300
  borderWidth,
201
- borderRadius: {
202
- name: "borderRadius",
203
- cssProperties: "border-radius",
204
- twThemePath: (_, value) => `udsBorderRadius.${value}`,
205
- possibleFixtures: ["borderRadii"]
206
- },
301
+ borderRadius,
302
+ borderRadiusVar,
207
303
  borderColor,
304
+ stroke,
208
305
  buttonSize: {
209
306
  name: "buttonSize",
210
307
  cssProperties: "--uds-button-size",
@@ -241,6 +338,12 @@ const publicProperties = {
241
338
  twThemePath: (_, value) => `opacity[${value}]`,
242
339
  possibleFixtures: ["opacitySteps"]
243
340
  },
341
+ fillOpacity: {
342
+ name: "fillOpacity",
343
+ cssProperties: "fill-opacity",
344
+ twThemePath: (_, value) => `opacity[${value}]`,
345
+ possibleFixtures: ["opacitySteps"]
346
+ },
244
347
  fontWeight,
245
348
  iconSize: {
246
349
  name: "iconSize",
@@ -248,12 +351,7 @@ const publicProperties = {
248
351
  twThemePath: (_, value) => `sizing.icon.${value}`,
249
352
  possibleFixtures: ["iconSizes"]
250
353
  },
251
- spacing: {
252
- name: "spacing",
253
- cssProperties: "padding",
254
- twThemePath: (_, value) => `spacing[${value}]`,
255
- possibleFixtures: ["spacingAliases"]
256
- },
354
+ spacing,
257
355
  iconVariant: {
258
356
  name: "iconVariant",
259
357
  cssProperties: "--uds-icon-variant",
@@ -265,86 +363,19 @@ const publicProperties = {
265
363
  return String(schemaValue.value);
266
364
  }
267
365
  },
268
- spacingHorizontal: {
269
- name: "spacingHorizontal",
270
- cssProperties: ["padding-right", "padding-left"],
271
- twThemePath: (_, value) => `spacing[${value}]`,
272
- possibleFixtures: ["spacingAliases"]
273
- },
274
- spacingVertical: {
275
- name: "spacingVertical",
276
- cssProperties: ["padding-top", "padding-bottom"],
277
- twThemePath: (_, value) => `spacing[${value}]`,
278
- possibleFixtures: ["spacingAliases"]
279
- },
366
+ spacingHorizontal,
367
+ spacingVertical,
280
368
  textVariant,
281
369
  textDecorationLine,
282
- shadow: {
283
- name: "drop shadow",
284
- cssProperties: "box-shadow",
285
- twThemePath: () => {
286
- return ``;
287
- },
288
- concatenate: true,
289
- customValueRenderer: (schemaValue) => {
290
- const shadowType = "drop";
291
- const noneValue = "0 0 0 transparent";
292
- if (schemaValue.valueType === "alias") {
293
- const noneValue = "0 0 0 transparent";
294
- if (schemaValue.value === "none") return noneValue;
295
- if (schemaValue.value !== "custom") return `var(--uds-${shadowType}-shadow-${schemaValue.value})`;
296
- } else if (schemaValue.valueType === "custom") return schemaValue.value.map((preset, index) => getShadowLayerValue({
297
- preset,
298
- shadowType,
299
- prefix: index > 0 ? `${index + 1}` : void 0
300
- }))?.join(", ") || noneValue;
301
- throw new Error("Invalid valueType");
302
- },
303
- possibleFixtures: [
304
- "shadowVariants",
305
- "shadowVariantConfig",
306
- "elevationAliases"
307
- ]
308
- },
309
- insetShadow: {
310
- name: "inset shadow",
311
- cssProperties: "box-shadow",
312
- twThemePath: () => {
313
- return ``;
314
- },
315
- concatenate: true,
316
- customValueRenderer: (schemaValue) => {
317
- const shadowType = "inset";
318
- const noneValue = "0 0 0 transparent";
319
- if (schemaValue.valueType === "alias") {
320
- const noneValue = "0 0 0 transparent";
321
- if (schemaValue.value === "none") return noneValue;
322
- if (schemaValue.value !== "custom") return `var(--uds-${shadowType}-shadow-${schemaValue.value})`;
323
- } else if (schemaValue.valueType === "custom") return schemaValue.value.map((preset, index) => getShadowLayerValue({
324
- preset,
325
- shadowType,
326
- prefix: index > 0 ? `${index + 1}` : void 0
327
- }))?.join(", ") || noneValue;
328
- throw new Error("Invalid valueType");
329
- },
330
- possibleFixtures: ["shadowVariantsWithInvert"]
331
- },
332
- height: {
333
- name: "height",
334
- cssProperties: "height",
335
- twThemePath: (_, value) => {
336
- return `height[${value}]`;
337
- },
338
- possibleFixtures: ["spacingAliases"]
339
- },
340
- width: {
341
- name: "width",
342
- cssProperties: "width",
343
- twThemePath: (_, value) => {
344
- return `width[${value}]`;
345
- },
346
- possibleFixtures: ["spacingAliases"]
370
+ shadow,
371
+ shadowVar: {
372
+ ...shadow,
373
+ name: "shadowVar",
374
+ cssProperties: `--${DROP_SHADOW_PREFIX}`
347
375
  },
376
+ insetShadow,
377
+ height,
378
+ width,
348
379
  scaleEffect: {
349
380
  name: "scaleEffect",
350
381
  cssProperties: BUTTON_SCALE_EFFECT,
@@ -357,6 +388,27 @@ const publicProperties = {
357
388
  const stringValue = String(value);
358
389
  return String(SCALE_EFFECTS[stringValue] ?? SCALE_EFFECTS.none);
359
390
  }
391
+ },
392
+ backdropBlur: {
393
+ name: "backdropBlur",
394
+ possibleFixtures: ["positiveIntegers"],
395
+ cssProperties: "--uds-backdrop-blur",
396
+ twThemePath: () => {
397
+ return ``;
398
+ },
399
+ customValueRenderer: (schemaValue) => {
400
+ return `blur(${schemaValue.value}px)`;
401
+ }
402
+ },
403
+ blurBackgroundColor: {
404
+ ...backgroundColor,
405
+ name: "blurBackgroundColor",
406
+ cssProperties: `--${BACKGROUND_BLUR_COLOR_PREFIX}`
407
+ },
408
+ blurBackgroundColorFallback: {
409
+ ...backgroundColor,
410
+ name: "blurBackgroundColorFallback",
411
+ cssProperties: `--${BACKGROUND_BLUR_FALLBACK_COLOR_PREFIX}`
360
412
  }
361
413
  };
362
414
  const internalProperties = {
@@ -1,6 +1,7 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
2
  const require_generateSchemaKey = require('./generateSchemaKey.cjs');
3
3
  const require_variantConfigGuards = require('./variantConfigGuards.cjs');
4
+ const require_util = require('../../../fixtures/src/util.cjs');
4
5
 
5
6
  //#region ../automated-config/dist/utils/buildConfigSchema.js
6
7
  /*! © 2026 Yahoo, Inc. UDS Default Config v0.0.0-development */
@@ -8,7 +9,10 @@ const require_variantConfigGuards = require('./variantConfigGuards.cjs');
8
9
  function findFixtureType(property, variantKey) {
9
10
  const defaultValue = property.defaults[variantKey];
10
11
  const index = property.values.findIndex((arr) => arr.includes(defaultValue));
11
- return property.typeOfFixture[index === -1 ? 0 : index];
12
+ const fixtureType = property.typeOfFixture[index === -1 ? 0 : index];
13
+ const arbitraryFixture = require_util.getArbitraryFixture(fixtureType);
14
+ if (arbitraryFixture && !require_util.validateArbitraryValue(arbitraryFixture, defaultValue)) throw new Error(`Invalid default value "${defaultValue}" for property "${property.name}" (variant "${variantKey}"): does not satisfy ${fixtureType} constraints`);
15
+ return fixtureType;
12
16
  }
13
17
  /** Builds component schema from ComponentConfig at runtime */
14
18
  function buildConfigSchema(config) {
@@ -1,5 +1,6 @@
1
1
 
2
2
  import { ElevationAlias, ShadowVariant, ShadowVariantConfig, ShadowVariantWithInvert } from "../../../types/dist/index.cjs";
3
+ import { ArbitraryFixtures, InferArbitraryType } from "../../../fixtures/dist/index.cjs";
3
4
  import { AllPossibleProperties, ComponentConfig, LayerConfig, PossibleStates, VariantConfig, VariantConfigWithComponentStates, VariantConfigWithProperties } from "../types/ComponentConfig.cjs";
4
5
  import { SchemaStateValue } from "../types/ConfigSchema.cjs";
5
6
  import { ConfigurablePropertiesName, SelectedConfigurableProperty } from "../properties.cjs";
@@ -13,7 +14,7 @@ type InferredDefaults<C extends ComponentConfig> = (C['variants'] extends NonNul
13
14
  type InferredPropertySchema<Prop extends SelectedConfigurableProperty<ConfigurablePropertiesName, string>> = {
14
15
  type: Prop['typeOfFixture'][number];
15
16
  valueType: 'alias' | 'custom';
16
- value: Prop['name'] extends 'shadow' ? ShadowVariant | ShadowVariantConfig | ElevationAlias : Prop['name'] extends 'insetShadow' ? ShadowVariantWithInvert | ShadowVariantConfig : Prop['values'][number][number];
17
+ value: Prop['name'] extends 'shadow' ? ShadowVariant | ShadowVariantConfig | ElevationAlias : Prop['name'] extends 'insetShadow' ? ShadowVariantWithInvert | ShadowVariantConfig : Prop['values'][number][number] | (Extract<Prop['typeOfFixture'][number], ArbitraryFixtures> extends never ? never : InferArbitraryType<Extract<Prop['typeOfFixture'][number], ArbitraryFixtures>>);
17
18
  };
18
19
  /** Infers state-to-schema mappings for a property (rest, hover, pressed, focus, etc.) */
19
20
  type InferredPropertyStates<Prop extends SelectedConfigurableProperty<ConfigurablePropertiesName, string>> = (Prop['skipRestState'] extends true ? {} : {
@@ -1,5 +1,6 @@
1
1
 
2
2
  import { ElevationAlias, ShadowVariant, ShadowVariantConfig, ShadowVariantWithInvert } from "../../../types/dist/index.js";
3
+ import { ArbitraryFixtures, InferArbitraryType } from "../../../fixtures/dist/index.js";
3
4
  import { AllPossibleProperties, ComponentConfig, LayerConfig, PossibleStates, VariantConfig, VariantConfigWithComponentStates, VariantConfigWithProperties } from "../types/ComponentConfig.js";
4
5
  import { SchemaStateValue } from "../types/ConfigSchema.js";
5
6
  import { ConfigurablePropertiesName, SelectedConfigurableProperty } from "../properties.js";
@@ -13,7 +14,7 @@ type InferredDefaults<C extends ComponentConfig> = (C['variants'] extends NonNul
13
14
  type InferredPropertySchema<Prop extends SelectedConfigurableProperty<ConfigurablePropertiesName, string>> = {
14
15
  type: Prop['typeOfFixture'][number];
15
16
  valueType: 'alias' | 'custom';
16
- value: Prop['name'] extends 'shadow' ? ShadowVariant | ShadowVariantConfig | ElevationAlias : Prop['name'] extends 'insetShadow' ? ShadowVariantWithInvert | ShadowVariantConfig : Prop['values'][number][number];
17
+ value: Prop['name'] extends 'shadow' ? ShadowVariant | ShadowVariantConfig | ElevationAlias : Prop['name'] extends 'insetShadow' ? ShadowVariantWithInvert | ShadowVariantConfig : Prop['values'][number][number] | (Extract<Prop['typeOfFixture'][number], ArbitraryFixtures> extends never ? never : InferArbitraryType<Extract<Prop['typeOfFixture'][number], ArbitraryFixtures>>);
17
18
  };
18
19
  /** Infers state-to-schema mappings for a property (rest, hover, pressed, focus, etc.) */
19
20
  type InferredPropertyStates<Prop extends SelectedConfigurableProperty<ConfigurablePropertiesName, string>> = (Prop['skipRestState'] extends true ? {} : {
@@ -1,6 +1,7 @@
1
1
  /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
2
  import { generateSchemaKey } from "./generateSchemaKey.js";
3
3
  import { isVariantConfigWithComponentStates, isVariantConfigWithProperties } from "./variantConfigGuards.js";
4
+ import { getArbitraryFixture, validateArbitraryValue } from "../../../fixtures/src/util.js";
4
5
 
5
6
  //#region ../automated-config/dist/utils/buildConfigSchema.js
6
7
  /*! © 2026 Yahoo, Inc. UDS Default Config v0.0.0-development */
@@ -8,7 +9,10 @@ import { isVariantConfigWithComponentStates, isVariantConfigWithProperties } fro
8
9
  function findFixtureType(property, variantKey) {
9
10
  const defaultValue = property.defaults[variantKey];
10
11
  const index = property.values.findIndex((arr) => arr.includes(defaultValue));
11
- return property.typeOfFixture[index === -1 ? 0 : index];
12
+ const fixtureType = property.typeOfFixture[index === -1 ? 0 : index];
13
+ const arbitraryFixture = getArbitraryFixture(fixtureType);
14
+ if (arbitraryFixture && !validateArbitraryValue(arbitraryFixture, defaultValue)) throw new Error(`Invalid default value "${defaultValue}" for property "${property.name}" (variant "${variantKey}"): does not satisfy ${fixtureType} constraints`);
15
+ return fixtureType;
12
16
  }
13
17
  /** Builds component schema from ComponentConfig at runtime */
14
18
  function buildConfigSchema(config) {
@@ -11,8 +11,8 @@ import { SelectedConfigurableProperty } from "../properties.cjs";
11
11
  * @returns A Record of layer names to their properties, or null if no properties are found
12
12
  */
13
13
  declare function getConfigVariantProperties(variant?: VariantConfig): {
14
- [x: string]: Readonly<Record<string, SelectedConfigurableProperty<"backgroundColor" | "borderWidth" | "borderRadius" | "borderColor" | "buttonSize" | "buttonVariant" | "fontFamily" | "fontSize" | "fontVariationSettings" | "lineHeight" | "textTransform" | "letterSpacing" | "gap" | "color" | "opacity" | "fontWeight" | "iconSize" | "spacing" | "iconVariant" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "insetShadow" | "height" | "width" | "scaleEffect", string, ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases" | "elevationAliases")[] | ("elevationAliases" | "borderWidths" | "spacingAliases")[] | "borderRadii"[] | ("spectrumColors" | "alwaysPaletteAliases" | "elevationAliases" | "linePaletteColors")[] | "buttonSizes"[] | "buttonVariantsFlat"[] | "textVariants"[] | "spacingAliases"[] | ("spectrumColors" | "alwaysPaletteAliases" | "foregroundPaletteColors")[] | "opacitySteps"[] | "iconSizes"[] | "iconVariants"[] | "textDecorationLines"[] | ("elevationAliases" | "shadowVariants" | "shadowVariantConfig")[] | ("shadowVariantConfig" | "shadowVariantsWithInvert")[] | "scaleEffects"[], readonly (readonly unknown[])[]>>>;
15
- root: Readonly<Record<string, SelectedConfigurableProperty<"backgroundColor" | "borderWidth" | "borderRadius" | "borderColor" | "buttonSize" | "buttonVariant" | "fontFamily" | "fontSize" | "fontVariationSettings" | "lineHeight" | "textTransform" | "letterSpacing" | "gap" | "color" | "opacity" | "fontWeight" | "iconSize" | "spacing" | "iconVariant" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "insetShadow" | "height" | "width" | "scaleEffect", string, ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases" | "elevationAliases")[] | ("elevationAliases" | "borderWidths" | "spacingAliases")[] | "borderRadii"[] | ("spectrumColors" | "alwaysPaletteAliases" | "elevationAliases" | "linePaletteColors")[] | "buttonSizes"[] | "buttonVariantsFlat"[] | "textVariants"[] | "spacingAliases"[] | ("spectrumColors" | "alwaysPaletteAliases" | "foregroundPaletteColors")[] | "opacitySteps"[] | "iconSizes"[] | "iconVariants"[] | "textDecorationLines"[] | ("elevationAliases" | "shadowVariants" | "shadowVariantConfig")[] | ("shadowVariantConfig" | "shadowVariantsWithInvert")[] | "scaleEffects"[], readonly (readonly unknown[])[]>>>;
14
+ [x: string]: Readonly<Record<string, SelectedConfigurableProperty<"textTransform" | "fontSize" | "fontWeight" | "lineHeight" | "fontFamily" | "letterSpacing" | "backgroundColor" | "borderWidth" | "borderRadius" | "borderRadiusVar" | "borderColor" | "stroke" | "buttonSize" | "buttonVariant" | "fontVariationSettings" | "gap" | "color" | "opacity" | "fillOpacity" | "iconSize" | "spacing" | "iconVariant" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "shadowVar" | "insetShadow" | "height" | "width" | "scaleEffect" | "backdropBlur" | "blurBackgroundColor" | "blurBackgroundColorFallback", string, readonly ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases" | "elevationAliases")[] | readonly ("elevationAliases" | "borderWidths" | "spacingAliases")[] | readonly "borderRadii"[] | readonly ("spectrumColors" | "alwaysPaletteAliases" | "elevationAliases" | "linePaletteColors")[] | readonly "buttonSizes"[] | readonly "buttonVariantsFlat"[] | readonly "textVariants"[] | readonly "spacingAliases"[] | readonly ("spectrumColors" | "alwaysPaletteAliases" | "foregroundPaletteColors")[] | readonly "opacitySteps"[] | readonly "iconSizes"[] | readonly "iconVariants"[] | readonly "textDecorationLines"[] | readonly ("elevationAliases" | "shadowVariants" | "shadowVariantConfig")[] | readonly ("shadowVariantConfig" | "shadowVariantsWithInvert")[] | readonly "scaleEffects"[] | readonly "positiveIntegers"[], readonly (readonly unknown[])[]>>>;
15
+ root: Readonly<Record<string, SelectedConfigurableProperty<"textTransform" | "fontSize" | "fontWeight" | "lineHeight" | "fontFamily" | "letterSpacing" | "backgroundColor" | "borderWidth" | "borderRadius" | "borderRadiusVar" | "borderColor" | "stroke" | "buttonSize" | "buttonVariant" | "fontVariationSettings" | "gap" | "color" | "opacity" | "fillOpacity" | "iconSize" | "spacing" | "iconVariant" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "shadowVar" | "insetShadow" | "height" | "width" | "scaleEffect" | "backdropBlur" | "blurBackgroundColor" | "blurBackgroundColorFallback", string, readonly ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases" | "elevationAliases")[] | readonly ("elevationAliases" | "borderWidths" | "spacingAliases")[] | readonly "borderRadii"[] | readonly ("spectrumColors" | "alwaysPaletteAliases" | "elevationAliases" | "linePaletteColors")[] | readonly "buttonSizes"[] | readonly "buttonVariantsFlat"[] | readonly "textVariants"[] | readonly "spacingAliases"[] | readonly ("spectrumColors" | "alwaysPaletteAliases" | "foregroundPaletteColors")[] | readonly "opacitySteps"[] | readonly "iconSizes"[] | readonly "iconVariants"[] | readonly "textDecorationLines"[] | readonly ("elevationAliases" | "shadowVariants" | "shadowVariantConfig")[] | readonly ("shadowVariantConfig" | "shadowVariantsWithInvert")[] | readonly "scaleEffects"[] | readonly "positiveIntegers"[], readonly (readonly unknown[])[]>>>;
16
16
  } | null; //#endregion
17
17
  //#endregion
18
18
  export { getConfigVariantProperties };
@@ -11,8 +11,8 @@ import { SelectedConfigurableProperty } from "../properties.js";
11
11
  * @returns A Record of layer names to their properties, or null if no properties are found
12
12
  */
13
13
  declare function getConfigVariantProperties(variant?: VariantConfig): {
14
- [x: string]: Readonly<Record<string, SelectedConfigurableProperty<"backgroundColor" | "borderWidth" | "borderRadius" | "borderColor" | "buttonSize" | "buttonVariant" | "fontFamily" | "fontSize" | "fontVariationSettings" | "lineHeight" | "textTransform" | "letterSpacing" | "gap" | "color" | "opacity" | "fontWeight" | "iconSize" | "spacing" | "iconVariant" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "insetShadow" | "height" | "width" | "scaleEffect", string, ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases" | "elevationAliases")[] | ("elevationAliases" | "borderWidths" | "spacingAliases")[] | "borderRadii"[] | ("spectrumColors" | "alwaysPaletteAliases" | "elevationAliases" | "linePaletteColors")[] | "buttonSizes"[] | "buttonVariantsFlat"[] | "textVariants"[] | "spacingAliases"[] | ("spectrumColors" | "alwaysPaletteAliases" | "foregroundPaletteColors")[] | "opacitySteps"[] | "iconSizes"[] | "iconVariants"[] | "textDecorationLines"[] | ("elevationAliases" | "shadowVariants" | "shadowVariantConfig")[] | ("shadowVariantConfig" | "shadowVariantsWithInvert")[] | "scaleEffects"[], readonly (readonly unknown[])[]>>>;
15
- root: Readonly<Record<string, SelectedConfigurableProperty<"backgroundColor" | "borderWidth" | "borderRadius" | "borderColor" | "buttonSize" | "buttonVariant" | "fontFamily" | "fontSize" | "fontVariationSettings" | "lineHeight" | "textTransform" | "letterSpacing" | "gap" | "color" | "opacity" | "fontWeight" | "iconSize" | "spacing" | "iconVariant" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "insetShadow" | "height" | "width" | "scaleEffect", string, ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases" | "elevationAliases")[] | ("elevationAliases" | "borderWidths" | "spacingAliases")[] | "borderRadii"[] | ("spectrumColors" | "alwaysPaletteAliases" | "elevationAliases" | "linePaletteColors")[] | "buttonSizes"[] | "buttonVariantsFlat"[] | "textVariants"[] | "spacingAliases"[] | ("spectrumColors" | "alwaysPaletteAliases" | "foregroundPaletteColors")[] | "opacitySteps"[] | "iconSizes"[] | "iconVariants"[] | "textDecorationLines"[] | ("elevationAliases" | "shadowVariants" | "shadowVariantConfig")[] | ("shadowVariantConfig" | "shadowVariantsWithInvert")[] | "scaleEffects"[], readonly (readonly unknown[])[]>>>;
14
+ [x: string]: Readonly<Record<string, SelectedConfigurableProperty<"textTransform" | "fontSize" | "fontWeight" | "lineHeight" | "fontFamily" | "letterSpacing" | "backgroundColor" | "borderWidth" | "borderRadius" | "borderRadiusVar" | "borderColor" | "stroke" | "buttonSize" | "buttonVariant" | "fontVariationSettings" | "gap" | "color" | "opacity" | "fillOpacity" | "iconSize" | "spacing" | "iconVariant" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "shadowVar" | "insetShadow" | "height" | "width" | "scaleEffect" | "backdropBlur" | "blurBackgroundColor" | "blurBackgroundColorFallback", string, readonly ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases" | "elevationAliases")[] | readonly ("elevationAliases" | "borderWidths" | "spacingAliases")[] | readonly "borderRadii"[] | readonly ("spectrumColors" | "alwaysPaletteAliases" | "elevationAliases" | "linePaletteColors")[] | readonly "buttonSizes"[] | readonly "buttonVariantsFlat"[] | readonly "textVariants"[] | readonly "spacingAliases"[] | readonly ("spectrumColors" | "alwaysPaletteAliases" | "foregroundPaletteColors")[] | readonly "opacitySteps"[] | readonly "iconSizes"[] | readonly "iconVariants"[] | readonly "textDecorationLines"[] | readonly ("elevationAliases" | "shadowVariants" | "shadowVariantConfig")[] | readonly ("shadowVariantConfig" | "shadowVariantsWithInvert")[] | readonly "scaleEffects"[] | readonly "positiveIntegers"[], readonly (readonly unknown[])[]>>>;
15
+ root: Readonly<Record<string, SelectedConfigurableProperty<"textTransform" | "fontSize" | "fontWeight" | "lineHeight" | "fontFamily" | "letterSpacing" | "backgroundColor" | "borderWidth" | "borderRadius" | "borderRadiusVar" | "borderColor" | "stroke" | "buttonSize" | "buttonVariant" | "fontVariationSettings" | "gap" | "color" | "opacity" | "fillOpacity" | "iconSize" | "spacing" | "iconVariant" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "shadowVar" | "insetShadow" | "height" | "width" | "scaleEffect" | "backdropBlur" | "blurBackgroundColor" | "blurBackgroundColorFallback", string, readonly ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases" | "elevationAliases")[] | readonly ("elevationAliases" | "borderWidths" | "spacingAliases")[] | readonly "borderRadii"[] | readonly ("spectrumColors" | "alwaysPaletteAliases" | "elevationAliases" | "linePaletteColors")[] | readonly "buttonSizes"[] | readonly "buttonVariantsFlat"[] | readonly "textVariants"[] | readonly "spacingAliases"[] | readonly ("spectrumColors" | "alwaysPaletteAliases" | "foregroundPaletteColors")[] | readonly "opacitySteps"[] | readonly "iconSizes"[] | readonly "iconVariants"[] | readonly "textDecorationLines"[] | readonly ("elevationAliases" | "shadowVariants" | "shadowVariantConfig")[] | readonly ("shadowVariantConfig" | "shadowVariantsWithInvert")[] | readonly "scaleEffects"[] | readonly "positiveIntegers"[], readonly (readonly unknown[])[]>>>;
16
16
  } | null; //#endregion
17
17
  //#endregion
18
18
  export { getConfigVariantProperties };
@@ -1,4 +1,5 @@
1
1
 
2
+ import { ArbitraryFixtures, InferArbitraryType } from "../../../fixtures/dist/index.cjs";
2
3
  import { ComponentConfig, ComponentStateConfig, LayerConfig, PossibleStates, PossibleStatesWithRest, SubComponentConfig, VariantConfig, VariantConfigWithComponentStates, VariantConfigWithProperties } from "../types/ComponentConfig.cjs";
3
4
  import { ConfigurablePropertiesName, SelectedConfigurableProperty, configurableProperties } from "../properties.cjs";
4
5
  import { ComponentSchema, buildConfigSchema, findFixtureType } from "./buildConfigSchema.cjs";
@@ -87,7 +88,7 @@ declare function createConfigurableProperty<C extends ConfigurablePropertiesName
87
88
  name: C;
88
89
  typeOfFixture: T;
89
90
  values: V;
90
- defaults: { [K in O]: V[number][number] };
91
+ defaults: { [K in O]: V[number][number] | (Extract<T[number], ArbitraryFixtures> extends never ? never : InferArbitraryType<Extract<T[number], ArbitraryFixtures>>) };
91
92
  label: string;
92
93
  skipRestState?: boolean;
93
94
  pseudoStates?: PossibleStates[];
@@ -1,4 +1,5 @@
1
1
 
2
+ import { ArbitraryFixtures, InferArbitraryType } from "../../../fixtures/dist/index.js";
2
3
  import { ComponentConfig, ComponentStateConfig, LayerConfig, PossibleStates, PossibleStatesWithRest, SubComponentConfig, VariantConfig, VariantConfigWithComponentStates, VariantConfigWithProperties } from "../types/ComponentConfig.js";
3
4
  import { ConfigurablePropertiesName, SelectedConfigurableProperty, configurableProperties } from "../properties.js";
4
5
  import { ComponentSchema, buildConfigSchema, findFixtureType } from "./buildConfigSchema.js";
@@ -87,7 +88,7 @@ declare function createConfigurableProperty<C extends ConfigurablePropertiesName
87
88
  name: C;
88
89
  typeOfFixture: T;
89
90
  values: V;
90
- defaults: { [K in O]: V[number][number] };
91
+ defaults: { [K in O]: V[number][number] | (Extract<T[number], ArbitraryFixtures> extends never ? never : InferArbitraryType<Extract<T[number], ArbitraryFixtures>>) };
91
92
  label: string;
92
93
  skipRestState?: boolean;
93
94
  pseudoStates?: PossibleStates[];
@@ -4,6 +4,7 @@ const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
4
4
  const require_defaultTokensConfig = require('../../defaultTokensConfig.cjs');
5
5
  const require_runtime_breakpointsConfig = require('../../runtime/breakpointsConfig.cjs');
6
6
  const require_runtime_toastConfig = require('../../runtime/toastConfig.cjs');
7
+ const require_runtime_tooltipConfig = require('../../runtime/tooltipConfig.cjs');
7
8
  const require_analytics = require('../dist/utils/analytics.cjs');
8
9
  const require_colors = require('../dist/lib/colors.cjs');
9
10
  const require_print = require('../dist/lib/print.cjs');
@@ -60,7 +61,8 @@ const syncCommand = {
60
61
  const exportsJS = [`export const config = ${JSON.stringify(sortedConfig, null, 2)};`];
61
62
  const runtimeConfigs = {
62
63
  breakpoints: [require_runtime_breakpointsConfig.configToBreakpointsConfigContext(sortedConfig), "UDSBreakpointsConfigContextType"],
63
- toast: [require_runtime_toastConfig.configToToastConfigContext(sortedConfig), "UDSToastConfigContextType"]
64
+ toast: [require_runtime_toastConfig.configToToastConfigContext(sortedConfig), "UDSToastConfigContextType"],
65
+ tooltip: [require_runtime_tooltipConfig.configToTooltipConfigContext(sortedConfig), "UDSTooltipConfigContextType"]
64
66
  };
65
67
  const runtimeTypeImports = [];
66
68
  for (const [name, [json, type]] of Object.entries(runtimeConfigs)) {
@@ -74,10 +76,12 @@ const syncCommand = {
74
76
  exportsTS.push(`export const runtimeConfig: UDSConfigContextType = {
75
77
  breakpoints: breakpointsRuntimeConfig,
76
78
  toast: toastRuntimeConfig,
79
+ tooltip: tooltipRuntimeConfig,
77
80
  };`);
78
81
  exportsJS.push(`export const runtimeConfig = {
79
82
  breakpoints: breakpointsRuntimeConfig,
80
83
  toast: toastRuntimeConfig,
84
+ tooltip: tooltipRuntimeConfig,
81
85
  };`);
82
86
  const configContentTs = `${importsTS.join("\n")}\n\n${exportsTS.join("\n\n")}\n`;
83
87
  const configContentJs = `${exportsJS.join("\n\n")}\n`;
@@ -2,6 +2,7 @@
2
2
  import { defaultTokensConfig } from "../../defaultTokensConfig.js";
3
3
  import { configToBreakpointsConfigContext } from "../../runtime/breakpointsConfig.js";
4
4
  import { configToToastConfigContext } from "../../runtime/toastConfig.js";
5
+ import { configToTooltipConfigContext } from "../../runtime/tooltipConfig.js";
5
6
  import { trackEvent } from "../dist/utils/analytics.js";
6
7
  import { green, magenta, red, yellow } from "../dist/lib/colors.js";
7
8
  import { print } from "../dist/lib/print.js";
@@ -57,7 +58,8 @@ const syncCommand = {
57
58
  const exportsJS = [`export const config = ${JSON.stringify(sortedConfig, null, 2)};`];
58
59
  const runtimeConfigs = {
59
60
  breakpoints: [configToBreakpointsConfigContext(sortedConfig), "UDSBreakpointsConfigContextType"],
60
- toast: [configToToastConfigContext(sortedConfig), "UDSToastConfigContextType"]
61
+ toast: [configToToastConfigContext(sortedConfig), "UDSToastConfigContextType"],
62
+ tooltip: [configToTooltipConfigContext(sortedConfig), "UDSTooltipConfigContextType"]
61
63
  };
62
64
  const runtimeTypeImports = [];
63
65
  for (const [name, [json, type]] of Object.entries(runtimeConfigs)) {
@@ -71,10 +73,12 @@ const syncCommand = {
71
73
  exportsTS.push(`export const runtimeConfig: UDSConfigContextType = {
72
74
  breakpoints: breakpointsRuntimeConfig,
73
75
  toast: toastRuntimeConfig,
76
+ tooltip: tooltipRuntimeConfig,
74
77
  };`);
75
78
  exportsJS.push(`export const runtimeConfig = {
76
79
  breakpoints: breakpointsRuntimeConfig,
77
80
  toast: toastRuntimeConfig,
81
+ tooltip: tooltipRuntimeConfig,
78
82
  };`);
79
83
  const configContentTs = `${importsTS.join("\n")}\n\n${exportsTS.join("\n\n")}\n`;
80
84
  const configContentJs = `${exportsJS.join("\n\n")}\n`;
@@ -9,7 +9,7 @@ import { generateDefaultClassName } from "../../automated-config/dist/utils/inde
9
9
  import { SpringMotionConfig } from "./SpringMotionConfig.js";
10
10
  import React, { cloneElement, forwardRef, isValidElement, useImperativeHandle, useMemo, useRef } from "react";
11
11
  import { buttonIconSvgSize } from "@yahoo/uds/fixtures";
12
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
13
13
  import { Progress } from "@yahoo/uds-icons";
14
14
  import { AnimatePresence, m, useReducedMotion } from "motion/react";
15
15
 
@@ -266,7 +266,7 @@ const Button = forwardRef(function Button({ size, variant, startIcon, endIcon, i
266
266
  whileHover: "hover",
267
267
  whileTap: "pressed",
268
268
  ...rest,
269
- children: cloneElement(children, childProps, /* @__PURE__ */ jsxs(Fragment, { children: [
269
+ children: cloneElement(children, childProps, /* @__PURE__ */ jsxs(Fragment$1, { children: [
270
270
  startContent,
271
271
  /* @__PURE__ */ jsx("span", {
272
272
  className: styles.content,
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+ const require_runtime = require('../../../_virtual/_rolldown/runtime.cjs');
5
+ const require_components_client_Tooltip_UDSTooltipConfigProvider = require('./UDSTooltipConfigProvider.cjs');
6
+ const require_components_client_Tooltip_tooltipContext = require('./tooltipContext.cjs');
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ let _ariakit_react = require("@ariakit/react");
9
+
10
+ //#region src/components/client/Tooltip/Tooltip.tsx
11
+ function Tooltip({ children, placement = "top", open, portal = true }) {
12
+ const hideOnHoverOutside = open === void 0;
13
+ const controlledProps = open !== void 0 ? {
14
+ showTimeout: 0,
15
+ hideTimeout: 0,
16
+ timeout: 0,
17
+ mounted: open
18
+ } : void 0;
19
+ const { animationDuration, ariaKitPlacement } = require_components_client_Tooltip_UDSTooltipConfigProvider.useTooltipConfig({ placement });
20
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_client_Tooltip_tooltipContext.TooltipInternalContext.Provider, {
21
+ value: {
22
+ hideOnHoverOutside,
23
+ portal
24
+ },
25
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_ariakit_react.TooltipProvider, {
26
+ placement: ariaKitPlacement,
27
+ animated: animationDuration,
28
+ open,
29
+ ...controlledProps,
30
+ children
31
+ })
32
+ });
33
+ }
34
+ Tooltip.displayName = "Tooltip";
35
+
36
+ //#endregion
37
+ exports.Tooltip = Tooltip;
@@ -0,0 +1,16 @@
1
+
2
+ import { UniversalTooltipProps } from "../../../types/dist/index.cjs";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/client/Tooltip/Tooltip.d.ts
6
+ declare function Tooltip({
7
+ children,
8
+ placement,
9
+ open,
10
+ portal
11
+ }: UniversalTooltipProps): react_jsx_runtime0.JSX.Element;
12
+ declare namespace Tooltip {
13
+ var displayName: string;
14
+ }
15
+ //#endregion
16
+ export { Tooltip };
@@ -0,0 +1,16 @@
1
+
2
+ import { UniversalTooltipProps } from "../../../types/dist/index.js";
3
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/client/Tooltip/Tooltip.d.ts
6
+ declare function Tooltip({
7
+ children,
8
+ placement,
9
+ open,
10
+ portal
11
+ }: UniversalTooltipProps): react_jsx_runtime0.JSX.Element;
12
+ declare namespace Tooltip {
13
+ var displayName: string;
14
+ }
15
+ //#endregion
16
+ export { Tooltip };
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
3
+ import { useTooltipConfig } from "./UDSTooltipConfigProvider.js";
4
+ import { TooltipInternalContext } from "./tooltipContext.js";
5
+ import { jsx } from "react/jsx-runtime";
6
+ import { TooltipProvider } from "@ariakit/react";
7
+
8
+ //#region src/components/client/Tooltip/Tooltip.tsx
9
+ function Tooltip({ children, placement = "top", open, portal = true }) {
10
+ const hideOnHoverOutside = open === void 0;
11
+ const controlledProps = open !== void 0 ? {
12
+ showTimeout: 0,
13
+ hideTimeout: 0,
14
+ timeout: 0,
15
+ mounted: open
16
+ } : void 0;
17
+ const { animationDuration, ariaKitPlacement } = useTooltipConfig({ placement });
18
+ return /* @__PURE__ */ jsx(TooltipInternalContext.Provider, {
19
+ value: {
20
+ hideOnHoverOutside,
21
+ portal
22
+ },
23
+ children: /* @__PURE__ */ jsx(TooltipProvider, {
24
+ placement: ariaKitPlacement,
25
+ animated: animationDuration,
26
+ open,
27
+ ...controlledProps,
28
+ children
29
+ })
30
+ });
31
+ }
32
+ Tooltip.displayName = "Tooltip";
33
+
34
+ //#endregion
35
+ export { Tooltip };