@yahoo/uds 3.123.0 → 3.124.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 (320) hide show
  1. package/dist/components/client/AnimateHeightChange.cjs +1 -1
  2. package/dist/components/client/AnimateHeightChange.d.ts +1 -0
  3. package/dist/components/client/AnimateHeightChange.js +1 -1
  4. package/dist/components/client/Avatar/Avatar.cjs +1 -1
  5. package/dist/components/client/Avatar/Avatar.d.ts +1 -0
  6. package/dist/components/client/Avatar/Avatar.js +1 -1
  7. package/dist/components/client/Avatar/AvatarIcon.cjs +1 -1
  8. package/dist/components/client/Avatar/AvatarIcon.d.ts +1 -0
  9. package/dist/components/client/Avatar/AvatarIcon.js +1 -1
  10. package/dist/components/client/Avatar/AvatarImage.cjs +1 -1
  11. package/dist/components/client/Avatar/AvatarImage.d.ts +1 -0
  12. package/dist/components/client/Avatar/AvatarImage.js +1 -1
  13. package/dist/components/client/Avatar/AvatarText.cjs +1 -1
  14. package/dist/components/client/Avatar/AvatarText.d.ts +1 -0
  15. package/dist/components/client/Avatar/AvatarText.js +1 -1
  16. package/dist/components/client/Avatar/index.cjs +1 -1
  17. package/dist/components/client/Avatar/index.d.ts +1 -0
  18. package/dist/components/client/Avatar/index.js +1 -1
  19. package/dist/components/client/Avatar/utils.cjs +1 -1
  20. package/dist/components/client/Avatar/utils.d.ts +1 -0
  21. package/dist/components/client/Avatar/utils.js +1 -1
  22. package/dist/components/client/Badge.cjs +1 -1
  23. package/dist/components/client/Badge.d.ts +1 -0
  24. package/dist/components/client/Badge.js +1 -1
  25. package/dist/components/client/BottomSheet/BottomSheet.cjs +1 -1
  26. package/dist/components/client/BottomSheet/BottomSheet.d.ts +1 -0
  27. package/dist/components/client/BottomSheet/BottomSheet.js +1 -1
  28. package/dist/components/client/BottomSheet/BottomSheetContent.cjs +1 -1
  29. package/dist/components/client/BottomSheet/BottomSheetContent.d.ts +1 -0
  30. package/dist/components/client/BottomSheet/BottomSheetContent.js +1 -1
  31. package/dist/components/client/BottomSheet/BottomSheetDismiss.cjs +1 -1
  32. package/dist/components/client/BottomSheet/BottomSheetDismiss.d.ts +1 -0
  33. package/dist/components/client/BottomSheet/BottomSheetDismiss.js +1 -1
  34. package/dist/components/client/BottomSheet/BottomSheetHandle.cjs +1 -1
  35. package/dist/components/client/BottomSheet/BottomSheetHandle.d.ts +1 -0
  36. package/dist/components/client/BottomSheet/BottomSheetHandle.js +1 -1
  37. package/dist/components/client/BottomSheet/BottomSheetHeader.cjs +1 -1
  38. package/dist/components/client/BottomSheet/BottomSheetHeader.d.ts +1 -0
  39. package/dist/components/client/BottomSheet/BottomSheetHeader.js +1 -1
  40. package/dist/components/client/BottomSheet/BottomSheetInternalContext.cjs +1 -1
  41. package/dist/components/client/BottomSheet/BottomSheetInternalContext.d.ts +1 -0
  42. package/dist/components/client/BottomSheet/BottomSheetInternalContext.js +1 -1
  43. package/dist/components/client/BottomSheet/BottomSheetProvider.cjs +1 -1
  44. package/dist/components/client/BottomSheet/BottomSheetProvider.d.ts +1 -0
  45. package/dist/components/client/BottomSheet/BottomSheetProvider.js +1 -1
  46. package/dist/components/client/BottomSheet/BottomSheetTrigger.cjs +1 -1
  47. package/dist/components/client/BottomSheet/BottomSheetTrigger.d.ts +1 -0
  48. package/dist/components/client/BottomSheet/BottomSheetTrigger.js +1 -1
  49. package/dist/components/client/BottomSheet/UDSBottomSheetConfigProvider.cjs +1 -1
  50. package/dist/components/client/BottomSheet/UDSBottomSheetConfigProvider.d.ts +1 -0
  51. package/dist/components/client/BottomSheet/UDSBottomSheetConfigProvider.js +1 -1
  52. package/dist/components/client/BottomSheet/index.cjs +1 -1
  53. package/dist/components/client/BottomSheet/index.d.ts +1 -0
  54. package/dist/components/client/BottomSheet/index.js +1 -1
  55. package/dist/components/client/BottomSheet/useBottomSheetDrag.cjs +1 -1
  56. package/dist/components/client/BottomSheet/useBottomSheetDrag.d.ts +1 -0
  57. package/dist/components/client/BottomSheet/useBottomSheetDrag.js +1 -1
  58. package/dist/components/client/BottomSheet/useBottomSheetSnapModel.cjs +1 -1
  59. package/dist/components/client/BottomSheet/useBottomSheetSnapModel.d.ts +1 -0
  60. package/dist/components/client/BottomSheet/useBottomSheetSnapModel.js +1 -1
  61. package/dist/components/client/BottomSheet/useBottomSheetStore.cjs +1 -1
  62. package/dist/components/client/BottomSheet/useBottomSheetStore.d.ts +1 -0
  63. package/dist/components/client/BottomSheet/useBottomSheetStore.js +1 -1
  64. package/dist/components/client/BottomSheet/useBottomSheetStoreInternal.cjs +1 -1
  65. package/dist/components/client/BottomSheet/useBottomSheetStoreInternal.d.ts +1 -0
  66. package/dist/components/client/BottomSheet/useBottomSheetStoreInternal.js +1 -1
  67. package/dist/components/client/BottomSheet/useExpansionMargins.cjs +1 -1
  68. package/dist/components/client/BottomSheet/useExpansionMargins.d.ts +1 -0
  69. package/dist/components/client/BottomSheet/useExpansionMargins.js +1 -1
  70. package/dist/components/client/BottomSheet/useViewportHeight.cjs +1 -1
  71. package/dist/components/client/BottomSheet/useViewportHeight.d.ts +1 -0
  72. package/dist/components/client/BottomSheet/useViewportHeight.js +1 -1
  73. package/dist/components/client/BottomSheet/useVirtualKeyboard.cjs +1 -1
  74. package/dist/components/client/BottomSheet/useVirtualKeyboard.d.ts +1 -0
  75. package/dist/components/client/BottomSheet/useVirtualKeyboard.js +1 -1
  76. package/dist/components/client/BottomSheet/utils.cjs +1 -1
  77. package/dist/components/client/BottomSheet/utils.d.ts +1 -0
  78. package/dist/components/client/BottomSheet/utils.js +1 -1
  79. package/dist/components/client/Button.cjs +1 -1
  80. package/dist/components/client/Button.d.ts +1 -0
  81. package/dist/components/client/Button.js +1 -1
  82. package/dist/components/client/Checkbox.cjs +1 -1
  83. package/dist/components/client/Checkbox.d.ts +1 -0
  84. package/dist/components/client/Checkbox.js +1 -1
  85. package/dist/components/client/Chip/Chip.cjs +1 -1
  86. package/dist/components/client/Chip/Chip.d.ts +1 -0
  87. package/dist/components/client/Chip/Chip.js +1 -1
  88. package/dist/components/client/Chip/ChipBase.cjs +1 -1
  89. package/dist/components/client/Chip/ChipBase.d.ts +1 -0
  90. package/dist/components/client/Chip/ChipBase.js +1 -1
  91. package/dist/components/client/Chip/ChipButton.cjs +1 -1
  92. package/dist/components/client/Chip/ChipButton.d.ts +1 -0
  93. package/dist/components/client/Chip/ChipButton.js +1 -1
  94. package/dist/components/client/Chip/ChipDismissible.cjs +1 -1
  95. package/dist/components/client/Chip/ChipDismissible.d.ts +1 -0
  96. package/dist/components/client/Chip/ChipDismissible.js +1 -1
  97. package/dist/components/client/Chip/ChipLink.cjs +1 -1
  98. package/dist/components/client/Chip/ChipLink.d.ts +1 -0
  99. package/dist/components/client/Chip/ChipLink.js +1 -1
  100. package/dist/components/client/Chip/ChipToggle.cjs +1 -1
  101. package/dist/components/client/Chip/ChipToggle.d.ts +1 -0
  102. package/dist/components/client/Chip/ChipToggle.js +1 -1
  103. package/dist/components/client/Chip/index.cjs +1 -1
  104. package/dist/components/client/Chip/index.d.ts +1 -0
  105. package/dist/components/client/Chip/index.js +1 -1
  106. package/dist/components/client/IconButton.cjs +1 -1
  107. package/dist/components/client/IconButton.d.ts +1 -0
  108. package/dist/components/client/IconButton.js +1 -1
  109. package/dist/components/client/Input/Input.cjs +1 -1
  110. package/dist/components/client/Input/Input.d.ts +1 -0
  111. package/dist/components/client/Input/Input.js +1 -1
  112. package/dist/components/client/Input/InputHelpText.cjs +1 -1
  113. package/dist/components/client/Input/InputHelpText.d.ts +1 -0
  114. package/dist/components/client/Input/InputHelpText.js +1 -1
  115. package/dist/components/client/Input/InputHelpTextInternal.cjs +1 -1
  116. package/dist/components/client/Input/InputHelpTextInternal.d.ts +1 -0
  117. package/dist/components/client/Input/InputHelpTextInternal.js +1 -1
  118. package/dist/components/client/Input/index.cjs +1 -1
  119. package/dist/components/client/Input/index.d.ts +1 -0
  120. package/dist/components/client/Input/index.js +1 -1
  121. package/dist/components/client/Menu/Menu.Content.cjs +1 -1
  122. package/dist/components/client/Menu/Menu.Content.d.ts +1 -0
  123. package/dist/components/client/Menu/Menu.Content.js +1 -1
  124. package/dist/components/client/Menu/Menu.Divider.cjs +1 -1
  125. package/dist/components/client/Menu/Menu.Divider.d.ts +1 -0
  126. package/dist/components/client/Menu/Menu.Divider.js +1 -1
  127. package/dist/components/client/Menu/Menu.Item.cjs +1 -1
  128. package/dist/components/client/Menu/Menu.Item.d.ts +1 -0
  129. package/dist/components/client/Menu/Menu.Item.js +1 -1
  130. package/dist/components/client/Menu/Menu.ItemBase.cjs +1 -1
  131. package/dist/components/client/Menu/Menu.ItemBase.d.ts +1 -0
  132. package/dist/components/client/Menu/Menu.ItemBase.js +1 -1
  133. package/dist/components/client/Menu/Menu.ItemCheckbox.cjs +1 -1
  134. package/dist/components/client/Menu/Menu.ItemCheckbox.d.cts +1 -1
  135. package/dist/components/client/Menu/Menu.ItemCheckbox.d.ts +2 -1
  136. package/dist/components/client/Menu/Menu.ItemCheckbox.js +1 -1
  137. package/dist/components/client/Menu/Menu.Provider.cjs +1 -1
  138. package/dist/components/client/Menu/Menu.Provider.d.ts +1 -0
  139. package/dist/components/client/Menu/Menu.Provider.js +1 -1
  140. package/dist/components/client/Menu/Menu.Trigger.cjs +1 -1
  141. package/dist/components/client/Menu/Menu.Trigger.d.ts +1 -0
  142. package/dist/components/client/Menu/Menu.Trigger.js +1 -1
  143. package/dist/components/client/Menu/Menu.cjs +1 -1
  144. package/dist/components/client/Menu/Menu.d.ts +1 -0
  145. package/dist/components/client/Menu/Menu.index.cjs +1 -1
  146. package/dist/components/client/Menu/Menu.index.d.ts +1 -0
  147. package/dist/components/client/Menu/Menu.index.js +1 -1
  148. package/dist/components/client/Menu/Menu.js +1 -1
  149. package/dist/components/client/Menu/index.cjs +1 -1
  150. package/dist/components/client/Menu/index.d.ts +1 -0
  151. package/dist/components/client/Menu/index.js +1 -1
  152. package/dist/components/client/Menu/utils/transformAriakitPlacement.cjs +1 -1
  153. package/dist/components/client/Menu/utils/transformAriakitPlacement.d.ts +1 -0
  154. package/dist/components/client/Menu/utils/transformAriakitPlacement.js +1 -1
  155. package/dist/components/client/Popover/Popover.cjs +1 -1
  156. package/dist/components/client/Popover/Popover.d.ts +1 -0
  157. package/dist/components/client/Popover/Popover.js +1 -1
  158. package/dist/components/client/Popover/PopoverContent.cjs +1 -1
  159. package/dist/components/client/Popover/PopoverContent.d.ts +1 -0
  160. package/dist/components/client/Popover/PopoverContent.js +1 -1
  161. package/dist/components/client/Popover/PopoverContext.cjs +1 -1
  162. package/dist/components/client/Popover/PopoverContext.d.ts +1 -0
  163. package/dist/components/client/Popover/PopoverContext.js +1 -1
  164. package/dist/components/client/Popover/PopoverTrigger.cjs +1 -1
  165. package/dist/components/client/Popover/PopoverTrigger.d.ts +1 -0
  166. package/dist/components/client/Popover/PopoverTrigger.js +1 -1
  167. package/dist/components/client/Popover/UDSPopoverConfigProvider.cjs +1 -1
  168. package/dist/components/client/Popover/UDSPopoverConfigProvider.d.cts +1 -1
  169. package/dist/components/client/Popover/UDSPopoverConfigProvider.d.ts +2 -1
  170. package/dist/components/client/Popover/UDSPopoverConfigProvider.js +1 -1
  171. package/dist/components/client/Popover/index.cjs +1 -1
  172. package/dist/components/client/Popover/index.d.ts +1 -0
  173. package/dist/components/client/Popover/index.js +1 -1
  174. package/dist/components/client/Pressable.cjs +1 -1
  175. package/dist/components/client/Pressable.d.ts +1 -0
  176. package/dist/components/client/Pressable.js +1 -1
  177. package/dist/components/client/Radio/Radio.cjs +1 -1
  178. package/dist/components/client/Radio/Radio.d.ts +1 -0
  179. package/dist/components/client/Radio/Radio.js +1 -1
  180. package/dist/components/client/Radio/RadioGroupProvider.cjs +1 -1
  181. package/dist/components/client/Radio/RadioGroupProvider.d.ts +1 -0
  182. package/dist/components/client/Radio/RadioGroupProvider.js +1 -1
  183. package/dist/components/client/Radio/RadioGroupStore.cjs +1 -1
  184. package/dist/components/client/Radio/RadioGroupStore.d.ts +1 -0
  185. package/dist/components/client/Radio/RadioGroupStore.js +1 -1
  186. package/dist/components/client/Radio/index.cjs +1 -1
  187. package/dist/components/client/Radio/index.d.ts +1 -0
  188. package/dist/components/client/Radio/index.js +1 -1
  189. package/dist/components/client/Radio/useRadioGroup.cjs +1 -1
  190. package/dist/components/client/Radio/useRadioGroup.d.ts +1 -0
  191. package/dist/components/client/Radio/useRadioGroup.js +1 -1
  192. package/dist/components/client/SpringMotionConfig.cjs +1 -1
  193. package/dist/components/client/SpringMotionConfig.d.ts +1 -0
  194. package/dist/components/client/SpringMotionConfig.js +1 -1
  195. package/dist/components/client/Switch.cjs +1 -1
  196. package/dist/components/client/Switch.d.ts +1 -0
  197. package/dist/components/client/Switch.js +1 -1
  198. package/dist/components/client/Toast/Toast.cjs +1 -1
  199. package/dist/components/client/Toast/Toast.d.ts +1 -0
  200. package/dist/components/client/Toast/Toast.js +1 -1
  201. package/dist/components/client/Toast/ToastContainer.cjs +1 -1
  202. package/dist/components/client/Toast/ToastContainer.d.ts +1 -0
  203. package/dist/components/client/Toast/ToastContainer.js +1 -1
  204. package/dist/components/client/Toast/ToastPortal.cjs +1 -1
  205. package/dist/components/client/Toast/ToastPortal.d.ts +1 -0
  206. package/dist/components/client/Toast/ToastPortal.js +1 -1
  207. package/dist/components/client/Toast/UDSToastConfigProvider.cjs +1 -1
  208. package/dist/components/client/Toast/UDSToastConfigProvider.d.cts +5 -5
  209. package/dist/components/client/Toast/UDSToastConfigProvider.d.ts +6 -5
  210. package/dist/components/client/Toast/UDSToastConfigProvider.js +1 -1
  211. package/dist/components/client/Toast/createToast.cjs +1 -1
  212. package/dist/components/client/Toast/createToast.d.ts +1 -0
  213. package/dist/components/client/Toast/createToast.js +1 -1
  214. package/dist/components/client/Toast/index.cjs +1 -1
  215. package/dist/components/client/Toast/index.d.ts +1 -0
  216. package/dist/components/client/Toast/index.js +1 -1
  217. package/dist/components/client/Tooltip/Tooltip.cjs +1 -1
  218. package/dist/components/client/Tooltip/Tooltip.d.ts +1 -0
  219. package/dist/components/client/Tooltip/Tooltip.js +1 -1
  220. package/dist/components/client/Tooltip/TooltipContent.cjs +1 -1
  221. package/dist/components/client/Tooltip/TooltipContent.d.ts +1 -0
  222. package/dist/components/client/Tooltip/TooltipContent.js +1 -1
  223. package/dist/components/client/Tooltip/TooltipTrigger.cjs +1 -1
  224. package/dist/components/client/Tooltip/TooltipTrigger.d.ts +1 -0
  225. package/dist/components/client/Tooltip/TooltipTrigger.js +1 -1
  226. package/dist/components/client/Tooltip/UDSTooltipConfigProvider.cjs +1 -1
  227. package/dist/components/client/Tooltip/UDSTooltipConfigProvider.d.ts +1 -0
  228. package/dist/components/client/Tooltip/UDSTooltipConfigProvider.js +1 -1
  229. package/dist/components/client/Tooltip/index.cjs +1 -1
  230. package/dist/components/client/Tooltip/index.d.ts +1 -0
  231. package/dist/components/client/Tooltip/index.js +1 -1
  232. package/dist/components/client/Tooltip/tooltipContext.cjs +1 -1
  233. package/dist/components/client/Tooltip/tooltipContext.d.ts +1 -0
  234. package/dist/components/client/Tooltip/tooltipContext.js +1 -1
  235. package/dist/components/client/buttonConstants.cjs +1 -1
  236. package/dist/components/client/buttonConstants.d.ts +1 -0
  237. package/dist/components/client/buttonConstants.js +1 -1
  238. package/dist/components/client/index.cjs +1 -1
  239. package/dist/components/client/index.d.ts +1 -0
  240. package/dist/components/client/index.js +1 -1
  241. package/dist/components/client/motionFeatures/domAnimation.cjs +1 -1
  242. package/dist/components/client/motionFeatures/domAnimation.d.ts +1 -0
  243. package/dist/components/client/motionFeatures/domAnimation.js +1 -1
  244. package/dist/components/client/motionFeatures/domMax.cjs +1 -1
  245. package/dist/components/client/motionFeatures/domMax.d.ts +1 -0
  246. package/dist/components/client/motionFeatures/domMax.js +1 -1
  247. package/dist/components/client/providers/UDSBreakpointsConfigProvider.cjs +1 -1
  248. package/dist/components/client/providers/UDSBreakpointsConfigProvider.d.ts +1 -0
  249. package/dist/components/client/providers/UDSBreakpointsConfigProvider.js +1 -1
  250. package/dist/components/client/providers/UDSConfigProvider.cjs +1 -1
  251. package/dist/components/client/providers/UDSConfigProvider.d.ts +1 -0
  252. package/dist/components/client/providers/UDSConfigProvider.js +1 -1
  253. package/dist/components/experimental/client/Accordion.cjs +1 -1
  254. package/dist/components/experimental/client/Accordion.d.ts +1 -0
  255. package/dist/components/experimental/client/Accordion.js +1 -1
  256. package/dist/components/experimental/client/AvoidMotionLibraryProvider.cjs +1 -1
  257. package/dist/components/experimental/client/AvoidMotionLibraryProvider.d.ts +1 -0
  258. package/dist/components/experimental/client/AvoidMotionLibraryProvider.js +1 -1
  259. package/dist/components/experimental/client/Modal.cjs +1 -1
  260. package/dist/components/experimental/client/Modal.d.ts +1 -0
  261. package/dist/components/experimental/client/Modal.js +1 -1
  262. package/dist/components/experimental/client/SegmentedControl.cjs +1 -1
  263. package/dist/components/experimental/client/SegmentedControl.d.ts +1 -0
  264. package/dist/components/experimental/client/SegmentedControl.js +1 -1
  265. package/dist/components/experimental/client/SwitchV2.cjs +1 -1
  266. package/dist/components/experimental/client/SwitchV2.d.ts +1 -0
  267. package/dist/components/experimental/client/SwitchV2.js +1 -1
  268. package/dist/components/experimental/client/Tabs.cjs +1 -1
  269. package/dist/components/experimental/client/Tabs.d.ts +1 -0
  270. package/dist/components/experimental/client/Tabs.js +1 -1
  271. package/dist/components/experimental/client/index.cjs +1 -1
  272. package/dist/components/experimental/client/index.d.ts +1 -0
  273. package/dist/components/experimental/client/index.js +1 -1
  274. package/dist/styles/styler.d.cts +32 -32
  275. package/dist/styles/styler.d.ts +32 -32
  276. package/dist/tailwind/dist/commands/css.cjs +17 -3
  277. package/dist/tailwind/dist/commands/css.d.cts.map +1 -1
  278. package/dist/tailwind/dist/commands/css.d.ts.map +1 -1
  279. package/dist/tailwind/dist/commands/css.helpers.cjs +2 -1
  280. package/dist/tailwind/dist/commands/css.helpers.js +2 -1
  281. package/dist/tailwind/dist/commands/css.helpers.js.map +1 -1
  282. package/dist/tailwind/dist/commands/css.js +17 -3
  283. package/dist/tailwind/dist/commands/css.js.map +1 -1
  284. package/dist/tailwind/dist/css/generate.cjs +3 -0
  285. package/dist/tailwind/dist/css/generate.helpers.cjs +14 -6
  286. package/dist/tailwind/dist/css/generate.helpers.js +15 -7
  287. package/dist/tailwind/dist/css/generate.helpers.js.map +1 -1
  288. package/dist/tailwind/dist/css/generate.js +3 -0
  289. package/dist/tailwind/dist/css/generate.js.map +1 -1
  290. package/dist/tailwind/dist/css/nodeUtils.cjs +91 -20
  291. package/dist/tailwind/dist/css/nodeUtils.js +90 -21
  292. package/dist/tailwind/dist/css/nodeUtils.js.map +1 -1
  293. package/dist/tailwind/dist/css/postcss.cjs +22 -1
  294. package/dist/tailwind/dist/css/postcss.helpers.cjs +12 -1
  295. package/dist/tailwind/dist/css/postcss.helpers.js +11 -1
  296. package/dist/tailwind/dist/css/postcss.helpers.js.map +1 -1
  297. package/dist/tailwind/dist/css/postcss.js +22 -2
  298. package/dist/tailwind/dist/css/postcss.js.map +1 -1
  299. package/dist/tailwind/dist/css/runner.cjs +171 -20
  300. package/dist/tailwind/dist/css/runner.helpers.cjs +58 -6
  301. package/dist/tailwind/dist/css/runner.helpers.js +54 -7
  302. package/dist/tailwind/dist/css/runner.helpers.js.map +1 -1
  303. package/dist/tailwind/dist/css/runner.js +172 -20
  304. package/dist/tailwind/dist/css/runner.js.map +1 -1
  305. package/dist/tailwind/dist/css/theme.d.cts +11 -0
  306. package/dist/tailwind/dist/css/theme.d.cts.map +1 -1
  307. package/dist/tailwind/dist/css/theme.d.ts +11 -0
  308. package/dist/tailwind/dist/css/theme.d.ts.map +1 -1
  309. package/dist/tailwind/dist/css/theme.js.map +1 -1
  310. package/dist/tailwind/dist/purger/optimized/ast/expressions.cjs +26 -3
  311. package/dist/tailwind/dist/purger/optimized/ast/expressions.js +26 -3
  312. package/dist/tailwind/dist/purger/optimized/ast/expressions.js.map +1 -1
  313. package/dist/tailwind/dist/tailwind/utils/getFontStyles.d.cts +1 -1
  314. package/dist/tailwind/dist/tailwind/utils/getFontStyles.d.ts +1 -1
  315. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.d.cts +4 -4
  316. package/dist/tailwind/dist/tailwind/utils/getShadowStyles.d.ts +4 -4
  317. package/dist/uds/generated/componentData.cjs +1202 -1202
  318. package/dist/uds/generated/componentData.js +1202 -1202
  319. package/generated/componentData.json +1610 -1610
  320. package/package.json +1 -1
@@ -17,20 +17,20 @@ declare const getStylesInternal: (props?: ({
17
17
  avatarTextVariantRoot?: "primary" | "secondary" | "default" | undefined;
18
18
  badgeSizeIcon?: "xs" | "sm" | "md" | "lg" | "default" | undefined;
19
19
  badgeSizeRoot?: "xs" | "sm" | "md" | "lg" | "default" | undefined;
20
- badgeVariantIcon?: "alert" | "primary" | "secondary" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "default" | undefined;
21
- badgeVariantRoot?: "alert" | "primary" | "secondary" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "default" | undefined;
20
+ badgeVariantIcon?: "primary" | "secondary" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "default" | undefined;
21
+ badgeVariantRoot?: "primary" | "secondary" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "default" | undefined;
22
22
  bottomsheetVariantHandleIndicator?: "default" | undefined;
23
23
  bottomsheetVariantHeader?: "default" | undefined;
24
24
  bottomsheetVariantRoot?: "default" | undefined;
25
25
  buttonSizeIcon?: "xs" | "sm" | "md" | "lg" | "default" | undefined;
26
26
  buttonSizeRoot?: "xs" | "sm" | "md" | "lg" | "default" | undefined;
27
- buttonVariantIcon?: "alert" | "primary" | "secondary" | "tertiary" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "default" | "alert-tertiary" | "brand-tertiary" | "contrast-high" | "contrast-low" | "contrast-medium" | "info-tertiary" | "positive-tertiary" | "warning-tertiary" | undefined;
28
- buttonVariantRoot?: "alert" | "primary" | "secondary" | "tertiary" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "default" | "alert-tertiary" | "brand-tertiary" | "contrast-high" | "contrast-low" | "contrast-medium" | "info-tertiary" | "positive-tertiary" | "warning-tertiary" | undefined;
27
+ buttonVariantIcon?: "primary" | "secondary" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "tertiary" | "default" | "alert-tertiary" | "brand-tertiary" | "contrast-high" | "contrast-low" | "contrast-medium" | "info-tertiary" | "positive-tertiary" | "warning-tertiary" | undefined;
28
+ buttonVariantRoot?: "primary" | "secondary" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "tertiary" | "default" | "alert-tertiary" | "brand-tertiary" | "contrast-high" | "contrast-low" | "contrast-medium" | "info-tertiary" | "positive-tertiary" | "warning-tertiary" | undefined;
29
29
  checkboxSizeCheckbox?: "sm" | "md" | "default" | undefined;
30
30
  checkboxSizeRoot?: "sm" | "md" | "default" | undefined;
31
- checkboxVariantCheckbox?: "alert" | "primary" | "secondary" | "alert-secondary" | "default" | undefined;
32
- checkboxVariantCheckboxIcon?: "alert" | "primary" | "secondary" | "alert-secondary" | "default" | undefined;
33
- checkboxVariantRoot?: "alert" | "primary" | "secondary" | "alert-secondary" | "default" | undefined;
31
+ checkboxVariantCheckbox?: "primary" | "secondary" | "alert" | "alert-secondary" | "default" | undefined;
32
+ checkboxVariantCheckboxIcon?: "primary" | "secondary" | "alert" | "alert-secondary" | "default" | undefined;
33
+ checkboxVariantRoot?: "primary" | "secondary" | "alert" | "alert-secondary" | "default" | undefined;
34
34
  checkboxVariantValueCheckbox?: "checked" | "indeterminate" | "unchecked" | undefined;
35
35
  checkboxVariantValueCheckboxIcon?: "checked" | "indeterminate" | "unchecked" | undefined;
36
36
  checkboxVariantValueRoot?: "checked" | "indeterminate" | "unchecked" | undefined;
@@ -117,9 +117,9 @@ declare const getStylesInternal: (props?: ({
117
117
  popoverVariantSvgBorder?: "default" | undefined;
118
118
  radioSizeRadio?: "sm" | "md" | "default" | undefined;
119
119
  radioSizeRoot?: "sm" | "md" | "default" | undefined;
120
- radioVariantRadio?: "alert" | "primary" | "secondary" | "alert-secondary" | "default" | undefined;
121
- radioVariantRadioCircle?: "alert" | "primary" | "secondary" | "alert-secondary" | "default" | undefined;
122
- radioVariantRoot?: "alert" | "primary" | "secondary" | "alert-secondary" | "default" | undefined;
120
+ radioVariantRadio?: "primary" | "secondary" | "alert" | "alert-secondary" | "default" | undefined;
121
+ radioVariantRadioCircle?: "primary" | "secondary" | "alert" | "alert-secondary" | "default" | undefined;
122
+ radioVariantRoot?: "primary" | "secondary" | "alert" | "alert-secondary" | "default" | undefined;
123
123
  radioVariantValueRadio?: "checked" | "unchecked" | undefined;
124
124
  radioVariantValueRadioCircle?: "checked" | "unchecked" | undefined;
125
125
  radioVariantValueRoot?: "checked" | "unchecked" | undefined;
@@ -155,11 +155,11 @@ declare const getStylesInternal: (props?: ({
155
155
  tooltipVariantIcon?: "default" | undefined;
156
156
  tooltipVariantRoot?: "default" | undefined;
157
157
  tooltipVariantSvg?: "default" | undefined;
158
- color?: "alert" | "primary" | "secondary" | "tertiary" | "muted" | "on-color" | "accent" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | undefined;
159
- placeholderColor?: "alert" | "primary" | "secondary" | "tertiary" | "muted" | "on-color" | "accent" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | undefined;
158
+ color?: "primary" | "secondary" | "accent" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "tertiary" | "muted" | "on-color" | undefined;
159
+ placeholderColor?: "primary" | "secondary" | "accent" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "tertiary" | "muted" | "on-color" | undefined;
160
160
  fontFamily?: "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "label3" | "label4" | "caption1" | "caption2" | "legal1" | "ui1" | "ui2" | "ui3" | "ui4" | "ui5" | "ui6" | "display1/emphasized" | "display2/emphasized" | "display3/emphasized" | "title1/emphasized" | "title2/emphasized" | "title3/emphasized" | "title4/emphasized" | "headline1/emphasized" | "body1/emphasized" | "label1/emphasized" | "label2/emphasized" | "label3/emphasized" | "label4/emphasized" | "caption1/emphasized" | "caption2/emphasized" | "legal1/emphasized" | "ui1/emphasized" | "ui2/emphasized" | "ui3/emphasized" | "ui4/emphasized" | "ui5/emphasized" | "ui6/emphasized" | "sans" | "sans-alt" | "serif" | "serif-alt" | "mono" | undefined;
161
161
  fontSize?: "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "label3" | "label4" | "caption1" | "caption2" | "legal1" | "ui1" | "ui2" | "ui3" | "ui4" | "ui5" | "ui6" | "display1/emphasized" | "display2/emphasized" | "display3/emphasized" | "title1/emphasized" | "title2/emphasized" | "title3/emphasized" | "title4/emphasized" | "headline1/emphasized" | "body1/emphasized" | "label1/emphasized" | "label2/emphasized" | "label3/emphasized" | "label4/emphasized" | "caption1/emphasized" | "caption2/emphasized" | "legal1/emphasized" | "ui1/emphasized" | "ui2/emphasized" | "ui3/emphasized" | "ui4/emphasized" | "ui5/emphasized" | "ui6/emphasized" | undefined;
162
- fontWeight?: "black" | "bold" | "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "label3" | "label4" | "caption1" | "caption2" | "legal1" | "ui1" | "ui2" | "ui3" | "ui4" | "ui5" | "ui6" | "display1/emphasized" | "display2/emphasized" | "display3/emphasized" | "title1/emphasized" | "title2/emphasized" | "title3/emphasized" | "title4/emphasized" | "headline1/emphasized" | "body1/emphasized" | "label1/emphasized" | "label2/emphasized" | "label3/emphasized" | "label4/emphasized" | "caption1/emphasized" | "caption2/emphasized" | "legal1/emphasized" | "ui1/emphasized" | "ui2/emphasized" | "ui3/emphasized" | "ui4/emphasized" | "ui5/emphasized" | "ui6/emphasized" | "thin" | "extralight" | "light" | "regular" | "medium" | "semibold" | "extrabold" | undefined;
162
+ fontWeight?: "black" | "thin" | "medium" | "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "label3" | "label4" | "caption1" | "caption2" | "legal1" | "ui1" | "ui2" | "ui3" | "ui4" | "ui5" | "ui6" | "display1/emphasized" | "display2/emphasized" | "display3/emphasized" | "title1/emphasized" | "title2/emphasized" | "title3/emphasized" | "title4/emphasized" | "headline1/emphasized" | "body1/emphasized" | "label1/emphasized" | "label2/emphasized" | "label3/emphasized" | "label4/emphasized" | "caption1/emphasized" | "caption2/emphasized" | "legal1/emphasized" | "ui1/emphasized" | "ui2/emphasized" | "ui3/emphasized" | "ui4/emphasized" | "ui5/emphasized" | "ui6/emphasized" | "bold" | "extralight" | "light" | "regular" | "semibold" | "extrabold" | undefined;
163
163
  lineHeight?: "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "label3" | "label4" | "caption1" | "caption2" | "legal1" | "ui1" | "ui2" | "ui3" | "ui4" | "ui5" | "ui6" | "display1/emphasized" | "display2/emphasized" | "display3/emphasized" | "title1/emphasized" | "title2/emphasized" | "title3/emphasized" | "title4/emphasized" | "headline1/emphasized" | "body1/emphasized" | "label1/emphasized" | "label2/emphasized" | "label3/emphasized" | "label4/emphasized" | "caption1/emphasized" | "caption2/emphasized" | "legal1/emphasized" | "ui1/emphasized" | "ui2/emphasized" | "ui3/emphasized" | "ui4/emphasized" | "ui5/emphasized" | "ui6/emphasized" | undefined;
164
164
  letterSpacing?: "display1" | "display2" | "display3" | "title1" | "title2" | "title3" | "title4" | "headline1" | "body1" | "label1" | "label2" | "label3" | "label4" | "caption1" | "caption2" | "legal1" | "ui1" | "ui2" | "ui3" | "ui4" | "ui5" | "ui6" | "display1/emphasized" | "display2/emphasized" | "display3/emphasized" | "title1/emphasized" | "title2/emphasized" | "title3/emphasized" | "title4/emphasized" | "headline1/emphasized" | "body1/emphasized" | "label1/emphasized" | "label2/emphasized" | "label3/emphasized" | "label4/emphasized" | "caption1/emphasized" | "caption2/emphasized" | "legal1/emphasized" | "ui1/emphasized" | "ui2/emphasized" | "ui3/emphasized" | "ui4/emphasized" | "ui5/emphasized" | "ui6/emphasized" | undefined;
165
165
  textAlign?: "center" | "justify" | "start" | "end" | undefined;
@@ -180,50 +180,50 @@ declare const getStylesInternal: (props?: ({
180
180
  offsetTop?: "0" | "1" | "2" | "3" | "4" | "5" | "px" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "14" | "16" | "20" | "24" | "28" | "32" | "36" | "40" | "44" | "48" | "52" | "56" | "60" | "64" | "72" | "80" | "96" | undefined;
181
181
  columnGap?: "0" | "1" | "2" | "3" | "4" | "5" | "px" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "14" | "16" | "20" | "24" | "28" | "32" | "36" | "40" | "44" | "48" | "52" | "56" | "60" | "64" | "72" | "80" | "96" | undefined;
182
182
  rowGap?: "0" | "1" | "2" | "3" | "4" | "5" | "px" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "14" | "16" | "20" | "24" | "28" | "32" | "36" | "40" | "44" | "48" | "52" | "56" | "60" | "64" | "72" | "80" | "96" | undefined;
183
- backgroundColor?: "alert" | "primary" | "secondary" | "accent" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | undefined;
184
- borderColor?: "alert" | "primary" | "secondary" | "tertiary" | "muted" | "accent" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | undefined;
185
- borderStartColor?: "alert" | "primary" | "secondary" | "tertiary" | "muted" | "accent" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | undefined;
186
- borderEndColor?: "alert" | "primary" | "secondary" | "tertiary" | "muted" | "accent" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | undefined;
187
- borderBottomColor?: "alert" | "primary" | "secondary" | "tertiary" | "muted" | "accent" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | undefined;
188
- borderTopColor?: "alert" | "primary" | "secondary" | "tertiary" | "muted" | "accent" | "brand" | "positive" | "warning" | "info" | "alert-secondary" | "brand-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | undefined;
183
+ backgroundColor?: "primary" | "secondary" | "accent" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | undefined;
184
+ borderColor?: "primary" | "secondary" | "accent" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "tertiary" | "muted" | undefined;
185
+ borderStartColor?: "primary" | "secondary" | "accent" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "tertiary" | "muted" | undefined;
186
+ borderEndColor?: "primary" | "secondary" | "accent" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "tertiary" | "muted" | undefined;
187
+ borderBottomColor?: "primary" | "secondary" | "accent" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "tertiary" | "muted" | undefined;
188
+ borderTopColor?: "primary" | "secondary" | "accent" | "brand" | "alert" | "positive" | "warning" | "info" | "brand-secondary" | "alert-secondary" | "positive-secondary" | "warning-secondary" | "info-secondary" | "white" | "black" | "transparent" | "current" | "always/white" | "always/black" | "always/transparent" | "always/current" | "always/brand" | "always/accent" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "tertiary" | "muted" | undefined;
189
189
  borderRadius?: "none" | "xs" | "sm" | "md" | "lg" | "xl" | "full" | undefined;
190
190
  borderTopStartRadius?: "none" | "xs" | "sm" | "md" | "lg" | "xl" | "full" | undefined;
191
191
  borderTopEndRadius?: "none" | "xs" | "sm" | "md" | "lg" | "xl" | "full" | undefined;
192
192
  borderBottomStartRadius?: "none" | "xs" | "sm" | "md" | "lg" | "xl" | "full" | undefined;
193
193
  borderBottomEndRadius?: "none" | "xs" | "sm" | "md" | "lg" | "xl" | "full" | undefined;
194
- borderWidth?: "none" | "thin" | "medium" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "thick" | undefined;
195
- borderVerticalWidth?: "none" | "thin" | "medium" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "thick" | undefined;
196
- borderHorizontalWidth?: "none" | "thin" | "medium" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "thick" | undefined;
197
- borderStartWidth?: "none" | "thin" | "medium" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "thick" | undefined;
198
- borderEndWidth?: "none" | "thin" | "medium" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "thick" | undefined;
199
- borderTopWidth?: "none" | "thin" | "medium" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "thick" | undefined;
200
- borderBottomWidth?: "none" | "thin" | "medium" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "thick" | undefined;
194
+ borderWidth?: "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "none" | "thin" | "medium" | "thick" | undefined;
195
+ borderVerticalWidth?: "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "none" | "thin" | "medium" | "thick" | undefined;
196
+ borderHorizontalWidth?: "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "none" | "thin" | "medium" | "thick" | undefined;
197
+ borderStartWidth?: "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "none" | "thin" | "medium" | "thick" | undefined;
198
+ borderEndWidth?: "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "none" | "thin" | "medium" | "thick" | undefined;
199
+ borderTopWidth?: "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "none" | "thin" | "medium" | "thick" | undefined;
200
+ borderBottomWidth?: "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "none" | "thin" | "medium" | "thick" | undefined;
201
201
  avatarSize?: "xs" | "sm" | "md" | "lg" | "xl" | undefined;
202
202
  iconSize?: "xs" | "sm" | "md" | "lg" | undefined;
203
203
  alignContent?: "center" | "flex-start" | "flex-end" | "stretch" | "space-between" | "space-around" | undefined;
204
204
  alignItems?: "center" | "flex-start" | "flex-end" | "stretch" | "baseline" | undefined;
205
- alignSelf?: "auto" | "center" | "flex-start" | "flex-end" | "stretch" | "baseline" | undefined;
206
- flex?: "none" | "auto" | "1" | "initial" | undefined;
205
+ alignSelf?: "center" | "flex-start" | "flex-end" | "stretch" | "baseline" | "auto" | undefined;
206
+ flex?: "1" | "none" | "auto" | "initial" | undefined;
207
207
  flexDirection?: "row" | "column" | "row-reverse" | "column-reverse" | undefined;
208
208
  flexGrow?: "0" | "1" | "2" | "3" | undefined;
209
209
  flexShrink?: "0" | "1" | undefined;
210
210
  flexWrap?: "wrap" | "nowrap" | "wrap-reverse" | undefined;
211
211
  justifyContent?: "center" | "flex-start" | "flex-end" | "space-between" | "space-around" | "space-evenly" | undefined;
212
212
  flexBasis?: "min-content" | undefined;
213
- display?: "flex" | "none" | "grid" | "table" | "block" | "inline-block" | "inline" | "inline-flex" | "inline-table" | "table-caption" | "table-cell" | "table-column" | "table-column-group" | "table-footer-group" | "table-header-group" | "table-row-group" | "table-row" | "flow-root" | "contents" | undefined;
213
+ display?: "flex" | "table" | "none" | "block" | "inline-block" | "inline" | "inline-flex" | "inline-table" | "table-caption" | "table-cell" | "table-column" | "table-column-group" | "table-footer-group" | "table-header-group" | "table-row-group" | "table-row" | "flow-root" | "grid" | "contents" | undefined;
214
214
  overflow?: "hidden" | "auto" | "clip" | "visible" | "scroll" | undefined;
215
215
  overflowX?: "hidden" | "auto" | "clip" | "visible" | "scroll" | undefined;
216
216
  overflowY?: "hidden" | "auto" | "clip" | "visible" | "scroll" | undefined;
217
- position?: "fixed" | "static" | "absolute" | "relative" | "sticky" | undefined;
217
+ position?: "static" | "fixed" | "absolute" | "relative" | "sticky" | undefined;
218
218
  contentFit?: "none" | "fill" | "cover" | "contain" | "scale-down" | undefined;
219
219
  colorMode?: "light" | "dark" | undefined;
220
220
  scaleMode?: "small" | "medium" | "xSmall" | "large" | "xLarge" | "xxLarge" | "xxxLarge" | undefined;
221
221
  width?: "full" | "fit" | "screen" | undefined;
222
222
  height?: "full" | "fit" | "screen" | undefined;
223
- dropShadow?: "none" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | undefined;
223
+ dropShadow?: "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | undefined;
224
224
  insetShadow?: "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "xs-invert" | "sm-invert" | "md-invert" | "lg-invert" | "xl-invert" | "2xl-invert" | undefined;
225
225
  nestedBorderRadiusSize?: "none" | "xs" | "sm" | "md" | "lg" | "xl" | "full" | undefined;
226
- nestedBorderRadiusWidth?: "none" | "thin" | "medium" | "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "thick" | undefined;
226
+ nestedBorderRadiusWidth?: "elevation-0" | "elevation-1" | "elevation-2" | "elevation-3" | "elevation-4" | "elevation-5" | "none" | "thin" | "medium" | "thick" | undefined;
227
227
  nestedBorderRadiusSpacing?: "0" | "1" | "2" | "3" | "4" | "5" | "px" | "0.5" | "1.5" | "2.5" | "3.5" | "4.5" | "5.5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "14" | "16" | "20" | "24" | "28" | "32" | "36" | "40" | "44" | "48" | "52" | "56" | "60" | "64" | "72" | "80" | "96" | undefined;
228
228
  nestedBorderRadius?: boolean | "first" | "last" | undefined;
229
229
  } & {
@@ -24,6 +24,7 @@ const showHelp = () => {
24
24
  require_print.print(` ${require_colors.cyan("--theme <path>")} Path to uds.theme.ts (default: uds.theme.ts)`);
25
25
  require_print.print(` ${require_colors.cyan("--watch, -w")} Watch for file changes and regenerate`);
26
26
  require_print.print(` ${require_colors.cyan("--silent, -s")} Suppress output logging`);
27
+ require_print.print(` ${require_colors.cyan("--verbose, -v")} List every scanned file used for purging`);
27
28
  require_print.print(` ${require_colors.cyan("--force")} Overwrite existing uds.theme.ts (for init)`);
28
29
  require_print.print(` ${require_colors.cyan("--help, -h")} Show this help message`);
29
30
  require_print.print("");
@@ -42,14 +43,27 @@ const showHelp = () => {
42
43
  export default defineTheme({
43
44
  config: './uds.config.ts',
44
45
  entry: './src',
46
+ scoped: {
47
+ '@your-org/shared-ui': './packages/shared-ui/uds.config.ts'
48
+ },
45
49
  colorModes: ['dark'],
46
50
  css: {
47
51
  preflight: true,
48
52
  fontFaceDeclarations: true,
49
- enableSystemColorMode: false, // Auto dark mode via prefers-color-scheme
50
- disableOverrideTailwindTheme: true // Don't merge into Tailwind defaults
53
+ optimization: {
54
+ deduplicateScopedCss: true
55
+ }
51
56
  }
52
- });`));
57
+ });
58
+
59
+ // Expanded form when you need a custom output path:
60
+ // scoped: {
61
+ // '@your-org/shared-ui': {
62
+ // config: './packages/shared-ui/uds.config.ts',
63
+ // entry: './stories',
64
+ // outFile: 'dist/shared-ui.css'
65
+ // }
66
+ // }`));
53
67
  require_print.print("");
54
68
  };
55
69
  const makeCSSCommand = (getContext) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"css.d.cts","names":[],"sources":["../../src/commands/css.ts"],"mappings":";;;;;KAyDK,OAAA;EACH,QAAA,EAAU,MAAA,SAAe,MAAA;EACzB,YAAA,EAAc,MAAA,SAAe,MAAA;EAC7B,aAAA,EAAe,MAAA,SAAe,uBAAA;AAAA;AAAA,cAG1B,cAAA,GAAkB,UAAA,QAAkB,OAAA,CAAQ,OAAA,MAAW,OAAA"}
1
+ {"version":3,"file":"css.d.cts","names":[],"sources":["../../src/commands/css.ts"],"mappings":";;;;;KAuEK,OAAA;EACH,QAAA,EAAU,MAAA,SAAe,MAAA;EACzB,YAAA,EAAc,MAAA,SAAe,MAAA;EAC7B,aAAA,EAAe,MAAA,SAAe,uBAAA;AAAA;AAAA,cAG1B,cAAA,GAAkB,UAAA,QAAkB,OAAA,CAAQ,OAAA,MAAW,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"css.d.ts","names":[],"sources":["../../src/commands/css.ts"],"mappings":";;;;;KAyDK,OAAA;EACH,QAAA,EAAU,MAAA,SAAe,MAAA;EACzB,YAAA,EAAc,MAAA,SAAe,MAAA;EAC7B,aAAA,EAAe,MAAA,SAAe,uBAAA;AAAA;AAAA,cAG1B,cAAA,GAAkB,UAAA,QAAkB,OAAA,CAAQ,OAAA,MAAW,OAAA"}
1
+ {"version":3,"file":"css.d.ts","names":[],"sources":["../../src/commands/css.ts"],"mappings":";;;;;KAuEK,OAAA;EACH,QAAA,EAAU,MAAA,SAAe,MAAA;EACzB,YAAA,EAAc,MAAA,SAAe,MAAA;EAC7B,aAAA,EAAe,MAAA,SAAe,uBAAA;AAAA;AAAA,cAG1B,cAAA,GAAkB,UAAA,QAAkB,OAAA,CAAQ,OAAA,MAAW,OAAA"}
@@ -24,7 +24,8 @@ const getCssRunOptions = (workspaceDir, options) => {
24
24
  entryOption: entryOption(options.entry),
25
25
  configOption: stringOption(options.config),
26
26
  watch: isTruthyFlag(options.watch) || isTruthyFlag(options.w),
27
- silent: isTruthyFlag(options.silent) || isTruthyFlag(options.s)
27
+ silent: isTruthyFlag(options.silent) || isTruthyFlag(options.s),
28
+ verbose: isTruthyFlag(options.verbose) || isTruthyFlag(options.v)
28
29
  };
29
30
  };
30
31
 
@@ -23,7 +23,8 @@ const getCssRunOptions = (workspaceDir, options) => {
23
23
  entryOption: entryOption(options.entry),
24
24
  configOption: stringOption(options.config),
25
25
  watch: isTruthyFlag(options.watch) || isTruthyFlag(options.w),
26
- silent: isTruthyFlag(options.silent) || isTruthyFlag(options.s)
26
+ silent: isTruthyFlag(options.silent) || isTruthyFlag(options.s),
27
+ verbose: isTruthyFlag(options.verbose) || isTruthyFlag(options.v)
27
28
  };
28
29
  };
29
30
 
@@ -1 +1 @@
1
- {"version":3,"file":"css.helpers.js","names":[],"sources":["../../src/commands/css.helpers.ts"],"sourcesContent":["import type { EntryValue } from '../utils/entryPoints';\n\ntype CssOptions = Record<string, unknown>;\n\ntype CssInitOptions = {\n force: boolean;\n configPath?: string;\n entry?: EntryValue;\n outputPath?: string;\n};\n\ntype CssRunOptions = {\n workspaceDir: string;\n outFile: string;\n themeConfigPath: string;\n scope?: string;\n entryOption?: EntryValue;\n configOption?: string;\n watch: boolean;\n silent: boolean;\n};\n\nconst isTruthyFlag = (value: unknown): boolean => value === true || value === 'true';\n\nconst stringOption = (value: unknown): string | undefined =>\n typeof value === 'string' ? value : undefined;\n\nconst entryOption = (value: unknown): EntryValue | undefined => {\n if (typeof value === 'string') {\n return value;\n }\n\n if (Array.isArray(value) && value.every((item) => typeof item === 'string')) {\n return value;\n }\n\n return undefined;\n};\n\nconst shouldShowHelp = (options: CssOptions): boolean =>\n isTruthyFlag(options.help) || isTruthyFlag(options.h);\n\nconst isInitCommand = (firstArg: string | undefined): boolean => firstArg === 'init';\n\nconst getCssInitOptions = (options: CssOptions): CssInitOptions => ({\n force: isTruthyFlag(options.force),\n configPath: stringOption(options.config),\n entry: entryOption(options.entry),\n outputPath: stringOption(options.outFile),\n});\n\nconst getCssRunOptions = (workspaceDir: string, options: CssOptions): CssRunOptions => {\n const outFile = stringOption(options.outFile) ?? 'dist/uds.css';\n const themeConfigPath = stringOption(options.theme) ?? 'uds.theme.ts';\n\n return {\n workspaceDir,\n outFile,\n themeConfigPath,\n scope: stringOption(options.scope),\n entryOption: entryOption(options.entry),\n configOption: stringOption(options.config),\n watch: isTruthyFlag(options.watch) || isTruthyFlag(options.w),\n silent: isTruthyFlag(options.silent) || isTruthyFlag(options.s),\n };\n};\n\nexport { getCssInitOptions, getCssRunOptions, isInitCommand, shouldShowHelp };\n"],"mappings":";;AAsBA,MAAM,gBAAgB,UAA4B,UAAU,QAAQ,UAAU;AAE9E,MAAM,gBAAgB,UACpB,OAAO,UAAU,WAAW,QAAQ;AAEtC,MAAM,eAAe,UAA2C;AAC9D,KAAI,OAAO,UAAU,SACnB,QAAO;AAGT,KAAI,MAAM,QAAQ,MAAM,IAAI,MAAM,OAAO,SAAS,OAAO,SAAS,SAAS,CACzE,QAAO;;AAMX,MAAM,kBAAkB,YACtB,aAAa,QAAQ,KAAK,IAAI,aAAa,QAAQ,EAAE;AAEvD,MAAM,iBAAiB,aAA0C,aAAa;AAE9E,MAAM,qBAAqB,aAAyC;CAClE,OAAO,aAAa,QAAQ,MAAM;CAClC,YAAY,aAAa,QAAQ,OAAO;CACxC,OAAO,YAAY,QAAQ,MAAM;CACjC,YAAY,aAAa,QAAQ,QAAQ;CAC1C;AAED,MAAM,oBAAoB,cAAsB,YAAuC;AAIrF,QAAO;EACL;EACA,SALc,aAAa,QAAQ,QAAQ,IAAI;EAM/C,iBALsB,aAAa,QAAQ,MAAM,IAAI;EAMrD,OAAO,aAAa,QAAQ,MAAM;EAClC,aAAa,YAAY,QAAQ,MAAM;EACvC,cAAc,aAAa,QAAQ,OAAO;EAC1C,OAAO,aAAa,QAAQ,MAAM,IAAI,aAAa,QAAQ,EAAE;EAC7D,QAAQ,aAAa,QAAQ,OAAO,IAAI,aAAa,QAAQ,EAAE;EAChE"}
1
+ {"version":3,"file":"css.helpers.js","names":[],"sources":["../../src/commands/css.helpers.ts"],"sourcesContent":["import type { EntryValue } from '../utils/entryPoints';\n\ntype CssOptions = Record<string, unknown>;\n\ntype CssInitOptions = {\n force: boolean;\n configPath?: string;\n entry?: EntryValue;\n outputPath?: string;\n};\n\ntype CssRunOptions = {\n workspaceDir: string;\n outFile: string;\n themeConfigPath: string;\n scope?: string;\n entryOption?: EntryValue;\n configOption?: string;\n watch: boolean;\n silent: boolean;\n verbose: boolean;\n};\n\nconst isTruthyFlag = (value: unknown): boolean => value === true || value === 'true';\n\nconst stringOption = (value: unknown): string | undefined =>\n typeof value === 'string' ? value : undefined;\n\nconst entryOption = (value: unknown): EntryValue | undefined => {\n if (typeof value === 'string') {\n return value;\n }\n\n if (Array.isArray(value) && value.every((item) => typeof item === 'string')) {\n return value;\n }\n\n return undefined;\n};\n\nconst shouldShowHelp = (options: CssOptions): boolean =>\n isTruthyFlag(options.help) || isTruthyFlag(options.h);\n\nconst isInitCommand = (firstArg: string | undefined): boolean => firstArg === 'init';\n\nconst getCssInitOptions = (options: CssOptions): CssInitOptions => ({\n force: isTruthyFlag(options.force),\n configPath: stringOption(options.config),\n entry: entryOption(options.entry),\n outputPath: stringOption(options.outFile),\n});\n\nconst getCssRunOptions = (workspaceDir: string, options: CssOptions): CssRunOptions => {\n const outFile = stringOption(options.outFile) ?? 'dist/uds.css';\n const themeConfigPath = stringOption(options.theme) ?? 'uds.theme.ts';\n\n return {\n workspaceDir,\n outFile,\n themeConfigPath,\n scope: stringOption(options.scope),\n entryOption: entryOption(options.entry),\n configOption: stringOption(options.config),\n watch: isTruthyFlag(options.watch) || isTruthyFlag(options.w),\n silent: isTruthyFlag(options.silent) || isTruthyFlag(options.s),\n verbose: isTruthyFlag(options.verbose) || isTruthyFlag(options.v),\n };\n};\n\nexport { getCssInitOptions, getCssRunOptions, isInitCommand, shouldShowHelp };\n"],"mappings":";;AAuBA,MAAM,gBAAgB,UAA4B,UAAU,QAAQ,UAAU;AAE9E,MAAM,gBAAgB,UACpB,OAAO,UAAU,WAAW,QAAQ;AAEtC,MAAM,eAAe,UAA2C;AAC9D,KAAI,OAAO,UAAU,SACnB,QAAO;AAGT,KAAI,MAAM,QAAQ,MAAM,IAAI,MAAM,OAAO,SAAS,OAAO,SAAS,SAAS,CACzE,QAAO;;AAMX,MAAM,kBAAkB,YACtB,aAAa,QAAQ,KAAK,IAAI,aAAa,QAAQ,EAAE;AAEvD,MAAM,iBAAiB,aAA0C,aAAa;AAE9E,MAAM,qBAAqB,aAAyC;CAClE,OAAO,aAAa,QAAQ,MAAM;CAClC,YAAY,aAAa,QAAQ,OAAO;CACxC,OAAO,YAAY,QAAQ,MAAM;CACjC,YAAY,aAAa,QAAQ,QAAQ;CAC1C;AAED,MAAM,oBAAoB,cAAsB,YAAuC;AAIrF,QAAO;EACL;EACA,SALc,aAAa,QAAQ,QAAQ,IAAI;EAM/C,iBALsB,aAAa,QAAQ,MAAM,IAAI;EAMrD,OAAO,aAAa,QAAQ,MAAM;EAClC,aAAa,YAAY,QAAQ,MAAM;EACvC,cAAc,aAAa,QAAQ,OAAO;EAC1C,OAAO,aAAa,QAAQ,MAAM,IAAI,aAAa,QAAQ,EAAE;EAC7D,QAAQ,aAAa,QAAQ,OAAO,IAAI,aAAa,QAAQ,EAAE;EAC/D,SAAS,aAAa,QAAQ,QAAQ,IAAI,aAAa,QAAQ,EAAE;EAClE"}
@@ -24,6 +24,7 @@ const showHelp = () => {
24
24
  print(` ${cyan("--theme <path>")} Path to uds.theme.ts (default: uds.theme.ts)`);
25
25
  print(` ${cyan("--watch, -w")} Watch for file changes and regenerate`);
26
26
  print(` ${cyan("--silent, -s")} Suppress output logging`);
27
+ print(` ${cyan("--verbose, -v")} List every scanned file used for purging`);
27
28
  print(` ${cyan("--force")} Overwrite existing uds.theme.ts (for init)`);
28
29
  print(` ${cyan("--help, -h")} Show this help message`);
29
30
  print("");
@@ -42,14 +43,27 @@ const showHelp = () => {
42
43
  export default defineTheme({
43
44
  config: './uds.config.ts',
44
45
  entry: './src',
46
+ scoped: {
47
+ '@your-org/shared-ui': './packages/shared-ui/uds.config.ts'
48
+ },
45
49
  colorModes: ['dark'],
46
50
  css: {
47
51
  preflight: true,
48
52
  fontFaceDeclarations: true,
49
- enableSystemColorMode: false, // Auto dark mode via prefers-color-scheme
50
- disableOverrideTailwindTheme: true // Don't merge into Tailwind defaults
53
+ optimization: {
54
+ deduplicateScopedCss: true
55
+ }
51
56
  }
52
- });`));
57
+ });
58
+
59
+ // Expanded form when you need a custom output path:
60
+ // scoped: {
61
+ // '@your-org/shared-ui': {
62
+ // config: './packages/shared-ui/uds.config.ts',
63
+ // entry: './stories',
64
+ // outFile: 'dist/shared-ui.css'
65
+ // }
66
+ // }`));
53
67
  print("");
54
68
  };
55
69
  const makeCSSCommand = (getContext) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","names":[],"sources":["../../src/commands/css.ts"],"sourcesContent":["import type { Command, Props } from '@yahoo/uds-cli/lib';\nimport { cyan, gray, green, magenta, print } from '@yahoo/uds-cli/lib';\n\nimport { scaffoldThemeConfig } from '../css/nodeUtils';\nimport { runCssCommand } from '../css/runner';\nimport { getCssInitOptions, getCssRunOptions, isInitCommand, shouldShowHelp } from './css.helpers';\nimport type { SerializedComponentInfo } from './generateComponentData';\n\nconst showHelp = () => {\n print('');\n print(`${green('uds css')} - Generate CSS for app`);\n print('');\n print(`${magenta('Usage:')}`);\n print(` ${cyan('uds css')} [options]`);\n print(` ${cyan('uds css init')} [options]`);\n print('');\n print(`${magenta('Commands:')}`);\n print(` ${cyan('init')} Create a new uds.theme.ts file`);\n print('');\n print(`${magenta('Options:')}`);\n print(` ${cyan('--entry <path>')} Entry directory to scan (default: /src/)`);\n print(` ${cyan('--outFile <path>')} Output CSS file (default: dist/uds.css)`);\n print(` ${cyan('--config <path>')} Path to uds.config.ts for tokens`);\n print(` ${cyan('--theme <path>')} Path to uds.theme.ts (default: uds.theme.ts)`);\n print(` ${cyan('--watch, -w')} Watch for file changes and regenerate`);\n print(` ${cyan('--silent, -s')} Suppress output logging`);\n print(` ${cyan('--force')} Overwrite existing uds.theme.ts (for init)`);\n print(` ${cyan('--help, -h')} Show this help message`);\n print('');\n print(`${magenta('Initialize theme config:')}`);\n print(` ${gray('uds css init')}`);\n print('');\n print(`${magenta('Simple mode')} (no uds.theme.ts):`);\n print(` ${gray('uds css --entry ./src --outFile dist/uds.css')}`);\n print('');\n print(`${magenta('Theme mode')} (with uds.theme.ts):`);\n print(` ${gray('uds css --theme uds.theme.ts --outFile dist/uds.css')}`);\n print('');\n print(`${magenta('Example uds.theme.ts:')}`);\n print(\n gray(` import { defineTheme } from '@yahoo/uds';\n\n export default defineTheme({\n config: './uds.config.ts',\n entry: './src',\n colorModes: ['dark'],\n css: {\n preflight: true,\n fontFaceDeclarations: true,\n enableSystemColorMode: false, // Auto dark mode via prefers-color-scheme\n disableOverrideTailwindTheme: true // Don't merge into Tailwind defaults\n }\n });`),\n );\n print('');\n};\n\ntype Context = {\n variants: Record<string, Record<string, string>>;\n autoVariants: Record<string, Record<string, string>>;\n componentData: Record<string, SerializedComponentInfo>;\n};\n\nconst makeCSSCommand = (getContext: () => Promise<Context>): Command => ({\n name: 'css',\n description: 'Generate CSS for app',\n tag: 'hidden',\n\n run: async (props: Props) => {\n const { variants, autoVariants, componentData } = await getContext();\n\n if (shouldShowHelp(props.options)) {\n showHelp();\n return;\n }\n\n if (isInitCommand(props.first)) {\n await scaffoldThemeConfig(getCssInitOptions(props.options));\n return;\n }\n\n const cssRunOptions = getCssRunOptions(process.cwd(), props.options);\n\n await runCssCommand(cssRunOptions, { variants, autoVariants, componentData });\n },\n});\n\nexport { makeCSSCommand };\n"],"mappings":";;;;;;;;AAQA,MAAM,iBAAiB;AACrB,OAAM,GAAG;AACT,OAAM,GAAG,MAAM,UAAU,CAAC,yBAAyB;AACnD,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,SAAS,GAAG;AAC7B,OAAM,KAAK,KAAK,UAAU,CAAC,YAAY;AACvC,OAAM,KAAK,KAAK,eAAe,CAAC,YAAY;AAC5C,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,YAAY,GAAG;AAChC,OAAM,KAAK,KAAK,OAAO,CAAC,8CAA8C;AACtE,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,WAAW,GAAG;AAC/B,OAAM,KAAK,KAAK,iBAAiB,CAAC,8CAA8C;AAChF,OAAM,KAAK,KAAK,mBAAmB,CAAC,2CAA2C;AAC/E,OAAM,KAAK,KAAK,kBAAkB,CAAC,qCAAqC;AACxE,OAAM,KAAK,KAAK,iBAAiB,CAAC,kDAAkD;AACpF,OAAM,KAAK,KAAK,cAAc,CAAC,8CAA8C;AAC7E,OAAM,KAAK,KAAK,eAAe,CAAC,+BAA+B;AAC/D,OAAM,KAAK,KAAK,UAAU,CAAC,uDAAuD;AAClF,OAAM,KAAK,KAAK,aAAa,CAAC,gCAAgC;AAC9D,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,2BAA2B,GAAG;AAC/C,OAAM,KAAK,KAAK,eAAe,GAAG;AAClC,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,cAAc,CAAC,qBAAqB;AACrD,OAAM,KAAK,KAAK,+CAA+C,GAAG;AAClE,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,aAAa,CAAC,uBAAuB;AACtD,OAAM,KAAK,KAAK,sDAAsD,GAAG;AACzE,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,wBAAwB,GAAG;AAC5C,OACE,KAAK;;;;;;;;;;;;OAYF,CACJ;AACD,OAAM,GAAG;;AASX,MAAM,kBAAkB,gBAAiD;CACvE,MAAM;CACN,aAAa;CACb,KAAK;CAEL,KAAK,OAAO,UAAiB;EAC3B,MAAM,EAAE,UAAU,cAAc,kBAAkB,MAAM,YAAY;AAEpE,MAAI,eAAe,MAAM,QAAQ,EAAE;AACjC,aAAU;AACV;;AAGF,MAAI,cAAc,MAAM,MAAM,EAAE;AAC9B,SAAM,oBAAoB,kBAAkB,MAAM,QAAQ,CAAC;AAC3D;;AAKF,QAAM,cAFgB,iBAAiB,QAAQ,KAAK,EAAE,MAAM,QAAQ,EAEjC;GAAE;GAAU;GAAc;GAAe,CAAC;;CAEhF"}
1
+ {"version":3,"file":"css.js","names":[],"sources":["../../src/commands/css.ts"],"sourcesContent":["import type { Command, Props } from '@yahoo/uds-cli/lib';\nimport { cyan, gray, green, magenta, print } from '@yahoo/uds-cli/lib';\n\nimport { scaffoldThemeConfig } from '../css/nodeUtils';\nimport { runCssCommand } from '../css/runner';\nimport { getCssInitOptions, getCssRunOptions, isInitCommand, shouldShowHelp } from './css.helpers';\nimport type { SerializedComponentInfo } from './generateComponentData';\n\nconst showHelp = () => {\n print('');\n print(`${green('uds css')} - Generate CSS for app`);\n print('');\n print(`${magenta('Usage:')}`);\n print(` ${cyan('uds css')} [options]`);\n print(` ${cyan('uds css init')} [options]`);\n print('');\n print(`${magenta('Commands:')}`);\n print(` ${cyan('init')} Create a new uds.theme.ts file`);\n print('');\n print(`${magenta('Options:')}`);\n print(` ${cyan('--entry <path>')} Entry directory to scan (default: /src/)`);\n print(` ${cyan('--outFile <path>')} Output CSS file (default: dist/uds.css)`);\n print(` ${cyan('--config <path>')} Path to uds.config.ts for tokens`);\n print(` ${cyan('--theme <path>')} Path to uds.theme.ts (default: uds.theme.ts)`);\n print(` ${cyan('--watch, -w')} Watch for file changes and regenerate`);\n print(` ${cyan('--silent, -s')} Suppress output logging`);\n print(` ${cyan('--verbose, -v')} List every scanned file used for purging`);\n print(` ${cyan('--force')} Overwrite existing uds.theme.ts (for init)`);\n print(` ${cyan('--help, -h')} Show this help message`);\n print('');\n print(`${magenta('Initialize theme config:')}`);\n print(` ${gray('uds css init')}`);\n print('');\n print(`${magenta('Simple mode')} (no uds.theme.ts):`);\n print(` ${gray('uds css --entry ./src --outFile dist/uds.css')}`);\n print('');\n print(`${magenta('Theme mode')} (with uds.theme.ts):`);\n print(` ${gray('uds css --theme uds.theme.ts --outFile dist/uds.css')}`);\n print('');\n print(`${magenta('Example uds.theme.ts:')}`);\n print(\n gray(` import { defineTheme } from '@yahoo/uds';\n\n export default defineTheme({\n config: './uds.config.ts',\n entry: './src',\n scoped: {\n '@your-org/shared-ui': './packages/shared-ui/uds.config.ts'\n },\n colorModes: ['dark'],\n css: {\n preflight: true,\n fontFaceDeclarations: true,\n optimization: {\n deduplicateScopedCss: true\n }\n }\n });\n\n // Expanded form when you need a custom output path:\n // scoped: {\n // '@your-org/shared-ui': {\n // config: './packages/shared-ui/uds.config.ts',\n // entry: './stories',\n // outFile: 'dist/shared-ui.css'\n // }\n // }`),\n );\n print('');\n};\n\ntype Context = {\n variants: Record<string, Record<string, string>>;\n autoVariants: Record<string, Record<string, string>>;\n componentData: Record<string, SerializedComponentInfo>;\n};\n\nconst makeCSSCommand = (getContext: () => Promise<Context>): Command => ({\n name: 'css',\n description: 'Generate CSS for app',\n tag: 'hidden',\n\n run: async (props: Props) => {\n const { variants, autoVariants, componentData } = await getContext();\n\n if (shouldShowHelp(props.options)) {\n showHelp();\n return;\n }\n\n if (isInitCommand(props.first)) {\n await scaffoldThemeConfig(getCssInitOptions(props.options));\n return;\n }\n\n const cssRunOptions = getCssRunOptions(process.cwd(), props.options);\n\n await runCssCommand(cssRunOptions, { variants, autoVariants, componentData });\n },\n});\n\nexport { makeCSSCommand };\n"],"mappings":";;;;;;;;AAQA,MAAM,iBAAiB;AACrB,OAAM,GAAG;AACT,OAAM,GAAG,MAAM,UAAU,CAAC,yBAAyB;AACnD,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,SAAS,GAAG;AAC7B,OAAM,KAAK,KAAK,UAAU,CAAC,YAAY;AACvC,OAAM,KAAK,KAAK,eAAe,CAAC,YAAY;AAC5C,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,YAAY,GAAG;AAChC,OAAM,KAAK,KAAK,OAAO,CAAC,8CAA8C;AACtE,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,WAAW,GAAG;AAC/B,OAAM,KAAK,KAAK,iBAAiB,CAAC,8CAA8C;AAChF,OAAM,KAAK,KAAK,mBAAmB,CAAC,2CAA2C;AAC/E,OAAM,KAAK,KAAK,kBAAkB,CAAC,qCAAqC;AACxE,OAAM,KAAK,KAAK,iBAAiB,CAAC,kDAAkD;AACpF,OAAM,KAAK,KAAK,cAAc,CAAC,8CAA8C;AAC7E,OAAM,KAAK,KAAK,eAAe,CAAC,+BAA+B;AAC/D,OAAM,KAAK,KAAK,gBAAgB,CAAC,+CAA+C;AAChF,OAAM,KAAK,KAAK,UAAU,CAAC,uDAAuD;AAClF,OAAM,KAAK,KAAK,aAAa,CAAC,gCAAgC;AAC9D,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,2BAA2B,GAAG;AAC/C,OAAM,KAAK,KAAK,eAAe,GAAG;AAClC,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,cAAc,CAAC,qBAAqB;AACrD,OAAM,KAAK,KAAK,+CAA+C,GAAG;AAClE,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,aAAa,CAAC,uBAAuB;AACtD,OAAM,KAAK,KAAK,sDAAsD,GAAG;AACzE,OAAM,GAAG;AACT,OAAM,GAAG,QAAQ,wBAAwB,GAAG;AAC5C,OACE,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;QAyBD,CACL;AACD,OAAM,GAAG;;AASX,MAAM,kBAAkB,gBAAiD;CACvE,MAAM;CACN,aAAa;CACb,KAAK;CAEL,KAAK,OAAO,UAAiB;EAC3B,MAAM,EAAE,UAAU,cAAc,kBAAkB,MAAM,YAAY;AAEpE,MAAI,eAAe,MAAM,QAAQ,EAAE;AACjC,aAAU;AACV;;AAGF,MAAI,cAAc,MAAM,MAAM,EAAE;AAC9B,SAAM,oBAAoB,kBAAkB,MAAM,QAAQ,CAAC;AAC3D;;AAKF,QAAM,cAFgB,iBAAiB,QAAQ,KAAK,EAAE,MAAM,QAAQ,EAEjC;GAAE;GAAU;GAAc;GAAe,CAAC;;CAEhF"}
@@ -109,13 +109,16 @@ const generateSimpleModeCSS = async (options) => {
109
109
  node_fs.default.writeFileSync(outputPath, cssResult.css);
110
110
  const duration = Math.round(performance.now() - startTime);
111
111
  if (shouldLogStats) require_generate_helpers.printSimpleModeStats({
112
+ cwd: options.workspaceDir,
112
113
  outputPath,
113
114
  totalFilesScanned,
115
+ scannedFilePaths: scanResult.filePaths,
114
116
  classCount: cssResult.classCount,
115
117
  sizeBytes: cssResult.sizeBytes,
116
118
  sizeGzipBytes: cssResult.sizeGzipBytes,
117
119
  duration,
118
120
  scope: options.scope,
121
+ verbose: options.verbose,
119
122
  optimizationStats: cssResult.optimizationStats,
120
123
  print: require_print.print,
121
124
  magenta: require_colors.magenta,
@@ -8,6 +8,7 @@ const require_plugin = require('../plugin.cjs');
8
8
  const require_optimizeCSS = require('../utils/optimizeCSS.cjs');
9
9
  const require_postcssPreserveVars = require('../utils/postcssPreserveVars.cjs');
10
10
  const require_postcss = require('./postcss.cjs');
11
+ const require_runner_helpers = require('./runner.helpers.cjs');
11
12
  const require_utils = require('./utils.cjs');
12
13
  let node_path = require("node:path");
13
14
  node_path = require_runtime.__toESM(node_path);
@@ -40,7 +41,7 @@ const getCssFeatureFlags = (cssOptions) => {
40
41
  };
41
42
  };
42
43
  const getContentGlobs = (contentDir) => {
43
- return (Array.isArray(contentDir) ? contentDir : [contentDir]).map((dir) => require_entryPoints.hasAllowedEntryFileExtension(dir) ? dir : node_path.default.join(dir, "**/*.{js,jsx,ts,tsx}"));
44
+ return (Array.isArray(contentDir) ? contentDir : [contentDir]).map((dir) => require_entryPoints.hasAllowedEntryFileExtension(dir) ? dir : node_path.default.join(dir, "**/*.{js,jsx,mjs,cjs,ts,tsx}"));
44
45
  };
45
46
  const getRawContentEntries = (rawContents) => rawContents.map((rawContent) => ({
46
47
  raw: rawContent,
@@ -90,7 +91,7 @@ const buildPostcssPlugins = (options) => {
90
91
  };
91
92
  const applyScopedColorModeFix = async (css, scopeClass) => {
92
93
  if (!scopeClass) return css;
93
- return (await (0, postcss.default)([require_postcss.fixScopedColorModeSelectorsPlugin(scopeClass)]).process(css, { from: void 0 })).css;
94
+ return (await (0, postcss.default)([require_postcss.fixScopedSelfOrParentSelectorsPlugin(scopeClass), require_postcss.fixScopedColorModeSelectorsPlugin(scopeClass)]).process(css, { from: void 0 })).css;
94
95
  };
95
96
  const optimizeGeneratedCss = async (options) => {
96
97
  if (!options.shouldOptimize) return { css: options.css };
@@ -115,22 +116,29 @@ const optimizeGeneratedCss = async (options) => {
115
116
  };
116
117
  const printSimpleModeStats = (options) => {
117
118
  const { print, magenta, cyan, yellow } = options;
119
+ const getDisplayPath = (targetPath) => {
120
+ const relativePath = node_path.default.relative(options.cwd, targetPath);
121
+ return relativePath.length === 0 ? "." : relativePath;
122
+ };
118
123
  print("");
119
- print(`${magenta("Output:")} ${cyan(options.outputPath)}`);
124
+ print(`${magenta("Output:")} ${cyan(getDisplayPath(options.outputPath))}`);
120
125
  print(`${magenta("Stats:")}`);
121
126
  print(` Files scanned: ${options.totalFilesScanned}`);
127
+ if (options.verbose && options.scannedFilePaths && options.scannedFilePaths.length > 0) [...new Set(options.scannedFilePaths)].sort((left, right) => left.localeCompare(right)).forEach((filePath) => print(` • ${cyan(getDisplayPath(filePath))}`));
122
128
  print(` Classes: ${options.classCount}`);
123
129
  print(` Size: ${require_utils.formatBytes(options.sizeBytes)} (${require_utils.formatBytes(options.sizeGzipBytes)} gzipped)`);
124
130
  const optimizationStats = options.optimizationStats;
125
131
  if (optimizationStats) {
126
- const savedBytesGzip = optimizationStats.originalSizeGzip - options.sizeGzipBytes;
127
- if (savedBytesGzip > 0) print(` Optimized: saved ${require_utils.formatBytes(savedBytesGzip)} gzip (${optimizationStats.fontFacesRemoved} unused @font-face, ${optimizationStats.emptyRulesRemoved} empty rules removed)`);
132
+ if (optimizationStats.originalSizeGzip - options.sizeGzipBytes > 0) {
133
+ if (optimizationStats.fontFacesRemoved > 0) print(` removed ${optimizationStats.fontFacesRemoved} unused @font-face`);
134
+ if (optimizationStats.emptyRulesRemoved > 0) print(` • removed ${optimizationStats.emptyRulesRemoved} empty rules`);
135
+ }
128
136
  if (optimizationStats.validationErrors.length > 0) {
129
137
  print(` ${yellow("Validation warnings:")}`);
130
138
  optimizationStats.validationErrors.forEach((error) => print(` ${yellow("•")} ${error}`));
131
139
  }
132
140
  }
133
- print(` Time: ${options.duration}ms`);
141
+ print(` Time: ${require_runner_helpers.formatCssDuration(options.duration)}`);
134
142
  if (options.scope) print(` Scope: ${cyan(options.scope)}`);
135
143
  };
136
144
 
@@ -6,7 +6,8 @@ import { getIconStyles } from "../tailwind/components/getIconStyles.js";
6
6
  import { tailwindPlugin } from "../plugin.js";
7
7
  import { optimizeCSS } from "../utils/optimizeCSS.js";
8
8
  import { preserveVars, preserveVarsCleanup } from "../utils/postcssPreserveVars.js";
9
- import { fixScopedColorModeSelectorsPlugin } from "./postcss.js";
9
+ import { fixScopedColorModeSelectorsPlugin, fixScopedSelfOrParentSelectorsPlugin } from "./postcss.js";
10
+ import { formatCssDuration } from "./runner.helpers.js";
10
11
  import { formatBytes } from "./utils.js";
11
12
  import path from "node:path";
12
13
  import postcss from "postcss";
@@ -33,7 +34,7 @@ const getCssFeatureFlags = (cssOptions) => {
33
34
  };
34
35
  };
35
36
  const getContentGlobs = (contentDir) => {
36
- return (Array.isArray(contentDir) ? contentDir : [contentDir]).map((dir) => hasAllowedEntryFileExtension(dir) ? dir : path.join(dir, "**/*.{js,jsx,ts,tsx}"));
37
+ return (Array.isArray(contentDir) ? contentDir : [contentDir]).map((dir) => hasAllowedEntryFileExtension(dir) ? dir : path.join(dir, "**/*.{js,jsx,mjs,cjs,ts,tsx}"));
37
38
  };
38
39
  const getRawContentEntries = (rawContents) => rawContents.map((rawContent) => ({
39
40
  raw: rawContent,
@@ -83,7 +84,7 @@ const buildPostcssPlugins = (options) => {
83
84
  };
84
85
  const applyScopedColorModeFix = async (css, scopeClass) => {
85
86
  if (!scopeClass) return css;
86
- return (await postcss([fixScopedColorModeSelectorsPlugin(scopeClass)]).process(css, { from: void 0 })).css;
87
+ return (await postcss([fixScopedSelfOrParentSelectorsPlugin(scopeClass), fixScopedColorModeSelectorsPlugin(scopeClass)]).process(css, { from: void 0 })).css;
87
88
  };
88
89
  const optimizeGeneratedCss = async (options) => {
89
90
  if (!options.shouldOptimize) return { css: options.css };
@@ -108,22 +109,29 @@ const optimizeGeneratedCss = async (options) => {
108
109
  };
109
110
  const printSimpleModeStats = (options) => {
110
111
  const { print, magenta, cyan, yellow } = options;
112
+ const getDisplayPath = (targetPath) => {
113
+ const relativePath = path.relative(options.cwd, targetPath);
114
+ return relativePath.length === 0 ? "." : relativePath;
115
+ };
111
116
  print("");
112
- print(`${magenta("Output:")} ${cyan(options.outputPath)}`);
117
+ print(`${magenta("Output:")} ${cyan(getDisplayPath(options.outputPath))}`);
113
118
  print(`${magenta("Stats:")}`);
114
119
  print(` Files scanned: ${options.totalFilesScanned}`);
120
+ if (options.verbose && options.scannedFilePaths && options.scannedFilePaths.length > 0) [...new Set(options.scannedFilePaths)].sort((left, right) => left.localeCompare(right)).forEach((filePath) => print(` • ${cyan(getDisplayPath(filePath))}`));
115
121
  print(` Classes: ${options.classCount}`);
116
122
  print(` Size: ${formatBytes(options.sizeBytes)} (${formatBytes(options.sizeGzipBytes)} gzipped)`);
117
123
  const optimizationStats = options.optimizationStats;
118
124
  if (optimizationStats) {
119
- const savedBytesGzip = optimizationStats.originalSizeGzip - options.sizeGzipBytes;
120
- if (savedBytesGzip > 0) print(` Optimized: saved ${formatBytes(savedBytesGzip)} gzip (${optimizationStats.fontFacesRemoved} unused @font-face, ${optimizationStats.emptyRulesRemoved} empty rules removed)`);
125
+ if (optimizationStats.originalSizeGzip - options.sizeGzipBytes > 0) {
126
+ if (optimizationStats.fontFacesRemoved > 0) print(` removed ${optimizationStats.fontFacesRemoved} unused @font-face`);
127
+ if (optimizationStats.emptyRulesRemoved > 0) print(` • removed ${optimizationStats.emptyRulesRemoved} empty rules`);
128
+ }
121
129
  if (optimizationStats.validationErrors.length > 0) {
122
130
  print(` ${yellow("Validation warnings:")}`);
123
131
  optimizationStats.validationErrors.forEach((error) => print(` ${yellow("•")} ${error}`));
124
132
  }
125
133
  }
126
- print(` Time: ${options.duration}ms`);
134
+ print(` Time: ${formatCssDuration(options.duration)}`);
127
135
  if (options.scope) print(` Scope: ${cyan(options.scope)}`);
128
136
  };
129
137
 
@@ -1 +1 @@
1
- {"version":3,"file":"generate.helpers.js","names":[],"sources":["../../src/css/generate.helpers.ts"],"sourcesContent":["import path from 'node:path';\n\nimport type { UniversalTokensConfig } from '@yahoo/uds-config';\nimport autoprefixer from 'autoprefixer';\nimport postcss from 'postcss';\n// @ts-expect-error - no types\nimport pruneVar from 'postcss-prune-var';\nimport postcssScope from 'postcss-scope';\nimport tailwindcss from 'tailwindcss';\nimport type { SafelistConfig } from 'tailwindcss/types/config';\n\n// eslint-disable-next-line import/no-relative-packages\nimport { iconPruneVarsSafelist } from '../../../icons/src/safelist';\nimport { getInternalSafelistClasses } from '../purger/optimized/utils/safelist';\nimport { getIconStyles } from '../tailwind/components/getIconStyles';\nimport { tailwindPlugin } from '../tailwind/tailwindPlugin';\nimport { hasAllowedEntryFileExtension } from '../utils/entryPoints';\nimport type { OptimizeCSSOptions } from '../utils/optimizeCSS';\nimport { optimizeCSS } from '../utils/optimizeCSS';\nimport { preserveVars, preserveVarsCleanup } from '../utils/postcssPreserveVars';\nimport { fixScopedColorModeSelectorsPlugin } from './postcss';\nimport type { UDSCSSOptimizationOptions, UDSCSSVarSafelistPattern } from './theme';\nimport { formatBytes } from './utils';\n\ntype CssOptimizationOptions = UDSCSSOptimizationOptions;\n\ntype CssOptionsLike = {\n preflight?: boolean;\n fontFaceDeclarations?: boolean;\n optimization?: CssOptimizationOptions;\n};\n\ntype CssFeatureFlags = {\n enablePreflight: boolean;\n enableFontFaceDeclarations: boolean;\n shouldOptimize: boolean;\n shouldPruneVars: boolean;\n};\n\nconst getPruneVarSafelist = (cssOptions?: CssOptionsLike): UDSCSSVarSafelistPattern[] => {\n const pruneVars = cssOptions?.optimization?.pruneVars;\n const configuredSafelist =\n pruneVars && typeof pruneVars === 'object' ? (pruneVars.safelist ?? []) : [];\n\n return [...iconPruneVarsSafelist, ...configuredSafelist];\n};\n\nconst getCssFeatureFlags = (cssOptions?: CssOptionsLike): CssFeatureFlags => {\n const optimizationConfig = cssOptions?.optimization;\n const shouldOptimize = optimizationConfig?.enabled !== false;\n const pruneVars = optimizationConfig?.pruneVars;\n\n return {\n enablePreflight: cssOptions?.preflight !== false,\n enableFontFaceDeclarations: cssOptions?.fontFaceDeclarations !== false,\n shouldOptimize,\n shouldPruneVars: shouldOptimize && pruneVars !== false,\n };\n};\n\nconst getContentGlobs = (contentDir: string | string[]): string[] => {\n const contentDirs = Array.isArray(contentDir) ? contentDir : [contentDir];\n\n return contentDirs.map((dir) =>\n hasAllowedEntryFileExtension(dir) ? dir : path.join(dir, '**/*.{js,jsx,ts,tsx}'),\n );\n};\n\nconst getRawContentEntries = (rawContents: string[]): Array<{ raw: string; extension: 'html' }> =>\n rawContents.map((rawContent) => ({ raw: rawContent, extension: 'html' }));\n\nconst getInternalSafelistRawContent = (safelist: SafelistConfig[]): string[] => {\n const internalClasses = new Set(getInternalSafelistClasses());\n const matchedInternalClasses = safelist.filter(\n (entry): entry is string => typeof entry === 'string' && internalClasses.has(entry),\n );\n\n if (matchedInternalClasses.length === 0) {\n return [];\n }\n\n return [`<div class=\"${matchedInternalClasses.join(' ')}\"></div>`];\n};\n\nconst getInternalIconModeCss = (scopeClass?: string): string => {\n const iconStyles = getIconStyles();\n\n return Object.entries(iconStyles)\n .map(([selector, declarations]) => {\n const scopedSelector = scopeClass ? `${scopeClass} ${selector}` : selector;\n const declarationString = Object.entries(declarations)\n .map(([property, value]) => `${property}: ${value};`)\n .join(' ');\n\n return `${scopedSelector} { ${declarationString} }`;\n })\n .join(' ');\n};\n\nconst createTailwindPlugin = (options: {\n contentDir: string | string[];\n rawContents?: string[];\n safelist: SafelistConfig[];\n config: UniversalTokensConfig;\n enablePreflight: boolean;\n enableFontFaceDeclarations: boolean;\n}): postcss.AcceptedPlugin => {\n const plugin = tailwindcss({\n content: [\n ...getContentGlobs(options.contentDir),\n ...getRawContentEntries(getInternalSafelistRawContent(options.safelist)),\n ...getRawContentEntries(options.rawContents ?? []),\n ],\n safelist: options.safelist,\n corePlugins: { preflight: options.enablePreflight },\n plugins: [\n tailwindPlugin({\n config: options.config,\n disableFontFaceDeclarations: !options.enableFontFaceDeclarations,\n ignorePluginSafelists: true,\n }),\n ],\n });\n\n return plugin as postcss.AcceptedPlugin;\n};\n\nconst getPruneVarPlugins = (\n safeVarPrefixes: UDSCSSVarSafelistPattern[],\n): postcss.AcceptedPlugin[] => {\n if (safeVarPrefixes.length === 0) {\n return [pruneVar() as postcss.AcceptedPlugin];\n }\n\n return [\n preserveVars({ preserve: safeVarPrefixes }) as postcss.AcceptedPlugin,\n pruneVar() as postcss.AcceptedPlugin,\n preserveVarsCleanup() as postcss.AcceptedPlugin,\n ];\n};\n\nconst buildPostcssPlugins = (options: {\n tailwindPlugin: postcss.AcceptedPlugin;\n shouldPruneVars: boolean;\n safeVarPrefixes: UDSCSSVarSafelistPattern[];\n scopeClass?: string;\n}): postcss.AcceptedPlugin[] => {\n const plugins: postcss.AcceptedPlugin[] = [options.tailwindPlugin, autoprefixer()];\n\n if (options.shouldPruneVars) {\n plugins.push(...getPruneVarPlugins(options.safeVarPrefixes));\n }\n\n if (options.scopeClass) {\n plugins.push(postcssScope(options.scopeClass) as postcss.AcceptedPlugin);\n }\n\n return plugins;\n};\n\nconst applyScopedColorModeFix = async (css: string, scopeClass?: string): Promise<string> => {\n if (!scopeClass) {\n return css;\n }\n\n const fixResult = await postcss([fixScopedColorModeSelectorsPlugin(scopeClass)]).process(css, {\n from: undefined,\n });\n\n return fixResult.css;\n};\n\nconst optimizeGeneratedCss = async (options: {\n css: string;\n shouldOptimize: boolean;\n optimizationConfig?: CssOptimizationOptions;\n referenceCss?: string;\n scopeClass?: string;\n}): Promise<{\n css: string;\n optimizationStats?: {\n originalSize: number;\n originalSizeGzip: number;\n fontFacesRemoved: number;\n emptyRulesRemoved: number;\n validationErrors: string[];\n };\n}> => {\n if (!options.shouldOptimize) {\n return { css: options.css };\n }\n\n const optimizationOptions: OptimizeCSSOptions = {\n removeUnusedFonts: options.optimizationConfig?.removeUnusedFonts,\n removeEmptyRules: options.optimizationConfig?.removeEmptyRules,\n aggregateDuplicateSelectors: options.optimizationConfig?.aggregateDuplicateSelectors,\n referenceCss: options.referenceCss,\n scopeClass: options.scopeClass,\n };\n\n const optimized = await optimizeCSS(options.css, optimizationOptions);\n return {\n css: optimized.css,\n optimizationStats: {\n originalSize: optimized.stats.originalSize,\n originalSizeGzip: optimized.stats.originalSizeGzip,\n fontFacesRemoved: optimized.stats.fontFacesRemoved,\n emptyRulesRemoved: optimized.stats.emptyRulesRemoved,\n validationErrors: optimized.validation.errors,\n },\n };\n};\n\nconst printSimpleModeStats = (options: {\n outputPath: string;\n totalFilesScanned: number;\n classCount: number;\n sizeBytes: number;\n sizeGzipBytes: number;\n duration: number;\n scope?: string;\n optimizationStats?: {\n originalSizeGzip: number;\n fontFacesRemoved: number;\n emptyRulesRemoved: number;\n validationErrors: string[];\n };\n print: (value: string) => void;\n magenta: (value: string) => string;\n cyan: (value: string) => string;\n yellow: (value: string) => string;\n}): void => {\n const { print, magenta, cyan, yellow } = options;\n\n print('');\n print(`${magenta('Output:')} ${cyan(options.outputPath)}`);\n print(`${magenta('Stats:')}`);\n print(` Files scanned: ${options.totalFilesScanned}`);\n print(` Classes: ${options.classCount}`);\n print(\n ` Size: ${formatBytes(options.sizeBytes)} (${formatBytes(options.sizeGzipBytes)} gzipped)`,\n );\n\n const optimizationStats = options.optimizationStats;\n if (optimizationStats) {\n const savedBytesGzip = optimizationStats.originalSizeGzip - options.sizeGzipBytes;\n if (savedBytesGzip > 0) {\n print(\n ` Optimized: saved ${formatBytes(savedBytesGzip)} gzip (${optimizationStats.fontFacesRemoved} unused @font-face, ${optimizationStats.emptyRulesRemoved} empty rules removed)`,\n );\n }\n\n if (optimizationStats.validationErrors.length > 0) {\n print(` ${yellow('Validation warnings:')}`);\n optimizationStats.validationErrors.forEach((error) => print(` ${yellow('•')} ${error}`));\n }\n }\n\n print(` Time: ${options.duration}ms`);\n if (options.scope) {\n print(` Scope: ${cyan(options.scope)}`);\n }\n};\n\nexport {\n applyScopedColorModeFix,\n buildPostcssPlugins,\n createTailwindPlugin,\n getContentGlobs,\n getCssFeatureFlags,\n getInternalIconModeCss,\n getInternalSafelistRawContent,\n getPruneVarSafelist,\n optimizeGeneratedCss,\n printSimpleModeStats,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"generate.helpers.js","names":[],"sources":["../../src/css/generate.helpers.ts"],"sourcesContent":["import path from 'node:path';\n\nimport type { UniversalTokensConfig } from '@yahoo/uds-config';\nimport autoprefixer from 'autoprefixer';\nimport postcss from 'postcss';\n// @ts-expect-error - no types\nimport pruneVar from 'postcss-prune-var';\nimport postcssScope from 'postcss-scope';\nimport tailwindcss from 'tailwindcss';\nimport type { SafelistConfig } from 'tailwindcss/types/config';\n\n// eslint-disable-next-line import/no-relative-packages\nimport { iconPruneVarsSafelist } from '../../../icons/src/safelist';\nimport { getInternalSafelistClasses } from '../purger/optimized/utils/safelist';\nimport { getIconStyles } from '../tailwind/components/getIconStyles';\nimport { tailwindPlugin } from '../tailwind/tailwindPlugin';\nimport { hasAllowedEntryFileExtension } from '../utils/entryPoints';\nimport type { OptimizeCSSOptions } from '../utils/optimizeCSS';\nimport { optimizeCSS } from '../utils/optimizeCSS';\nimport { preserveVars, preserveVarsCleanup } from '../utils/postcssPreserveVars';\nimport { fixScopedColorModeSelectorsPlugin, fixScopedSelfOrParentSelectorsPlugin } from './postcss';\nimport { formatCssDuration } from './runner.helpers';\nimport type { UDSCSSOptimizationOptions, UDSCSSVarSafelistPattern } from './theme';\nimport { formatBytes } from './utils';\n\ntype CssOptimizationOptions = UDSCSSOptimizationOptions;\n\ntype CssOptionsLike = {\n preflight?: boolean;\n fontFaceDeclarations?: boolean;\n optimization?: CssOptimizationOptions;\n};\n\ntype CssFeatureFlags = {\n enablePreflight: boolean;\n enableFontFaceDeclarations: boolean;\n shouldOptimize: boolean;\n shouldPruneVars: boolean;\n};\n\nconst getPruneVarSafelist = (cssOptions?: CssOptionsLike): UDSCSSVarSafelistPattern[] => {\n const pruneVars = cssOptions?.optimization?.pruneVars;\n const configuredSafelist =\n pruneVars && typeof pruneVars === 'object' ? (pruneVars.safelist ?? []) : [];\n\n return [...iconPruneVarsSafelist, ...configuredSafelist];\n};\n\nconst getCssFeatureFlags = (cssOptions?: CssOptionsLike): CssFeatureFlags => {\n const optimizationConfig = cssOptions?.optimization;\n const shouldOptimize = optimizationConfig?.enabled !== false;\n const pruneVars = optimizationConfig?.pruneVars;\n\n return {\n enablePreflight: cssOptions?.preflight !== false,\n enableFontFaceDeclarations: cssOptions?.fontFaceDeclarations !== false,\n shouldOptimize,\n shouldPruneVars: shouldOptimize && pruneVars !== false,\n };\n};\n\nconst getContentGlobs = (contentDir: string | string[]): string[] => {\n const contentDirs = Array.isArray(contentDir) ? contentDir : [contentDir];\n\n return contentDirs.map((dir) =>\n hasAllowedEntryFileExtension(dir) ? dir : path.join(dir, '**/*.{js,jsx,mjs,cjs,ts,tsx}'),\n );\n};\n\nconst getRawContentEntries = (rawContents: string[]): Array<{ raw: string; extension: 'html' }> =>\n rawContents.map((rawContent) => ({ raw: rawContent, extension: 'html' }));\n\nconst getInternalSafelistRawContent = (safelist: SafelistConfig[]): string[] => {\n const internalClasses = new Set(getInternalSafelistClasses());\n const matchedInternalClasses = safelist.filter(\n (entry): entry is string => typeof entry === 'string' && internalClasses.has(entry),\n );\n\n if (matchedInternalClasses.length === 0) {\n return [];\n }\n\n return [`<div class=\"${matchedInternalClasses.join(' ')}\"></div>`];\n};\n\nconst getInternalIconModeCss = (scopeClass?: string): string => {\n const iconStyles = getIconStyles();\n\n return Object.entries(iconStyles)\n .map(([selector, declarations]) => {\n const scopedSelector = scopeClass ? `${scopeClass} ${selector}` : selector;\n const declarationString = Object.entries(declarations)\n .map(([property, value]) => `${property}: ${value};`)\n .join(' ');\n\n return `${scopedSelector} { ${declarationString} }`;\n })\n .join(' ');\n};\n\nconst createTailwindPlugin = (options: {\n contentDir: string | string[];\n rawContents?: string[];\n safelist: SafelistConfig[];\n config: UniversalTokensConfig;\n enablePreflight: boolean;\n enableFontFaceDeclarations: boolean;\n}): postcss.AcceptedPlugin => {\n const plugin = tailwindcss({\n content: [\n ...getContentGlobs(options.contentDir),\n ...getRawContentEntries(getInternalSafelistRawContent(options.safelist)),\n ...getRawContentEntries(options.rawContents ?? []),\n ],\n safelist: options.safelist,\n corePlugins: { preflight: options.enablePreflight },\n plugins: [\n tailwindPlugin({\n config: options.config,\n disableFontFaceDeclarations: !options.enableFontFaceDeclarations,\n ignorePluginSafelists: true,\n }),\n ],\n });\n\n return plugin as postcss.AcceptedPlugin;\n};\n\nconst getPruneVarPlugins = (\n safeVarPrefixes: UDSCSSVarSafelistPattern[],\n): postcss.AcceptedPlugin[] => {\n if (safeVarPrefixes.length === 0) {\n return [pruneVar() as postcss.AcceptedPlugin];\n }\n\n return [\n preserveVars({ preserve: safeVarPrefixes }) as postcss.AcceptedPlugin,\n pruneVar() as postcss.AcceptedPlugin,\n preserveVarsCleanup() as postcss.AcceptedPlugin,\n ];\n};\n\nconst buildPostcssPlugins = (options: {\n tailwindPlugin: postcss.AcceptedPlugin;\n shouldPruneVars: boolean;\n safeVarPrefixes: UDSCSSVarSafelistPattern[];\n scopeClass?: string;\n}): postcss.AcceptedPlugin[] => {\n const plugins: postcss.AcceptedPlugin[] = [options.tailwindPlugin, autoprefixer()];\n\n if (options.shouldPruneVars) {\n plugins.push(...getPruneVarPlugins(options.safeVarPrefixes));\n }\n\n if (options.scopeClass) {\n plugins.push(postcssScope(options.scopeClass) as postcss.AcceptedPlugin);\n }\n\n return plugins;\n};\n\nconst applyScopedColorModeFix = async (css: string, scopeClass?: string): Promise<string> => {\n if (!scopeClass) {\n return css;\n }\n\n const fixResult = await postcss([\n fixScopedSelfOrParentSelectorsPlugin(scopeClass),\n fixScopedColorModeSelectorsPlugin(scopeClass),\n ]).process(css, {\n from: undefined,\n });\n\n return fixResult.css;\n};\n\nconst optimizeGeneratedCss = async (options: {\n css: string;\n shouldOptimize: boolean;\n optimizationConfig?: CssOptimizationOptions;\n referenceCss?: string;\n scopeClass?: string;\n}): Promise<{\n css: string;\n optimizationStats?: {\n originalSize: number;\n originalSizeGzip: number;\n fontFacesRemoved: number;\n emptyRulesRemoved: number;\n validationErrors: string[];\n };\n}> => {\n if (!options.shouldOptimize) {\n return { css: options.css };\n }\n\n const optimizationOptions: OptimizeCSSOptions = {\n removeUnusedFonts: options.optimizationConfig?.removeUnusedFonts,\n removeEmptyRules: options.optimizationConfig?.removeEmptyRules,\n aggregateDuplicateSelectors: options.optimizationConfig?.aggregateDuplicateSelectors,\n referenceCss: options.referenceCss,\n scopeClass: options.scopeClass,\n };\n\n const optimized = await optimizeCSS(options.css, optimizationOptions);\n return {\n css: optimized.css,\n optimizationStats: {\n originalSize: optimized.stats.originalSize,\n originalSizeGzip: optimized.stats.originalSizeGzip,\n fontFacesRemoved: optimized.stats.fontFacesRemoved,\n emptyRulesRemoved: optimized.stats.emptyRulesRemoved,\n validationErrors: optimized.validation.errors,\n },\n };\n};\n\nconst printSimpleModeStats = (options: {\n cwd: string;\n outputPath: string;\n totalFilesScanned: number;\n scannedFilePaths?: string[];\n classCount: number;\n sizeBytes: number;\n sizeGzipBytes: number;\n duration: number;\n scope?: string;\n verbose?: boolean;\n optimizationStats?: {\n originalSizeGzip: number;\n fontFacesRemoved: number;\n emptyRulesRemoved: number;\n validationErrors: string[];\n };\n print: (value: string) => void;\n magenta: (value: string) => string;\n cyan: (value: string) => string;\n yellow: (value: string) => string;\n}): void => {\n const { print, magenta, cyan, yellow } = options;\n const getDisplayPath = (targetPath: string): string => {\n const relativePath = path.relative(options.cwd, targetPath);\n return relativePath.length === 0 ? '.' : relativePath;\n };\n\n print('');\n print(`${magenta('Output:')} ${cyan(getDisplayPath(options.outputPath))}`);\n print(`${magenta('Stats:')}`);\n print(` Files scanned: ${options.totalFilesScanned}`);\n if (options.verbose && options.scannedFilePaths && options.scannedFilePaths.length > 0) {\n [...new Set(options.scannedFilePaths)]\n .sort((left, right) => left.localeCompare(right))\n .forEach((filePath) => print(` • ${cyan(getDisplayPath(filePath))}`));\n }\n print(` Classes: ${options.classCount}`);\n print(\n ` Size: ${formatBytes(options.sizeBytes)} (${formatBytes(options.sizeGzipBytes)} gzipped)`,\n );\n\n const optimizationStats = options.optimizationStats;\n if (optimizationStats) {\n const savedBytesGzip = optimizationStats.originalSizeGzip - options.sizeGzipBytes;\n if (savedBytesGzip > 0) {\n if (optimizationStats.fontFacesRemoved > 0) {\n print(` • removed ${optimizationStats.fontFacesRemoved} unused @font-face`);\n }\n if (optimizationStats.emptyRulesRemoved > 0) {\n print(` • removed ${optimizationStats.emptyRulesRemoved} empty rules`);\n }\n }\n\n if (optimizationStats.validationErrors.length > 0) {\n print(` ${yellow('Validation warnings:')}`);\n optimizationStats.validationErrors.forEach((error) => print(` ${yellow('•')} ${error}`));\n }\n }\n\n print(` Time: ${formatCssDuration(options.duration)}`);\n if (options.scope) {\n print(` Scope: ${cyan(options.scope)}`);\n }\n};\n\nexport {\n applyScopedColorModeFix,\n buildPostcssPlugins,\n createTailwindPlugin,\n getContentGlobs,\n getCssFeatureFlags,\n getInternalIconModeCss,\n getInternalSafelistRawContent,\n getPruneVarSafelist,\n optimizeGeneratedCss,\n printSimpleModeStats,\n};\n"],"mappings":"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"}
@@ -105,13 +105,16 @@ const generateSimpleModeCSS = async (options) => {
105
105
  fs.writeFileSync(outputPath, cssResult.css);
106
106
  const duration = Math.round(performance.now() - startTime);
107
107
  if (shouldLogStats) printSimpleModeStats({
108
+ cwd: options.workspaceDir,
108
109
  outputPath,
109
110
  totalFilesScanned,
111
+ scannedFilePaths: scanResult.filePaths,
110
112
  classCount: cssResult.classCount,
111
113
  sizeBytes: cssResult.sizeBytes,
112
114
  sizeGzipBytes: cssResult.sizeGzipBytes,
113
115
  duration,
114
116
  scope: options.scope,
117
+ verbose: options.verbose,
115
118
  optimizationStats: cssResult.optimizationStats,
116
119
  print,
117
120
  magenta,