@vaneui/ui 1.4.2 → 1.4.3-alpha.20260930171045.899e2fd

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 (323) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/dist/cjs/components/ui/alert/AlertCategories.cjs +1 -0
  3. package/dist/cjs/components/ui/alert/AlertCategories.cjs.map +1 -1
  4. package/dist/cjs/components/ui/alert/alertDefaults.cjs +2 -1
  5. package/dist/cjs/components/ui/alert/alertDefaults.cjs.map +1 -1
  6. package/dist/cjs/components/ui/alert/defaultAlertTheme.cjs +3 -1
  7. package/dist/cjs/components/ui/alert/defaultAlertTheme.cjs.map +1 -1
  8. package/dist/cjs/components/ui/button/Button.cjs +1 -1
  9. package/dist/cjs/components/ui/button/Button.cjs.map +1 -1
  10. package/dist/cjs/components/ui/card/Card.cjs +14 -2
  11. package/dist/cjs/components/ui/card/Card.cjs.map +1 -1
  12. package/dist/cjs/components/ui/card/defaultCardTheme.cjs +6 -1
  13. package/dist/cjs/components/ui/card/defaultCardTheme.cjs.map +1 -1
  14. package/dist/cjs/components/ui/checkbox/Checkbox.cjs +9 -2
  15. package/dist/cjs/components/ui/checkbox/Checkbox.cjs.map +1 -1
  16. package/dist/cjs/components/ui/checkbox/CheckboxCategories.cjs +2 -1
  17. package/dist/cjs/components/ui/checkbox/CheckboxCategories.cjs.map +1 -1
  18. package/dist/cjs/components/ui/checkbox/defaultCheckboxWrapperTheme.cjs +3 -0
  19. package/dist/cjs/components/ui/checkbox/defaultCheckboxWrapperTheme.cjs.map +1 -1
  20. package/dist/cjs/components/ui/chip/Chip.cjs +2 -1
  21. package/dist/cjs/components/ui/chip/Chip.cjs.map +1 -1
  22. package/dist/cjs/components/ui/classes/appearanceClasses.cjs +2 -0
  23. package/dist/cjs/components/ui/classes/appearanceClasses.cjs.map +1 -1
  24. package/dist/cjs/components/ui/field/Field.cjs +42 -3
  25. package/dist/cjs/components/ui/field/Field.cjs.map +1 -1
  26. package/dist/cjs/components/ui/field/FieldContext.cjs +4 -1
  27. package/dist/cjs/components/ui/field/FieldContext.cjs.map +1 -1
  28. package/dist/cjs/components/ui/iconButton/IconButton.cjs +1 -1
  29. package/dist/cjs/components/ui/iconButton/IconButton.cjs.map +1 -1
  30. package/dist/cjs/components/ui/input/defaultInputTheme.cjs +1 -1
  31. package/dist/cjs/components/ui/input/defaultInputTheme.cjs.map +1 -1
  32. package/dist/cjs/components/ui/label/defaultLabelTheme.cjs +1 -1
  33. package/dist/cjs/components/ui/label/defaultLabelTheme.cjs.map +1 -1
  34. package/dist/cjs/components/ui/menu/Menu.cjs +18 -8
  35. package/dist/cjs/components/ui/menu/Menu.cjs.map +1 -1
  36. package/dist/cjs/components/ui/menu/MenuContext.cjs.map +1 -1
  37. package/dist/cjs/components/ui/menu/MenuItem.cjs +2 -9
  38. package/dist/cjs/components/ui/menu/MenuItem.cjs.map +1 -1
  39. package/dist/cjs/components/ui/menu/menuPopupDefaults.cjs +1 -0
  40. package/dist/cjs/components/ui/menu/menuPopupDefaults.cjs.map +1 -1
  41. package/dist/cjs/components/ui/modal/Modal.cjs +3 -2
  42. package/dist/cjs/components/ui/modal/Modal.cjs.map +1 -1
  43. package/dist/cjs/components/ui/modal/modalCloseButtonDefaults.cjs +3 -0
  44. package/dist/cjs/components/ui/modal/modalCloseButtonDefaults.cjs.map +1 -1
  45. package/dist/cjs/components/ui/navLink/NavLinkLabelCategories.cjs +1 -1
  46. package/dist/cjs/components/ui/navLink/NavLinkLabelCategories.cjs.map +1 -1
  47. package/dist/cjs/components/ui/navLink/defaultNavLinkLabelTheme.cjs +3 -1
  48. package/dist/cjs/components/ui/navLink/defaultNavLinkLabelTheme.cjs.map +1 -1
  49. package/dist/cjs/components/ui/navLink/navLinkLabelDefaults.cjs +3 -1
  50. package/dist/cjs/components/ui/navLink/navLinkLabelDefaults.cjs.map +1 -1
  51. package/dist/cjs/components/ui/popup/Popup.cjs +9 -9
  52. package/dist/cjs/components/ui/popup/Popup.cjs.map +1 -1
  53. package/dist/cjs/components/ui/popup/popupDefaults.cjs +1 -0
  54. package/dist/cjs/components/ui/popup/popupDefaults.cjs.map +1 -1
  55. package/dist/cjs/components/ui/props/categoryBuilders.cjs +2 -0
  56. package/dist/cjs/components/ui/props/categoryBuilders.cjs.map +1 -1
  57. package/dist/cjs/components/ui/radio/Radio.cjs +4 -3
  58. package/dist/cjs/components/ui/radio/Radio.cjs.map +1 -1
  59. package/dist/cjs/components/ui/radio/RadioGroup.cjs +3 -2
  60. package/dist/cjs/components/ui/radio/RadioGroup.cjs.map +1 -1
  61. package/dist/cjs/components/ui/radio/RadioGroupContext.cjs.map +1 -1
  62. package/dist/cjs/components/ui/radio/defaultRadioTheme.cjs +1 -2
  63. package/dist/cjs/components/ui/radio/defaultRadioTheme.cjs.map +1 -1
  64. package/dist/cjs/components/ui/radio/defaultRadioWrapperTheme.cjs +3 -0
  65. package/dist/cjs/components/ui/radio/defaultRadioWrapperTheme.cjs.map +1 -1
  66. package/dist/cjs/components/ui/select/Select.cjs +15 -1
  67. package/dist/cjs/components/ui/select/Select.cjs.map +1 -1
  68. package/dist/cjs/components/ui/select/SelectWrapperCategories.cjs +1 -1
  69. package/dist/cjs/components/ui/select/SelectWrapperCategories.cjs.map +1 -1
  70. package/dist/cjs/components/ui/select/defaultSelectTheme.cjs +1 -1
  71. package/dist/cjs/components/ui/select/defaultSelectTheme.cjs.map +1 -1
  72. package/dist/cjs/components/ui/select/defaultSelectWrapperTheme.cjs +3 -1
  73. package/dist/cjs/components/ui/select/defaultSelectWrapperTheme.cjs.map +1 -1
  74. package/dist/cjs/components/ui/switch/Switch.cjs +12 -3
  75. package/dist/cjs/components/ui/switch/Switch.cjs.map +1 -1
  76. package/dist/cjs/components/ui/switch/defaultSwitchWrapperTheme.cjs +3 -0
  77. package/dist/cjs/components/ui/switch/defaultSwitchWrapperTheme.cjs.map +1 -1
  78. package/dist/cjs/components/ui/table/TableCategories.cjs +1 -0
  79. package/dist/cjs/components/ui/table/TableCategories.cjs.map +1 -1
  80. package/dist/cjs/components/ui/table/defaultTableTheme.cjs +3 -1
  81. package/dist/cjs/components/ui/table/defaultTableTheme.cjs.map +1 -1
  82. package/dist/cjs/components/ui/table/tableDefaults.cjs +2 -1
  83. package/dist/cjs/components/ui/table/tableDefaults.cjs.map +1 -1
  84. package/dist/cjs/components/ui/textarea/defaultTextareaTheme.cjs +1 -1
  85. package/dist/cjs/components/ui/textarea/defaultTextareaTheme.cjs.map +1 -1
  86. package/dist/cjs/components/ui/theme/appearance/disabledClassMapper.cjs +8 -1
  87. package/dist/cjs/components/ui/theme/appearance/disabledClassMapper.cjs.map +1 -1
  88. package/dist/cjs/components/ui/theme/appearance/disabledOpacityClassMapper.cjs +1 -1
  89. package/dist/cjs/components/ui/theme/appearance/disabledOpacityClassMapper.cjs.map +1 -1
  90. package/dist/cjs/components/ui/theme/appearance/readOnlyClassMapper.cjs.map +1 -1
  91. package/dist/cjs/components/ui/theme/appearance/statusClassMapper.cjs +2 -2
  92. package/dist/cjs/components/ui/theme/appearance/statusClassMapper.cjs.map +1 -1
  93. package/dist/cjs/components/ui/theme/common/ComponentTheme.cjs +3 -2
  94. package/dist/cjs/components/ui/theme/common/ComponentTheme.cjs.map +1 -1
  95. package/dist/cjs/components/ui/theme/common/appearanceClassMappers.cjs +2 -0
  96. package/dist/cjs/components/ui/theme/common/appearanceClassMappers.cjs.map +1 -1
  97. package/dist/cjs/components/ui/theme/layout/transitionClassMapper.cjs +2 -2
  98. package/dist/cjs/components/ui/theme/layout/transitionClassMapper.cjs.map +1 -1
  99. package/dist/cjs/components/ui/tooltip/tooltipDefaults.cjs +1 -0
  100. package/dist/cjs/components/ui/tooltip/tooltipDefaults.cjs.map +1 -1
  101. package/dist/cjs/components/ui/typography/link/Link.cjs +4 -1
  102. package/dist/cjs/components/ui/typography/link/Link.cjs.map +1 -1
  103. package/dist/cjs/components/ui/typography/link/LinkCategories.cjs +1 -1
  104. package/dist/cjs/components/ui/typography/link/LinkCategories.cjs.map +1 -1
  105. package/dist/cjs/components/ui/typography/link/defaultLinkTheme.cjs +8 -2
  106. package/dist/cjs/components/ui/typography/link/defaultLinkTheme.cjs.map +1 -1
  107. package/dist/cjs/components/ui/typography/listItem/ListItem.cjs +0 -2
  108. package/dist/cjs/components/ui/typography/listItem/ListItem.cjs.map +1 -1
  109. package/dist/esm/components/ui/alert/AlertCategories.mjs +2 -1
  110. package/dist/esm/components/ui/alert/AlertCategories.mjs.map +1 -1
  111. package/dist/esm/components/ui/alert/alertDefaults.mjs +2 -1
  112. package/dist/esm/components/ui/alert/alertDefaults.mjs.map +1 -1
  113. package/dist/esm/components/ui/alert/defaultAlertTheme.mjs +3 -1
  114. package/dist/esm/components/ui/alert/defaultAlertTheme.mjs.map +1 -1
  115. package/dist/esm/components/ui/button/Button.mjs +1 -1
  116. package/dist/esm/components/ui/button/Button.mjs.map +1 -1
  117. package/dist/esm/components/ui/card/Card.mjs +15 -3
  118. package/dist/esm/components/ui/card/Card.mjs.map +1 -1
  119. package/dist/esm/components/ui/card/defaultCardTheme.mjs +6 -1
  120. package/dist/esm/components/ui/card/defaultCardTheme.mjs.map +1 -1
  121. package/dist/esm/components/ui/checkbox/Checkbox.mjs +10 -3
  122. package/dist/esm/components/ui/checkbox/Checkbox.mjs.map +1 -1
  123. package/dist/esm/components/ui/checkbox/CheckboxCategories.mjs +3 -2
  124. package/dist/esm/components/ui/checkbox/CheckboxCategories.mjs.map +1 -1
  125. package/dist/esm/components/ui/checkbox/defaultCheckboxWrapperTheme.mjs +3 -0
  126. package/dist/esm/components/ui/checkbox/defaultCheckboxWrapperTheme.mjs.map +1 -1
  127. package/dist/esm/components/ui/chip/Chip.mjs +2 -1
  128. package/dist/esm/components/ui/chip/Chip.mjs.map +1 -1
  129. package/dist/esm/components/ui/classes/appearanceClasses.mjs +2 -1
  130. package/dist/esm/components/ui/classes/appearanceClasses.mjs.map +1 -1
  131. package/dist/esm/components/ui/field/Field.mjs +42 -3
  132. package/dist/esm/components/ui/field/Field.mjs.map +1 -1
  133. package/dist/esm/components/ui/field/FieldContext.mjs +4 -1
  134. package/dist/esm/components/ui/field/FieldContext.mjs.map +1 -1
  135. package/dist/esm/components/ui/iconButton/IconButton.mjs +1 -1
  136. package/dist/esm/components/ui/iconButton/IconButton.mjs.map +1 -1
  137. package/dist/esm/components/ui/input/defaultInputTheme.mjs +2 -2
  138. package/dist/esm/components/ui/input/defaultInputTheme.mjs.map +1 -1
  139. package/dist/esm/components/ui/label/defaultLabelTheme.mjs +1 -1
  140. package/dist/esm/components/ui/label/defaultLabelTheme.mjs.map +1 -1
  141. package/dist/esm/components/ui/menu/Menu.mjs +18 -8
  142. package/dist/esm/components/ui/menu/Menu.mjs.map +1 -1
  143. package/dist/esm/components/ui/menu/MenuContext.mjs.map +1 -1
  144. package/dist/esm/components/ui/menu/MenuItem.mjs +2 -9
  145. package/dist/esm/components/ui/menu/MenuItem.mjs.map +1 -1
  146. package/dist/esm/components/ui/menu/menuPopupDefaults.mjs +1 -0
  147. package/dist/esm/components/ui/menu/menuPopupDefaults.mjs.map +1 -1
  148. package/dist/esm/components/ui/modal/Modal.mjs +3 -2
  149. package/dist/esm/components/ui/modal/Modal.mjs.map +1 -1
  150. package/dist/esm/components/ui/modal/modalCloseButtonDefaults.mjs +3 -0
  151. package/dist/esm/components/ui/modal/modalCloseButtonDefaults.mjs.map +1 -1
  152. package/dist/esm/components/ui/navLink/NavLinkLabelCategories.mjs +1 -1
  153. package/dist/esm/components/ui/navLink/NavLinkLabelCategories.mjs.map +1 -1
  154. package/dist/esm/components/ui/navLink/defaultNavLinkLabelTheme.mjs +3 -1
  155. package/dist/esm/components/ui/navLink/defaultNavLinkLabelTheme.mjs.map +1 -1
  156. package/dist/esm/components/ui/navLink/navLinkLabelDefaults.mjs +3 -1
  157. package/dist/esm/components/ui/navLink/navLinkLabelDefaults.mjs.map +1 -1
  158. package/dist/esm/components/ui/popup/Popup.mjs +9 -9
  159. package/dist/esm/components/ui/popup/Popup.mjs.map +1 -1
  160. package/dist/esm/components/ui/popup/popupDefaults.mjs +1 -0
  161. package/dist/esm/components/ui/popup/popupDefaults.mjs.map +1 -1
  162. package/dist/esm/components/ui/props/categoryBuilders.mjs +2 -1
  163. package/dist/esm/components/ui/props/categoryBuilders.mjs.map +1 -1
  164. package/dist/esm/components/ui/radio/Radio.mjs +4 -3
  165. package/dist/esm/components/ui/radio/Radio.mjs.map +1 -1
  166. package/dist/esm/components/ui/radio/RadioGroup.mjs +4 -3
  167. package/dist/esm/components/ui/radio/RadioGroup.mjs.map +1 -1
  168. package/dist/esm/components/ui/radio/RadioGroupContext.mjs.map +1 -1
  169. package/dist/esm/components/ui/radio/defaultRadioTheme.mjs +2 -3
  170. package/dist/esm/components/ui/radio/defaultRadioTheme.mjs.map +1 -1
  171. package/dist/esm/components/ui/radio/defaultRadioWrapperTheme.mjs +3 -0
  172. package/dist/esm/components/ui/radio/defaultRadioWrapperTheme.mjs.map +1 -1
  173. package/dist/esm/components/ui/select/Select.mjs +16 -2
  174. package/dist/esm/components/ui/select/Select.mjs.map +1 -1
  175. package/dist/esm/components/ui/select/SelectWrapperCategories.mjs +1 -1
  176. package/dist/esm/components/ui/select/SelectWrapperCategories.mjs.map +1 -1
  177. package/dist/esm/components/ui/select/defaultSelectTheme.mjs +2 -2
  178. package/dist/esm/components/ui/select/defaultSelectTheme.mjs.map +1 -1
  179. package/dist/esm/components/ui/select/defaultSelectWrapperTheme.mjs +3 -1
  180. package/dist/esm/components/ui/select/defaultSelectWrapperTheme.mjs.map +1 -1
  181. package/dist/esm/components/ui/switch/Switch.mjs +12 -3
  182. package/dist/esm/components/ui/switch/Switch.mjs.map +1 -1
  183. package/dist/esm/components/ui/switch/defaultSwitchWrapperTheme.mjs +3 -0
  184. package/dist/esm/components/ui/switch/defaultSwitchWrapperTheme.mjs.map +1 -1
  185. package/dist/esm/components/ui/table/TableCategories.mjs +2 -1
  186. package/dist/esm/components/ui/table/TableCategories.mjs.map +1 -1
  187. package/dist/esm/components/ui/table/defaultTableTheme.mjs +3 -1
  188. package/dist/esm/components/ui/table/defaultTableTheme.mjs.map +1 -1
  189. package/dist/esm/components/ui/table/tableDefaults.mjs +2 -1
  190. package/dist/esm/components/ui/table/tableDefaults.mjs.map +1 -1
  191. package/dist/esm/components/ui/textarea/defaultTextareaTheme.mjs +2 -2
  192. package/dist/esm/components/ui/textarea/defaultTextareaTheme.mjs.map +1 -1
  193. package/dist/esm/components/ui/theme/appearance/disabledClassMapper.mjs +8 -2
  194. package/dist/esm/components/ui/theme/appearance/disabledClassMapper.mjs.map +1 -1
  195. package/dist/esm/components/ui/theme/appearance/disabledOpacityClassMapper.mjs +1 -1
  196. package/dist/esm/components/ui/theme/appearance/disabledOpacityClassMapper.mjs.map +1 -1
  197. package/dist/esm/components/ui/theme/appearance/readOnlyClassMapper.mjs.map +1 -1
  198. package/dist/esm/components/ui/theme/appearance/statusClassMapper.mjs +2 -2
  199. package/dist/esm/components/ui/theme/appearance/statusClassMapper.mjs.map +1 -1
  200. package/dist/esm/components/ui/theme/common/ComponentTheme.mjs +3 -2
  201. package/dist/esm/components/ui/theme/common/ComponentTheme.mjs.map +1 -1
  202. package/dist/esm/components/ui/theme/common/appearanceClassMappers.mjs +3 -2
  203. package/dist/esm/components/ui/theme/common/appearanceClassMappers.mjs.map +1 -1
  204. package/dist/esm/components/ui/theme/layout/transitionClassMapper.mjs +2 -2
  205. package/dist/esm/components/ui/theme/layout/transitionClassMapper.mjs.map +1 -1
  206. package/dist/esm/components/ui/tooltip/tooltipDefaults.mjs +1 -0
  207. package/dist/esm/components/ui/tooltip/tooltipDefaults.mjs.map +1 -1
  208. package/dist/esm/components/ui/typography/link/Link.mjs +4 -1
  209. package/dist/esm/components/ui/typography/link/Link.mjs.map +1 -1
  210. package/dist/esm/components/ui/typography/link/LinkCategories.mjs +1 -1
  211. package/dist/esm/components/ui/typography/link/LinkCategories.mjs.map +1 -1
  212. package/dist/esm/components/ui/typography/link/defaultLinkTheme.mjs +8 -2
  213. package/dist/esm/components/ui/typography/link/defaultLinkTheme.mjs.map +1 -1
  214. package/dist/esm/components/ui/typography/listItem/ListItem.mjs +0 -2
  215. package/dist/esm/components/ui/typography/listItem/ListItem.mjs.map +1 -1
  216. package/dist/types/components/ui/alert/Alert.d.cts +1 -1
  217. package/dist/types/components/ui/alert/Alert.d.mts +1 -1
  218. package/dist/types/components/ui/alert/Alert.d.ts +1 -1
  219. package/dist/types/components/ui/alert/AlertCategories.d.cts +1 -1
  220. package/dist/types/components/ui/alert/AlertCategories.d.mts +1 -1
  221. package/dist/types/components/ui/alert/AlertCategories.d.ts +1 -1
  222. package/dist/types/components/ui/alert/AlertProps.d.cts +2 -2
  223. package/dist/types/components/ui/alert/AlertProps.d.mts +2 -2
  224. package/dist/types/components/ui/alert/AlertProps.d.ts +2 -2
  225. package/dist/types/components/ui/alert/AlertTheme.d.cts +2 -1
  226. package/dist/types/components/ui/alert/AlertTheme.d.mts +2 -1
  227. package/dist/types/components/ui/alert/AlertTheme.d.ts +2 -1
  228. package/dist/types/components/ui/card/CardTheme.d.cts +1 -0
  229. package/dist/types/components/ui/card/CardTheme.d.mts +1 -0
  230. package/dist/types/components/ui/card/CardTheme.d.ts +1 -0
  231. package/dist/types/components/ui/checkbox/CheckboxCategories.d.cts +1 -1
  232. package/dist/types/components/ui/checkbox/CheckboxCategories.d.mts +1 -1
  233. package/dist/types/components/ui/checkbox/CheckboxCategories.d.ts +1 -1
  234. package/dist/types/components/ui/checkbox/CheckboxWrapperTheme.d.cts +2 -1
  235. package/dist/types/components/ui/checkbox/CheckboxWrapperTheme.d.mts +2 -1
  236. package/dist/types/components/ui/checkbox/CheckboxWrapperTheme.d.ts +2 -1
  237. package/dist/types/components/ui/classes/appearanceClasses.d.cts +2 -0
  238. package/dist/types/components/ui/classes/appearanceClasses.d.mts +2 -0
  239. package/dist/types/components/ui/classes/appearanceClasses.d.ts +2 -0
  240. package/dist/types/components/ui/field/FieldContext.d.cts +7 -0
  241. package/dist/types/components/ui/field/FieldContext.d.mts +7 -0
  242. package/dist/types/components/ui/field/FieldContext.d.ts +7 -0
  243. package/dist/types/components/ui/menu/MenuContext.d.cts +4 -0
  244. package/dist/types/components/ui/menu/MenuContext.d.mts +4 -0
  245. package/dist/types/components/ui/menu/MenuContext.d.ts +4 -0
  246. package/dist/types/components/ui/navLink/NavLinkLabelCategories.d.cts +2 -2
  247. package/dist/types/components/ui/navLink/NavLinkLabelCategories.d.mts +2 -2
  248. package/dist/types/components/ui/navLink/NavLinkLabelCategories.d.ts +2 -2
  249. package/dist/types/components/ui/navLink/NavLinkLabelProps.d.cts +2 -2
  250. package/dist/types/components/ui/navLink/NavLinkLabelProps.d.mts +2 -2
  251. package/dist/types/components/ui/navLink/NavLinkLabelProps.d.ts +2 -2
  252. package/dist/types/components/ui/navLink/NavLinkLabelTheme.d.cts +2 -0
  253. package/dist/types/components/ui/navLink/NavLinkLabelTheme.d.mts +2 -0
  254. package/dist/types/components/ui/navLink/NavLinkLabelTheme.d.ts +2 -0
  255. package/dist/types/components/ui/props/categoryBuilders.d.cts +1 -0
  256. package/dist/types/components/ui/props/categoryBuilders.d.mts +1 -0
  257. package/dist/types/components/ui/props/categoryBuilders.d.ts +1 -0
  258. package/dist/types/components/ui/radio/RadioCategories.d.cts +1 -1
  259. package/dist/types/components/ui/radio/RadioCategories.d.mts +1 -1
  260. package/dist/types/components/ui/radio/RadioCategories.d.ts +1 -1
  261. package/dist/types/components/ui/radio/RadioGroupContext.d.cts +3 -0
  262. package/dist/types/components/ui/radio/RadioGroupContext.d.mts +3 -0
  263. package/dist/types/components/ui/radio/RadioGroupContext.d.ts +3 -0
  264. package/dist/types/components/ui/radio/RadioWrapperTheme.d.cts +2 -1
  265. package/dist/types/components/ui/radio/RadioWrapperTheme.d.mts +2 -1
  266. package/dist/types/components/ui/radio/RadioWrapperTheme.d.ts +2 -1
  267. package/dist/types/components/ui/select/SelectWrapperCategories.d.cts +2 -2
  268. package/dist/types/components/ui/select/SelectWrapperCategories.d.mts +2 -2
  269. package/dist/types/components/ui/select/SelectWrapperCategories.d.ts +2 -2
  270. package/dist/types/components/ui/select/SelectWrapperProps.d.cts +2 -2
  271. package/dist/types/components/ui/select/SelectWrapperProps.d.mts +2 -2
  272. package/dist/types/components/ui/select/SelectWrapperProps.d.ts +2 -2
  273. package/dist/types/components/ui/select/SelectWrapperTheme.d.cts +2 -1
  274. package/dist/types/components/ui/select/SelectWrapperTheme.d.mts +2 -1
  275. package/dist/types/components/ui/select/SelectWrapperTheme.d.ts +2 -1
  276. package/dist/types/components/ui/switch/SwitchCategories.d.cts +1 -1
  277. package/dist/types/components/ui/switch/SwitchCategories.d.mts +1 -1
  278. package/dist/types/components/ui/switch/SwitchCategories.d.ts +1 -1
  279. package/dist/types/components/ui/switch/SwitchWrapperTheme.d.cts +2 -1
  280. package/dist/types/components/ui/switch/SwitchWrapperTheme.d.mts +2 -1
  281. package/dist/types/components/ui/switch/SwitchWrapperTheme.d.ts +2 -1
  282. package/dist/types/components/ui/table/Table.d.cts +1 -1
  283. package/dist/types/components/ui/table/Table.d.mts +1 -1
  284. package/dist/types/components/ui/table/Table.d.ts +1 -1
  285. package/dist/types/components/ui/table/TableCategories.d.cts +1 -1
  286. package/dist/types/components/ui/table/TableCategories.d.mts +1 -1
  287. package/dist/types/components/ui/table/TableCategories.d.ts +1 -1
  288. package/dist/types/components/ui/table/TableProps.d.cts +2 -2
  289. package/dist/types/components/ui/table/TableProps.d.mts +2 -2
  290. package/dist/types/components/ui/table/TableProps.d.ts +2 -2
  291. package/dist/types/components/ui/table/TableTheme.d.cts +2 -1
  292. package/dist/types/components/ui/table/TableTheme.d.mts +2 -1
  293. package/dist/types/components/ui/table/TableTheme.d.ts +2 -1
  294. package/dist/types/components/ui/theme/appearance/disabledClassMapper.d.cts +4 -0
  295. package/dist/types/components/ui/theme/appearance/disabledClassMapper.d.mts +4 -0
  296. package/dist/types/components/ui/theme/appearance/disabledClassMapper.d.ts +4 -0
  297. package/dist/types/components/ui/theme/appearance/index.d.cts +1 -1
  298. package/dist/types/components/ui/theme/appearance/index.d.mts +1 -1
  299. package/dist/types/components/ui/theme/appearance/index.d.ts +1 -1
  300. package/dist/types/components/ui/theme/appearance/readOnlyClassMapper.d.cts +1 -1
  301. package/dist/types/components/ui/theme/appearance/readOnlyClassMapper.d.mts +1 -1
  302. package/dist/types/components/ui/theme/appearance/readOnlyClassMapper.d.ts +1 -1
  303. package/dist/types/components/ui/theme/appearance/statusClassMapper.d.cts +1 -1
  304. package/dist/types/components/ui/theme/appearance/statusClassMapper.d.mts +1 -1
  305. package/dist/types/components/ui/theme/appearance/statusClassMapper.d.ts +1 -1
  306. package/dist/types/components/ui/theme/common/appearanceClassMappers.d.cts +2 -0
  307. package/dist/types/components/ui/theme/common/appearanceClassMappers.d.mts +2 -0
  308. package/dist/types/components/ui/theme/common/appearanceClassMappers.d.ts +2 -0
  309. package/dist/types/components/ui/theme/common/index.d.cts +1 -1
  310. package/dist/types/components/ui/theme/common/index.d.mts +1 -1
  311. package/dist/types/components/ui/theme/common/index.d.ts +1 -1
  312. package/dist/types/components/ui/theme/layout/transitionClassMapper.d.cts +1 -1
  313. package/dist/types/components/ui/theme/layout/transitionClassMapper.d.mts +1 -1
  314. package/dist/types/components/ui/theme/layout/transitionClassMapper.d.ts +1 -1
  315. package/dist/types/components/ui/typography/link/LinkCategories.d.cts +3 -3
  316. package/dist/types/components/ui/typography/link/LinkCategories.d.mts +3 -3
  317. package/dist/types/components/ui/typography/link/LinkCategories.d.ts +3 -3
  318. package/dist/types/components/ui/typography/link/LinkTheme.d.cts +4 -0
  319. package/dist/types/components/ui/typography/link/LinkTheme.d.mts +4 -0
  320. package/dist/types/components/ui/typography/link/LinkTheme.d.ts +4 -0
  321. package/dist/ui.css +1 -1
  322. package/dist/vars.css +1 -1
  323. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -8,6 +8,99 @@ fixes, minor for additive props and components, major for anything that changes
8
8
  existing prop name, default, or rendered element. Releases ship when work is ready
9
9
  rather than on a fixed calendar.
10
10
 
11
+ ## 1.4.3
12
+
13
+ `2026-09-30`
14
+
15
+ Fixes from a review of the components composed into real screens (dashboards, forms,
16
+ landing pages, articles, overlays, a storefront).
17
+
18
+ ### Added
19
+
20
+ - **`Table` and `Alert` take a font family** (`fontSans`, `fontMono`, …) and default to
21
+ `fontSans`. Their cells and raw text used to fall back to the page's own font (a serif
22
+ on an unstyled page), because the scoped reset never sets one.
23
+
24
+ ### Changed
25
+
26
+ - **`Input` and `Select` are as tall as `Button` at every size.** They used a looser line
27
+ height, so a field was 4.8px taller than the button beside it at `md`. Their corner
28
+ radius now matches too. Every `Input` and `Select` gets slightly shorter.
29
+ - **List markers sit inside the list box.** The marker gutter was 12px at `md`, so bullets
30
+ and `10.` hung outside it; it is now 16–32px by size. An `icon` item's icon moves into the
31
+ same gutter, so icon items and plain items share one text column.
32
+ - **`transition` no longer animates the focus ring**, only colors, shadows and transforms.
33
+
34
+ ### Fixed
35
+
36
+ - **Words no longer break mid-word in rows and tables.** The long-token wrapping added for
37
+ URLs let a short label beside a full-width control shrink to one letter per line, and
38
+ split prices and names in table cells. Titles, lists and blockquotes now wrap long tokens
39
+ too, instead of overflowing on a phone.
40
+ - **An unselected `RadioGroup` no longer shows every radio as selected.**
41
+ - **The invalid state is visible.** `Input`, `Select` and `Textarea` drew their danger ring at
42
+ 30% strength, fainter than a normal field; it is now full strength. Text fields also use
43
+ the form-control border token, like `Checkbox`, `Radio` and `Switch`.
44
+ - **The active `NavLink` stands out**: it is semibold on a stronger tint, and hover no longer
45
+ looks the same as the current page. A trailing `Badge` sits at the row's end.
46
+ - **`Link` and a `Card` with `href` draw a visible focus ring** in dark mode and on colored
47
+ surfaces. It used the browser's default color.
48
+ - **Text stays readable on filled surfaces.** Secondary and tertiary text, ghost buttons and
49
+ links on a filled `Card` or `Section` take the surface's text color.
50
+ - **`filled` without an appearance no longer turns text white on an unpainted surface.**
51
+ - **Whole-page dark mode paints the page**, so cards no longer sit darker than the page.
52
+ Any background you set on `html` or `body` still wins.
53
+ - **`Mark` shows a visible highlight.**
54
+ - **An svg in running text stays inline** instead of breaking the line.
55
+ - **`Tooltip`, `Popup` and menus render in the library font.** A string `title` on `Modal`
56
+ renders as a `Title`.
57
+ - **`Modal` returns focus to the button that opened it** on every close path.
58
+ - **Escape inside a `Menu` closes only that menu**, not the `Modal` around it or the whole
59
+ menu tree.
60
+ - **Menu items sit flush again**; a 16px gap had appeared between them.
61
+ - **Popups placed above or below keep their own width** instead of shrinking to a small
62
+ trigger, so tooltips no longer wrap one word per line.
63
+ - **End-aligned and left popups stay at their trigger under `dir="rtl"`.**
64
+ - **`Modal` keeps a margin on a phone** instead of running edge to edge.
65
+ - **`ModalCloseButton` keeps its own look under app-wide `button.main` defaults** (a filled
66
+ default made the × invisible) and is square like `IconButton`.
67
+ - **A loading `Button` with an icon keeps its size.**
68
+ - **A read-only `Checkbox` no longer toggles**, a read-only `Select` can no longer be changed,
69
+ and read-only toggles dim like read-only text fields.
70
+ - **`Field` passes `disabled`, `required` and `readOnly` to a child control**, including every
71
+ `Radio` of a child `RadioGroup`. Control-only attributes no longer land on its wrapper div.
72
+ - **`<Link sm>` renders at `sm`**; an explicit size used to be ignored.
73
+ - **A size set on the switch input theme reaches the track.**
74
+ - **A disabled `Link` looks disabled**, and disabled fields show the not-allowed cursor.
75
+ Disabled opacity now reads the `--disabled-opacity` token.
76
+ - **`Select` stays on one line in a row**, `noShrink` reaches it, and a placeholder option
77
+ is muted like an `Input` placeholder.
78
+ - **`Textarea` honours `rows`** below three lines.
79
+ - **A clickable `Chip` shows the focus ring**, and linked `Card`, `Chip` and `Badge` get a hover
80
+ tint.
81
+ - **Hovering another menu item closes an open sibling submenu**, and a submenu's trigger keeps
82
+ its tint while the submenu is open.
83
+ - **`Alert` text uses body line-height** and a leading icon centres on the first line.
84
+ - A `Card` with `href` warns in development when it contains a button, link or field.
85
+
86
+ ## 1.4.2
87
+
88
+ `2026-08-22`
89
+
90
+ ### Fixed
91
+
92
+ - **`Field`'s label now scales with the field.** The label, description and error
93
+ were pinned to `sm` at every size, so `<Field xl>` grew the control and left its
94
+ label behind. The label now takes the field's size and the help and error text
95
+ sit one step below it.
96
+ - **`Field`'s inline checkbox and switch line up with their label.** The control
97
+ resolved its line box against the page root instead of the label's font
98
+ metrics, so it sat high and the switch track overflowed its own box.
99
+ - **`Field`'s help and error text stay readable on a filled surface.** Their pinned
100
+ secondary and danger colors lost contrast on a fill; under any filled ancestor,
101
+ the field itself or a `Card` or `Row` above it, they now take that surface's
102
+ text color.
103
+
11
104
  ## 1.4.1
12
105
 
13
106
  `2026-08-22`
@@ -4,6 +4,7 @@ var categoryBuilders = require('../props/categoryBuilders.cjs');
4
4
 
5
5
  const ALERT_CATEGORIES = [
6
6
  ...categoryBuilders.TEXT_ALIGN,
7
+ ...categoryBuilders.FONT_FAMILY,
7
8
  ...categoryBuilders.LAYOUT_FULL,
8
9
  ...categoryBuilders.BREAKPOINT,
9
10
  ...categoryBuilders.VISUAL_LAYOUT,
@@ -1 +1 @@
1
- {"version":3,"file":"AlertCategories.cjs","sources":["../../../../../src/components/ui/alert/AlertCategories.ts"],"sourcesContent":["import {\n TEXT_ALIGN,\n LAYOUT_FULL,\n BREAKPOINT,\n VISUAL_LAYOUT,\n PADDING,\n MARGIN,\n VARIANT,\n WIDTH,\n HEIGHT,\n COMMON_MODIFIERS,\n} from \"../props/categoryBuilders\";\n\n/** Card's list without cursor/focusVisible: an Alert is a surface, never a link. */\nexport const ALERT_CATEGORIES = [\n ...TEXT_ALIGN,\n ...LAYOUT_FULL,\n ...BREAKPOINT,\n ...VISUAL_LAYOUT,\n ...PADDING,\n ...MARGIN,\n ...VARIANT,\n ...WIDTH,\n ...HEIGHT,\n ...COMMON_MODIFIERS,\n] as const;\n"],"names":["TEXT_ALIGN","LAYOUT_FULL","BREAKPOINT","VISUAL_LAYOUT","PADDING","MARGIN","VARIANT","WIDTH","HEIGHT","COMMON_MODIFIERS"],"mappings":";;;;AAcO,MAAM,gBAAA,GAAmB;AAAA,EAC9B,GAAGA,2BAAA;AAAA,EACH,GAAGC,4BAAA;AAAA,EACH,GAAGC,2BAAA;AAAA,EACH,GAAGC,8BAAA;AAAA,EACH,GAAGC,wBAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC,wBAAA;AAAA,EACH,GAAGC,sBAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC;AACL;;;;"}
1
+ {"version":3,"file":"AlertCategories.cjs","sources":["../../../../../src/components/ui/alert/AlertCategories.ts"],"sourcesContent":["import {\n TEXT_ALIGN,\n FONT_FAMILY,\n LAYOUT_FULL,\n BREAKPOINT,\n VISUAL_LAYOUT,\n PADDING,\n MARGIN,\n VARIANT,\n WIDTH,\n HEIGHT,\n COMMON_MODIFIERS,\n} from \"../props/categoryBuilders\";\n\n/** Card's list without cursor/focusVisible: an Alert is a surface, never a link. */\nexport const ALERT_CATEGORIES = [\n ...TEXT_ALIGN,\n ...FONT_FAMILY,\n ...LAYOUT_FULL,\n ...BREAKPOINT,\n ...VISUAL_LAYOUT,\n ...PADDING,\n ...MARGIN,\n ...VARIANT,\n ...WIDTH,\n ...HEIGHT,\n ...COMMON_MODIFIERS,\n] as const;\n"],"names":["TEXT_ALIGN","FONT_FAMILY","LAYOUT_FULL","BREAKPOINT","VISUAL_LAYOUT","PADDING","MARGIN","VARIANT","WIDTH","HEIGHT","COMMON_MODIFIERS"],"mappings":";;;;AAeO,MAAM,gBAAA,GAAmB;AAAA,EAC9B,GAAGA,2BAAA;AAAA,EACH,GAAGC,4BAAA;AAAA,EACH,GAAGC,4BAAA;AAAA,EACH,GAAGC,2BAAA;AAAA,EACH,GAAGC,8BAAA;AAAA,EACH,GAAGC,wBAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC,wBAAA;AAAA,EACH,GAAGC,sBAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC;AACL;;;;"}
@@ -12,7 +12,8 @@ const alertDefaults = {
12
12
  row: true,
13
13
  itemsStart: true,
14
14
  wFull: true,
15
- responsiveSizing: true
15
+ responsiveSizing: true,
16
+ fontSans: true
16
17
  };
17
18
 
18
19
  exports.alertDefaults = alertDefaults;
@@ -1 +1 @@
1
- {"version":3,"file":"alertDefaults.cjs","sources":["../../../../../src/components/ui/alert/alertDefaults.ts"],"sourcesContent":["import type { AlertProps } from \"./AlertProps\";\n\n/** Default props for Alert component */\nexport const alertDefaults: Partial<AlertProps> = {\n md: true,\n info: true,\n outline: true,\n rounded: true,\n border: true,\n padding: true,\n gap: true,\n flex: true,\n row: true,\n itemsStart: true,\n wFull: true,\n responsiveSizing: true,\n};\n"],"names":[],"mappings":";;AAGO,MAAM,aAAA,GAAqC;AAAA,EAChD,EAAA,EAAI,IAAA;AAAA,EACJ,IAAA,EAAM,IAAA;AAAA,EACN,OAAA,EAAS,IAAA;AAAA,EACT,OAAA,EAAS,IAAA;AAAA,EACT,MAAA,EAAQ,IAAA;AAAA,EACR,OAAA,EAAS,IAAA;AAAA,EACT,GAAA,EAAK,IAAA;AAAA,EACL,IAAA,EAAM,IAAA;AAAA,EACN,GAAA,EAAK,IAAA;AAAA,EACL,UAAA,EAAY,IAAA;AAAA,EACZ,KAAA,EAAO,IAAA;AAAA,EACP,gBAAA,EAAkB;AACpB;;;;"}
1
+ {"version":3,"file":"alertDefaults.cjs","sources":["../../../../../src/components/ui/alert/alertDefaults.ts"],"sourcesContent":["import type { AlertProps } from \"./AlertProps\";\n\n/** Default props for Alert component */\nexport const alertDefaults: Partial<AlertProps> = {\n md: true,\n info: true,\n outline: true,\n rounded: true,\n border: true,\n padding: true,\n gap: true,\n flex: true,\n row: true,\n itemsStart: true,\n wFull: true,\n responsiveSizing: true,\n fontSans: true,\n};\n"],"names":[],"mappings":";;AAGO,MAAM,aAAA,GAAqC;AAAA,EAChD,EAAA,EAAI,IAAA;AAAA,EACJ,IAAA,EAAM,IAAA;AAAA,EACN,OAAA,EAAS,IAAA;AAAA,EACT,OAAA,EAAS,IAAA;AAAA,EACT,MAAA,EAAQ,IAAA;AAAA,EACR,OAAA,EAAS,IAAA;AAAA,EACT,GAAA,EAAK,IAAA;AAAA,EACL,IAAA,EAAM,IAAA;AAAA,EACN,GAAA,EAAK,IAAA;AAAA,EACL,UAAA,EAAY,IAAA;AAAA,EACZ,KAAA,EAAO,IAAA;AAAA,EACP,gBAAA,EAAkB,IAAA;AAAA,EAClB,QAAA,EAAU;AACZ;;;;"}
@@ -8,6 +8,7 @@ require('../theme/common/appearanceClassMappers.cjs');
8
8
  var AlertCategories = require('./AlertCategories.cjs');
9
9
  var alertDefaults = require('./alertDefaults.cjs');
10
10
  var breakpointClassMapper = require('../theme/size/breakpointClassMapper.cjs');
11
+ var fontFamilyClassMapper = require('../theme/typography/fontFamilyClassMapper.cjs');
11
12
  var textAlignClassMapper = require('../theme/typography/textAlignClassMapper.cjs');
12
13
 
13
14
  const defaultAlertTheme = new ComponentTheme.ComponentTheme(
@@ -20,7 +21,8 @@ const defaultAlertTheme = new ComponentTheme.ComponentTheme(
20
21
  breakpoint: new breakpointClassMapper.BreakpointClassMapper()
21
22
  },
22
23
  typography: {
23
- textAlign: new textAlignClassMapper.TextAlignClassMapper()
24
+ textAlign: new textAlignClassMapper.TextAlignClassMapper(),
25
+ fontFamily: new fontFamilyClassMapper.FontFamilyClassMapper()
24
26
  }
25
27
  },
26
28
  alertDefaults.alertDefaults,
@@ -1 +1 @@
1
- {"version":3,"file":"defaultAlertTheme.cjs","sources":["../../../../../src/components/ui/alert/defaultAlertTheme.ts"],"sourcesContent":["import { ComponentTheme, layoutClassMappers } from \"../theme/common\";\nimport type { AlertProps } from \"./AlertProps\";\nimport type { AlertTheme } from \"./AlertTheme\";\nimport { ALERT_CATEGORIES } from \"./AlertCategories\";\nimport { alertDefaults } from \"./alertDefaults\";\nimport { BreakpointClassMapper } from \"../theme/size\";\nimport { TextAlignClassMapper } from \"../theme/typography\";\n\nexport const defaultAlertTheme = new ComponentTheme<AlertProps, AlertTheme>(\n \"div\",\n \"vane-alert\",\n {\n ...layoutClassMappers,\n size: {\n ...layoutClassMappers.size,\n breakpoint: new BreakpointClassMapper(),\n },\n typography: {\n textAlign: new TextAlignClassMapper(),\n },\n },\n alertDefaults,\n ALERT_CATEGORIES,\n undefined,\n 'layout'\n);\n"],"names":["ComponentTheme","layoutClassMappers","BreakpointClassMapper","TextAlignClassMapper","alertDefaults","ALERT_CATEGORIES"],"mappings":";;;;;;;;;;;;AAQO,MAAM,oBAAoB,IAAIA,6BAAA;AAAA,EACnC,KAAA;AAAA,EACA,YAAA;AAAA,EACA;AAAA,IACE,GAAGC,qCAAA;AAAA,IACH,IAAA,EAAM;AAAA,MACJ,GAAGA,qCAAA,CAAmB,IAAA;AAAA,MACtB,UAAA,EAAY,IAAIC,2CAAA;AAAsB,KACxC;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAA,EAAW,IAAIC,yCAAA;AAAqB;AACtC,GACF;AAAA,EACAC,2BAAA;AAAA,EACAC,gCAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF;;;;"}
1
+ {"version":3,"file":"defaultAlertTheme.cjs","sources":["../../../../../src/components/ui/alert/defaultAlertTheme.ts"],"sourcesContent":["import { ComponentTheme, layoutClassMappers } from \"../theme/common\";\nimport type { AlertProps } from \"./AlertProps\";\nimport type { AlertTheme } from \"./AlertTheme\";\nimport { ALERT_CATEGORIES } from \"./AlertCategories\";\nimport { alertDefaults } from \"./alertDefaults\";\nimport { BreakpointClassMapper } from \"../theme/size\";\nimport { TextAlignClassMapper, FontFamilyClassMapper } from \"../theme/typography\";\n\nexport const defaultAlertTheme = new ComponentTheme<AlertProps, AlertTheme>(\n \"div\",\n \"vane-alert\",\n {\n ...layoutClassMappers,\n size: {\n ...layoutClassMappers.size,\n breakpoint: new BreakpointClassMapper(),\n },\n typography: {\n textAlign: new TextAlignClassMapper(),\n fontFamily: new FontFamilyClassMapper(),\n },\n },\n alertDefaults,\n ALERT_CATEGORIES,\n undefined,\n 'layout'\n);\n"],"names":["ComponentTheme","layoutClassMappers","BreakpointClassMapper","TextAlignClassMapper","FontFamilyClassMapper","alertDefaults","ALERT_CATEGORIES"],"mappings":";;;;;;;;;;;;;AAQO,MAAM,oBAAoB,IAAIA,6BAAA;AAAA,EACnC,KAAA;AAAA,EACA,YAAA;AAAA,EACA;AAAA,IACE,GAAGC,qCAAA;AAAA,IACH,IAAA,EAAM;AAAA,MACJ,GAAGA,qCAAA,CAAmB,IAAA;AAAA,MACtB,UAAA,EAAY,IAAIC,2CAAA;AAAsB,KACxC;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAA,EAAW,IAAIC,yCAAA,EAAqB;AAAA,MACpC,UAAA,EAAY,IAAIC,2CAAA;AAAsB;AACxC,GACF;AAAA,EACAC,2BAAA;AAAA,EACAC,gCAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF;;;;"}
@@ -28,7 +28,7 @@ const Button = React.forwardRef(
28
28
  );
29
29
  return /* @__PURE__ */ jsxRuntime.jsxs(themedComponent.ThemedComponent, { ref, theme: buttonTheme, ...loadingProps, children: [
30
30
  /* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { theme: spinnerTheme, "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(Spinner.Spinner, { role: void 0, ...size ? { [size]: true } : {} }) }),
31
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "opacity-0", children: resolvedProps.children })
31
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "vane-button-loading-label", children: resolvedProps.children })
32
32
  ] });
33
33
  }
34
34
  return /* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { ref, theme: buttonTheme, ...resolvedProps });
@@ -1 +1 @@
1
- {"version":3,"file":"Button.cjs","sources":["../../../../../src/components/ui/button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ButtonProps } from \"./ButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { pickFirstTruthyKeyByCategory } from \"../../utils/componentUtils\";\n// file path, not the barrel: the barrel would pull the whole ui index into this module\nimport { Spinner } from \"../spinner/Spinner\";\nimport { defaultButtonTheme } from \"./defaultButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"./defaultButtonSpinnerTheme\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const buttonTheme = theme?.button.main ?? defaultButtonTheme;\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n // the Spinner would otherwise fall back to its own md default\n const size = pickFirstTruthyKeyByCategory(\n resolvedProps as unknown as Record<string, unknown>,\n buttonTheme.defaults as unknown as Record<string, unknown>,\n 'size'\n );\n return (\n <ThemedComponent ref={ref} theme={buttonTheme} {...loadingProps}>\n {/* decorative — aria-busy on the button already conveys the loading state,\n so the Spinner's own role=status is suppressed rather than hidden twice */}\n <ThemedComponent theme={spinnerTheme} aria-hidden=\"true\">\n <Spinner role={undefined} {...(size ? { [size]: true } : {})} />\n </ThemedComponent>\n {/* opacity-0 (not invisible) — keeps the children in the accessibility\n tree so the button retains its accessible name while loading */}\n <span className=\"opacity-0\">{resolvedProps.children}</span>\n </ThemedComponent>\n );\n }\n\n return <ThemedComponent ref={ref} theme={buttonTheme} {...resolvedProps} />;\n }\n);\n\nButton.displayName = 'Button';\n"],"names":["forwardRef","Button","useTheme","defaultButtonTheme","defaultButtonSpinnerTheme","resolveDisabledLink","pickFirstTruthyKeyByCategory","ThemedComponent","jsx","Spinner"],"mappings":"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"}
1
+ {"version":3,"file":"Button.cjs","sources":["../../../../../src/components/ui/button/Button.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ButtonProps } from \"./ButtonProps\";\nimport { useTheme } from \"../../themeContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { resolveDisabledLink } from \"../../utils/disabledLink\";\nimport { pickFirstTruthyKeyByCategory } from \"../../utils/componentUtils\";\n// file path, not the barrel: the barrel would pull the whole ui index into this module\nimport { Spinner } from \"../spinner/Spinner\";\nimport { defaultButtonTheme } from \"./defaultButtonTheme\";\nimport { defaultButtonSpinnerTheme } from \"./defaultButtonSpinnerTheme\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props, ref) {\n const { loading, ...rest } = props;\n const theme = useTheme();\n const buttonTheme = theme?.button.main ?? defaultButtonTheme;\n const spinnerTheme = theme?.button.spinner ?? defaultButtonSpinnerTheme;\n\n const isDisabled = rest.disabled || loading;\n const resolvedProps = resolveDisabledLink(rest, !!isDisabled);\n\n if (loading) {\n const loadingProps = { ...resolvedProps, disabled: true as const, 'data-loading': 'true', 'aria-busy': true as const };\n // the Spinner would otherwise fall back to its own md default\n const size = pickFirstTruthyKeyByCategory(\n resolvedProps as unknown as Record<string, unknown>,\n buttonTheme.defaults as unknown as Record<string, unknown>,\n 'size'\n );\n return (\n <ThemedComponent ref={ref} theme={buttonTheme} {...loadingProps}>\n {/* decorative — aria-busy on the button already conveys the loading state,\n so the Spinner's own role=status is suppressed rather than hidden twice */}\n <ThemedComponent theme={spinnerTheme} aria-hidden=\"true\">\n <Spinner role={undefined} {...(size ? { [size]: true } : {})} />\n </ThemedComponent>\n {/* transparent, not hidden: the children keep the button's size and accessible name while loading */}\n <span className=\"vane-button-loading-label\">{resolvedProps.children}</span>\n </ThemedComponent>\n );\n }\n\n return <ThemedComponent ref={ref} theme={buttonTheme} {...resolvedProps} />;\n }\n);\n\nButton.displayName = 'Button';\n"],"names":["forwardRef","Button","useTheme","defaultButtonTheme","defaultButtonSpinnerTheme","resolveDisabledLink","pickFirstTruthyKeyByCategory","ThemedComponent","jsx","Spinner"],"mappings":"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"}
@@ -5,24 +5,36 @@ var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
6
  var themedComponent = require('../../themedComponent.cjs');
7
7
  var themeContext = require('../../themeContext.cjs');
8
+ var mergedRef = require('../../utils/mergedRef.cjs');
8
9
  var CardHeader = require('./CardHeader.cjs');
9
10
  var CardBody = require('./CardBody.cjs');
10
11
  var CardFooter = require('./CardFooter.cjs');
11
12
  var defaultCardTheme = require('./defaultCardTheme.cjs');
12
13
 
14
+ const INTERACTIVE_SELECTOR = 'a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])';
13
15
  const Card = React.forwardRef(
14
16
  function Card2({ children, ...props }, ref) {
15
17
  const theme = themeContext.useTheme();
16
18
  const cardTheme = theme?.card.main ?? defaultCardTheme.defaultCardTheme;
19
+ const localRef = React.useRef(null);
20
+ const mergedRef$1 = mergedRef.useMergedRef(ref, localRef);
21
+ React.useEffect(() => {
22
+ if (process.env.NODE_ENV === "production" || !props.href) return;
23
+ if (localRef.current?.querySelector(INTERACTIVE_SELECTOR)) {
24
+ console.warn(
25
+ "VaneUI: a Card with `href` contains an interactive element (button, link or field). One click would trigger both, and the link's accessible name swallows the card. Render the Card without `href`, put a Link in its title, and keep the controls as siblings."
26
+ );
27
+ }
28
+ }, [props.href]);
17
29
  const childArray = React.Children.toArray(children);
18
30
  const isCompoundMode = childArray.some(
19
31
  (child) => React.isValidElement(child) && (child.type === CardHeader.CardHeader || child.type === CardBody.CardBody || child.type === CardFooter.CardFooter)
20
32
  );
21
33
  const focusInjection = props.href && !props.noFocusVisible ? { focusVisible: true } : void 0;
22
34
  if (isCompoundMode) {
23
- return /* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { ref, theme: cardTheme, noPadding: true, ...focusInjection, ...props, children });
35
+ return /* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { ref: mergedRef$1, theme: cardTheme, noPadding: true, ...focusInjection, ...props, children });
24
36
  }
25
- return /* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { ref, theme: cardTheme, ...focusInjection, ...props, children });
37
+ return /* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { ref: mergedRef$1, theme: cardTheme, ...focusInjection, ...props, children });
26
38
  }
27
39
  );
28
40
  Card.displayName = "Card";
@@ -1 +1 @@
1
- {"version":3,"file":"Card.cjs","sources":["../../../../../src/components/ui/card/Card.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport type { CardProps } from \"./CardProps\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useTheme } from \"../../themeContext\";\nimport { CardHeader } from './CardHeader';\nimport { CardBody } from './CardBody';\nimport { CardFooter } from './CardFooter';\nimport { defaultCardTheme } from \"./defaultCardTheme\";\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n function Card({ children, ...props }, ref) {\n const theme = useTheme();\n const cardTheme = theme?.card.main ?? defaultCardTheme;\n\n // compound mode: sub-components own padding when present in children\n const childArray = React.Children.toArray(children);\n const isCompoundMode = childArray.some(\n child => React.isValidElement(child) &&\n (child.type === CardHeader || child.type === CardBody || child.type === CardFooter)\n );\n\n // Only render a keyboard focus ring when Card tag-switches to <a> (href set).\n // Plain <div> isn't focusable, so the class would be dead. Explicit\n // noFocusVisible from the user wins; both props otherwise resolve to\n // focusVisible (first in category enum), so we must skip injection when\n // noFocusVisible is set.\n const focusInjection = props.href && !props.noFocusVisible ? { focusVisible: true as const } : undefined;\n\n if (isCompoundMode) {\n return <ThemedComponent ref={ref} theme={cardTheme} noPadding {...focusInjection} {...props}>{children}</ThemedComponent>;\n }\n\n return <ThemedComponent ref={ref} theme={cardTheme} {...focusInjection} {...props}>{children}</ThemedComponent>;\n }\n);\n\nCard.displayName = 'Card';\n"],"names":["forwardRef","Card","useTheme","defaultCardTheme","CardHeader","CardBody","CardFooter","jsx","ThemedComponent"],"mappings":"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"}
1
+ {"version":3,"file":"Card.cjs","sources":["../../../../../src/components/ui/card/Card.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef } from 'react';\nimport type { CardProps } from \"./CardProps\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useTheme } from \"../../themeContext\";\nimport { useMergedRef } from \"../../utils/mergedRef\";\nimport { CardHeader } from './CardHeader';\nimport { CardBody } from './CardBody';\nimport { CardFooter } from './CardFooter';\nimport { defaultCardTheme } from \"./defaultCardTheme\";\n\nconst INTERACTIVE_SELECTOR = 'a[href], button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n function Card({ children, ...props }, ref) {\n const theme = useTheme();\n const cardTheme = theme?.card.main ?? defaultCardTheme;\n const localRef = useRef<HTMLDivElement>(null);\n const mergedRef = useMergedRef(ref, localRef);\n\n // dev-only: a Card with href is a link, so a nested control is interactive content inside <a>\n useEffect(() => {\n if (process.env.NODE_ENV === 'production' || !props.href) return;\n if (localRef.current?.querySelector(INTERACTIVE_SELECTOR)) {\n console.warn(\n 'VaneUI: a Card with `href` contains an interactive element (button, link or field). One click would trigger both, and the link\\'s accessible name swallows the card. Render the Card without `href`, put a Link in its title, and keep the controls as siblings.'\n );\n }\n }, [props.href]);\n\n // compound mode: sub-components own padding when present in children\n const childArray = React.Children.toArray(children);\n const isCompoundMode = childArray.some(\n child => React.isValidElement(child) &&\n (child.type === CardHeader || child.type === CardBody || child.type === CardFooter)\n );\n\n // Only render a keyboard focus ring when Card tag-switches to <a> (href set).\n // Plain <div> isn't focusable, so the class would be dead. Explicit\n // noFocusVisible from the user wins; both props otherwise resolve to\n // focusVisible (first in category enum), so we must skip injection when\n // noFocusVisible is set.\n const focusInjection = props.href && !props.noFocusVisible ? { focusVisible: true as const } : undefined;\n\n if (isCompoundMode) {\n return <ThemedComponent ref={mergedRef} theme={cardTheme} noPadding {...focusInjection} {...props}>{children}</ThemedComponent>;\n }\n\n return <ThemedComponent ref={mergedRef} theme={cardTheme} {...focusInjection} {...props}>{children}</ThemedComponent>;\n }\n);\n\nCard.displayName = 'Card';\n"],"names":["forwardRef","Card","useTheme","defaultCardTheme","useRef","mergedRef","useMergedRef","useEffect","CardHeader","CardBody","CardFooter","jsx","ThemedComponent"],"mappings":"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"}
@@ -4,7 +4,7 @@ var ComponentTheme = require('../theme/common/ComponentTheme.cjs');
4
4
  require('../theme/common/interactiveClassMappers.cjs');
5
5
  var layoutClassMappers = require('../theme/common/layoutClassMappers.cjs');
6
6
  require('../theme/common/typographyClassMappers.cjs');
7
- require('../theme/common/appearanceClassMappers.cjs');
7
+ var appearanceClassMappers = require('../theme/common/appearanceClassMappers.cjs');
8
8
  var CardCategories = require('./CardCategories.cjs');
9
9
  var cardDefaults = require('./cardDefaults.cjs');
10
10
  var breakpointClassMapper = require('../theme/size/breakpointClassMapper.cjs');
@@ -28,6 +28,11 @@ const defaultCardTheme = new ComponentTheme.ComponentTheme(
28
28
  cursor: new cursorClassMapper.CursorClassMapper(),
29
29
  focusVisible: new focusVisibleClassMapper.FocusVisibleClassMapper()
30
30
  },
31
+ appearance: {
32
+ ...layoutClassMappers.layoutClassMappers.appearance,
33
+ // a Card with href shows the appearance's focus color, like Button
34
+ focusVisible: appearanceClassMappers.focusVisibleAppearance
35
+ },
31
36
  typography: {
32
37
  textAlign: new textAlignClassMapper.TextAlignClassMapper()
33
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"defaultCardTheme.cjs","sources":["../../../../../src/components/ui/card/defaultCardTheme.ts"],"sourcesContent":["import { ComponentTheme, layoutClassMappers } from \"../theme/common\";\nimport type { CardProps } from \"./CardProps\";\nimport type { CardTheme } from \"./CardTheme\";\nimport { CARD_CATEGORIES } from \"./CardCategories\";\nimport { cardDefaults } from \"./cardDefaults\";\nimport { BreakpointClassMapper } from \"../theme/size\";\nimport { WidthClassMapper, CursorClassMapper, FocusVisibleClassMapper } from \"../theme/layout\";\nimport { TextAlignClassMapper } from \"../theme/typography\";\n\nexport const defaultCardTheme = new ComponentTheme<CardProps, CardTheme>(\n \"div\",\n \"vane-card\",\n {\n ...layoutClassMappers,\n size: {\n ...layoutClassMappers.size,\n breakpoint: new BreakpointClassMapper(),\n },\n layout: {\n ...layoutClassMappers.layout,\n width: new WidthClassMapper(),\n cursor: new CursorClassMapper(),\n focusVisible: new FocusVisibleClassMapper(),\n },\n typography: {\n textAlign: new TextAlignClassMapper(),\n },\n },\n cardDefaults,\n CARD_CATEGORIES,\n (props: CardProps) => props.href ? \"a\" : \"div\",\n 'layout'\n);\n"],"names":["ComponentTheme","layoutClassMappers","BreakpointClassMapper","WidthClassMapper","CursorClassMapper","FocusVisibleClassMapper","TextAlignClassMapper","cardDefaults","CARD_CATEGORIES"],"mappings":";;;;;;;;;;;;;;;AASO,MAAM,mBAAmB,IAAIA,6BAAA;AAAA,EAClC,KAAA;AAAA,EACA,WAAA;AAAA,EACA;AAAA,IACE,GAAGC,qCAAA;AAAA,IACH,IAAA,EAAM;AAAA,MACJ,GAAGA,qCAAA,CAAmB,IAAA;AAAA,MACtB,UAAA,EAAY,IAAIC,2CAAA;AAAsB,KACxC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAGD,qCAAA,CAAmB,MAAA;AAAA,MACtB,KAAA,EAAO,IAAIE,iCAAA,EAAiB;AAAA,MAC5B,MAAA,EAAQ,IAAIC,mCAAA,EAAkB;AAAA,MAC9B,YAAA,EAAc,IAAIC,+CAAA;AAAwB,KAC5C;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAA,EAAW,IAAIC,yCAAA;AAAqB;AACtC,GACF;AAAA,EACAC,yBAAA;AAAA,EACAC,8BAAA;AAAA,EACA,CAAC,KAAA,KAAqB,KAAA,CAAM,IAAA,GAAO,GAAA,GAAM,KAAA;AAAA,EACzC;AACF;;;;"}
1
+ {"version":3,"file":"defaultCardTheme.cjs","sources":["../../../../../src/components/ui/card/defaultCardTheme.ts"],"sourcesContent":["import { ComponentTheme, layoutClassMappers, focusVisibleAppearance } from \"../theme/common\";\nimport type { CardProps } from \"./CardProps\";\nimport type { CardTheme } from \"./CardTheme\";\nimport { CARD_CATEGORIES } from \"./CardCategories\";\nimport { cardDefaults } from \"./cardDefaults\";\nimport { BreakpointClassMapper } from \"../theme/size\";\nimport { WidthClassMapper, CursorClassMapper, FocusVisibleClassMapper } from \"../theme/layout\";\nimport { TextAlignClassMapper } from \"../theme/typography\";\n\nexport const defaultCardTheme = new ComponentTheme<CardProps, CardTheme>(\n \"div\",\n \"vane-card\",\n {\n ...layoutClassMappers,\n size: {\n ...layoutClassMappers.size,\n breakpoint: new BreakpointClassMapper(),\n },\n layout: {\n ...layoutClassMappers.layout,\n width: new WidthClassMapper(),\n cursor: new CursorClassMapper(),\n focusVisible: new FocusVisibleClassMapper(),\n },\n appearance: {\n ...layoutClassMappers.appearance,\n // a Card with href shows the appearance's focus color, like Button\n focusVisible: focusVisibleAppearance,\n },\n typography: {\n textAlign: new TextAlignClassMapper(),\n },\n },\n cardDefaults,\n CARD_CATEGORIES,\n (props: CardProps) => props.href ? \"a\" : \"div\",\n 'layout'\n);\n"],"names":["ComponentTheme","layoutClassMappers","BreakpointClassMapper","WidthClassMapper","CursorClassMapper","FocusVisibleClassMapper","focusVisibleAppearance","TextAlignClassMapper","cardDefaults","CARD_CATEGORIES"],"mappings":";;;;;;;;;;;;;;;AASO,MAAM,mBAAmB,IAAIA,6BAAA;AAAA,EAClC,KAAA;AAAA,EACA,WAAA;AAAA,EACA;AAAA,IACE,GAAGC,qCAAA;AAAA,IACH,IAAA,EAAM;AAAA,MACJ,GAAGA,qCAAA,CAAmB,IAAA;AAAA,MACtB,UAAA,EAAY,IAAIC,2CAAA;AAAsB,KACxC;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAGD,qCAAA,CAAmB,MAAA;AAAA,MACtB,KAAA,EAAO,IAAIE,iCAAA,EAAiB;AAAA,MAC5B,MAAA,EAAQ,IAAIC,mCAAA,EAAkB;AAAA,MAC9B,YAAA,EAAc,IAAIC,+CAAA;AAAwB,KAC5C;AAAA,IACA,UAAA,EAAY;AAAA,MACV,GAAGJ,qCAAA,CAAmB,UAAA;AAAA;AAAA,MAEtB,YAAA,EAAcK;AAAA,KAChB;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAA,EAAW,IAAIC,yCAAA;AAAqB;AACtC,GACF;AAAA,EACAC,yBAAA;AAAA,EACAC,8BAAA;AAAA,EACA,CAAC,KAAA,KAAqB,KAAA,CAAM,IAAA,GAAO,GAAA,GAAM,KAAA;AAAA,EACzC;AACF;;;;"}
@@ -59,6 +59,7 @@ const Checkbox = React.forwardRef(
59
59
  onChange,
60
60
  onBlur,
61
61
  onFocus,
62
+ onClick,
62
63
  required,
63
64
  readOnly,
64
65
  id,
@@ -67,6 +68,10 @@ const Checkbox = React.forwardRef(
67
68
  "aria-label": ariaLabel,
68
69
  ...remainingProps
69
70
  } = props;
71
+ const handleClick = React.useCallback((event) => {
72
+ if (readOnly) event.preventDefault();
73
+ onClick?.(event);
74
+ }, [readOnly, onClick]);
70
75
  React.useEffect(() => {
71
76
  if (inputRef.current) {
72
77
  inputRef.current.indeterminate = !!indeterminate;
@@ -92,7 +97,9 @@ const Checkbox = React.forwardRef(
92
97
  sharp,
93
98
  rounded,
94
99
  invalid,
95
- disabled
100
+ disabled,
101
+ // read-only dims the wrapper like a read-only text field
102
+ readOnly
96
103
  };
97
104
  const inputProps = {
98
105
  type: "checkbox",
@@ -104,7 +111,7 @@ const Checkbox = React.forwardRef(
104
111
  onBlur,
105
112
  onFocus,
106
113
  required,
107
- readOnly,
114
+ onClick: handleClick,
108
115
  id,
109
116
  tabIndex,
110
117
  "aria-label": ariaLabel,
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.cjs","sources":["../../../../../src/components/ui/checkbox/Checkbox.tsx"],"sourcesContent":["import { forwardRef, useRef, useEffect, useMemo } from 'react';\nimport type { CheckboxProps } from './CheckboxProps';\nimport { useTheme } from \"../../themeContext\";\nimport { useFieldControlProps } from \"../field/FieldContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useLabelSizeContext, withLabelSizeDefault } from \"../label/LabelSizeContext\";\nimport { defaultCheckboxTheme } from \"./defaultCheckboxTheme\";\nimport { defaultCheckboxCheckTheme } from \"./defaultCheckboxCheckTheme\";\nimport { defaultCheckboxIndeterminateTheme } from \"./defaultCheckboxIndeterminateTheme\";\nimport { defaultCheckboxWrapperTheme } from \"./defaultCheckboxWrapperTheme\";\n\nexport const Checkbox = forwardRef<HTMLDivElement, CheckboxProps>(\n function Checkbox(rawProps, ref) {\n const props = useFieldControlProps(rawProps);\n const theme = useTheme();\n const wrapperThemeBase = theme?.checkbox.wrapper ?? defaultCheckboxWrapperTheme;\n const inputThemeBase = theme?.checkbox.input ?? defaultCheckboxTheme;\n const checkTheme = theme?.checkbox.check ?? defaultCheckboxCheckTheme;\n const indeterminateTheme = theme?.checkbox.indeterminate ?? defaultCheckboxIndeterminateTheme;\n const inputRef = useRef<HTMLInputElement>(null);\n\n // inside a Label, the Label's resolved size becomes the size default for\n // the sized sub-themes (wrapper + input; check/indeterminate have no size\n // category — they scale via CSS variables). Explicit size props still win.\n const labelSize = useLabelSizeContext();\n const wrapperTheme = useMemo(\n () => withLabelSizeDefault(wrapperThemeBase, labelSize),\n [wrapperThemeBase, labelSize]\n );\n const checkboxInputTheme = useMemo(\n () => withLabelSizeDefault(inputThemeBase, labelSize),\n [inputThemeBase, labelSize]\n );\n\n const {\n xs, sm, md, lg, xl,\n primary, accent, secondary, tertiary, success, danger, warning, info,\n filled, outline,\n pill, sharp, rounded,\n invalid,\n indeterminate,\n checked, defaultChecked, disabled, name, value, onChange, onBlur, onFocus, required, readOnly,\n id, className, tabIndex, 'aria-label': ariaLabel,\n ...remainingProps\n } = props;\n\n // indeterminate can only be set via JS, not as an HTML attribute\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = !!indeterminate;\n }\n }, [indeterminate]);\n\n const themeProps = {\n xs, sm, md, lg, xl,\n primary, accent, secondary, tertiary, success, danger, warning, info,\n filled, outline,\n pill, sharp, rounded,\n invalid,\n disabled,\n };\n\n const inputProps = {\n type: \"checkbox\" as const,\n checked, defaultChecked, name, value, onChange, onBlur, onFocus, required, readOnly,\n id, tabIndex, 'aria-label': ariaLabel,\n ...remainingProps,\n ...themeProps\n };\n\n return (\n <ThemedComponent theme={wrapperTheme} ref={ref} className={className} {...themeProps}>\n <ThemedComponent theme={checkboxInputTheme} ref={inputRef} {...inputProps} />\n {/* decorative overlays — the real state lives on the <input>; hide them from AT */}\n <ThemedComponent theme={checkTheme} aria-hidden=\"true\">\n {checkTheme.themes.checkElement()}\n </ThemedComponent>\n <ThemedComponent theme={indeterminateTheme} aria-hidden=\"true\">\n {indeterminateTheme.themes.indeterminateElement()}\n </ThemedComponent>\n </ThemedComponent>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n"],"names":["forwardRef","Checkbox","useFieldControlProps","useTheme","defaultCheckboxWrapperTheme","defaultCheckboxTheme","defaultCheckboxCheckTheme","defaultCheckboxIndeterminateTheme","useRef","useLabelSizeContext","useMemo","withLabelSizeDefault","useEffect","ThemedComponent","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.cjs","sources":["../../../../../src/components/ui/checkbox/Checkbox.tsx"],"sourcesContent":["import { forwardRef, useRef, useEffect, useMemo, useCallback, type MouseEvent } from 'react';\nimport type { CheckboxProps } from './CheckboxProps';\nimport { useTheme } from \"../../themeContext\";\nimport { useFieldControlProps } from \"../field/FieldContext\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useLabelSizeContext, withLabelSizeDefault } from \"../label/LabelSizeContext\";\nimport { defaultCheckboxTheme } from \"./defaultCheckboxTheme\";\nimport { defaultCheckboxCheckTheme } from \"./defaultCheckboxCheckTheme\";\nimport { defaultCheckboxIndeterminateTheme } from \"./defaultCheckboxIndeterminateTheme\";\nimport { defaultCheckboxWrapperTheme } from \"./defaultCheckboxWrapperTheme\";\n\nexport const Checkbox = forwardRef<HTMLDivElement, CheckboxProps>(\n function Checkbox(rawProps, ref) {\n const props = useFieldControlProps(rawProps);\n const theme = useTheme();\n const wrapperThemeBase = theme?.checkbox.wrapper ?? defaultCheckboxWrapperTheme;\n const inputThemeBase = theme?.checkbox.input ?? defaultCheckboxTheme;\n const checkTheme = theme?.checkbox.check ?? defaultCheckboxCheckTheme;\n const indeterminateTheme = theme?.checkbox.indeterminate ?? defaultCheckboxIndeterminateTheme;\n const inputRef = useRef<HTMLInputElement>(null);\n\n // inside a Label, the Label's resolved size becomes the size default for\n // the sized sub-themes (wrapper + input; check/indeterminate have no size\n // category — they scale via CSS variables). Explicit size props still win.\n const labelSize = useLabelSizeContext();\n const wrapperTheme = useMemo(\n () => withLabelSizeDefault(wrapperThemeBase, labelSize),\n [wrapperThemeBase, labelSize]\n );\n const checkboxInputTheme = useMemo(\n () => withLabelSizeDefault(inputThemeBase, labelSize),\n [inputThemeBase, labelSize]\n );\n\n const {\n xs, sm, md, lg, xl,\n primary, accent, secondary, tertiary, success, danger, warning, info,\n filled, outline,\n pill, sharp, rounded,\n invalid,\n indeterminate,\n checked, defaultChecked, disabled, name, value, onChange, onBlur, onFocus, onClick, required, readOnly,\n id, className, tabIndex, 'aria-label': ariaLabel,\n ...remainingProps\n } = props;\n\n // native readOnly is inert on checkbox inputs — cancel activation so aria-readonly stays truthful\n const handleClick = useCallback((event: MouseEvent<HTMLInputElement>) => {\n if (readOnly) event.preventDefault();\n onClick?.(event);\n }, [readOnly, onClick]);\n\n // indeterminate can only be set via JS, not as an HTML attribute\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = !!indeterminate;\n }\n }, [indeterminate]);\n\n const themeProps = {\n xs, sm, md, lg, xl,\n primary, accent, secondary, tertiary, success, danger, warning, info,\n filled, outline,\n pill, sharp, rounded,\n invalid,\n disabled,\n // read-only dims the wrapper like a read-only text field\n readOnly,\n };\n\n const inputProps = {\n type: \"checkbox\" as const,\n checked, defaultChecked, name, value, onChange, onBlur, onFocus, required,\n onClick: handleClick,\n id, tabIndex, 'aria-label': ariaLabel,\n ...remainingProps,\n ...themeProps\n };\n\n return (\n <ThemedComponent theme={wrapperTheme} ref={ref} className={className} {...themeProps}>\n <ThemedComponent theme={checkboxInputTheme} ref={inputRef} {...inputProps} />\n {/* decorative overlays — the real state lives on the <input>; hide them from AT */}\n <ThemedComponent theme={checkTheme} aria-hidden=\"true\">\n {checkTheme.themes.checkElement()}\n </ThemedComponent>\n <ThemedComponent theme={indeterminateTheme} aria-hidden=\"true\">\n {indeterminateTheme.themes.indeterminateElement()}\n </ThemedComponent>\n </ThemedComponent>\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n"],"names":["forwardRef","Checkbox","useFieldControlProps","useTheme","defaultCheckboxWrapperTheme","defaultCheckboxTheme","defaultCheckboxCheckTheme","defaultCheckboxIndeterminateTheme","useRef","useLabelSizeContext","useMemo","withLabelSizeDefault","useCallback","useEffect","ThemedComponent","jsx"],"mappings":"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"}
@@ -16,7 +16,8 @@ const CHECKBOX_CATEGORIES = [
16
16
  ...categoryBuilders.WIDTH,
17
17
  ...categoryBuilders.HEIGHT,
18
18
  ...categoryBuilders.COMMON_MODIFIERS,
19
- ...categoryBuilders.DISABLED
19
+ ...categoryBuilders.DISABLED,
20
+ ...categoryBuilders.READONLY
20
21
  ];
21
22
 
22
23
  exports.CHECKBOX_CATEGORIES = CHECKBOX_CATEGORIES;
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxCategories.cjs","sources":["../../../../../src/components/ui/checkbox/CheckboxCategories.ts"],"sourcesContent":["import {\n LAYOUT_CORE,\n ALIGN_SELF,\n VISUAL_CORE,\n BORDER,\n VISUAL_DECORATION,\n SHAPE,\n VARIANT,\n CURSOR,\n TRANSITION,\n STATUS,\n WIDTH,\n HEIGHT,\n COMMON_MODIFIERS,\n DISABLED,\n} from \"../props/categoryBuilders\";\n\n/** Categories for checkbox form components.\n *\n * Includes `alignSelf` so the wrapper can pin itself to the top of a flex line\n * (`alignSelfStart`), keeping the box centered on the first text row inside a Label\n * with multi-line content. */\nexport const CHECKBOX_CATEGORIES = [\n ...LAYOUT_CORE,\n ...ALIGN_SELF,\n ...VISUAL_CORE,\n ...BORDER,\n ...VISUAL_DECORATION,\n ...SHAPE,\n ...VARIANT,\n ...CURSOR,\n ...TRANSITION,\n ...STATUS,\n ...WIDTH,\n ...HEIGHT,\n ...COMMON_MODIFIERS,\n ...DISABLED,\n] as const;\n"],"names":["LAYOUT_CORE","ALIGN_SELF","VISUAL_CORE","BORDER","VISUAL_DECORATION","SHAPE","VARIANT","CURSOR","TRANSITION","STATUS","WIDTH","HEIGHT","COMMON_MODIFIERS","DISABLED"],"mappings":";;;;AAsBO,MAAM,mBAAA,GAAsB;AAAA,EACjC,GAAGA,4BAAA;AAAA,EACH,GAAGC,2BAAA;AAAA,EACH,GAAGC,4BAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC,kCAAA;AAAA,EACH,GAAGC,sBAAA;AAAA,EACH,GAAGC,wBAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC,2BAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC,sBAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC,iCAAA;AAAA,EACH,GAAGC;AACL;;;;"}
1
+ {"version":3,"file":"CheckboxCategories.cjs","sources":["../../../../../src/components/ui/checkbox/CheckboxCategories.ts"],"sourcesContent":["import {\n LAYOUT_CORE,\n ALIGN_SELF,\n VISUAL_CORE,\n BORDER,\n VISUAL_DECORATION,\n SHAPE,\n VARIANT,\n CURSOR,\n TRANSITION,\n STATUS,\n WIDTH,\n HEIGHT,\n COMMON_MODIFIERS,\n DISABLED,\n READONLY,\n} from \"../props/categoryBuilders\";\n\n/** Categories for checkbox form components.\n *\n * Includes `alignSelf` so the wrapper can pin itself to the top of a flex line\n * (`alignSelfStart`), keeping the box centered on the first text row inside a Label\n * with multi-line content. */\nexport const CHECKBOX_CATEGORIES = [\n ...LAYOUT_CORE,\n ...ALIGN_SELF,\n ...VISUAL_CORE,\n ...BORDER,\n ...VISUAL_DECORATION,\n ...SHAPE,\n ...VARIANT,\n ...CURSOR,\n ...TRANSITION,\n ...STATUS,\n ...WIDTH,\n ...HEIGHT,\n ...COMMON_MODIFIERS,\n ...DISABLED,\n ...READONLY,\n] as const;\n"],"names":["LAYOUT_CORE","ALIGN_SELF","VISUAL_CORE","BORDER","VISUAL_DECORATION","SHAPE","VARIANT","CURSOR","TRANSITION","STATUS","WIDTH","HEIGHT","COMMON_MODIFIERS","DISABLED","READONLY"],"mappings":";;;;AAuBO,MAAM,mBAAA,GAAsB;AAAA,EACjC,GAAGA,4BAAA;AAAA,EACH,GAAGC,2BAAA;AAAA,EACH,GAAGC,4BAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC,kCAAA;AAAA,EACH,GAAGC,sBAAA;AAAA,EACH,GAAGC,wBAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC,2BAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC,sBAAA;AAAA,EACH,GAAGC,uBAAA;AAAA,EACH,GAAGC,iCAAA;AAAA,EACH,GAAGC,yBAAA;AAAA,EACH,GAAGC;AACL;;;;"}
@@ -7,6 +7,7 @@ require('../theme/common/typographyClassMappers.cjs');
7
7
  require('../theme/common/appearanceClassMappers.cjs');
8
8
  require('../theme/appearance/shadowAppearanceClassMapper.cjs');
9
9
  var simpleConsumerClassMapper = require('../theme/appearance/simpleConsumerClassMapper.cjs');
10
+ var readOnlyClassMapper = require('../theme/appearance/readOnlyClassMapper.cjs');
10
11
  var disabledOpacityClassMapper = require('../theme/appearance/disabledOpacityClassMapper.cjs');
11
12
  var focusVisibleClassMapper = require('../theme/layout/focusVisibleClassMapper.cjs');
12
13
  var alignSelfClassMapper = require('../theme/layout/alignSelfClassMapper.cjs');
@@ -37,6 +38,8 @@ const defaultCheckboxWrapperTheme = new ComponentTheme.ComponentTheme(
37
38
  appearance: {
38
39
  variant: new simpleConsumerClassMapper.SimpleConsumerClassMapper({ base: "" }, "bg"),
39
40
  focusVisible: new simpleConsumerClassMapper.SimpleConsumerClassMapper({ base: appearanceClasses.focusVisibleConsumerClass }, "focusVisible"),
41
+ // read-only toggles dim like read-only text fields; listed before disabled so a disabled opacity wins
42
+ readOnly: new readOnlyClassMapper.ReadOnlyClassMapper(),
40
43
  disabled: new disabledOpacityClassMapper.DisabledOpacityClassMapper()
41
44
  }
42
45
  },
@@ -1 +1 @@
1
- {"version":3,"file":"defaultCheckboxWrapperTheme.cjs","sources":["../../../../../src/components/ui/checkbox/defaultCheckboxWrapperTheme.ts"],"sourcesContent":["import { ComponentTheme, defaultLayoutClassMappers } from \"../theme/common\";\nimport type { CheckboxProps } from \"./CheckboxProps\";\nimport { SimpleConsumerClassMapper, DisabledOpacityClassMapper } from \"../theme/appearance\";\nimport { FocusVisibleClassMapper, AlignSelfClassMapper } from \"../theme/layout\";\nimport { SizeClassMapper } from \"../theme/size\";\nimport { focusVisibleConsumerClass } from \"../classes/appearanceClasses\";\nimport { CHECKBOX_CATEGORIES } from \"./CheckboxCategories\";\nimport type { CheckboxWrapperTheme } from \"./CheckboxWrapperTheme\";\nimport { checkboxWrapperDefaults } from \"./checkboxWrapperDefaults\";\n\nexport const defaultCheckboxWrapperTheme = new ComponentTheme<CheckboxProps, CheckboxWrapperTheme>(\n \"span\",\n \"\",\n {\n size: {\n height: new SizeClassMapper({\n xs: 'h-[calc(var(--lh)*var(--fs))]',\n sm: 'h-[calc(var(--lh)*var(--fs))]',\n md: 'h-[calc(var(--lh)*var(--fs))]',\n lg: 'h-[calc(var(--lh)*var(--fs))]',\n xl: 'h-[calc(var(--lh)*var(--fs))]'\n }) // Uses custom mode for calculated height\n },\n layout: {\n ...defaultLayoutClassMappers,\n focusVisible: new FocusVisibleClassMapper(),\n alignSelf: new AlignSelfClassMapper()\n },\n appearance: {\n variant: new SimpleConsumerClassMapper({ base: '' }, 'bg'),\n focusVisible: new SimpleConsumerClassMapper({ base: focusVisibleConsumerClass }, 'focusVisible'),\n disabled: new DisabledOpacityClassMapper(),\n }\n },\n checkboxWrapperDefaults,\n CHECKBOX_CATEGORIES,\n undefined,\n 'ui'\n);\n"],"names":["ComponentTheme","SizeClassMapper","defaultLayoutClassMappers","FocusVisibleClassMapper","AlignSelfClassMapper","SimpleConsumerClassMapper","focusVisibleConsumerClass","DisabledOpacityClassMapper","checkboxWrapperDefaults","CHECKBOX_CATEGORIES"],"mappings":";;;;;;;;;;;;;;;;;AAUO,MAAM,8BAA8B,IAAIA,6BAAA;AAAA,EAC7C,MAAA;AAAA,EACA,EAAA;AAAA,EACA;AAAA,IACE,IAAA,EAAM;AAAA,MACJ,MAAA,EAAQ,IAAIC,+BAAA,CAAgB;AAAA,QAC1B,EAAA,EAAI,+BAAA;AAAA,QACJ,EAAA,EAAI,+BAAA;AAAA,QACJ,EAAA,EAAI,+BAAA;AAAA,QACJ,EAAA,EAAI,+BAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACL;AAAA;AAAA,KACH;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAGC,wCAAA;AAAA,MACH,YAAA,EAAc,IAAIC,+CAAA,EAAwB;AAAA,MAC1C,SAAA,EAAW,IAAIC,yCAAA;AAAqB,KACtC;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAS,IAAIC,mDAAA,CAA0B,EAAE,IAAA,EAAM,EAAA,IAAM,IAAI,CAAA;AAAA,MACzD,cAAc,IAAIA,mDAAA,CAA0B,EAAE,IAAA,EAAMC,2CAAA,IAA6B,cAAc,CAAA;AAAA,MAC/F,QAAA,EAAU,IAAIC,qDAAA;AAA2B;AAC3C,GACF;AAAA,EACAC,+CAAA;AAAA,EACAC,sCAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF;;;;"}
1
+ {"version":3,"file":"defaultCheckboxWrapperTheme.cjs","sources":["../../../../../src/components/ui/checkbox/defaultCheckboxWrapperTheme.ts"],"sourcesContent":["import { ComponentTheme, defaultLayoutClassMappers } from \"../theme/common\";\nimport type { CheckboxProps } from \"./CheckboxProps\";\nimport { SimpleConsumerClassMapper, DisabledOpacityClassMapper, ReadOnlyClassMapper } from \"../theme/appearance\";\nimport { FocusVisibleClassMapper, AlignSelfClassMapper } from \"../theme/layout\";\nimport { SizeClassMapper } from \"../theme/size\";\nimport { focusVisibleConsumerClass } from \"../classes/appearanceClasses\";\nimport { CHECKBOX_CATEGORIES } from \"./CheckboxCategories\";\nimport type { CheckboxWrapperTheme } from \"./CheckboxWrapperTheme\";\nimport { checkboxWrapperDefaults } from \"./checkboxWrapperDefaults\";\n\nexport const defaultCheckboxWrapperTheme = new ComponentTheme<CheckboxProps, CheckboxWrapperTheme>(\n \"span\",\n \"\",\n {\n size: {\n height: new SizeClassMapper({\n xs: 'h-[calc(var(--lh)*var(--fs))]',\n sm: 'h-[calc(var(--lh)*var(--fs))]',\n md: 'h-[calc(var(--lh)*var(--fs))]',\n lg: 'h-[calc(var(--lh)*var(--fs))]',\n xl: 'h-[calc(var(--lh)*var(--fs))]'\n }) // Uses custom mode for calculated height\n },\n layout: {\n ...defaultLayoutClassMappers,\n focusVisible: new FocusVisibleClassMapper(),\n alignSelf: new AlignSelfClassMapper()\n },\n appearance: {\n variant: new SimpleConsumerClassMapper({ base: '' }, 'bg'),\n focusVisible: new SimpleConsumerClassMapper({ base: focusVisibleConsumerClass }, 'focusVisible'),\n // read-only toggles dim like read-only text fields; listed before disabled so a disabled opacity wins\n readOnly: new ReadOnlyClassMapper(),\n disabled: new DisabledOpacityClassMapper(),\n }\n },\n checkboxWrapperDefaults,\n CHECKBOX_CATEGORIES,\n undefined,\n 'ui'\n);\n"],"names":["ComponentTheme","SizeClassMapper","defaultLayoutClassMappers","FocusVisibleClassMapper","AlignSelfClassMapper","SimpleConsumerClassMapper","focusVisibleConsumerClass","ReadOnlyClassMapper","DisabledOpacityClassMapper","checkboxWrapperDefaults","CHECKBOX_CATEGORIES"],"mappings":";;;;;;;;;;;;;;;;;;AAUO,MAAM,8BAA8B,IAAIA,6BAAA;AAAA,EAC7C,MAAA;AAAA,EACA,EAAA;AAAA,EACA;AAAA,IACE,IAAA,EAAM;AAAA,MACJ,MAAA,EAAQ,IAAIC,+BAAA,CAAgB;AAAA,QAC1B,EAAA,EAAI,+BAAA;AAAA,QACJ,EAAA,EAAI,+BAAA;AAAA,QACJ,EAAA,EAAI,+BAAA;AAAA,QACJ,EAAA,EAAI,+BAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACL;AAAA;AAAA,KACH;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,GAAGC,wCAAA;AAAA,MACH,YAAA,EAAc,IAAIC,+CAAA,EAAwB;AAAA,MAC1C,SAAA,EAAW,IAAIC,yCAAA;AAAqB,KACtC;AAAA,IACA,UAAA,EAAY;AAAA,MACV,SAAS,IAAIC,mDAAA,CAA0B,EAAE,IAAA,EAAM,EAAA,IAAM,IAAI,CAAA;AAAA,MACzD,cAAc,IAAIA,mDAAA,CAA0B,EAAE,IAAA,EAAMC,2CAAA,IAA6B,cAAc,CAAA;AAAA;AAAA,MAE/F,QAAA,EAAU,IAAIC,uCAAA,EAAoB;AAAA,MAClC,QAAA,EAAU,IAAIC,qDAAA;AAA2B;AAC3C,GACF;AAAA,EACAC,+CAAA;AAAA,EACAC,sCAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF;;;;"}
@@ -10,7 +10,8 @@ var defaultChipTheme = require('./defaultChipTheme.cjs');
10
10
  const Chip = React.forwardRef(
11
11
  function Chip2(props, ref) {
12
12
  const theme = themeContext.useTheme();
13
- const focusInjection = props.href && !props.noFocusVisible ? { focusVisible: true } : void 0;
13
+ const interactive = props.href || props.onClick || props.tag === "button";
14
+ const focusInjection = interactive && !props.noFocusVisible ? { focusVisible: true } : void 0;
14
15
  return /* @__PURE__ */ jsxRuntime.jsx(themedComponent.ThemedComponent, { theme: theme?.chip ?? defaultChipTheme.defaultChipTheme, ref, ...focusInjection, ...props });
15
16
  }
16
17
  );
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.cjs","sources":["../../../../../src/components/ui/chip/Chip.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ChipProps } from \"./ChipProps\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useTheme } from \"../../themeContext\";\nimport { defaultChipTheme } from \"./defaultChipTheme\";\n\nexport const Chip = forwardRef<HTMLSpanElement, ChipProps>(\n function Chip(props, ref) {\n const theme = useTheme();\n // Focus ring only when href turns the rendered tag into <a>; skip when\n // user opts out with noFocusVisible (otherwise both end up in props and\n // first-in-enum focusVisible wins).\n const focusInjection = props.href && !props.noFocusVisible ? { focusVisible: true as const } : undefined;\n return <ThemedComponent theme={theme?.chip ?? defaultChipTheme} ref={ref} {...focusInjection} {...props} />\n }\n);\n\nChip.displayName = 'Chip';\n"],"names":["forwardRef","Chip","useTheme","jsx","ThemedComponent","defaultChipTheme"],"mappings":";;;;;;;;;AAMO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,GAAOA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA;AAAA,CAAA,CAClB,SAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAA,CAAA,CAAK;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,IAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAS;AAIvB,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,MAAM,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAC,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAiB,CAAA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/F,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOC,cAAA,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,IAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAkB,GAAA,CAAA,CAAW,CAAA,CAAA,CAAG,cAAA,CAAA,CAAiB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AAAA,CAAA,CAC3G;AACF,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
1
+ {"version":3,"file":"Chip.cjs","sources":["../../../../../src/components/ui/chip/Chip.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport type { ChipProps } from \"./ChipProps\";\nimport { ThemedComponent } from \"../../themedComponent\";\nimport { useTheme } from \"../../themeContext\";\nimport { defaultChipTheme } from \"./defaultChipTheme\";\n\nexport const Chip = forwardRef<HTMLSpanElement, ChipProps>(\n function Chip(props, ref) {\n const theme = useTheme();\n // Focus ring only when the chip is interactive (a link, a button or clickable); skip when\n // user opts out with noFocusVisible (otherwise both end up in props and\n // first-in-enum focusVisible wins).\n const interactive = props.href || props.onClick || props.tag === 'button';\n const focusInjection = interactive && !props.noFocusVisible ? { focusVisible: true as const } : undefined;\n return <ThemedComponent theme={theme?.chip ?? defaultChipTheme} ref={ref} {...focusInjection} {...props} />\n }\n);\n\nChip.displayName = 'Chip';\n"],"names":["forwardRef","Chip","useTheme","jsx","ThemedComponent","defaultChipTheme"],"mappings":";;;;;;;;;AAMO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,GAAOA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA;AAAA,CAAA,CAClB,SAASC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,GAAA,CAAA,CAAK;AACxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,IAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,CAAA,CAAS;AAIvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,OAAA,CAAA,CAAA,CAAA,CAAW,CAAA,CAAA,CAAA,CAAA,EAAM,CAAA,CAAA,CAAA,KAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACjE,CAAA,CAAA,CAAA,CAAA,MAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAe,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,IAAiB,EAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,GAAc,GAAI,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAChG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAOC,cAAA,CAACC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA,EAAA,CAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA,CAAA,CAAA,CAAA,IAAQC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAkB,GAAA,CAAA,CAAW,CAAA,CAAA,CAAG,cAAA,CAAA,CAAiB,CAAA,CAAA,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CAAA;AAAA,CAAA,CAC3G;AACF,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;"}
@@ -12,11 +12,13 @@ const focusVisibleConsumerClass = "focus-visible:outline-(--focus-color)";
12
12
  const dividerBgConsumerClass = "bg-(--divider-color)";
13
13
  const accentConsumerClass = "accent-(--accent-color)";
14
14
  const checkedBgConsumerClass = "checked:[background:var(--checked-bg-color)] indeterminate:[background:var(--checked-bg-color)]";
15
+ const checkedOnlyBgConsumerClass = "checked:[background:var(--checked-bg-color)]";
15
16
 
16
17
  exports.accentConsumerClass = accentConsumerClass;
17
18
  exports.bgConsumerClasses = bgConsumerClasses;
18
19
  exports.borderConsumerClass = borderConsumerClass;
19
20
  exports.checkedBgConsumerClass = checkedBgConsumerClass;
21
+ exports.checkedOnlyBgConsumerClass = checkedOnlyBgConsumerClass;
20
22
  exports.dividerBgConsumerClass = dividerBgConsumerClass;
21
23
  exports.focusVisibleConsumerClass = focusVisibleConsumerClass;
22
24
  exports.ringConsumerClass = ringConsumerClass;
@@ -1 +1 @@
1
- {"version":3,"file":"appearanceClasses.cjs","sources":["../../../../../src/components/ui/classes/appearanceClasses.ts"],"sourcesContent":["/* ==========================================\n CSS VARIABLE CONSUMER CLASSES\n These classes consume component-level CSS variables\n that are set by CSS rules in vars.css based on\n data-appearance and data-variant attributes.\n ========================================== */\n\n/** Background consumer classes - consume --bg-color, --bg-hover-color, --bg-active-color\n * Uses bg-() syntax (background-color) instead of [background:] shorthand\n * to allow gradient overrides via className without conflicts.\n */\nexport const bgConsumerClasses = {\n base: \"bg-(--bg-color)\",\n hover: \"hover:bg-(--bg-hover-color)\",\n active: \"active:bg-(--bg-active-color)\",\n} as const;\n\n/** Text color consumer class - consumes --text-color */\nexport const textConsumerClass = \"text-(--text-color)\";\n\n/** Border consumer class - consumes --border-color */\nexport const borderConsumerClass = \"border-(--border-color)\";\n\n/** Ring consumer class - consumes --ring-color */\nexport const ringConsumerClass = \"ring-(--ring-color)\";\n\n/** Focus visible outline consumer class - consumes --focus-color (decoupled from --ring-color) */\nexport const focusVisibleConsumerClass = \"focus-visible:outline-(--focus-color)\";\n\n/** Divider background consumer class - consumes --divider-color */\nexport const dividerBgConsumerClass = \"bg-(--divider-color)\";\n\n/** Accent color consumer class - consumes --accent-color */\nexport const accentConsumerClass = \"accent-(--accent-color)\";\n\n/** Checked background consumer class - consumes --checked-bg-color.\n * Applies on :indeterminate too, so an indeterminate checkbox is filled like a\n * checked one and its (white) dash overlay stays visible. */\nexport const checkedBgConsumerClass = \"checked:[background:var(--checked-bg-color)] indeterminate:[background:var(--checked-bg-color)]\";\n"],"names":[],"mappings":";;AAWO,MAAM,iBAAA,GAAoB;AAAA,EAC/B,IAAA,EAAM,iBAAA;AAAA,EACN,KAAA,EAAO,6BAAA;AAAA,EACP,MAAA,EAAQ;AACV;AAGO,MAAM,iBAAA,GAAoB;AAG1B,MAAM,mBAAA,GAAsB;AAG5B,MAAM,iBAAA,GAAoB;AAG1B,MAAM,yBAAA,GAA4B;AAGlC,MAAM,sBAAA,GAAyB;AAG/B,MAAM,mBAAA,GAAsB;AAK5B,MAAM,sBAAA,GAAyB;;;;;;;;;;;"}
1
+ {"version":3,"file":"appearanceClasses.cjs","sources":["../../../../../src/components/ui/classes/appearanceClasses.ts"],"sourcesContent":["/* ==========================================\n CSS VARIABLE CONSUMER CLASSES\n These classes consume component-level CSS variables\n that are set by CSS rules in vars.css based on\n data-appearance and data-variant attributes.\n ========================================== */\n\n/** Background consumer classes - consume --bg-color, --bg-hover-color, --bg-active-color\n * Uses bg-() syntax (background-color) instead of [background:] shorthand\n * to allow gradient overrides via className without conflicts.\n */\nexport const bgConsumerClasses = {\n base: \"bg-(--bg-color)\",\n hover: \"hover:bg-(--bg-hover-color)\",\n active: \"active:bg-(--bg-active-color)\",\n} as const;\n\n/** Text color consumer class - consumes --text-color */\nexport const textConsumerClass = \"text-(--text-color)\";\n\n/** Border consumer class - consumes --border-color */\nexport const borderConsumerClass = \"border-(--border-color)\";\n\n/** Ring consumer class - consumes --ring-color */\nexport const ringConsumerClass = \"ring-(--ring-color)\";\n\n/** Focus visible outline consumer class - consumes --focus-color (decoupled from --ring-color) */\nexport const focusVisibleConsumerClass = \"focus-visible:outline-(--focus-color)\";\n\n/** Divider background consumer class - consumes --divider-color */\nexport const dividerBgConsumerClass = \"bg-(--divider-color)\";\n\n/** Accent color consumer class - consumes --accent-color */\nexport const accentConsumerClass = \"accent-(--accent-color)\";\n\n/** Checked background consumer class - consumes --checked-bg-color.\n * Applies on :indeterminate too, so an indeterminate checkbox is filled like a\n * checked one and its (white) dash overlay stays visible. */\nexport const checkedBgConsumerClass = \"checked:[background:var(--checked-bg-color)] indeterminate:[background:var(--checked-bg-color)]\";\n/** Checked-only background (Radio): an unchecked radio group matches `:indeterminate`, so that variant must not fill it. */\nexport const checkedOnlyBgConsumerClass = \"checked:[background:var(--checked-bg-color)]\";\n"],"names":[],"mappings":";;AAWO,MAAM,iBAAA,GAAoB;AAAA,EAC/B,IAAA,EAAM,iBAAA;AAAA,EACN,KAAA,EAAO,6BAAA;AAAA,EACP,MAAA,EAAQ;AACV;AAGO,MAAM,iBAAA,GAAoB;AAG1B,MAAM,mBAAA,GAAsB;AAG5B,MAAM,iBAAA,GAAoB;AAG1B,MAAM,yBAAA,GAA4B;AAGlC,MAAM,sBAAA,GAAyB;AAG/B,MAAM,mBAAA,GAAsB;AAK5B,MAAM,sBAAA,GAAyB;AAE/B,MAAM,0BAAA,GAA6B;;;;;;;;;;;;"}