@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
@@ -1 +1 @@
1
- {"version":3,"file":"postcss.js","names":[],"sources":["../../src/css/postcss.ts"],"sourcesContent":["import type postcss from 'postcss';\n\nimport { buildScopedColorModeSelectorList } from './postcss.helpers';\n\n/**\n * PostCSS plugin to fix color mode selectors for scoped CSS.\n *\n * postcss-scope converts selectors like:\n * `.uds-color-mode-dark .foo` → `.scope .uds-color-mode-dark .foo`\n *\n * But the color mode class is typically on <html> or <body>, which is an\n * ANCESTOR of the scope, not a descendant. This plugin adds alternative\n * selectors so color modes work correctly:\n *\n * `.scope .uds-color-mode-dark .foo` → `.scope .uds-color-mode-dark .foo, .uds-color-mode-dark .scope .foo, .uds-color-mode-dark.scope .foo`\n *\n * This ensures styles apply whether the color mode class is inside or outside the scope.\n */\nconst fixScopedColorModeSelectorsPlugin = (scopeClass: string): postcss.Plugin => {\n const colorModePattern = /\\.(uds-color-mode-(?:dark|light))/;\n\n return {\n postcssPlugin: 'fix-scoped-color-mode-selectors',\n // Use Once to process all rules after parsing is complete\n Once(root) {\n root.walkRules((rule) => {\n // Skip if selector doesn't contain both scope and color mode\n if (!rule.selector.includes(scopeClass) || !colorModePattern.test(rule.selector)) {\n return;\n }\n\n const nextSelector = buildScopedColorModeSelectorList(rule.selector, scopeClass);\n if (nextSelector !== rule.selector) {\n rule.selector = nextSelector;\n }\n });\n },\n };\n};\nexport { fixScopedColorModeSelectorsPlugin };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAkBA,MAAM,qCAAqC,eAAuC;CAChF,MAAM,mBAAmB;AAEzB,QAAO;EACL,eAAe;EAEf,KAAK,MAAM;AACT,QAAK,WAAW,SAAS;AAEvB,QAAI,CAAC,KAAK,SAAS,SAAS,WAAW,IAAI,CAAC,iBAAiB,KAAK,KAAK,SAAS,CAC9E;IAGF,MAAM,eAAe,iCAAiC,KAAK,UAAU,WAAW;AAChF,QAAI,iBAAiB,KAAK,SACxB,MAAK,WAAW;KAElB;;EAEL"}
1
+ {"version":3,"file":"postcss.js","names":[],"sources":["../../src/css/postcss.ts"],"sourcesContent":["import type postcss from 'postcss';\n\nimport {\n buildScopedColorModeSelectorList,\n getScopedSelfOrParentAlternativeSelector,\n} from './postcss.helpers';\n\nconst fixScopedSelfOrParentSelectorsPlugin = (scopeClass: string): postcss.Plugin => {\n return {\n postcssPlugin: 'fix-scoped-self-or-parent-selectors',\n Once(root) {\n root.walkRules((rule) => {\n if (!rule.selector.includes(scopeClass)) {\n return;\n }\n\n const nextSelectors = rule.selectors.reduce<string[]>((acc, selector) => {\n const sameElementSelector = getScopedSelfOrParentAlternativeSelector(\n selector,\n scopeClass,\n );\n\n if (sameElementSelector && !rule.selectors.includes(sameElementSelector)) {\n return [...acc, selector, sameElementSelector];\n }\n\n return [...acc, selector];\n }, []);\n\n if (nextSelectors.length !== rule.selectors.length) {\n rule.selectors = nextSelectors;\n }\n });\n },\n };\n};\n\n/**\n * PostCSS plugin to fix color mode selectors for scoped CSS.\n *\n * postcss-scope converts selectors like:\n * `.uds-color-mode-dark .foo` → `.scope .uds-color-mode-dark .foo`\n *\n * But the color mode class is typically on <html> or <body>, which is an\n * ANCESTOR of the scope, not a descendant. This plugin adds alternative\n * selectors so color modes work correctly:\n *\n * `.scope .uds-color-mode-dark .foo` → `.scope .uds-color-mode-dark .foo, .uds-color-mode-dark .scope .foo, .uds-color-mode-dark.scope .foo`\n *\n * This ensures styles apply whether the color mode class is inside or outside the scope.\n */\nconst fixScopedColorModeSelectorsPlugin = (scopeClass: string): postcss.Plugin => {\n const colorModePattern = /\\.(uds-color-mode-(?:dark|light))/;\n\n return {\n postcssPlugin: 'fix-scoped-color-mode-selectors',\n // Use Once to process all rules after parsing is complete\n Once(root) {\n root.walkRules((rule) => {\n // Skip if selector doesn't contain both scope and color mode\n if (!rule.selector.includes(scopeClass) || !colorModePattern.test(rule.selector)) {\n return;\n }\n\n const nextSelector = buildScopedColorModeSelectorList(rule.selector, scopeClass);\n if (nextSelector !== rule.selector) {\n rule.selector = nextSelector;\n }\n });\n },\n };\n};\nexport { fixScopedColorModeSelectorsPlugin, fixScopedSelfOrParentSelectorsPlugin };\n"],"mappings":";;;;AAOA,MAAM,wCAAwC,eAAuC;AACnF,QAAO;EACL,eAAe;EACf,KAAK,MAAM;AACT,QAAK,WAAW,SAAS;AACvB,QAAI,CAAC,KAAK,SAAS,SAAS,WAAW,CACrC;IAGF,MAAM,gBAAgB,KAAK,UAAU,QAAkB,KAAK,aAAa;KACvE,MAAM,sBAAsB,yCAC1B,UACA,WACD;AAED,SAAI,uBAAuB,CAAC,KAAK,UAAU,SAAS,oBAAoB,CACtE,QAAO;MAAC,GAAG;MAAK;MAAU;MAAoB;AAGhD,YAAO,CAAC,GAAG,KAAK,SAAS;OACxB,EAAE,CAAC;AAEN,QAAI,cAAc,WAAW,KAAK,UAAU,OAC1C,MAAK,YAAY;KAEnB;;EAEL;;;;;;;;;;;;;;;;AAiBH,MAAM,qCAAqC,eAAuC;CAChF,MAAM,mBAAmB;AAEzB,QAAO;EACL,eAAe;EAEf,KAAK,MAAM;AACT,QAAK,WAAW,SAAS;AAEvB,QAAI,CAAC,KAAK,SAAS,SAAS,WAAW,IAAI,CAAC,iBAAiB,KAAK,KAAK,SAAS,CAC9E;IAGF,MAAM,eAAe,iCAAiC,KAAK,UAAU,WAAW;AAChF,QAAI,iBAAiB,KAAK,SACxB,MAAK,WAAW;KAElB;;EAEL"}
@@ -8,19 +8,60 @@ const require_entryPoints = require('../utils/entryPoints.cjs');
8
8
  const require_nodeUtils = require('./nodeUtils.cjs');
9
9
  const require_index = require('../config/dist/index.cjs');
10
10
  const require_safelist = require('../purger/optimized/utils/safelist.cjs');
11
+ const require_runner_helpers = require('./runner.helpers.cjs');
11
12
  const require_utils = require('./utils.cjs');
12
13
  const require_generate_helpers = require('./generate.helpers.cjs');
13
14
  const require_generate = require('./generate.cjs');
14
- const require_runner_helpers = require('./runner.helpers.cjs');
15
15
  let node_fs = require("node:fs");
16
16
  node_fs = require_runtime.__toESM(node_fs);
17
- let node_path = require("node:path");
18
- node_path = require_runtime.__toESM(node_path);
19
17
 
20
18
  //#region src/css/runner.ts
19
+ const getScopedPackageOutputPath = (packageName, outFile) => {
20
+ if (typeof outFile === "string" && outFile.trim().length > 0) return outFile;
21
+ return `dist/${packageName.split("/").pop() ?? packageName}.css`;
22
+ };
23
+ const normalizeScopedPackageConfig = (scopedPackageValue) => {
24
+ if (typeof scopedPackageValue === "string") return { config: scopedPackageValue };
25
+ return scopedPackageValue;
26
+ };
27
+ const resolveScopedEntryDirs = (packageRoot, packageDir, entry) => {
28
+ if (entry === void 0) return [packageDir];
29
+ return require_entryPoints.resolveEntryPaths(entry, packageRoot).map((resolvedEntry) => resolvedEntry.absolutePath);
30
+ };
31
+ const PATH_SEPARATOR = "/";
32
+ const normalizePath = (value) => value.replace(/\\/g, PATH_SEPARATOR);
33
+ const isAbsolutePath = (value) => {
34
+ const normalizedValue = normalizePath(value);
35
+ return normalizedValue.startsWith(PATH_SEPARATOR) || /^[A-Za-z]:\//.test(normalizedValue);
36
+ };
37
+ const joinPath = (...parts) => {
38
+ const filteredParts = parts.filter((part) => part.length > 0);
39
+ if (filteredParts.length === 0) return "";
40
+ return filteredParts.map((part, index) => {
41
+ const normalizedPart = normalizePath(part);
42
+ if (index === 0) return normalizedPart.replace(/\/+$/g, "");
43
+ return normalizedPart.replace(/^\/+|\/+$/g, "");
44
+ }).join(PATH_SEPARATOR).replace(/\/+/g, PATH_SEPARATOR).replace(/\/\.\//g, PATH_SEPARATOR);
45
+ };
46
+ const dirnamePath = (value) => {
47
+ const normalizedValue = normalizePath(value).replace(/\/+$/g, "");
48
+ const lastSeparatorIndex = normalizedValue.lastIndexOf(PATH_SEPARATOR);
49
+ if (lastSeparatorIndex <= 0) return lastSeparatorIndex === 0 ? PATH_SEPARATOR : ".";
50
+ return normalizedValue.slice(0, lastSeparatorIndex);
51
+ };
52
+ const basenamePath = (value) => {
53
+ const normalizedValue = normalizePath(value).replace(/\/+$/g, "");
54
+ const lastSeparatorIndex = normalizedValue.lastIndexOf(PATH_SEPARATOR);
55
+ return lastSeparatorIndex >= 0 ? normalizedValue.slice(lastSeparatorIndex + 1) : normalizedValue;
56
+ };
57
+ const resolveOutputPath = (workspaceDir, outFile) => isAbsolutePath(outFile) ? outFile : joinPath(workspaceDir, outFile);
58
+ const ensureOutputDirectory = (outputPath) => {
59
+ const outputDir = dirnamePath(outputPath);
60
+ if (!node_fs.default.existsSync(outputDir)) node_fs.default.mkdirSync(outputDir, { recursive: true });
61
+ };
21
62
  const SOURCE_FILE_PATTERN = /\.(jsx?|tsx?)$/i;
22
- const getWatchDirs = (dirs) => [...new Set(dirs.filter((dir) => !dir.split(node_path.default.sep).includes("node_modules")))];
23
- const isCoveredByRecursiveWatch = (watchPath, targetPath) => targetPath === watchPath || targetPath.startsWith(`${watchPath}${node_path.default.sep}`);
63
+ const getWatchDirs = (dirs) => [...new Set(dirs.filter((dir) => !normalizePath(dir).split(PATH_SEPARATOR).includes("node_modules")))];
64
+ const isCoveredByRecursiveWatch = (watchPath, targetPath) => targetPath === watchPath || targetPath.startsWith(`${watchPath}${PATH_SEPARATOR}`);
24
65
  const getEntryWatchTargets = (entries) => {
25
66
  const directoryTargets = getWatchDirs(entries.filter((entry) => entry.kind === "directory").map((entry) => entry.absolutePath)).map((watchPath) => ({
26
67
  watchPath,
@@ -44,7 +85,7 @@ const watchSourceFiles = (targets, onFileChange) => {
44
85
  targets.forEach((target) => {
45
86
  node_fs.default.watch(target.watchPath, { recursive: target.recursive }, (_eventType, filename) => {
46
87
  if (!filename || !SOURCE_FILE_PATTERN.test(filename)) return;
47
- if (target.fileNames && !target.fileNames.includes(node_path.default.basename(String(filename)))) return;
88
+ if (target.fileNames && !target.fileNames.includes(basenamePath(String(filename)))) return;
48
89
  onFileChange();
49
90
  });
50
91
  });
@@ -82,8 +123,13 @@ const createQueuedRegenerator = (options) => {
82
123
  };
83
124
  return regenerate;
84
125
  };
126
+ const printVerboseScanFiles = (log, workspaceDir, filePaths) => {
127
+ require_runner_helpers.getVerboseScanFileList(workspaceDir, filePaths).forEach((filePath) => {
128
+ log.listItem(filePath);
129
+ });
130
+ };
85
131
  const runCssCommand = async (options, context) => {
86
- if (!node_fs.default.existsSync(node_path.default.join(options.workspaceDir, String(options.themeConfigPath)))) {
132
+ if (!node_fs.default.existsSync(joinPath(options.workspaceDir, String(options.themeConfigPath)))) {
87
133
  await runSimpleMode(options, context);
88
134
  return;
89
135
  }
@@ -104,7 +150,8 @@ const runSimpleMode = async (options, context) => {
104
150
  scope: options.scope,
105
151
  configPath,
106
152
  isWatch: options.watch,
107
- silent: options.silent
153
+ silent: options.silent,
154
+ verbose: options.verbose
108
155
  });
109
156
  if (options.watch) await runSimpleModeWatch(options, context, entry, configPath, result.packageDirs ?? []);
110
157
  } catch (error) {
@@ -184,7 +231,7 @@ const loadThemeModeSetup = async (options) => {
184
231
  };
185
232
  const runThemeMode = async (options, context) => {
186
233
  const workspaceDir = options.workspaceDir;
187
- const outputPath = node_path.default.isAbsolute(options.outFile) ? options.outFile : node_path.default.join(workspaceDir, String(options.outFile));
234
+ const outputPath = resolveOutputPath(workspaceDir, String(options.outFile));
188
235
  let effectiveSilent = options.silent;
189
236
  let log = require_logger.createLogger({ silent: effectiveSilent });
190
237
  log.spinStart("Loading theme configuration...");
@@ -205,12 +252,21 @@ const runThemeMode = async (options, context) => {
205
252
  const generateThemeModeCSS = async (opts) => {
206
253
  const genStartTime = performance.now();
207
254
  const genLog = opts?.isWatch ? require_logger.createLogger({ silent: true }) : log;
255
+ const scopedCssOutputs = [];
208
256
  genLog.spinStart("Scanning app code...");
209
257
  const appScanResult = await require_nodeUtils.scanDirectoriesForSafelist(entryDirs, colorModes, context.variants, context.autoVariants, context.componentData, appVariantDefaults, runtimeConfigValues);
210
- genLog.spinStop("✅", `Scanned ${appScanResult.filesScanned} files`);
258
+ genLog.spinStop("✅", require_runner_helpers.getScanSummaryMessage({
259
+ label: "app",
260
+ filesScanned: appScanResult.filesScanned,
261
+ filesWithComponents: appScanResult.filesWithComponents,
262
+ componentCount: appScanResult.components.length,
263
+ mode: "app"
264
+ }));
265
+ if (options.verbose) printVerboseScanFiles(genLog, workspaceDir, appScanResult.filePaths);
211
266
  genLog.spinStart("Generating main CSS...");
212
267
  const inheritedClasses = [...appScanResult.safelist];
213
268
  const inheritedComponents = new Set(appScanResult.components);
269
+ const scopedPackageTargets = [];
214
270
  const processInheritedPackage = async (packageName) => {
215
271
  genLog.spinStart(`Processing package: ${packageName}...`);
216
272
  const packageDir = require_nodeUtils.findPackageSourceDir(packageName);
@@ -222,12 +278,50 @@ const runThemeMode = async (options, context) => {
222
278
  const packageScanResult = await require_nodeUtils.scanDirectoryForSafelist(packageDir, colorModes, context.variants, context.autoVariants, context.componentData, appVariantDefaults, runtimeConfigValues, true);
223
279
  inheritedClasses.push(...packageScanResult.safelist);
224
280
  packageScanResult.components.forEach((comp) => inheritedComponents.add(comp));
225
- genLog.spinStop("✅", `${packageName}: ${packageScanResult.filesScanned} files (inherit)`);
281
+ genLog.spinStop("✅", require_runner_helpers.getScanSummaryMessage({
282
+ label: packageName,
283
+ filesScanned: packageScanResult.filesScanned,
284
+ filesWithComponents: packageScanResult.filesWithComponents,
285
+ componentCount: packageScanResult.components.length,
286
+ mode: "inherit"
287
+ }));
288
+ if (options.verbose) printVerboseScanFiles(genLog, workspaceDir, packageScanResult.filePaths);
289
+ };
290
+ const processScopedPackage = async (packageName, scopedPackageValue) => {
291
+ genLog.spinStart(`Processing scoped package: ${packageName}...`);
292
+ const scopedPackageConfig = normalizeScopedPackageConfig(scopedPackageValue);
293
+ const packageRoot = require_nodeUtils.findPackageRoot(packageName);
294
+ const packageDir = require_nodeUtils.findPackageSourceDir(packageName);
295
+ if (!packageRoot || !packageDir) {
296
+ genLog.spinStop("⚠️", `Scoped package not found: ${packageName}`);
297
+ return;
298
+ }
299
+ const scopeClass = require_nodeUtils.getPackageUdsScope(packageName);
300
+ if (!scopeClass) {
301
+ genLog.spinStop("⚠️", `Scoped package missing package.json uds.scope: ${packageName}`);
302
+ return;
303
+ }
304
+ const entryDirs = resolveScopedEntryDirs(packageRoot, packageDir, scopedPackageConfig.entry);
305
+ entryDirs.forEach((entryDir) => {
306
+ if (!packageDirs.includes(entryDir)) packageDirs.push(entryDir);
307
+ });
308
+ scopedPackageTargets.push({
309
+ packageName,
310
+ packageRoot,
311
+ packageDir,
312
+ entryDirs,
313
+ scopeClass,
314
+ config: scopedPackageConfig
315
+ });
226
316
  };
227
317
  await (themeConfig.inherit ?? []).reduce(async (promise, packageName) => {
228
318
  await promise;
229
319
  await processInheritedPackage(packageName);
230
320
  }, Promise.resolve());
321
+ await Object.entries(themeConfig.scoped ?? {}).reduce(async (promise, [packageName, scopedPackageConfig]) => {
322
+ await promise;
323
+ await processScopedPackage(packageName, scopedPackageConfig);
324
+ }, Promise.resolve());
231
325
  const mainSafelist = require_safelist.deduplicateSafelist([
232
326
  ...inheritedClasses,
233
327
  ...require_safelist.getThemeAndScaleClasses(colorModes),
@@ -244,24 +338,80 @@ const runThemeMode = async (options, context) => {
244
338
  ...require_generate_helpers.getPruneVarSafelist(themeConfig.css)
245
339
  ]
246
340
  });
247
- const outputDir = node_path.default.dirname(outputPath);
248
- if (!node_fs.default.existsSync(outputDir)) node_fs.default.mkdirSync(outputDir, { recursive: true });
341
+ ensureOutputDirectory(outputPath);
249
342
  node_fs.default.writeFileSync(outputPath, mainCssResult.css);
250
- genLog.spinStop("✅", require_runner_helpers.getMainCssSummaryMessage({
343
+ for (const scopedPackageTarget of scopedPackageTargets) {
344
+ const packageConfig = await require_nodeUtils.loadConfigFile(isAbsolutePath(scopedPackageTarget.config.config) ? scopedPackageTarget.config.config : joinPath(scopedPackageTarget.packageRoot, scopedPackageTarget.config.config)) ?? require_index.defaultTokensConfig;
345
+ const packageVariantDefaults = require_utils.extractVariantDefaults(packageConfig);
346
+ const packageRuntimeConfigValues = require_utils.extractRuntimeConfigValues(packageConfig);
347
+ const packageScanResult = await require_nodeUtils.scanDirectoriesForSafelist(scopedPackageTarget.entryDirs, colorModes, context.variants, context.autoVariants, context.componentData, packageVariantDefaults, packageRuntimeConfigValues, true);
348
+ genLog.spinStop("✅", require_runner_helpers.getScanSummaryMessage({
349
+ label: scopedPackageTarget.packageName,
350
+ filesScanned: packageScanResult.filesScanned,
351
+ filesWithComponents: packageScanResult.filesWithComponents,
352
+ componentCount: packageScanResult.components.length,
353
+ mode: "scoped"
354
+ }));
355
+ if (options.verbose) printVerboseScanFiles(genLog, workspaceDir, packageScanResult.filePaths);
356
+ const packageSafelist = require_safelist.deduplicateSafelist([
357
+ ...packageScanResult.safelist,
358
+ ...require_safelist.getThemeAndScaleClasses(colorModes),
359
+ ...require_safelist.getInternalSafelistClasses()
360
+ ]);
361
+ const scopedCssResult = await require_generate.generateCSS([...themeConfig.css?.safelist ?? [], ...packageSafelist], packageConfig, {
362
+ scope: scopedPackageTarget.scopeClass,
363
+ contentDir: scopedPackageTarget.entryDirs,
364
+ cssOptions: themeConfig.css,
365
+ referenceCss: themeConfig.css?.optimization?.deduplicateScopedCss === false ? void 0 : mainCssResult.css,
366
+ safeVarPrefixes: [
367
+ ...require_utils.getMotionVarPrefixes(context.componentData, [...packageScanResult.components]),
368
+ ...require_utils.getConfigurableCssVariables(),
369
+ ...require_generate_helpers.getPruneVarSafelist(themeConfig.css)
370
+ ]
371
+ });
372
+ const scopedOutputPath = resolveOutputPath(workspaceDir, getScopedPackageOutputPath(scopedPackageTarget.packageName, scopedPackageTarget.config.outFile));
373
+ ensureOutputDirectory(scopedOutputPath);
374
+ node_fs.default.writeFileSync(scopedOutputPath, scopedCssResult.css);
375
+ scopedCssOutputs.push({
376
+ label: scopedPackageTarget.packageName,
377
+ outputPath: scopedOutputPath,
378
+ sizeGzipBytes: scopedCssResult.sizeGzipBytes,
379
+ optimizationStats: scopedCssResult.optimizationStats
380
+ });
381
+ }
382
+ const mainCssSummary = require_runner_helpers.getMainCssSummaryMessage({
251
383
  sizeGzipBytes: mainCssResult.sizeGzipBytes,
252
384
  optimizationStats: mainCssResult.optimizationStats,
253
385
  formatBytes: require_utils.formatBytes
254
- }));
386
+ });
387
+ genLog.spinStop("✅", mainCssSummary.summaryLine);
388
+ mainCssSummary.detailLines.forEach((detailLine) => {
389
+ genLog.print(detailLine);
390
+ });
391
+ scopedCssOutputs.forEach((scopedCssOutput) => {
392
+ const scopedCssSummary = require_runner_helpers.getScopedCssSummaryMessage(scopedCssOutput.label, {
393
+ sizeGzipBytes: scopedCssOutput.sizeGzipBytes,
394
+ optimizationStats: scopedCssOutput.optimizationStats,
395
+ formatBytes: require_utils.formatBytes
396
+ });
397
+ genLog.spinStop("✅", scopedCssSummary.summaryLine);
398
+ scopedCssSummary.detailLines.forEach((detailLine) => {
399
+ genLog.print(detailLine);
400
+ });
401
+ });
255
402
  const duration = Math.round(performance.now() - genStartTime);
403
+ const outputFileSection = require_runner_helpers.getOutputFileSection(workspaceDir, [outputPath, ...scopedCssOutputs.map((scopedCssOutput) => scopedCssOutput.outputPath)]);
256
404
  genLog.newline();
257
- genLog.print(require_colors.green("CSS generation complete!"));
258
- genLog.newline();
259
- genLog.label("Output file:", outputPath);
405
+ genLog.print(outputFileSection.label);
406
+ outputFileSection.paths.forEach((filePath) => {
407
+ genLog.listItem(filePath);
408
+ });
260
409
  genLog.newline();
261
- genLog.print(`${require_colors.magenta("Total time:")} ${duration}ms`);
410
+ genLog.print(`${require_colors.magenta("Total time:")} ${require_runner_helpers.formatCssDuration(duration)}`);
262
411
  return {
263
412
  duration,
264
413
  outputPath,
414
+ outputPaths: outputFileSection.paths,
265
415
  packageDirs
266
416
  };
267
417
  };
@@ -292,7 +442,8 @@ const runThemeMode = async (options, context) => {
292
442
  onSuccess: (result) => {
293
443
  if (!effectiveSilent) {
294
444
  const updatedAt = (/* @__PURE__ */ new Date()).toLocaleTimeString();
295
- log.print(`${require_colors.gray(`[${updatedAt}]`)} ${require_colors.green(`CSS updated (${result?.duration}ms)`)}`);
445
+ const updatedMessage = result?.duration == null ? "CSS updated" : `CSS updated (${require_runner_helpers.formatCssDuration(result.duration)})`;
446
+ log.print(`${require_colors.gray(`[${updatedAt}]`)} ${require_colors.green(updatedMessage)}`);
296
447
  log.newline();
297
448
  }
298
449
  },
@@ -4,13 +4,60 @@ let node_path = require("node:path");
4
4
  node_path = require_runtime.__toESM(node_path);
5
5
 
6
6
  //#region src/css/runner.helpers.ts
7
- const getMainCssSummaryMessage = (options) => {
8
- const { optimizationStats, sizeGzipBytes, formatBytes } = options;
9
- if (!optimizationStats) return `Main CSS: ${formatBytes(sizeGzipBytes)} gzip`;
7
+ const getDisplayPath = (cwd, targetPath) => {
8
+ const relativePath = node_path.default.relative(cwd, targetPath);
9
+ return relativePath.length === 0 ? "." : relativePath;
10
+ };
11
+ const getVerboseScanFileList = (cwd, filePaths) => [...new Set(filePaths.map((filePath) => getDisplayPath(cwd, filePath)))].sort((left, right) => left.localeCompare(right));
12
+ const getOptimizationDetailLines = (optimizationStats) => {
13
+ const detailLines = [];
14
+ if (optimizationStats.fontFacesRemoved > 0) detailLines.push(` • removed ${optimizationStats.fontFacesRemoved} unused @font-face`);
15
+ if (optimizationStats.emptyRulesRemoved > 0) detailLines.push(` • removed ${optimizationStats.emptyRulesRemoved} empty rules`);
16
+ return detailLines;
17
+ };
18
+ const formatCssDuration = (durationMs) => {
19
+ return `${(Math.floor(durationMs / 100) / 10).toFixed(1)}s`;
20
+ };
21
+ const getCssSummaryMessage = (options) => {
22
+ const { label, optimizationStats, sizeGzipBytes, formatBytes } = options;
23
+ const summaryLine = `${label}: ${formatBytes(sizeGzipBytes)} gzip`;
24
+ if (!optimizationStats) return {
25
+ summaryLine,
26
+ detailLines: []
27
+ };
10
28
  const { originalSizeGzip, fontFacesRemoved, emptyRulesRemoved } = optimizationStats;
11
- const savedBytesGzip = originalSizeGzip - sizeGzipBytes;
12
- if (savedBytesGzip <= 0) return `Main CSS: ${formatBytes(sizeGzipBytes)} gzip`;
13
- return `Main CSS: ${formatBytes(sizeGzipBytes)} gzip)(optimized: saved ${formatBytes(savedBytesGzip)} gzip, ${fontFacesRemoved} unused @font-face, ${emptyRulesRemoved} empty rules removed)`;
29
+ if (originalSizeGzip - sizeGzipBytes <= 0) return {
30
+ summaryLine,
31
+ detailLines: []
32
+ };
33
+ return {
34
+ summaryLine,
35
+ detailLines: getOptimizationDetailLines({
36
+ originalSizeGzip,
37
+ fontFacesRemoved,
38
+ emptyRulesRemoved
39
+ })
40
+ };
41
+ };
42
+ const getMainCssSummaryMessage = (options) => {
43
+ return getCssSummaryMessage({
44
+ label: "Main CSS",
45
+ ...options
46
+ });
47
+ };
48
+ const getScopedCssSummaryMessage = (packageName, options) => getCssSummaryMessage({
49
+ label: `${packageName} CSS`,
50
+ ...options
51
+ });
52
+ const getOutputFileSection = (cwd, outputPaths) => ({
53
+ label: "Output files:",
54
+ paths: outputPaths.map((outputPath) => getDisplayPath(cwd, outputPath))
55
+ });
56
+ const getScanSummaryMessage = (options) => {
57
+ const nonComponentFileCount = Math.max(options.filesScanned - options.filesWithComponents, 0);
58
+ const fileLabel = nonComponentFileCount === 1 ? "file" : "files";
59
+ const componentLabel = options.componentCount === 1 ? "component" : "components";
60
+ return `${options.label}: ${nonComponentFileCount} ${fileLabel}, ${options.componentCount} ${componentLabel} (${options.mode})`;
14
61
  };
15
62
  const getWatchDirectoryGroups = (entryDirs, dirs) => {
16
63
  const watchDirs = [...new Set(dirs.filter((dir) => !dir.split(node_path.default.sep).includes("node_modules")))];
@@ -21,5 +68,10 @@ const getWatchDirectoryGroups = (entryDirs, dirs) => {
21
68
  };
22
69
 
23
70
  //#endregion
71
+ exports.formatCssDuration = formatCssDuration;
24
72
  exports.getMainCssSummaryMessage = getMainCssSummaryMessage;
73
+ exports.getOutputFileSection = getOutputFileSection;
74
+ exports.getScanSummaryMessage = getScanSummaryMessage;
75
+ exports.getScopedCssSummaryMessage = getScopedCssSummaryMessage;
76
+ exports.getVerboseScanFileList = getVerboseScanFileList;
25
77
  exports.getWatchDirectoryGroups = getWatchDirectoryGroups;
@@ -2,13 +2,60 @@
2
2
  import path from "node:path";
3
3
 
4
4
  //#region src/css/runner.helpers.ts
5
- const getMainCssSummaryMessage = (options) => {
6
- const { optimizationStats, sizeGzipBytes, formatBytes } = options;
7
- if (!optimizationStats) return `Main CSS: ${formatBytes(sizeGzipBytes)} gzip`;
5
+ const getDisplayPath = (cwd, targetPath) => {
6
+ const relativePath = path.relative(cwd, targetPath);
7
+ return relativePath.length === 0 ? "." : relativePath;
8
+ };
9
+ const getVerboseScanFileList = (cwd, filePaths) => [...new Set(filePaths.map((filePath) => getDisplayPath(cwd, filePath)))].sort((left, right) => left.localeCompare(right));
10
+ const getOptimizationDetailLines = (optimizationStats) => {
11
+ const detailLines = [];
12
+ if (optimizationStats.fontFacesRemoved > 0) detailLines.push(` • removed ${optimizationStats.fontFacesRemoved} unused @font-face`);
13
+ if (optimizationStats.emptyRulesRemoved > 0) detailLines.push(` • removed ${optimizationStats.emptyRulesRemoved} empty rules`);
14
+ return detailLines;
15
+ };
16
+ const formatCssDuration = (durationMs) => {
17
+ return `${(Math.floor(durationMs / 100) / 10).toFixed(1)}s`;
18
+ };
19
+ const getCssSummaryMessage = (options) => {
20
+ const { label, optimizationStats, sizeGzipBytes, formatBytes } = options;
21
+ const summaryLine = `${label}: ${formatBytes(sizeGzipBytes)} gzip`;
22
+ if (!optimizationStats) return {
23
+ summaryLine,
24
+ detailLines: []
25
+ };
8
26
  const { originalSizeGzip, fontFacesRemoved, emptyRulesRemoved } = optimizationStats;
9
- const savedBytesGzip = originalSizeGzip - sizeGzipBytes;
10
- if (savedBytesGzip <= 0) return `Main CSS: ${formatBytes(sizeGzipBytes)} gzip`;
11
- return `Main CSS: ${formatBytes(sizeGzipBytes)} gzip)(optimized: saved ${formatBytes(savedBytesGzip)} gzip, ${fontFacesRemoved} unused @font-face, ${emptyRulesRemoved} empty rules removed)`;
27
+ if (originalSizeGzip - sizeGzipBytes <= 0) return {
28
+ summaryLine,
29
+ detailLines: []
30
+ };
31
+ return {
32
+ summaryLine,
33
+ detailLines: getOptimizationDetailLines({
34
+ originalSizeGzip,
35
+ fontFacesRemoved,
36
+ emptyRulesRemoved
37
+ })
38
+ };
39
+ };
40
+ const getMainCssSummaryMessage = (options) => {
41
+ return getCssSummaryMessage({
42
+ label: "Main CSS",
43
+ ...options
44
+ });
45
+ };
46
+ const getScopedCssSummaryMessage = (packageName, options) => getCssSummaryMessage({
47
+ label: `${packageName} CSS`,
48
+ ...options
49
+ });
50
+ const getOutputFileSection = (cwd, outputPaths) => ({
51
+ label: "Output files:",
52
+ paths: outputPaths.map((outputPath) => getDisplayPath(cwd, outputPath))
53
+ });
54
+ const getScanSummaryMessage = (options) => {
55
+ const nonComponentFileCount = Math.max(options.filesScanned - options.filesWithComponents, 0);
56
+ const fileLabel = nonComponentFileCount === 1 ? "file" : "files";
57
+ const componentLabel = options.componentCount === 1 ? "component" : "components";
58
+ return `${options.label}: ${nonComponentFileCount} ${fileLabel}, ${options.componentCount} ${componentLabel} (${options.mode})`;
12
59
  };
13
60
  const getWatchDirectoryGroups = (entryDirs, dirs) => {
14
61
  const watchDirs = [...new Set(dirs.filter((dir) => !dir.split(path.sep).includes("node_modules")))];
@@ -19,5 +66,5 @@ const getWatchDirectoryGroups = (entryDirs, dirs) => {
19
66
  };
20
67
 
21
68
  //#endregion
22
- export { getMainCssSummaryMessage, getWatchDirectoryGroups };
69
+ export { formatCssDuration, getMainCssSummaryMessage, getOutputFileSection, getScanSummaryMessage, getScopedCssSummaryMessage, getVerboseScanFileList, getWatchDirectoryGroups };
23
70
  //# sourceMappingURL=runner.helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.helpers.js","names":[],"sources":["../../src/css/runner.helpers.ts"],"sourcesContent":["import path from 'node:path';\n\ntype OptimizationStats = {\n originalSizeGzip: number;\n fontFacesRemoved: number;\n emptyRulesRemoved: number;\n};\n\ntype MainCssSummaryOptions = {\n sizeGzipBytes: number;\n optimizationStats?: OptimizationStats;\n formatBytes: (bytes: number) => string;\n};\n\nconst getMainCssSummaryMessage = (options: MainCssSummaryOptions): string => {\n const { optimizationStats, sizeGzipBytes, formatBytes } = options;\n\n if (!optimizationStats) {\n return `Main CSS: ${formatBytes(sizeGzipBytes)} gzip`;\n }\n\n const { originalSizeGzip, fontFacesRemoved, emptyRulesRemoved } = optimizationStats;\n const savedBytesGzip = originalSizeGzip - sizeGzipBytes;\n\n if (savedBytesGzip <= 0) {\n return `Main CSS: ${formatBytes(sizeGzipBytes)} gzip`;\n }\n\n return `Main CSS: ${formatBytes(sizeGzipBytes)} gzip)(optimized: saved ${formatBytes(savedBytesGzip)} gzip, ${fontFacesRemoved} unused @font-face, ${emptyRulesRemoved} empty rules removed)`;\n};\n\nconst getWatchDirectoryGroups = (entryDirs: string[], dirs: string[]) => {\n const watchDirs = [\n ...new Set(dirs.filter((dir) => !dir.split(path.sep).includes('node_modules'))),\n ];\n const filteredPackageDirs = watchDirs.filter((dir) => !entryDirs.includes(dir));\n\n return {\n watchDirs,\n filteredPackageDirs,\n };\n};\n\nexport { getMainCssSummaryMessage, getWatchDirectoryGroups };\n"],"mappings":";;;;AAcA,MAAM,4BAA4B,YAA2C;CAC3E,MAAM,EAAE,mBAAmB,eAAe,gBAAgB;AAE1D,KAAI,CAAC,kBACH,QAAO,aAAa,YAAY,cAAc,CAAC;CAGjD,MAAM,EAAE,kBAAkB,kBAAkB,sBAAsB;CAClE,MAAM,iBAAiB,mBAAmB;AAE1C,KAAI,kBAAkB,EACpB,QAAO,aAAa,YAAY,cAAc,CAAC;AAGjD,QAAO,aAAa,YAAY,cAAc,CAAC,0BAA0B,YAAY,eAAe,CAAC,SAAS,iBAAiB,sBAAsB,kBAAkB;;AAGzK,MAAM,2BAA2B,WAAqB,SAAmB;CACvE,MAAM,YAAY,CAChB,GAAG,IAAI,IAAI,KAAK,QAAQ,QAAQ,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,SAAS,eAAe,CAAC,CAAC,CAChF;AAGD,QAAO;EACL;EACA,qBAJ0B,UAAU,QAAQ,QAAQ,CAAC,UAAU,SAAS,IAAI,CAAC;EAK9E"}
1
+ {"version":3,"file":"runner.helpers.js","names":[],"sources":["../../src/css/runner.helpers.ts"],"sourcesContent":["import path from 'node:path';\n\ntype OptimizationStats = {\n originalSizeGzip: number;\n fontFacesRemoved: number;\n emptyRulesRemoved: number;\n};\n\ntype MainCssSummaryOptions = {\n sizeGzipBytes: number;\n optimizationStats?: OptimizationStats;\n formatBytes: (bytes: number) => string;\n};\n\ntype CssSummaryOptions = MainCssSummaryOptions & {\n label: string;\n};\n\ntype CssSummaryMessage = {\n summaryLine: string;\n detailLines: string[];\n};\n\ntype OutputFileSection = {\n label: string;\n paths: string[];\n};\n\ntype ScanSummaryOptions = {\n label: string;\n filesScanned: number;\n filesWithComponents: number;\n componentCount: number;\n mode: 'app' | 'inherit' | 'scoped';\n};\n\nconst getDisplayPath = (cwd: string, targetPath: string): string => {\n const relativePath = path.relative(cwd, targetPath);\n return relativePath.length === 0 ? '.' : relativePath;\n};\n\nconst getVerboseScanFileList = (cwd: string, filePaths: string[]): string[] =>\n [...new Set(filePaths.map((filePath) => getDisplayPath(cwd, filePath)))].sort((left, right) =>\n left.localeCompare(right),\n );\n\nconst getOptimizationDetailLines = (optimizationStats: OptimizationStats): string[] => {\n const detailLines: string[] = [];\n\n if (optimizationStats.fontFacesRemoved > 0) {\n detailLines.push(` • removed ${optimizationStats.fontFacesRemoved} unused @font-face`);\n }\n\n if (optimizationStats.emptyRulesRemoved > 0) {\n detailLines.push(` • removed ${optimizationStats.emptyRulesRemoved} empty rules`);\n }\n\n return detailLines;\n};\n\nconst formatCssDuration = (durationMs: number): string => {\n const seconds = Math.floor(durationMs / 100) / 10;\n return `${seconds.toFixed(1)}s`;\n};\n\nconst getCssSummaryMessage = (options: CssSummaryOptions): CssSummaryMessage => {\n const { label, optimizationStats, sizeGzipBytes, formatBytes } = options;\n const summaryLine = `${label}: ${formatBytes(sizeGzipBytes)} gzip`;\n\n if (!optimizationStats) {\n return {\n summaryLine,\n detailLines: [],\n };\n }\n\n const { originalSizeGzip, fontFacesRemoved, emptyRulesRemoved } = optimizationStats;\n const savedBytesGzip = originalSizeGzip - sizeGzipBytes;\n\n if (savedBytesGzip <= 0) {\n return {\n summaryLine,\n detailLines: [],\n };\n }\n\n return {\n summaryLine,\n detailLines: getOptimizationDetailLines({\n originalSizeGzip,\n fontFacesRemoved,\n emptyRulesRemoved,\n }),\n };\n};\n\nconst getMainCssSummaryMessage = (options: MainCssSummaryOptions): CssSummaryMessage => {\n return getCssSummaryMessage({\n label: 'Main CSS',\n ...options,\n });\n};\n\nconst getScopedCssSummaryMessage = (\n packageName: string,\n options: MainCssSummaryOptions,\n): CssSummaryMessage =>\n getCssSummaryMessage({\n label: `${packageName} CSS`,\n ...options,\n });\n\nconst getOutputFileSection = (cwd: string, outputPaths: string[]): OutputFileSection => ({\n label: 'Output files:',\n paths: outputPaths.map((outputPath) => getDisplayPath(cwd, outputPath)),\n});\n\nconst getScanSummaryMessage = (options: ScanSummaryOptions): string => {\n const nonComponentFileCount = Math.max(options.filesScanned - options.filesWithComponents, 0);\n const fileLabel = nonComponentFileCount === 1 ? 'file' : 'files';\n const componentLabel = options.componentCount === 1 ? 'component' : 'components';\n return `${options.label}: ${nonComponentFileCount} ${fileLabel}, ${options.componentCount} ${componentLabel} (${options.mode})`;\n};\n\nconst getWatchDirectoryGroups = (entryDirs: string[], dirs: string[]) => {\n const watchDirs = [\n ...new Set(dirs.filter((dir) => !dir.split(path.sep).includes('node_modules'))),\n ];\n const filteredPackageDirs = watchDirs.filter((dir) => !entryDirs.includes(dir));\n\n return {\n watchDirs,\n filteredPackageDirs,\n };\n};\n\nexport {\n formatCssDuration,\n getDisplayPath,\n getMainCssSummaryMessage,\n getOutputFileSection,\n getScanSummaryMessage,\n getScopedCssSummaryMessage,\n getVerboseScanFileList,\n getWatchDirectoryGroups,\n};\n"],"mappings":";;;;AAoCA,MAAM,kBAAkB,KAAa,eAA+B;CAClE,MAAM,eAAe,KAAK,SAAS,KAAK,WAAW;AACnD,QAAO,aAAa,WAAW,IAAI,MAAM;;AAG3C,MAAM,0BAA0B,KAAa,cAC3C,CAAC,GAAG,IAAI,IAAI,UAAU,KAAK,aAAa,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,UACnF,KAAK,cAAc,MAAM,CAC1B;AAEH,MAAM,8BAA8B,sBAAmD;CACrF,MAAM,cAAwB,EAAE;AAEhC,KAAI,kBAAkB,mBAAmB,EACvC,aAAY,KAAK,mBAAmB,kBAAkB,iBAAiB,oBAAoB;AAG7F,KAAI,kBAAkB,oBAAoB,EACxC,aAAY,KAAK,mBAAmB,kBAAkB,kBAAkB,cAAc;AAGxF,QAAO;;AAGT,MAAM,qBAAqB,eAA+B;AAExD,QAAO,IADS,KAAK,MAAM,aAAa,IAAI,GAAG,IAC7B,QAAQ,EAAE,CAAC;;AAG/B,MAAM,wBAAwB,YAAkD;CAC9E,MAAM,EAAE,OAAO,mBAAmB,eAAe,gBAAgB;CACjE,MAAM,cAAc,GAAG,MAAM,IAAI,YAAY,cAAc,CAAC;AAE5D,KAAI,CAAC,kBACH,QAAO;EACL;EACA,aAAa,EAAE;EAChB;CAGH,MAAM,EAAE,kBAAkB,kBAAkB,sBAAsB;AAGlE,KAFuB,mBAAmB,iBAEpB,EACpB,QAAO;EACL;EACA,aAAa,EAAE;EAChB;AAGH,QAAO;EACL;EACA,aAAa,2BAA2B;GACtC;GACA;GACA;GACD,CAAC;EACH;;AAGH,MAAM,4BAA4B,YAAsD;AACtF,QAAO,qBAAqB;EAC1B,OAAO;EACP,GAAG;EACJ,CAAC;;AAGJ,MAAM,8BACJ,aACA,YAEA,qBAAqB;CACnB,OAAO,GAAG,YAAY;CACtB,GAAG;CACJ,CAAC;AAEJ,MAAM,wBAAwB,KAAa,iBAA8C;CACvF,OAAO;CACP,OAAO,YAAY,KAAK,eAAe,eAAe,KAAK,WAAW,CAAC;CACxE;AAED,MAAM,yBAAyB,YAAwC;CACrE,MAAM,wBAAwB,KAAK,IAAI,QAAQ,eAAe,QAAQ,qBAAqB,EAAE;CAC7F,MAAM,YAAY,0BAA0B,IAAI,SAAS;CACzD,MAAM,iBAAiB,QAAQ,mBAAmB,IAAI,cAAc;AACpE,QAAO,GAAG,QAAQ,MAAM,IAAI,sBAAsB,GAAG,UAAU,IAAI,QAAQ,eAAe,GAAG,eAAe,IAAI,QAAQ,KAAK;;AAG/H,MAAM,2BAA2B,WAAqB,SAAmB;CACvE,MAAM,YAAY,CAChB,GAAG,IAAI,IAAI,KAAK,QAAQ,QAAQ,CAAC,IAAI,MAAM,KAAK,IAAI,CAAC,SAAS,eAAe,CAAC,CAAC,CAChF;AAGD,QAAO;EACL;EACA,qBAJ0B,UAAU,QAAQ,QAAQ,CAAC,UAAU,SAAS,IAAI,CAAC;EAK9E"}