@yahoo/uds 3.125.0 → 3.126.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 (280) hide show
  1. package/dist/automated-config/dist/generated/autoVariants.cjs +35 -0
  2. package/dist/automated-config/dist/generated/autoVariants.d.cts +7 -0
  3. package/dist/automated-config/dist/generated/autoVariants.d.ts +7 -0
  4. package/dist/automated-config/dist/generated/autoVariants.js +35 -0
  5. package/dist/automated-config/dist/generated/generatedConfigs.cjs +1493 -0
  6. package/dist/automated-config/dist/generated/generatedConfigs.d.cts +222 -1
  7. package/dist/automated-config/dist/generated/generatedConfigs.d.ts +222 -1
  8. package/dist/automated-config/dist/generated/generatedConfigs.js +1493 -1
  9. package/dist/automated-config/dist/generated/universalTokensConfigAuto.cjs +314 -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 +314 -0
  13. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.cts +2 -2
  14. package/dist/automated-config/dist/utils/getConfigVariantProperties.d.ts +2 -2
  15. package/dist/components/Banner/Banner.cjs +167 -0
  16. package/dist/components/Banner/Banner.d.cts +56 -0
  17. package/dist/components/Banner/Banner.d.ts +56 -0
  18. package/dist/components/Banner/Banner.js +165 -0
  19. package/dist/components/Banner/BannerContent.cjs +20 -0
  20. package/dist/components/Banner/BannerContent.d.cts +13 -0
  21. package/dist/components/Banner/BannerContent.d.ts +13 -0
  22. package/dist/components/Banner/BannerContent.js +18 -0
  23. package/dist/components/Banner/BannerDescription.cjs +47 -0
  24. package/dist/components/Banner/BannerDescription.d.cts +36 -0
  25. package/dist/components/Banner/BannerDescription.d.ts +36 -0
  26. package/dist/components/Banner/BannerDescription.js +45 -0
  27. package/dist/components/Banner/BannerTitle.cjs +42 -0
  28. package/dist/components/Banner/BannerTitle.d.cts +34 -0
  29. package/dist/components/Banner/BannerTitle.d.ts +34 -0
  30. package/dist/components/Banner/BannerTitle.js +40 -0
  31. package/dist/components/Banner/index.cjs +11 -0
  32. package/dist/components/Banner/index.d.cts +6 -0
  33. package/dist/components/Banner/index.d.ts +6 -0
  34. package/dist/components/Banner/index.js +7 -0
  35. package/dist/components/Banner/utils.cjs +56 -0
  36. package/dist/components/Banner/utils.d.cts +26 -0
  37. package/dist/components/Banner/utils.d.ts +26 -0
  38. package/dist/components/Banner/utils.js +52 -0
  39. package/dist/components/Divider/DividerCore.cjs +1 -1
  40. package/dist/components/Divider/DividerCore.js +1 -1
  41. package/dist/components/FormLabel.cjs +4 -2
  42. package/dist/components/FormLabel.d.cts +2 -17
  43. package/dist/components/FormLabel.d.ts +2 -17
  44. package/dist/components/FormLabel.js +4 -2
  45. package/dist/components/Image.cjs +4 -2
  46. package/dist/components/Image.d.cts +2 -61
  47. package/dist/components/Image.d.ts +2 -61
  48. package/dist/components/Image.js +4 -2
  49. package/dist/components/client/Avatar/AvatarIcon.cjs +2 -2
  50. package/dist/components/client/Avatar/AvatarIcon.js +2 -2
  51. package/dist/components/client/Avatar/AvatarImage.cjs +1 -0
  52. package/dist/components/client/Avatar/AvatarImage.js +1 -0
  53. package/dist/components/client/Avatar/AvatarText.cjs +1 -1
  54. package/dist/components/client/Avatar/AvatarText.js +1 -1
  55. package/dist/components/client/Badge.cjs +1 -1
  56. package/dist/components/client/Badge.js +1 -1
  57. package/dist/components/client/BottomSheet/BottomSheetHeader.cjs +1 -1
  58. package/dist/components/client/BottomSheet/BottomSheetHeader.js +1 -1
  59. package/dist/components/client/Button.cjs +1 -1
  60. package/dist/components/client/Button.js +1 -1
  61. package/dist/components/client/Checkbox.cjs +4 -3
  62. package/dist/components/client/Checkbox.js +4 -3
  63. package/dist/components/client/Chip/ChipBase.cjs +2 -2
  64. package/dist/components/client/Chip/ChipBase.js +2 -2
  65. package/dist/components/client/Chip/ChipDismissible.cjs +2 -2
  66. package/dist/components/client/Chip/ChipDismissible.js +2 -2
  67. package/dist/components/client/IconButton.cjs +1 -1
  68. package/dist/components/client/IconButton.js +1 -1
  69. package/dist/components/client/Input/Input.cjs +3 -2
  70. package/dist/components/client/Input/Input.js +3 -2
  71. package/dist/components/client/Input/InputHelpTextInternal.cjs +4 -3
  72. package/dist/components/client/Input/InputHelpTextInternal.d.cts +1 -14
  73. package/dist/components/client/Input/InputHelpTextInternal.d.ts +1 -14
  74. package/dist/components/client/Input/InputHelpTextInternal.js +5 -4
  75. package/dist/components/client/Menu/Menu.ItemBase.cjs +2 -2
  76. package/dist/components/client/Menu/Menu.ItemBase.js +2 -2
  77. package/dist/components/client/Menu/Menu.ItemCheckbox.cjs +1 -1
  78. package/dist/components/client/Menu/Menu.ItemCheckbox.d.cts +1 -1
  79. package/dist/components/client/Menu/Menu.ItemCheckbox.d.ts +1 -1
  80. package/dist/components/client/Menu/Menu.ItemCheckbox.js +1 -1
  81. package/dist/components/client/Popover/PopoverContent.cjs +3 -3
  82. package/dist/components/client/Popover/PopoverContent.js +3 -3
  83. package/dist/components/client/Radio/Radio.cjs +2 -1
  84. package/dist/components/client/Radio/Radio.js +2 -1
  85. package/dist/components/client/Switch.cjs +4 -4
  86. package/dist/components/client/Switch.js +4 -4
  87. package/dist/components/client/Toast/Toast.cjs +3 -3
  88. package/dist/components/client/Toast/Toast.js +3 -3
  89. package/dist/components/client/Toast/UDSToastConfigProvider.d.cts +5 -5
  90. package/dist/components/client/Toast/UDSToastConfigProvider.d.ts +5 -5
  91. package/dist/components/client/Tooltip/TooltipContent.cjs +2 -2
  92. package/dist/components/client/Tooltip/TooltipContent.js +2 -2
  93. package/dist/components/client/index.cjs +1 -1
  94. package/dist/components/client/index.js +1 -1
  95. package/dist/components/experimental/Spinner.cjs +1 -1
  96. package/dist/components/experimental/Spinner.js +1 -1
  97. package/dist/components/experimental/Table.cjs +1 -1
  98. package/dist/components/experimental/Table.js +1 -1
  99. package/dist/components/experimental/client/Accordion.cjs +4 -4
  100. package/dist/components/experimental/client/Accordion.js +4 -4
  101. package/dist/components/experimental/client/Modal.cjs +2 -2
  102. package/dist/components/experimental/client/Modal.js +2 -2
  103. package/dist/components/experimental/client/SegmentedControl.cjs +3 -3
  104. package/dist/components/experimental/client/SegmentedControl.d.cts +1 -2
  105. package/dist/components/experimental/client/SegmentedControl.js +3 -3
  106. package/dist/components/experimental/client/SwitchV2.cjs +1 -1
  107. package/dist/components/experimental/client/SwitchV2.js +1 -1
  108. package/dist/components/experimental/client/Tabs.cjs +2 -2
  109. package/dist/components/experimental/client/Tabs.js +2 -2
  110. package/dist/components/index.cjs +15 -3
  111. package/dist/components/index.d.cts +6 -1
  112. package/dist/components/index.d.ts +6 -1
  113. package/dist/components/index.js +12 -4
  114. package/dist/config/dist/index.cjs +381 -46
  115. package/dist/config/dist/index.js +381 -46
  116. package/dist/index.cjs +12 -3
  117. package/dist/index.d.cts +7 -3
  118. package/dist/index.d.ts +7 -3
  119. package/dist/index.js +9 -5
  120. package/dist/styles/styler.d.cts +100 -93
  121. package/dist/styles/styler.d.ts +100 -93
  122. package/dist/styles/variants.d.cts +45 -0
  123. package/dist/styles/variants.d.ts +45 -0
  124. package/dist/tailwind/dist/automated-config/dist/generated/autoVariants.cjs +35 -0
  125. package/dist/tailwind/dist/automated-config/dist/generated/autoVariants.js +35 -0
  126. package/dist/tailwind/dist/automated-config/dist/generated/autoVariants.js.map +1 -1
  127. package/dist/tailwind/dist/automated-config/dist/generated/generatedConfigs.cjs +1493 -0
  128. package/dist/tailwind/dist/automated-config/dist/generated/generatedConfigs.js +1493 -1
  129. package/dist/tailwind/dist/automated-config/dist/generated/generatedConfigs.js.map +1 -1
  130. package/dist/tailwind/dist/config/dist/index.cjs +381 -46
  131. package/dist/tailwind/dist/config/dist/index.js +381 -46
  132. package/dist/tailwind/dist/config/dist/index.js.map +1 -1
  133. package/dist/tailwind/dist/tailwind/plugins/components.cjs +1 -0
  134. package/dist/tailwind/dist/tailwind/plugins/components.js +2 -1
  135. package/dist/tailwind/dist/tailwind/plugins/components.js.map +1 -1
  136. package/dist/tailwind/dist/types/dist/index.d.cts.map +1 -1
  137. package/dist/tailwind/dist/types/dist/index.d.ts.map +1 -1
  138. package/dist/tokens/automation/configs/index.cjs +1 -0
  139. package/dist/tokens/automation/configs/index.d.cts +2 -2
  140. package/dist/tokens/automation/configs/index.d.ts +2 -2
  141. package/dist/tokens/automation/configs/index.js +2 -2
  142. package/dist/tokens/automation/index.cjs +1 -0
  143. package/dist/tokens/automation/index.d.cts +2 -2
  144. package/dist/tokens/automation/index.d.ts +2 -2
  145. package/dist/tokens/automation/index.js +2 -2
  146. package/dist/tokens/index.cjs +1 -0
  147. package/dist/tokens/index.d.cts +3 -3
  148. package/dist/tokens/index.d.ts +3 -3
  149. package/dist/tokens/index.js +2 -2
  150. package/dist/tokens/types.d.cts +2 -2
  151. package/dist/tokens/types.d.ts +2 -2
  152. package/dist/types/dist/index.d.cts +19 -1
  153. package/dist/types/dist/index.d.ts +19 -1
  154. package/dist/uds/generated/componentData.cjs +1486 -1338
  155. package/dist/uds/generated/componentData.js +1465 -1341
  156. package/dist/uds/generated/tailwindPurge.cjs +28 -1
  157. package/dist/uds/generated/tailwindPurge.js +28 -1
  158. package/generated/componentData.json +1916 -1765
  159. package/generated/tailwindPurge.ts +4 -4
  160. package/package.json +1 -1
  161. package/dist/uds/dist/automated-config/dist/generated/universalTokensConfigAuto.d.cts +0 -2
  162. package/dist/uds/dist/automated-config/dist/properties.d.cts +0 -5
  163. package/dist/uds/dist/automated-config/dist/types/ComponentConfig.d.cts +0 -3
  164. package/dist/uds/dist/automated-config/dist/types/ComponentStyles.d.cts +0 -2
  165. package/dist/uds/dist/automated-config/dist/types/ConfigSchema.d.cts +0 -2
  166. package/dist/uds/dist/automated-config/dist/utils/buildConfigSchema.d.cts +0 -7
  167. package/dist/uds/dist/automated-config/dist/utils/coalesceConfigVariant.d.cts +0 -2
  168. package/dist/uds/dist/automated-config/dist/utils/defaults.d.cts +0 -2
  169. package/dist/uds/dist/automated-config/dist/utils/getConfigVariantComponentStatesMatrix.d.cts +0 -2
  170. package/dist/uds/dist/automated-config/dist/utils/getConfigVariantProperties.d.cts +0 -3
  171. package/dist/uds/dist/automated-config/dist/utils/getConfigVariantPseudoStates.d.cts +0 -3
  172. package/dist/uds/dist/automated-config/dist/utils/getConfigVariants.d.cts +0 -2
  173. package/dist/uds/dist/automated-config/dist/utils/index.d.cts +0 -12
  174. package/dist/uds/dist/automated-config/dist/utils/subcomponents.d.cts +0 -2
  175. package/dist/uds/dist/components/Box.d.cts +0 -4
  176. package/dist/uds/dist/components/Divider/Divider.d.cts +0 -3
  177. package/dist/uds/dist/components/Divider/DividerCore.d.cts +0 -5
  178. package/dist/uds/dist/components/Divider/DividerInternal.d.cts +0 -5
  179. package/dist/uds/dist/components/Divider/index.d.cts +0 -2
  180. package/dist/uds/dist/components/FormLabel.d.cts +0 -4
  181. package/dist/uds/dist/components/HStack.d.cts +0 -5
  182. package/dist/uds/dist/components/Icon.d.cts +0 -4
  183. package/dist/uds/dist/components/Image.d.cts +0 -3
  184. package/dist/uds/dist/components/Link.d.cts +0 -4
  185. package/dist/uds/dist/components/Scrim.d.cts +0 -3
  186. package/dist/uds/dist/components/Text.d.cts +0 -4
  187. package/dist/uds/dist/components/VStack.d.cts +0 -5
  188. package/dist/uds/dist/components/client/Avatar/Avatar.d.cts +0 -5
  189. package/dist/uds/dist/components/client/Avatar/AvatarIcon.d.cts +0 -7
  190. package/dist/uds/dist/components/client/Avatar/AvatarImage.d.cts +0 -9
  191. package/dist/uds/dist/components/client/Avatar/AvatarText.d.cts +0 -7
  192. package/dist/uds/dist/components/client/Avatar/index.d.cts +0 -7
  193. package/dist/uds/dist/components/client/Badge.d.cts +0 -6
  194. package/dist/uds/dist/components/client/BottomSheet/BottomSheet.d.cts +0 -7
  195. package/dist/uds/dist/components/client/BottomSheet/BottomSheetContent.d.cts +0 -4
  196. package/dist/uds/dist/components/client/BottomSheet/BottomSheetHeader.d.cts +0 -4
  197. package/dist/uds/dist/components/client/BottomSheet/BottomSheetProvider.d.cts +0 -5
  198. package/dist/uds/dist/components/client/BottomSheet/UDSBottomSheetConfigProvider.d.cts +0 -5
  199. package/dist/uds/dist/components/client/BottomSheet/index.d.cts +0 -9
  200. package/dist/uds/dist/components/client/BottomSheet/useBottomSheetStore.d.cts +0 -4
  201. package/dist/uds/dist/components/client/Button.d.cts +0 -7
  202. package/dist/uds/dist/components/client/Checkbox.d.cts +0 -6
  203. package/dist/uds/dist/components/client/Chip/Chip.d.cts +0 -7
  204. package/dist/uds/dist/components/client/Chip/ChipBase.d.cts +0 -8
  205. package/dist/uds/dist/components/client/Chip/ChipButton.d.cts +0 -7
  206. package/dist/uds/dist/components/client/Chip/ChipDismissible.d.cts +0 -7
  207. package/dist/uds/dist/components/client/Chip/ChipLink.d.cts +0 -7
  208. package/dist/uds/dist/components/client/Chip/ChipToggle.d.cts +0 -7
  209. package/dist/uds/dist/components/client/Chip/index.d.cts +0 -8
  210. package/dist/uds/dist/components/client/IconButton.d.cts +0 -7
  211. package/dist/uds/dist/components/client/Input/Input.d.cts +0 -9
  212. package/dist/uds/dist/components/client/Input/InputHelpText.d.cts +0 -4
  213. package/dist/uds/dist/components/client/Input/InputHelpTextInternal.d.cts +0 -8
  214. package/dist/uds/dist/components/client/Input/index.d.cts +0 -5
  215. package/dist/uds/dist/components/client/Menu/Menu.Content.d.cts +0 -8
  216. package/dist/uds/dist/components/client/Menu/Menu.Divider.d.cts +0 -5
  217. package/dist/uds/dist/components/client/Menu/Menu.Item.d.cts +0 -8
  218. package/dist/uds/dist/components/client/Menu/Menu.ItemCheckbox.d.cts +0 -8
  219. package/dist/uds/dist/components/client/Menu/Menu.Provider.d.cts +0 -5
  220. package/dist/uds/dist/components/client/Menu/Menu.Trigger.d.cts +0 -7
  221. package/dist/uds/dist/components/client/Menu/Menu.d.cts +0 -4
  222. package/dist/uds/dist/components/client/Menu/Menu.index.d.cts +0 -11
  223. package/dist/uds/dist/components/client/Menu/index.d.cts +0 -11
  224. package/dist/uds/dist/components/client/Popover/Popover.d.cts +0 -4
  225. package/dist/uds/dist/components/client/Popover/PopoverContent.d.cts +0 -7
  226. package/dist/uds/dist/components/client/Popover/PopoverTrigger.d.cts +0 -4
  227. package/dist/uds/dist/components/client/Popover/UDSPopoverConfigProvider.d.cts +0 -6
  228. package/dist/uds/dist/components/client/Popover/index.d.cts +0 -8
  229. package/dist/uds/dist/components/client/Pressable.d.cts +0 -6
  230. package/dist/uds/dist/components/client/Radio/Radio.d.cts +0 -6
  231. package/dist/uds/dist/components/client/Radio/RadioGroupProvider.d.cts +0 -6
  232. package/dist/uds/dist/components/client/Radio/index.d.cts +0 -5
  233. package/dist/uds/dist/components/client/SpringMotionConfig.d.cts +0 -7
  234. package/dist/uds/dist/components/client/Switch.d.cts +0 -6
  235. package/dist/uds/dist/components/client/Toast/Toast.d.cts +0 -10
  236. package/dist/uds/dist/components/client/Toast/ToastContainer.d.cts +0 -8
  237. package/dist/uds/dist/components/client/Toast/ToastPortal.d.cts +0 -5
  238. package/dist/uds/dist/components/client/Toast/UDSToastConfigProvider.d.cts +0 -7
  239. package/dist/uds/dist/components/client/Toast/createToast.d.cts +0 -8
  240. package/dist/uds/dist/components/client/Toast/index.d.cts +0 -8
  241. package/dist/uds/dist/components/client/Tooltip/Tooltip.d.cts +0 -4
  242. package/dist/uds/dist/components/client/Tooltip/TooltipContent.d.cts +0 -5
  243. package/dist/uds/dist/components/client/Tooltip/TooltipTrigger.d.cts +0 -4
  244. package/dist/uds/dist/components/client/Tooltip/UDSTooltipConfigProvider.d.cts +0 -7
  245. package/dist/uds/dist/components/client/Tooltip/index.d.cts +0 -8
  246. package/dist/uds/dist/components/client/index.d.cts +0 -61
  247. package/dist/uds/dist/components/client/providers/UDSBreakpointsConfigProvider.d.cts +0 -6
  248. package/dist/uds/dist/components/client/providers/UDSConfigProvider.d.cts +0 -5
  249. package/dist/uds/dist/components/index.d.cts +0 -61
  250. package/dist/uds/dist/config/dist/index.d.cts +0 -4
  251. package/dist/uds/dist/css-tokens/dist/index.d.cts +0 -2
  252. package/dist/uds/dist/fixtures/dist/index.d.cts +0 -2
  253. package/dist/uds/dist/fonts/dist/index.d.cts +0 -2
  254. package/dist/uds/dist/index.d.cts +0 -93
  255. package/dist/uds/dist/modes/dist/index.d.cts +0 -2
  256. package/dist/uds/dist/runtime/bottomSheetConfig.d.cts +0 -3
  257. package/dist/uds/dist/runtime/breakpointsConfig.d.cts +0 -4
  258. package/dist/uds/dist/runtime/index.d.cts +0 -7
  259. package/dist/uds/dist/runtime/popoverConfig.d.cts +0 -5
  260. package/dist/uds/dist/runtime/toastConfig.d.cts +0 -4
  261. package/dist/uds/dist/runtime/tooltipConfig.d.cts +0 -5
  262. package/dist/uds/dist/runtime/udsConfig.d.cts +0 -8
  263. package/dist/uds/dist/styles/styler.d.cts +0 -2
  264. package/dist/uds/dist/styles/stylerTypes.d.cts +0 -3
  265. package/dist/uds/dist/tailwind/dist/config/dist/index.d.cts +0 -2
  266. package/dist/uds/dist/tailwind/dist/index.d.cts +0 -3
  267. package/dist/uds/dist/tailwind/dist/tailwind/components/getResponsiveTextStyles.d.cts +0 -2
  268. package/dist/uds/dist/tailwind/dist/utils/parseTokens.d.cts +0 -2
  269. package/dist/uds/dist/tokens/automation/index.d.cts +0 -10
  270. package/dist/uds/dist/tokens/configs/shadow.d.cts +0 -3
  271. package/dist/uds/dist/tokens/consts/cssTokens.d.cts +0 -2
  272. package/dist/uds/dist/tokens/consts/defaultModes.d.cts +0 -2
  273. package/dist/uds/dist/tokens/consts/fontDeclarationsMap.d.cts +0 -2
  274. package/dist/uds/dist/tokens/index.d.cts +0 -28
  275. package/dist/uds/dist/tokens/parseButtonVariants.d.cts +0 -3
  276. package/dist/uds/dist/tokens/types.d.cts +0 -9
  277. package/dist/uds/dist/tokens/utils/getFontUrls.d.cts +0 -4
  278. package/dist/uds/dist/tokens/utils/spectrum.d.cts +0 -3
  279. package/dist/uds/dist/types/dist/index.d.cts +0 -11
  280. package/dist/uds/dist/types.d.cts +0 -2
@@ -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<"textTransform" | "fontSize" | "fontWeight" | "lineHeight" | "fontFamily" | "letterSpacing" | "backgroundColor" | "borderWidth" | "strokeWidth" | "borderRadius" | "borderRadiusVar" | "borderColor" | "stroke" | "buttonSize" | "buttonVariant" | "fontVariationSettings" | "gap" | "color" | "opacity" | "fillOpacity" | "iconSize" | "spacing" | "iconVariant" | "horizontalMargin" | "bottomMargin" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "shadowVar" | "insetShadow" | "height" | "width" | "scaleEffect" | "backdropBlur" | "blurBackgroundColor" | "blurBackgroundColorFallback" | "scrimBackgroundColor" | "scrimOpacity", 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 ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases")[], readonly (readonly unknown[])[]>>>;
15
- root: Readonly<Record<string, SelectedConfigurableProperty<"textTransform" | "fontSize" | "fontWeight" | "lineHeight" | "fontFamily" | "letterSpacing" | "backgroundColor" | "borderWidth" | "strokeWidth" | "borderRadius" | "borderRadiusVar" | "borderColor" | "stroke" | "buttonSize" | "buttonVariant" | "fontVariationSettings" | "gap" | "color" | "opacity" | "fillOpacity" | "iconSize" | "spacing" | "iconVariant" | "horizontalMargin" | "bottomMargin" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "shadowVar" | "insetShadow" | "height" | "width" | "scaleEffect" | "backdropBlur" | "blurBackgroundColor" | "blurBackgroundColorFallback" | "scrimBackgroundColor" | "scrimOpacity", 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 ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases")[], readonly (readonly unknown[])[]>>>;
14
+ [x: string]: Readonly<Record<string, SelectedConfigurableProperty<"backgroundColor" | "borderWidth" | "strokeWidth" | "borderRadius" | "borderRadiusVar" | "borderColor" | "stroke" | "buttonSize" | "buttonVariant" | "fontFamily" | "fontSize" | "fontVariationSettings" | "lineHeight" | "textTransform" | "letterSpacing" | "gap" | "color" | "opacity" | "fillOpacity" | "fontWeight" | "iconSize" | "spacing" | "iconVariant" | "horizontalMargin" | "bottomMargin" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "shadowVar" | "insetShadow" | "height" | "width" | "scaleEffect" | "backdropBlur" | "blurBackgroundColor" | "blurBackgroundColorFallback" | "scrimBackgroundColor" | "scrimOpacity", 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 ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases")[], readonly (readonly unknown[])[]>>>;
15
+ root: Readonly<Record<string, SelectedConfigurableProperty<"backgroundColor" | "borderWidth" | "strokeWidth" | "borderRadius" | "borderRadiusVar" | "borderColor" | "stroke" | "buttonSize" | "buttonVariant" | "fontFamily" | "fontSize" | "fontVariationSettings" | "lineHeight" | "textTransform" | "letterSpacing" | "gap" | "color" | "opacity" | "fillOpacity" | "fontWeight" | "iconSize" | "spacing" | "iconVariant" | "horizontalMargin" | "bottomMargin" | "spacingHorizontal" | "spacingVertical" | "textVariant" | "textDecorationLine" | "shadow" | "shadowVar" | "insetShadow" | "height" | "width" | "scaleEffect" | "backdropBlur" | "blurBackgroundColor" | "blurBackgroundColorFallback" | "scrimBackgroundColor" | "scrimOpacity", 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 ("backgroundPaletteColors" | "spectrumColors" | "alwaysPaletteAliases")[], readonly (readonly unknown[])[]>>>;
16
16
  } | null; //#endregion
17
17
  //#endregion
18
18
  export { getConfigVariantProperties };
@@ -0,0 +1,167 @@
1
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
+ const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
4
+ const require_styles_styler = require('../../styles/styler.cjs');
5
+ const require_components_client_Pressable = require('../client/Pressable.cjs');
6
+ const require_components_IconSlot = require('../IconSlot.cjs');
7
+ const require_components_Text = require('../Text.cjs');
8
+ const require_components_Banner_utils = require('./utils.cjs');
9
+ let _yahoo_uds_icons = require("@yahoo/uds-icons");
10
+ let react = require("react");
11
+ let react_jsx_runtime = require("react/jsx-runtime");
12
+
13
+ //#region src/components/Banner/Banner.tsx
14
+ const BASE_CLASS = "uds-banner";
15
+ /**
16
+ * Inject button variants on Button children that don't have an explicit
17
+ * variant set. The last unset Button gets the banner-mapped "primary"
18
+ * variant; any preceding unset Buttons get "secondary". Leaves Link,
19
+ * other elements, and Buttons with an explicit variant untouched.
20
+ */
21
+ function bindActionVariants(actions, bannerVariant) {
22
+ const primaryVariant = require_components_Banner_utils.BANNER_TO_BUTTON_VARIANT[bannerVariant];
23
+ const unsetIndices = [];
24
+ actions.forEach((child, i) => {
25
+ if (require_components_Banner_utils.hasDisplayName(child, "Button") && (0, react.isValidElement)(child) && child.props.variant === void 0) unsetIndices.push(i);
26
+ });
27
+ return actions.map((child, i) => {
28
+ if (!unsetIndices.includes(i)) return child;
29
+ const variant = i === unsetIndices[unsetIndices.length - 1] ? primaryVariant : "secondary";
30
+ return (0, react.cloneElement)(child, {
31
+ key: child.key ?? i,
32
+ variant
33
+ });
34
+ });
35
+ }
36
+ /**
37
+ * **An inline notification banner for contextual messages with optional actions.**
38
+ *
39
+ * @componentType Server component
40
+ *
41
+ * @description
42
+ * Banner is an inline, non-floating notification component that sits in normal document flow.
43
+ * It supports 12 color variants, an optional icon, title, description (truncated to 3 lines),
44
+ * composable actions via children, and an optional dismiss button.
45
+ *
46
+ * Use `title` and `description` props for simple text content, or pass `BannerContent`
47
+ * with `BannerTitle` and `BannerDescription` subcomponents for rich ReactNode content.
48
+ * Any non-BannerContent children are rendered in the actions area.
49
+ *
50
+ * @see
51
+ * Check out the {@link https://uds.build/docs/components/banner Banner Docs} for more info
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * // Simple — props-based
56
+ * <Banner variant="info" startIcon={Info} title="Update available" />
57
+ *
58
+ * // With actions as children
59
+ * <Banner variant="brand-secondary" startIcon={Megaphone} title="Notification"
60
+ * description="Description text." onDismiss={() => {}}>
61
+ * <Link href="/docs">Learn more</Link>
62
+ * <Button variant="secondary" size="sm">Edit</Button>
63
+ * <Button variant="brand" size="sm">Send</Button>
64
+ * </Banner>
65
+ *
66
+ * // Rich content via subcomponents
67
+ * <Banner variant="alert" startIcon={Error} onDismiss={() => {}}>
68
+ * <BannerContent>
69
+ * <BannerTitle>Error <strong>occurred</strong></BannerTitle>
70
+ * <BannerDescription>Something went wrong.</BannerDescription>
71
+ * </BannerContent>
72
+ * <Button variant="alert" size="sm">Retry</Button>
73
+ * </Banner>
74
+ * ```
75
+ *
76
+ * @related [Badge](https://uds.build/docs/components/badge), [Toast](https://uds.build/docs/components/toast)
77
+ **/
78
+ const Banner = (0, react.forwardRef)(function Banner({ variant = "primary", size = "default", startIcon, title, description, onDismiss, dismissAriaLabel = "Dismiss", className, children, ...rest }, ref) {
79
+ const hasTitle = !!(typeof title === "string" ? title.trim() : title);
80
+ const hasDescription = !!(typeof description === "string" ? description.trim() : description);
81
+ const rootStyles = require_styles_styler.getStyles({
82
+ bannerVariantRoot: variant,
83
+ bannerSizeRoot: size,
84
+ className: require_styles_styler.cx(BASE_CLASS, "flex flex-row", hasTitle !== hasDescription ? "items-center" : "items-start", "min-w-[300px]", "shadow-[inset_0px_-20px_20px_-10px_rgba(31,31,31,0.05)]", className)
85
+ });
86
+ const iconStyles = require_styles_styler.getStyles({
87
+ bannerVariantIcon: variant,
88
+ bannerSizeIcon: size
89
+ });
90
+ const titleStyles = require_styles_styler.getStyles({
91
+ bannerSizeTitle: size,
92
+ className: "truncate"
93
+ });
94
+ const descriptionStyles = require_styles_styler.getStyles({
95
+ bannerSizeDescription: size,
96
+ className: "line-clamp-3"
97
+ });
98
+ const dismissStyles = require_styles_styler.getStyles({ bannerSizeClose: size });
99
+ const { content: bannerContent, actions: rawActions } = require_components_Banner_utils.separateChildren(children);
100
+ const actions = bindActionVariants(rawActions, variant);
101
+ const hasActions = actions.length > 0;
102
+ const contentArea = bannerContent ?? (hasTitle || hasDescription ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
103
+ className: "flex flex-col self-stretch flex-1 min-w-0 gap-0.5",
104
+ "data-testid": "banner-content",
105
+ children: [hasTitle && (typeof title === "string" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Text.Text, {
106
+ className: titleStyles,
107
+ "data-testid": "banner-title",
108
+ children: title
109
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
110
+ className: "w-full truncate leading-none",
111
+ "data-testid": "banner-title",
112
+ children: title
113
+ })), hasDescription && (typeof description === "string" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Text.Text, {
114
+ className: descriptionStyles,
115
+ "data-testid": "banner-description",
116
+ children: description
117
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
118
+ className: "w-full line-clamp-3",
119
+ "data-testid": "banner-description",
120
+ children: description
121
+ }))]
122
+ }) : null);
123
+ const dismissContainerStyles = require_styles_styler.getStyles({
124
+ spacing: "2",
125
+ borderRadius: "full",
126
+ className: require_styles_styler.cx("transition-[background-color] motion-safe:duration-120", "bg-carbon-15/0 hover:bg-carbon-15/10 active:bg-carbon-15/15", "uds-ring", "shrink-0 self-start")
127
+ });
128
+ const dismissButton = onDismiss ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_client_Pressable.Pressable, {
129
+ "aria-label": dismissAriaLabel,
130
+ onClick: onDismiss,
131
+ className: dismissContainerStyles,
132
+ "data-testid": "banner-dismiss",
133
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_IconSlot.IconSlot, {
134
+ icon: _yahoo_uds_icons.Cross,
135
+ iconProps: {
136
+ color: "current",
137
+ className: dismissStyles
138
+ }
139
+ })
140
+ }) : null;
141
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
142
+ ref,
143
+ className: rootStyles,
144
+ ...rest,
145
+ children: [
146
+ startIcon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_IconSlot.IconSlot, {
147
+ icon: startIcon,
148
+ iconProps: { color: "current" },
149
+ className: require_styles_styler.cx(iconStyles, "shrink-0"),
150
+ "data-testid": "banner-start-icon"
151
+ }),
152
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
153
+ className: require_styles_styler.cx("flex flex-1 min-w-0 flex-col items-start gap-[inherit] uds-sm:flex-row", hasTitle !== hasDescription && "uds-sm:items-center"),
154
+ children: [contentArea, hasActions && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
155
+ className: "flex self-stretch flex-row items-center gap-1.5 uds-sm:self-center uds-sm:shrink-0",
156
+ "data-testid": "banner-actions",
157
+ children: actions
158
+ })]
159
+ }),
160
+ dismissButton
161
+ ]
162
+ });
163
+ });
164
+ Banner.displayName = "Banner";
165
+
166
+ //#endregion
167
+ exports.Banner = Banner;
@@ -0,0 +1,56 @@
1
+
2
+ import { UniversalBannerProps } from "../../types/dist/index.cjs";
3
+ import "../../tokens/index.cjs";
4
+ import * as react from "react";
5
+
6
+ //#region src/components/Banner/Banner.d.ts
7
+ type HtmlDivProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'title'>;
8
+ interface BannerProps extends HtmlDivProps, UniversalBannerProps {
9
+ /** Accessible label for the dismiss button. @default "Dismiss" */
10
+ dismissAriaLabel?: string;
11
+ }
12
+ /**
13
+ * **An inline notification banner for contextual messages with optional actions.**
14
+ *
15
+ * @componentType Server component
16
+ *
17
+ * @description
18
+ * Banner is an inline, non-floating notification component that sits in normal document flow.
19
+ * It supports 12 color variants, an optional icon, title, description (truncated to 3 lines),
20
+ * composable actions via children, and an optional dismiss button.
21
+ *
22
+ * Use `title` and `description` props for simple text content, or pass `BannerContent`
23
+ * with `BannerTitle` and `BannerDescription` subcomponents for rich ReactNode content.
24
+ * Any non-BannerContent children are rendered in the actions area.
25
+ *
26
+ * @see
27
+ * Check out the {@link https://uds.build/docs/components/banner Banner Docs} for more info
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * // Simple — props-based
32
+ * <Banner variant="info" startIcon={Info} title="Update available" />
33
+ *
34
+ * // With actions as children
35
+ * <Banner variant="brand-secondary" startIcon={Megaphone} title="Notification"
36
+ * description="Description text." onDismiss={() => {}}>
37
+ * <Link href="/docs">Learn more</Link>
38
+ * <Button variant="secondary" size="sm">Edit</Button>
39
+ * <Button variant="brand" size="sm">Send</Button>
40
+ * </Banner>
41
+ *
42
+ * // Rich content via subcomponents
43
+ * <Banner variant="alert" startIcon={Error} onDismiss={() => {}}>
44
+ * <BannerContent>
45
+ * <BannerTitle>Error <strong>occurred</strong></BannerTitle>
46
+ * <BannerDescription>Something went wrong.</BannerDescription>
47
+ * </BannerContent>
48
+ * <Button variant="alert" size="sm">Retry</Button>
49
+ * </Banner>
50
+ * ```
51
+ *
52
+ * @related [Badge](https://uds.build/docs/components/badge), [Toast](https://uds.build/docs/components/toast)
53
+ **/
54
+ declare const Banner: react.ForwardRefExoticComponent<BannerProps & react.RefAttributes<HTMLDivElement>>;
55
+ //#endregion
56
+ export { Banner, type BannerProps };
@@ -0,0 +1,56 @@
1
+
2
+ import { UniversalBannerProps } from "../../types/dist/index.js";
3
+ import "../../tokens/index.js";
4
+ import * as react from "react";
5
+
6
+ //#region src/components/Banner/Banner.d.ts
7
+ type HtmlDivProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'title'>;
8
+ interface BannerProps extends HtmlDivProps, UniversalBannerProps {
9
+ /** Accessible label for the dismiss button. @default "Dismiss" */
10
+ dismissAriaLabel?: string;
11
+ }
12
+ /**
13
+ * **An inline notification banner for contextual messages with optional actions.**
14
+ *
15
+ * @componentType Server component
16
+ *
17
+ * @description
18
+ * Banner is an inline, non-floating notification component that sits in normal document flow.
19
+ * It supports 12 color variants, an optional icon, title, description (truncated to 3 lines),
20
+ * composable actions via children, and an optional dismiss button.
21
+ *
22
+ * Use `title` and `description` props for simple text content, or pass `BannerContent`
23
+ * with `BannerTitle` and `BannerDescription` subcomponents for rich ReactNode content.
24
+ * Any non-BannerContent children are rendered in the actions area.
25
+ *
26
+ * @see
27
+ * Check out the {@link https://uds.build/docs/components/banner Banner Docs} for more info
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * // Simple — props-based
32
+ * <Banner variant="info" startIcon={Info} title="Update available" />
33
+ *
34
+ * // With actions as children
35
+ * <Banner variant="brand-secondary" startIcon={Megaphone} title="Notification"
36
+ * description="Description text." onDismiss={() => {}}>
37
+ * <Link href="/docs">Learn more</Link>
38
+ * <Button variant="secondary" size="sm">Edit</Button>
39
+ * <Button variant="brand" size="sm">Send</Button>
40
+ * </Banner>
41
+ *
42
+ * // Rich content via subcomponents
43
+ * <Banner variant="alert" startIcon={Error} onDismiss={() => {}}>
44
+ * <BannerContent>
45
+ * <BannerTitle>Error <strong>occurred</strong></BannerTitle>
46
+ * <BannerDescription>Something went wrong.</BannerDescription>
47
+ * </BannerContent>
48
+ * <Button variant="alert" size="sm">Retry</Button>
49
+ * </Banner>
50
+ * ```
51
+ *
52
+ * @related [Badge](https://uds.build/docs/components/badge), [Toast](https://uds.build/docs/components/toast)
53
+ **/
54
+ declare const Banner: react.ForwardRefExoticComponent<BannerProps & react.RefAttributes<HTMLDivElement>>;
55
+ //#endregion
56
+ export { Banner, type BannerProps };
@@ -0,0 +1,165 @@
1
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
+ import { cx, getStyles } from "../../styles/styler.js";
3
+ import { Pressable } from "../client/Pressable.js";
4
+ import { IconSlot } from "../IconSlot.js";
5
+ import { Text } from "../Text.js";
6
+ import { BANNER_TO_BUTTON_VARIANT, hasDisplayName, separateChildren } from "./utils.js";
7
+ import { Cross } from "@yahoo/uds-icons";
8
+ import { cloneElement, forwardRef, isValidElement } from "react";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+
11
+ //#region src/components/Banner/Banner.tsx
12
+ const BASE_CLASS = "uds-banner";
13
+ /**
14
+ * Inject button variants on Button children that don't have an explicit
15
+ * variant set. The last unset Button gets the banner-mapped "primary"
16
+ * variant; any preceding unset Buttons get "secondary". Leaves Link,
17
+ * other elements, and Buttons with an explicit variant untouched.
18
+ */
19
+ function bindActionVariants(actions, bannerVariant) {
20
+ const primaryVariant = BANNER_TO_BUTTON_VARIANT[bannerVariant];
21
+ const unsetIndices = [];
22
+ actions.forEach((child, i) => {
23
+ if (hasDisplayName(child, "Button") && isValidElement(child) && child.props.variant === void 0) unsetIndices.push(i);
24
+ });
25
+ return actions.map((child, i) => {
26
+ if (!unsetIndices.includes(i)) return child;
27
+ const variant = i === unsetIndices[unsetIndices.length - 1] ? primaryVariant : "secondary";
28
+ return cloneElement(child, {
29
+ key: child.key ?? i,
30
+ variant
31
+ });
32
+ });
33
+ }
34
+ /**
35
+ * **An inline notification banner for contextual messages with optional actions.**
36
+ *
37
+ * @componentType Server component
38
+ *
39
+ * @description
40
+ * Banner is an inline, non-floating notification component that sits in normal document flow.
41
+ * It supports 12 color variants, an optional icon, title, description (truncated to 3 lines),
42
+ * composable actions via children, and an optional dismiss button.
43
+ *
44
+ * Use `title` and `description` props for simple text content, or pass `BannerContent`
45
+ * with `BannerTitle` and `BannerDescription` subcomponents for rich ReactNode content.
46
+ * Any non-BannerContent children are rendered in the actions area.
47
+ *
48
+ * @see
49
+ * Check out the {@link https://uds.build/docs/components/banner Banner Docs} for more info
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * // Simple — props-based
54
+ * <Banner variant="info" startIcon={Info} title="Update available" />
55
+ *
56
+ * // With actions as children
57
+ * <Banner variant="brand-secondary" startIcon={Megaphone} title="Notification"
58
+ * description="Description text." onDismiss={() => {}}>
59
+ * <Link href="/docs">Learn more</Link>
60
+ * <Button variant="secondary" size="sm">Edit</Button>
61
+ * <Button variant="brand" size="sm">Send</Button>
62
+ * </Banner>
63
+ *
64
+ * // Rich content via subcomponents
65
+ * <Banner variant="alert" startIcon={Error} onDismiss={() => {}}>
66
+ * <BannerContent>
67
+ * <BannerTitle>Error <strong>occurred</strong></BannerTitle>
68
+ * <BannerDescription>Something went wrong.</BannerDescription>
69
+ * </BannerContent>
70
+ * <Button variant="alert" size="sm">Retry</Button>
71
+ * </Banner>
72
+ * ```
73
+ *
74
+ * @related [Badge](https://uds.build/docs/components/badge), [Toast](https://uds.build/docs/components/toast)
75
+ **/
76
+ const Banner = forwardRef(function Banner({ variant = "primary", size = "default", startIcon, title, description, onDismiss, dismissAriaLabel = "Dismiss", className, children, ...rest }, ref) {
77
+ const hasTitle = !!(typeof title === "string" ? title.trim() : title);
78
+ const hasDescription = !!(typeof description === "string" ? description.trim() : description);
79
+ const rootStyles = getStyles({
80
+ bannerVariantRoot: variant,
81
+ bannerSizeRoot: size,
82
+ className: cx(BASE_CLASS, "flex flex-row", hasTitle !== hasDescription ? "items-center" : "items-start", "min-w-[300px]", "shadow-[inset_0px_-20px_20px_-10px_rgba(31,31,31,0.05)]", className)
83
+ });
84
+ const iconStyles = getStyles({
85
+ bannerVariantIcon: variant,
86
+ bannerSizeIcon: size
87
+ });
88
+ const titleStyles = getStyles({
89
+ bannerSizeTitle: size,
90
+ className: "truncate"
91
+ });
92
+ const descriptionStyles = getStyles({
93
+ bannerSizeDescription: size,
94
+ className: "line-clamp-3"
95
+ });
96
+ const dismissStyles = getStyles({ bannerSizeClose: size });
97
+ const { content: bannerContent, actions: rawActions } = separateChildren(children);
98
+ const actions = bindActionVariants(rawActions, variant);
99
+ const hasActions = actions.length > 0;
100
+ const contentArea = bannerContent ?? (hasTitle || hasDescription ? /* @__PURE__ */ jsxs("div", {
101
+ className: "flex flex-col self-stretch flex-1 min-w-0 gap-0.5",
102
+ "data-testid": "banner-content",
103
+ children: [hasTitle && (typeof title === "string" ? /* @__PURE__ */ jsx(Text, {
104
+ className: titleStyles,
105
+ "data-testid": "banner-title",
106
+ children: title
107
+ }) : /* @__PURE__ */ jsx("span", {
108
+ className: "w-full truncate leading-none",
109
+ "data-testid": "banner-title",
110
+ children: title
111
+ })), hasDescription && (typeof description === "string" ? /* @__PURE__ */ jsx(Text, {
112
+ className: descriptionStyles,
113
+ "data-testid": "banner-description",
114
+ children: description
115
+ }) : /* @__PURE__ */ jsx("span", {
116
+ className: "w-full line-clamp-3",
117
+ "data-testid": "banner-description",
118
+ children: description
119
+ }))]
120
+ }) : null);
121
+ const dismissContainerStyles = getStyles({
122
+ spacing: "2",
123
+ borderRadius: "full",
124
+ className: cx("transition-[background-color] motion-safe:duration-120", "bg-carbon-15/0 hover:bg-carbon-15/10 active:bg-carbon-15/15", "uds-ring", "shrink-0 self-start")
125
+ });
126
+ const dismissButton = onDismiss ? /* @__PURE__ */ jsx(Pressable, {
127
+ "aria-label": dismissAriaLabel,
128
+ onClick: onDismiss,
129
+ className: dismissContainerStyles,
130
+ "data-testid": "banner-dismiss",
131
+ children: /* @__PURE__ */ jsx(IconSlot, {
132
+ icon: Cross,
133
+ iconProps: {
134
+ color: "current",
135
+ className: dismissStyles
136
+ }
137
+ })
138
+ }) : null;
139
+ return /* @__PURE__ */ jsxs("div", {
140
+ ref,
141
+ className: rootStyles,
142
+ ...rest,
143
+ children: [
144
+ startIcon && /* @__PURE__ */ jsx(IconSlot, {
145
+ icon: startIcon,
146
+ iconProps: { color: "current" },
147
+ className: cx(iconStyles, "shrink-0"),
148
+ "data-testid": "banner-start-icon"
149
+ }),
150
+ /* @__PURE__ */ jsxs("div", {
151
+ className: cx("flex flex-1 min-w-0 flex-col items-start gap-[inherit] uds-sm:flex-row", hasTitle !== hasDescription && "uds-sm:items-center"),
152
+ children: [contentArea, hasActions && /* @__PURE__ */ jsx("div", {
153
+ className: "flex self-stretch flex-row items-center gap-1.5 uds-sm:self-center uds-sm:shrink-0",
154
+ "data-testid": "banner-actions",
155
+ children: actions
156
+ })]
157
+ }),
158
+ dismissButton
159
+ ]
160
+ });
161
+ });
162
+ Banner.displayName = "Banner";
163
+
164
+ //#endregion
165
+ export { Banner };
@@ -0,0 +1,20 @@
1
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
+ const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
4
+ const require_styles_styler = require('../../styles/styler.cjs');
5
+ let react = require("react");
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
+
8
+ //#region src/components/Banner/BannerContent.tsx
9
+ const BannerContent = (0, react.forwardRef)(function BannerContent({ children, className, ...rest }, ref) {
10
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
11
+ ref,
12
+ className: require_styles_styler.cx("flex flex-col items-start self-stretch flex-1 min-w-0", className),
13
+ ...rest,
14
+ children
15
+ });
16
+ });
17
+ BannerContent.displayName = "BannerContent";
18
+
19
+ //#endregion
20
+ exports.BannerContent = BannerContent;
@@ -0,0 +1,13 @@
1
+
2
+ import * as react from "react";
3
+ import { ReactNode } from "react";
4
+
5
+ //#region src/components/Banner/BannerContent.d.ts
6
+ type HtmlDivProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'color'>;
7
+ interface BannerContentProps extends HtmlDivProps {
8
+ children: ReactNode;
9
+ className?: string;
10
+ }
11
+ declare const BannerContent: react.ForwardRefExoticComponent<BannerContentProps & react.RefAttributes<HTMLDivElement>>;
12
+ //#endregion
13
+ export { BannerContent, type BannerContentProps };
@@ -0,0 +1,13 @@
1
+
2
+ import * as react from "react";
3
+ import { ReactNode } from "react";
4
+
5
+ //#region src/components/Banner/BannerContent.d.ts
6
+ type HtmlDivProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'color'>;
7
+ interface BannerContentProps extends HtmlDivProps {
8
+ children: ReactNode;
9
+ className?: string;
10
+ }
11
+ declare const BannerContent: react.ForwardRefExoticComponent<BannerContentProps & react.RefAttributes<HTMLDivElement>>;
12
+ //#endregion
13
+ export { BannerContent, type BannerContentProps };
@@ -0,0 +1,18 @@
1
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
+ import { cx } from "../../styles/styler.js";
3
+ import { forwardRef } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+
6
+ //#region src/components/Banner/BannerContent.tsx
7
+ const BannerContent = forwardRef(function BannerContent({ children, className, ...rest }, ref) {
8
+ return /* @__PURE__ */ jsx("div", {
9
+ ref,
10
+ className: cx("flex flex-col items-start self-stretch flex-1 min-w-0", className),
11
+ ...rest,
12
+ children
13
+ });
14
+ });
15
+ BannerContent.displayName = "BannerContent";
16
+
17
+ //#endregion
18
+ export { BannerContent };
@@ -0,0 +1,47 @@
1
+ /*! © 2026 Yahoo, Inc. UDS v0.0.0-development */
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
+ const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
4
+ const require_styles_styler = require('../../styles/styler.cjs');
5
+ const require_components_Text = require('../Text.cjs');
6
+ let react = require("react");
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+
9
+ //#region src/components/Banner/BannerDescription.tsx
10
+ /**
11
+ * **Styled description for use inside `BannerContent`.**
12
+ *
13
+ * @description
14
+ * Applies the Banner description typography tokens and truncates text to
15
+ * 3 lines. Use this subcomponent instead of the `description` prop when
16
+ * you need rich ReactNode content.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <Banner variant="alert" startIcon={Error}>
21
+ * <BannerContent>
22
+ * <BannerTitle>Something went wrong</BannerTitle>
23
+ * <BannerDescription>
24
+ * Please try again or <Link href="/support">contact support</Link>.
25
+ * </BannerDescription>
26
+ * </BannerContent>
27
+ * </Banner>
28
+ * ```
29
+ *
30
+ * @see {@link Banner} for the parent component
31
+ * @see {@link BannerContent} for the required wrapper
32
+ */
33
+ const BannerDescription = (0, react.forwardRef)(function BannerDescription({ children, className, ...rest }, ref) {
34
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_Text.Text, {
35
+ ref,
36
+ className: require_styles_styler.cx(require_styles_styler.getStyles({
37
+ bannerSizeDescription: "default",
38
+ className: "w-full line-clamp-3"
39
+ }), className),
40
+ ...rest,
41
+ children
42
+ });
43
+ });
44
+ BannerDescription.displayName = "BannerDescription";
45
+
46
+ //#endregion
47
+ exports.BannerDescription = BannerDescription;
@@ -0,0 +1,36 @@
1
+
2
+ import * as react from "react";
3
+ import { ReactNode } from "react";
4
+
5
+ //#region src/components/Banner/BannerDescription.d.ts
6
+ type HtmlSpanProps = Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'>;
7
+ interface BannerDescriptionProps extends HtmlSpanProps {
8
+ children: ReactNode;
9
+ className?: string;
10
+ }
11
+ /**
12
+ * **Styled description for use inside `BannerContent`.**
13
+ *
14
+ * @description
15
+ * Applies the Banner description typography tokens and truncates text to
16
+ * 3 lines. Use this subcomponent instead of the `description` prop when
17
+ * you need rich ReactNode content.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <Banner variant="alert" startIcon={Error}>
22
+ * <BannerContent>
23
+ * <BannerTitle>Something went wrong</BannerTitle>
24
+ * <BannerDescription>
25
+ * Please try again or <Link href="/support">contact support</Link>.
26
+ * </BannerDescription>
27
+ * </BannerContent>
28
+ * </Banner>
29
+ * ```
30
+ *
31
+ * @see {@link Banner} for the parent component
32
+ * @see {@link BannerContent} for the required wrapper
33
+ */
34
+ declare const BannerDescription: react.ForwardRefExoticComponent<BannerDescriptionProps & react.RefAttributes<HTMLElement>>;
35
+ //#endregion
36
+ export { BannerDescription, type BannerDescriptionProps };