frey-ui 1.0.11 → 1.0.13

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 (375) hide show
  1. package/README.md +35 -1
  2. package/dist/cjs/Accordion/accordion.css +80 -0
  3. package/dist/cjs/Accordion/accordion.module.css.cjs +2 -1
  4. package/dist/cjs/Accordion/index.cjs +3 -3
  5. package/dist/cjs/Alert/alert.css +63 -0
  6. package/dist/cjs/Alert/alert.module.css.cjs +2 -1
  7. package/dist/cjs/Alert/index.cjs +8 -5
  8. package/dist/cjs/Avatar/avatar.css +107 -0
  9. package/dist/cjs/Avatar/avatar.module.css.cjs +2 -1
  10. package/dist/cjs/Badge/badge.css +75 -0
  11. package/dist/cjs/Badge/badge.module.css.cjs +10 -0
  12. package/dist/cjs/Badge/index.cjs +37 -0
  13. package/dist/cjs/Box/box.css +3 -0
  14. package/dist/cjs/Box/box.module.css.cjs +10 -0
  15. package/dist/cjs/Box/index.cjs +136 -0
  16. package/dist/cjs/Breadcrumbs/breadcrumbs.css +34 -0
  17. package/dist/cjs/Breadcrumbs/breadcrumbs.module.css.cjs +10 -0
  18. package/dist/cjs/Breadcrumbs/index.cjs +46 -0
  19. package/dist/cjs/Button/button.css +112 -0
  20. package/dist/cjs/Button/button.module.css.cjs +2 -1
  21. package/dist/cjs/Button/index.cjs +29 -4
  22. package/dist/cjs/Card/card.css +37 -0
  23. package/dist/cjs/Card/card.module.css.cjs +2 -1
  24. package/dist/cjs/Checkbox/checkbox.css +135 -0
  25. package/dist/cjs/Checkbox/checkbox.module.css.cjs +2 -1
  26. package/dist/cjs/Checkbox/index.cjs +3 -2
  27. package/dist/cjs/Chip/chip.css +55 -0
  28. package/dist/cjs/Chip/chip.module.css.cjs +2 -1
  29. package/dist/cjs/Dialog/dialog.css +144 -0
  30. package/dist/cjs/Dialog/dialog.module.css.cjs +2 -1
  31. package/dist/cjs/Dialog/index.cjs +11 -11
  32. package/dist/cjs/DropdownMenu/dropdownmenu.css +61 -0
  33. package/dist/cjs/DropdownMenu/dropdownmenu.module.css.cjs +2 -1
  34. package/dist/cjs/DropdownMenu/index.cjs +112 -60
  35. package/dist/cjs/Field/field.css +51 -0
  36. package/dist/cjs/Field/field.module.css.cjs +2 -1
  37. package/dist/cjs/Flex/index.cjs +23 -0
  38. package/dist/cjs/Grid/index.cjs +33 -0
  39. package/dist/cjs/Icons/CheckIcon.cjs +12 -0
  40. package/dist/cjs/Icons/ChevronDownIcon.cjs +12 -0
  41. package/dist/cjs/Icons/CircleCheckIcon.cjs +12 -0
  42. package/dist/cjs/Icons/CircleInfoIcon.cjs +12 -0
  43. package/dist/cjs/Icons/CircleXIcon.cjs +12 -0
  44. package/dist/cjs/Icons/CloseIcon.cjs +12 -0
  45. package/dist/cjs/Icons/IconSvg.cjs +52 -0
  46. package/dist/cjs/Icons/MinusIcon.cjs +12 -0
  47. package/dist/cjs/Icons/TriangleAlertIcon.cjs +12 -0
  48. package/dist/cjs/Icons/icons.css +5 -0
  49. package/dist/cjs/Icons/icons.module.css.cjs +2 -1
  50. package/dist/cjs/Link/index.cjs +38 -0
  51. package/dist/cjs/Link/link.css +57 -0
  52. package/dist/cjs/Link/link.module.css.cjs +10 -0
  53. package/dist/cjs/Popover/index.cjs +71 -38
  54. package/dist/cjs/Popover/popover.css +25 -0
  55. package/dist/cjs/Popover/popover.module.css.cjs +2 -1
  56. package/dist/cjs/Progress/progress.css +86 -0
  57. package/dist/cjs/Progress/progress.module.css.cjs +2 -1
  58. package/dist/cjs/RadioGroup/radiogroup.css +59 -0
  59. package/dist/cjs/RadioGroup/radiogroup.module.css.cjs +2 -1
  60. package/dist/cjs/Select/index.cjs +3 -4
  61. package/dist/cjs/Select/select.css +77 -0
  62. package/dist/cjs/Select/select.module.css.cjs +2 -1
  63. package/dist/cjs/Skeleton/skeleton.css +29 -0
  64. package/dist/cjs/Skeleton/skeleton.module.css.cjs +2 -1
  65. package/dist/cjs/Spinner/spinner.css +35 -0
  66. package/dist/cjs/Spinner/spinner.module.css.cjs +2 -1
  67. package/dist/cjs/Stack/index.cjs +18 -0
  68. package/dist/cjs/Switch/switch.css +123 -0
  69. package/dist/cjs/Switch/switch.module.css.cjs +2 -1
  70. package/dist/cjs/Table/index.cjs +55 -0
  71. package/dist/cjs/Table/table.css +57 -0
  72. package/dist/cjs/Table/table.module.css.cjs +10 -0
  73. package/dist/cjs/Tabs/index.cjs +50 -21
  74. package/dist/cjs/Tabs/tabs.css +62 -0
  75. package/dist/cjs/Tabs/tabs.module.css.cjs +2 -1
  76. package/dist/cjs/TextInput/index.cjs +7 -15
  77. package/dist/cjs/TextInput/textinput.css +93 -0
  78. package/dist/cjs/TextInput/textinput.module.css.cjs +2 -1
  79. package/dist/cjs/Textarea/index.cjs +2 -3
  80. package/dist/cjs/Textarea/textarea.css +62 -0
  81. package/dist/cjs/Textarea/textarea.module.css.cjs +2 -1
  82. package/dist/cjs/ThemeProvider/index.cjs +4 -1
  83. package/dist/cjs/ThemeProvider/themeprovider.css +3 -0
  84. package/dist/cjs/ThemeProvider/themeprovider.module.css.cjs +2 -1
  85. package/dist/cjs/Toast/index.cjs +15 -11
  86. package/dist/cjs/Toast/toast.css +151 -0
  87. package/dist/cjs/Toast/toast.module.css.cjs +2 -1
  88. package/dist/cjs/Tooltip/index.cjs +38 -67
  89. package/dist/cjs/Tooltip/tooltip.css +26 -0
  90. package/dist/cjs/Tooltip/tooltip.module.css.cjs +2 -1
  91. package/dist/cjs/hooks/floatingConfig.cjs +24 -0
  92. package/dist/cjs/hooks/useRovingCollection.cjs +107 -0
  93. package/dist/cjs/index.cjs +75 -51
  94. package/dist/cjs/theme.css +243 -0
  95. package/dist/cjs/utils/Portal.cjs +49 -0
  96. package/dist/cjs/utils/aria.cjs +14 -0
  97. package/dist/esm/Accordion/accordion.css +80 -0
  98. package/dist/esm/Accordion/accordion.module.css.mjs +2 -1
  99. package/dist/esm/Accordion/index.mjs +2 -2
  100. package/dist/esm/Alert/alert.css +63 -0
  101. package/dist/esm/Alert/alert.module.css.mjs +2 -1
  102. package/dist/esm/Alert/index.mjs +4 -1
  103. package/dist/esm/Avatar/avatar.css +107 -0
  104. package/dist/esm/Avatar/avatar.module.css.mjs +2 -1
  105. package/dist/esm/Badge/badge.css +75 -0
  106. package/dist/esm/Badge/badge.module.css.mjs +6 -0
  107. package/dist/esm/Badge/index.mjs +33 -0
  108. package/dist/esm/Box/box.css +3 -0
  109. package/dist/esm/Box/box.module.css.mjs +6 -0
  110. package/dist/esm/Box/index.mjs +132 -0
  111. package/dist/esm/Breadcrumbs/breadcrumbs.css +34 -0
  112. package/dist/esm/Breadcrumbs/breadcrumbs.module.css.mjs +6 -0
  113. package/dist/esm/Breadcrumbs/index.mjs +41 -0
  114. package/dist/esm/Button/button.css +112 -0
  115. package/dist/esm/Button/button.module.css.mjs +2 -1
  116. package/dist/esm/Button/index.mjs +30 -5
  117. package/dist/esm/Card/card.css +37 -0
  118. package/dist/esm/Card/card.module.css.mjs +2 -1
  119. package/dist/esm/Checkbox/checkbox.css +135 -0
  120. package/dist/esm/Checkbox/checkbox.module.css.mjs +2 -1
  121. package/dist/esm/Checkbox/index.mjs +2 -1
  122. package/dist/esm/Chip/chip.css +55 -0
  123. package/dist/esm/Chip/chip.module.css.mjs +2 -1
  124. package/dist/esm/Dialog/dialog.css +144 -0
  125. package/dist/esm/Dialog/dialog.module.css.mjs +2 -1
  126. package/dist/esm/Dialog/index.mjs +11 -11
  127. package/dist/esm/DropdownMenu/dropdownmenu.css +61 -0
  128. package/dist/esm/DropdownMenu/dropdownmenu.module.css.mjs +2 -1
  129. package/dist/esm/DropdownMenu/index.mjs +113 -61
  130. package/dist/esm/Field/field.css +51 -0
  131. package/dist/esm/Field/field.module.css.mjs +2 -1
  132. package/dist/esm/Flex/index.mjs +19 -0
  133. package/dist/esm/Grid/index.mjs +29 -0
  134. package/dist/esm/Icons/CheckIcon.mjs +10 -0
  135. package/dist/esm/Icons/ChevronDownIcon.mjs +10 -0
  136. package/dist/esm/Icons/CircleCheckIcon.mjs +10 -0
  137. package/dist/esm/Icons/CircleInfoIcon.mjs +10 -0
  138. package/dist/esm/Icons/CircleXIcon.mjs +10 -0
  139. package/dist/esm/Icons/CloseIcon.mjs +10 -0
  140. package/dist/esm/Icons/IconSvg.mjs +50 -0
  141. package/dist/esm/Icons/MinusIcon.mjs +10 -0
  142. package/dist/esm/Icons/TriangleAlertIcon.mjs +10 -0
  143. package/dist/esm/Icons/icons.css +5 -0
  144. package/dist/esm/Icons/icons.module.css.mjs +2 -1
  145. package/dist/esm/Link/index.mjs +34 -0
  146. package/dist/esm/Link/link.css +57 -0
  147. package/dist/esm/Link/link.module.css.mjs +6 -0
  148. package/dist/esm/Popover/index.mjs +72 -39
  149. package/dist/esm/Popover/popover.css +25 -0
  150. package/dist/esm/Popover/popover.module.css.mjs +2 -1
  151. package/dist/esm/Progress/progress.css +86 -0
  152. package/dist/esm/Progress/progress.module.css.mjs +2 -1
  153. package/dist/esm/RadioGroup/radiogroup.css +59 -0
  154. package/dist/esm/RadioGroup/radiogroup.module.css.mjs +2 -1
  155. package/dist/esm/Select/index.mjs +3 -4
  156. package/dist/esm/Select/select.css +77 -0
  157. package/dist/esm/Select/select.module.css.mjs +2 -1
  158. package/dist/esm/Skeleton/skeleton.css +29 -0
  159. package/dist/esm/Skeleton/skeleton.module.css.mjs +2 -1
  160. package/dist/esm/Spinner/spinner.css +35 -0
  161. package/dist/esm/Spinner/spinner.module.css.mjs +2 -1
  162. package/dist/esm/Stack/index.mjs +14 -0
  163. package/dist/esm/Switch/switch.css +123 -0
  164. package/dist/esm/Switch/switch.module.css.mjs +2 -1
  165. package/dist/esm/Table/index.mjs +50 -0
  166. package/dist/esm/Table/table.css +57 -0
  167. package/dist/esm/Table/table.module.css.mjs +6 -0
  168. package/dist/esm/Tabs/index.mjs +50 -21
  169. package/dist/esm/Tabs/tabs.css +62 -0
  170. package/dist/esm/Tabs/tabs.module.css.mjs +2 -1
  171. package/dist/esm/TextInput/index.mjs +9 -17
  172. package/dist/esm/TextInput/textinput.css +93 -0
  173. package/dist/esm/TextInput/textinput.module.css.mjs +2 -1
  174. package/dist/esm/Textarea/index.mjs +2 -3
  175. package/dist/esm/Textarea/textarea.css +62 -0
  176. package/dist/esm/Textarea/textarea.module.css.mjs +2 -1
  177. package/dist/esm/ThemeProvider/index.mjs +5 -3
  178. package/dist/esm/ThemeProvider/themeprovider.css +3 -0
  179. package/dist/esm/ThemeProvider/themeprovider.module.css.mjs +2 -1
  180. package/dist/esm/Toast/index.mjs +10 -6
  181. package/dist/esm/Toast/toast.css +151 -0
  182. package/dist/esm/Toast/toast.module.css.mjs +2 -1
  183. package/dist/esm/Tooltip/index.mjs +38 -67
  184. package/dist/esm/Tooltip/tooltip.css +26 -0
  185. package/dist/esm/Tooltip/tooltip.module.css.mjs +2 -1
  186. package/dist/esm/hooks/floatingConfig.mjs +20 -0
  187. package/dist/esm/hooks/useRovingCollection.mjs +105 -0
  188. package/dist/esm/index.mjs +18 -1
  189. package/dist/esm/theme.css +243 -0
  190. package/dist/esm/utils/Portal.mjs +45 -0
  191. package/dist/esm/utils/aria.mjs +12 -0
  192. package/dist/index.d.ts +187 -26
  193. package/dist/types/src/Badge/index.d.ts +13 -0
  194. package/dist/types/src/Box/index.d.ts +47 -0
  195. package/dist/types/src/Breadcrumbs/index.d.ts +29 -0
  196. package/dist/types/src/Button/index.d.ts +4 -7
  197. package/dist/types/src/DropdownMenu/index.d.ts +2 -2
  198. package/dist/types/src/Flex/index.d.ts +18 -0
  199. package/dist/types/src/Grid/index.d.ts +18 -0
  200. package/dist/types/src/Icons/CheckIcon.d.ts +4 -0
  201. package/dist/types/src/Icons/ChevronDownIcon.d.ts +4 -0
  202. package/dist/types/src/Icons/CircleCheckIcon.d.ts +4 -0
  203. package/dist/types/src/Icons/CircleInfoIcon.d.ts +4 -0
  204. package/dist/types/src/Icons/CircleXIcon.d.ts +4 -0
  205. package/dist/types/src/Icons/CloseIcon.d.ts +4 -0
  206. package/dist/types/src/Icons/IconSvg.d.ts +14 -0
  207. package/dist/types/src/Icons/MinusIcon.d.ts +4 -0
  208. package/dist/types/src/Icons/TriangleAlertIcon.d.ts +4 -0
  209. package/dist/types/src/Icons/index.d.ts +9 -30
  210. package/dist/types/src/Link/index.d.ts +11 -0
  211. package/dist/types/src/Stack/index.d.ts +15 -0
  212. package/dist/types/src/Table/index.d.ts +40 -0
  213. package/dist/types/src/ThemeProvider/index.d.ts +5 -0
  214. package/dist/types/src/hooks/floatingConfig.d.ts +6 -0
  215. package/dist/types/src/hooks/useRovingCollection.d.ts +16 -0
  216. package/dist/types/src/index.d.ts +18 -2
  217. package/dist/types/src/utils/Portal.d.ts +8 -0
  218. package/dist/types/src/utils/aria.d.ts +3 -0
  219. package/dist/types/src/utils/testUtils.d.ts +7 -0
  220. package/package.json +49 -5
  221. package/dist/cjs/Accordion/accordion.module.css.cjs.map +0 -1
  222. package/dist/cjs/Accordion/index.cjs.map +0 -1
  223. package/dist/cjs/Alert/alert.module.css.cjs.map +0 -1
  224. package/dist/cjs/Alert/index.cjs.map +0 -1
  225. package/dist/cjs/Avatar/avatar.module.css.cjs.map +0 -1
  226. package/dist/cjs/Avatar/index.cjs.map +0 -1
  227. package/dist/cjs/Button/button.module.css.cjs.map +0 -1
  228. package/dist/cjs/Button/index.cjs.map +0 -1
  229. package/dist/cjs/Card/card.module.css.cjs.map +0 -1
  230. package/dist/cjs/Card/index.cjs.map +0 -1
  231. package/dist/cjs/Checkbox/checkbox.module.css.cjs.map +0 -1
  232. package/dist/cjs/Checkbox/index.cjs.map +0 -1
  233. package/dist/cjs/Chip/chip.module.css.cjs.map +0 -1
  234. package/dist/cjs/Chip/index.cjs.map +0 -1
  235. package/dist/cjs/Dialog/dialog.module.css.cjs.map +0 -1
  236. package/dist/cjs/Dialog/index.cjs.map +0 -1
  237. package/dist/cjs/DropdownMenu/dropdownmenu.module.css.cjs.map +0 -1
  238. package/dist/cjs/DropdownMenu/index.cjs.map +0 -1
  239. package/dist/cjs/Field/field.module.css.cjs.map +0 -1
  240. package/dist/cjs/Field/index.cjs.map +0 -1
  241. package/dist/cjs/Icons/icons.module.css.cjs.map +0 -1
  242. package/dist/cjs/Icons/index.cjs +0 -96
  243. package/dist/cjs/Icons/index.cjs.map +0 -1
  244. package/dist/cjs/Popover/index.cjs.map +0 -1
  245. package/dist/cjs/Popover/popover.module.css.cjs.map +0 -1
  246. package/dist/cjs/Progress/index.cjs.map +0 -1
  247. package/dist/cjs/Progress/progress.module.css.cjs.map +0 -1
  248. package/dist/cjs/RadioGroup/index.cjs.map +0 -1
  249. package/dist/cjs/RadioGroup/radiogroup.module.css.cjs.map +0 -1
  250. package/dist/cjs/Select/index.cjs.map +0 -1
  251. package/dist/cjs/Select/select.module.css.cjs.map +0 -1
  252. package/dist/cjs/Skeleton/index.cjs.map +0 -1
  253. package/dist/cjs/Skeleton/skeleton.module.css.cjs.map +0 -1
  254. package/dist/cjs/Spinner/index.cjs.map +0 -1
  255. package/dist/cjs/Spinner/spinner.module.css.cjs.map +0 -1
  256. package/dist/cjs/Switch/index.cjs.map +0 -1
  257. package/dist/cjs/Switch/switch.module.css.cjs.map +0 -1
  258. package/dist/cjs/Tabs/index.cjs.map +0 -1
  259. package/dist/cjs/Tabs/tabs.module.css.cjs.map +0 -1
  260. package/dist/cjs/TextInput/index.cjs.map +0 -1
  261. package/dist/cjs/TextInput/textinput.module.css.cjs.map +0 -1
  262. package/dist/cjs/Textarea/index.cjs.map +0 -1
  263. package/dist/cjs/Textarea/textarea.module.css.cjs.map +0 -1
  264. package/dist/cjs/ThemeProvider/index.cjs.map +0 -1
  265. package/dist/cjs/ThemeProvider/themeprovider.module.css.cjs.map +0 -1
  266. package/dist/cjs/Toast/index.cjs.map +0 -1
  267. package/dist/cjs/Toast/toast.module.css.cjs.map +0 -1
  268. package/dist/cjs/Tooltip/index.cjs.map +0 -1
  269. package/dist/cjs/Tooltip/tooltip.module.css.cjs.map +0 -1
  270. package/dist/cjs/hooks/useControllableState.cjs.map +0 -1
  271. package/dist/cjs/hooks/useDismiss.cjs +0 -44
  272. package/dist/cjs/hooks/useDismiss.cjs.map +0 -1
  273. package/dist/cjs/hooks/useFloatingPosition.cjs +0 -68
  274. package/dist/cjs/hooks/useFloatingPosition.cjs.map +0 -1
  275. package/dist/cjs/index.cjs.map +0 -1
  276. package/dist/cjs/utils/clamp.cjs +0 -9
  277. package/dist/cjs/utils/clamp.cjs.map +0 -1
  278. package/dist/cjs/utils/mergeRefs.cjs.map +0 -1
  279. package/dist/cjs/utils/slot.cjs.map +0 -1
  280. package/dist/esm/Accordion/accordion.module.css.mjs.map +0 -1
  281. package/dist/esm/Accordion/index.mjs.map +0 -1
  282. package/dist/esm/Alert/alert.module.css.mjs.map +0 -1
  283. package/dist/esm/Alert/index.mjs.map +0 -1
  284. package/dist/esm/Avatar/avatar.module.css.mjs.map +0 -1
  285. package/dist/esm/Avatar/index.mjs.map +0 -1
  286. package/dist/esm/Button/button.module.css.mjs.map +0 -1
  287. package/dist/esm/Button/index.mjs.map +0 -1
  288. package/dist/esm/Card/card.module.css.mjs.map +0 -1
  289. package/dist/esm/Card/index.mjs.map +0 -1
  290. package/dist/esm/Checkbox/checkbox.module.css.mjs.map +0 -1
  291. package/dist/esm/Checkbox/index.mjs.map +0 -1
  292. package/dist/esm/Chip/chip.module.css.mjs.map +0 -1
  293. package/dist/esm/Chip/index.mjs.map +0 -1
  294. package/dist/esm/Dialog/dialog.module.css.mjs.map +0 -1
  295. package/dist/esm/Dialog/index.mjs.map +0 -1
  296. package/dist/esm/DropdownMenu/dropdownmenu.module.css.mjs.map +0 -1
  297. package/dist/esm/DropdownMenu/index.mjs.map +0 -1
  298. package/dist/esm/Field/field.module.css.mjs.map +0 -1
  299. package/dist/esm/Field/index.mjs.map +0 -1
  300. package/dist/esm/Icons/icons.module.css.mjs.map +0 -1
  301. package/dist/esm/Icons/index.mjs +0 -84
  302. package/dist/esm/Icons/index.mjs.map +0 -1
  303. package/dist/esm/Popover/index.mjs.map +0 -1
  304. package/dist/esm/Popover/popover.module.css.mjs.map +0 -1
  305. package/dist/esm/Progress/index.mjs.map +0 -1
  306. package/dist/esm/Progress/progress.module.css.mjs.map +0 -1
  307. package/dist/esm/RadioGroup/index.mjs.map +0 -1
  308. package/dist/esm/RadioGroup/radiogroup.module.css.mjs.map +0 -1
  309. package/dist/esm/Select/index.mjs.map +0 -1
  310. package/dist/esm/Select/select.module.css.mjs.map +0 -1
  311. package/dist/esm/Skeleton/index.mjs.map +0 -1
  312. package/dist/esm/Skeleton/skeleton.module.css.mjs.map +0 -1
  313. package/dist/esm/Spinner/index.mjs.map +0 -1
  314. package/dist/esm/Spinner/spinner.module.css.mjs.map +0 -1
  315. package/dist/esm/Switch/index.mjs.map +0 -1
  316. package/dist/esm/Switch/switch.module.css.mjs.map +0 -1
  317. package/dist/esm/Tabs/index.mjs.map +0 -1
  318. package/dist/esm/Tabs/tabs.module.css.mjs.map +0 -1
  319. package/dist/esm/TextInput/index.mjs.map +0 -1
  320. package/dist/esm/TextInput/textinput.module.css.mjs.map +0 -1
  321. package/dist/esm/Textarea/index.mjs.map +0 -1
  322. package/dist/esm/Textarea/textarea.module.css.mjs.map +0 -1
  323. package/dist/esm/ThemeProvider/index.mjs.map +0 -1
  324. package/dist/esm/ThemeProvider/themeprovider.module.css.mjs.map +0 -1
  325. package/dist/esm/Toast/index.mjs.map +0 -1
  326. package/dist/esm/Toast/toast.module.css.mjs.map +0 -1
  327. package/dist/esm/Tooltip/index.mjs.map +0 -1
  328. package/dist/esm/Tooltip/tooltip.module.css.mjs.map +0 -1
  329. package/dist/esm/hooks/useControllableState.mjs.map +0 -1
  330. package/dist/esm/hooks/useDismiss.mjs +0 -42
  331. package/dist/esm/hooks/useDismiss.mjs.map +0 -1
  332. package/dist/esm/hooks/useFloatingPosition.mjs +0 -66
  333. package/dist/esm/hooks/useFloatingPosition.mjs.map +0 -1
  334. package/dist/esm/index.mjs.map +0 -1
  335. package/dist/esm/utils/clamp.mjs +0 -7
  336. package/dist/esm/utils/clamp.mjs.map +0 -1
  337. package/dist/esm/utils/mergeRefs.mjs.map +0 -1
  338. package/dist/esm/utils/slot.mjs.map +0 -1
  339. package/dist/styles.css +0 -3
  340. package/dist/styles.css.map +0 -1
  341. package/dist/types/src/Accordion/index.d.ts.map +0 -1
  342. package/dist/types/src/Alert/index.d.ts.map +0 -1
  343. package/dist/types/src/Avatar/index.d.ts.map +0 -1
  344. package/dist/types/src/Button/index.d.ts.map +0 -1
  345. package/dist/types/src/Card/index.d.ts.map +0 -1
  346. package/dist/types/src/Checkbox/index.d.ts.map +0 -1
  347. package/dist/types/src/Chip/index.d.ts.map +0 -1
  348. package/dist/types/src/Dialog/index.d.ts.map +0 -1
  349. package/dist/types/src/DropdownMenu/index.d.ts.map +0 -1
  350. package/dist/types/src/Field/index.d.ts.map +0 -1
  351. package/dist/types/src/Icons/index.d.ts.map +0 -1
  352. package/dist/types/src/Popover/index.d.ts.map +0 -1
  353. package/dist/types/src/Progress/index.d.ts.map +0 -1
  354. package/dist/types/src/RadioGroup/index.d.ts.map +0 -1
  355. package/dist/types/src/Select/index.d.ts.map +0 -1
  356. package/dist/types/src/Skeleton/index.d.ts.map +0 -1
  357. package/dist/types/src/Spinner/index.d.ts.map +0 -1
  358. package/dist/types/src/Switch/index.d.ts.map +0 -1
  359. package/dist/types/src/Tabs/index.d.ts.map +0 -1
  360. package/dist/types/src/TextInput/index.d.ts.map +0 -1
  361. package/dist/types/src/Textarea/index.d.ts.map +0 -1
  362. package/dist/types/src/ThemeProvider/index.d.ts.map +0 -1
  363. package/dist/types/src/Toast/index.d.ts.map +0 -1
  364. package/dist/types/src/Tooltip/index.d.ts.map +0 -1
  365. package/dist/types/src/hooks/useControllableState.d.ts.map +0 -1
  366. package/dist/types/src/hooks/useDismiss.d.ts +0 -18
  367. package/dist/types/src/hooks/useDismiss.d.ts.map +0 -1
  368. package/dist/types/src/hooks/useFloatingPosition.d.ts +0 -26
  369. package/dist/types/src/hooks/useFloatingPosition.d.ts.map +0 -1
  370. package/dist/types/src/index.d.ts.map +0 -1
  371. package/dist/types/src/types/polymorphic.d.ts.map +0 -1
  372. package/dist/types/src/utils/clamp.d.ts +0 -2
  373. package/dist/types/src/utils/clamp.d.ts.map +0 -1
  374. package/dist/types/src/utils/mergeRefs.d.ts.map +0 -1
  375. package/dist/types/src/utils/slot.d.ts.map +0 -1
package/README.md CHANGED
@@ -21,6 +21,18 @@ Frey UI is built with **WCAG 2.1 AA** compliance as a goal:
21
21
 
22
22
  Automated checks run through [`jest-axe`](https://github.com/nickcolley/jest-axe) in unit tests and [`@storybook/addon-a11y`](https://storybook.js.org/addons/@storybook/addon-a11y) in Storybook.
23
23
 
24
+ ### Test Environment Notes
25
+
26
+ Unit tests run in JSDOM, which does not provide a full layout engine. Positioning assertions for portal overlays may require mocked geometry APIs (`getBoundingClientRect`, viewport size), and focus-trap behavior is validated at a best-effort level in unit tests.
27
+
28
+ Browser E2E coverage is available via Playwright in `apps/playwright` for real-world overlay focus and positioning checks, and can be expanded as overlay scenarios grow.
29
+
30
+ ### Overlay Focus Management
31
+
32
+ - `Dialog` uses the native `<dialog>` element and modal behavior.
33
+ - `Popover` and `DropdownMenu` use `FloatingFocusManager` in modal mode.
34
+ - When a `Popover` or `DropdownMenu` is open, keyboard focus is trapped inside the overlay and focus returns to the trigger when it closes.
35
+
24
36
  ## Installation
25
37
 
26
38
  ```bash
@@ -34,7 +46,7 @@ npm install frey-ui
34
46
  Import the stylesheet once in your app root (for example `App.tsx` or `layout.tsx`):
35
47
 
36
48
  ```tsx
37
- import 'frey-ui/style.css';
49
+ import 'frey-ui/theme.css';
38
50
  ```
39
51
 
40
52
  ## Public Subpath Imports
@@ -74,6 +86,28 @@ pnpm install
74
86
  pnpm storybook
75
87
  ```
76
88
 
89
+ ## Brand Token Generator
90
+
91
+ Frey UI includes a contributor CLI utility to generate CSS variable overrides from a small set of brand colors.
92
+
93
+ ```bash
94
+ pnpm theme:tokens -- --primary "#0f62fe"
95
+ ```
96
+
97
+ You can optionally override additional semantic colors:
98
+
99
+ ```bash
100
+ pnpm theme:tokens -- --primary "#0f62fe" --success "#198038" --warning "#f1c21b" --error "#da1e28" --info "#0043ce" > brand-theme.css
101
+ ```
102
+
103
+ Then load the generated CSS after `frey-ui/theme.css` in your application so your brand tokens override defaults.
104
+
105
+ ## Roadmap Notes
106
+
107
+ - `Combobox / Autocomplete`: planned to support searchable long-option datasets with robust keyboard semantics.
108
+ - `Drawer / Slide-over`: planned for mobile-first and dense settings workflows.
109
+ - Accordion content animation: current grid-based animation uses `overflow: hidden` on the inner content wrapper, which can clip inner tooltips and extended focus rings. Prefer external tooltip portals and avoid relying on overflow-visible descendants inside accordion content.
110
+
77
111
  ## License
78
112
 
79
113
  [MIT](./LICENSE)
@@ -0,0 +1,80 @@
1
+ .accordion_8f91be6e {
2
+ width: 100%;
3
+ }
4
+
5
+ .accordion_item_2d6abc63 {
6
+ border-bottom: 1px solid var(--frey-color-border-subtle);
7
+ }
8
+
9
+ .accordion_item_2d6abc63:last-child {
10
+ border-bottom: none;
11
+ }
12
+
13
+ .accordion_header_c9933178 {
14
+ display: flex;
15
+ }
16
+
17
+ .accordion_trigger_1c357514 {
18
+ display: flex;
19
+ flex: 1;
20
+ align-items: center;
21
+ justify-content: space-between;
22
+ padding: 1rem 0;
23
+ font-weight: 500;
24
+ font-size: 0.875rem;
25
+ background: none;
26
+ border: none;
27
+ cursor: pointer;
28
+ color: var(--frey-color-text);
29
+ transition: all 0.2s ease-in-out;
30
+ text-align: left;
31
+ outline: none;
32
+ }
33
+
34
+ .accordion_trigger_1c357514:hover {
35
+ text-decoration: underline;
36
+ }
37
+
38
+ .accordion_trigger_1c357514:focus-visible {
39
+ border-radius: var(--frey-radius-sm);
40
+ box-shadow:
41
+ 0 0 0 2px var(--frey-color-surface),
42
+ 0 0 0 4px var(--frey-color-focus-ring);
43
+ }
44
+
45
+ .accordion_chevron_c55f991e {
46
+ transition: transform 0.2s ease-in-out;
47
+ color: var(--frey-color-text-muted);
48
+ }
49
+
50
+ .accordion_chevron_open_44560e91 {
51
+ transform: rotate(180deg);
52
+ }
53
+
54
+ /*
55
+ CSS Grid trick for animating height
56
+ Transitions from 0fr to 1fr
57
+ */
58
+ .accordion_content_wrapper_357a0679 {
59
+ display: grid;
60
+ grid-template-rows: 0fr;
61
+ transition: grid-template-rows 0.2s ease-out;
62
+ }
63
+
64
+ .accordion_content_wrapper_open_02841768 {
65
+ grid-template-rows: 1fr;
66
+ }
67
+
68
+ .accordion_content_945ef079 {
69
+ overflow: hidden; /* Important for grid animation to hide contents when 0fr */
70
+ padding-bottom: 1rem;
71
+ color: var(--frey-color-text-muted);
72
+ font-size: 0.875rem;
73
+ line-height: 1.5;
74
+ }
75
+
76
+ /* Remove padding if closed to avoid seeing whitespace inside 0fr */
77
+ .accordion_content_wrapper_357a0679:not(.accordion_content_wrapper_open_02841768)
78
+ .accordion_content_945ef079 {
79
+ padding-bottom: 0;
80
+ }
@@ -1,9 +1,10 @@
1
1
  'use client';
2
2
  'use strict';
3
+ require('./accordion.css');
3
4
 
4
5
  Object.defineProperty(exports, '__esModule', { value: true });
5
6
 
6
- var styles = {"accordion":"accordion-module_accordion__AORof","accordion_item":"accordion-module_accordion_item__45nmM","accordion_header":"accordion-module_accordion_header__zEieN","accordion_trigger":"accordion-module_accordion_trigger__6Mbf8","accordion_chevron":"accordion-module_accordion_chevron__rMna-","accordion_chevron_open":"accordion-module_accordion_chevron_open__wQtp8","accordion_content_wrapper":"accordion-module_accordion_content_wrapper__QpRcb","accordion_content_wrapper_open":"accordion-module_accordion_content_wrapper_open__FWN9R","accordion_content":"accordion-module_accordion_content__1WN6n"};
7
+ var styles = {"accordion":"accordion_8f91be6e","accordion_item":"accordion_item_2d6abc63","accordion_header":"accordion_header_c9933178","accordion_trigger":"accordion_trigger_1c357514","accordion_chevron":"accordion_chevron_c55f991e","accordion_chevron_open":"accordion_chevron_open_44560e91","accordion_content_wrapper":"accordion_content_wrapper_357a0679","accordion_content_wrapper_open":"accordion_content_wrapper_open_02841768","accordion_content":"accordion_content_945ef079"};
7
8
 
8
9
  exports.default = styles;
9
10
  //# sourceMappingURL=accordion.module.css.cjs.map
@@ -6,7 +6,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
  var clsx = require('clsx');
8
8
  var React = require('react');
9
- var index = require('../Icons/index.cjs');
9
+ var ChevronDownIcon = require('../Icons/ChevronDownIcon.cjs');
10
10
  var accordion_module = require('./accordion.module.css.cjs');
11
11
 
12
12
  const AccordionContext = React.createContext(null);
@@ -32,7 +32,7 @@ const AccordionRoot = React.forwardRef(function Accordion({ type = 'single', val
32
32
  const currentValue = isControlled ? value : uncontrolledValue;
33
33
  const idPrefix = React.useId();
34
34
  const handleValueChange = React.useCallback((nextValue) => {
35
- let resolvedValue = nextValue;
35
+ let resolvedValue;
36
36
  if (type === 'single') {
37
37
  const valueAsStr = typeof currentValue === 'string' ? currentValue : '';
38
38
  resolvedValue = valueAsStr === nextValue ? '' : nextValue;
@@ -75,7 +75,7 @@ AccordionItem.displayName = 'Accordion.Item';
75
75
  const AccordionTrigger = React.forwardRef(function AccordionTrigger({ className, children, ...props }, ref) {
76
76
  const { onValueChange, idPrefix } = useAccordionContext();
77
77
  const { value, isOpen } = useAccordionItemContext();
78
- return (jsxRuntime.jsx("div", { className: accordion_module.default.accordion_header, children: jsxRuntime.jsxs("button", { ref: ref, type: 'button', id: `${idPrefix}-trigger-${value}`, "aria-controls": `${idPrefix}-content-${value}`, "aria-expanded": isOpen, onClick: () => onValueChange(value), className: clsx(accordion_module.default.accordion_trigger, className), ...props, children: [children, jsxRuntime.jsx(index.ChevronDownIcon, { className: clsx(accordion_module.default.accordion_chevron, {
78
+ return (jsxRuntime.jsx("div", { className: accordion_module.default.accordion_header, children: jsxRuntime.jsxs("button", { ref: ref, type: 'button', id: `${idPrefix}-trigger-${value}`, "aria-controls": `${idPrefix}-content-${value}`, "aria-expanded": isOpen, onClick: () => onValueChange(value), className: clsx(accordion_module.default.accordion_trigger, className), ...props, children: [children, jsxRuntime.jsx(ChevronDownIcon.ChevronDownIcon, { className: clsx(accordion_module.default.accordion_chevron, {
79
79
  [accordion_module.default.accordion_chevron_open]: isOpen
80
80
  }), size: 16 })] }) }));
81
81
  });
@@ -0,0 +1,63 @@
1
+ .alert_7c07a8c0 {
2
+ display: flex;
3
+ align-items: flex-start;
4
+ gap: 0.75rem;
5
+ padding: 0.75rem 1rem;
6
+ border-radius: 0.375rem;
7
+ border: 1px solid;
8
+ font-size: 0.875rem;
9
+ line-height: 1.5;
10
+ }
11
+
12
+ /* Variants */
13
+ .alert-error_1de19fed {
14
+ color: var(--frey-color-error);
15
+ background-color: var(--frey-color-error-bg);
16
+ border-color: var(--frey-color-error-border);
17
+ }
18
+
19
+ .alert-success_38713508 {
20
+ color: var(--frey-color-success);
21
+ background-color: var(--frey-color-success-bg);
22
+ border-color: var(--frey-color-success-border);
23
+ }
24
+
25
+ .alert-warning_931806ff {
26
+ color: var(--frey-color-warning);
27
+ background-color: var(--frey-color-warning-bg);
28
+ border-color: var(--frey-color-warning-border);
29
+ }
30
+
31
+ .alert-info_183c5a6f {
32
+ color: var(--frey-color-info);
33
+ background-color: var(--frey-color-info-bg);
34
+ border-color: var(--frey-color-info-border);
35
+ }
36
+
37
+ .alert-icon_b4aefb94 {
38
+ flex-shrink: 0;
39
+ width: 1.25rem;
40
+ height: 1.3125rem;
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: center;
44
+ }
45
+
46
+ .alert_icon_svg_1e243ee4 {
47
+ width: 1.25rem;
48
+ height: 1.25rem;
49
+ }
50
+
51
+ .alert-content_17fc1725 {
52
+ flex: 1;
53
+ min-width: 0;
54
+ }
55
+
56
+ .alert-title_1260729c {
57
+ font-weight: 600;
58
+ margin: 0 0 0.25rem;
59
+ }
60
+
61
+ .alert-message_af65e832 {
62
+ margin: 0;
63
+ }
@@ -1,9 +1,10 @@
1
1
  'use client';
2
2
  'use strict';
3
+ require('./alert.css');
3
4
 
4
5
  Object.defineProperty(exports, '__esModule', { value: true });
5
6
 
6
- var styles = {"alert":"alert-module_alert__j-fLL","alert-error":"alert-module_alert-error__U8yC8","alert-success":"alert-module_alert-success__FYP1Q","alert-warning":"alert-module_alert-warning__tuLWQ","alert-info":"alert-module_alert-info__d2xVj","alert-icon":"alert-module_alert-icon__j-8MC","alert_icon_svg":"alert-module_alert_icon_svg__EBN75","alert-content":"alert-module_alert-content__PUQPc","alert-title":"alert-module_alert-title__3yZS1","alert-message":"alert-module_alert-message__0AJ04"};
7
+ var styles = {"alert":"alert_7c07a8c0","alert-error":"alert-error_1de19fed","alert-success":"alert-success_38713508","alert-warning":"alert-warning_931806ff","alert-info":"alert-info_183c5a6f","alert-icon":"alert-icon_b4aefb94","alert_icon_svg":"alert_icon_svg_1e243ee4","alert-content":"alert-content_17fc1725","alert-title":"alert-title_1260729c","alert-message":"alert-message_af65e832"};
7
8
 
8
9
  exports.default = styles;
9
10
  //# sourceMappingURL=alert.module.css.cjs.map
@@ -6,7 +6,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
7
  var clsx = require('clsx');
8
8
  var React = require('react');
9
- var index = require('../Icons/index.cjs');
9
+ var CircleCheckIcon = require('../Icons/CircleCheckIcon.cjs');
10
+ var CircleInfoIcon = require('../Icons/CircleInfoIcon.cjs');
11
+ var CircleXIcon = require('../Icons/CircleXIcon.cjs');
12
+ var TriangleAlertIcon = require('../Icons/TriangleAlertIcon.cjs');
10
13
  var alert_module = require('./alert.module.css.cjs');
11
14
 
12
15
  const VariantClassMap = {
@@ -22,10 +25,10 @@ const VariantRoleMap = {
22
25
  info: 'status'
23
26
  };
24
27
  const icons = {
25
- error: (jsxRuntime.jsx(index.CircleXIcon, { size: 'lg', strokeWidth: 'bold', className: alert_module.default.alert_icon_svg })),
26
- success: (jsxRuntime.jsx(index.CircleCheckIcon, { size: 'lg', strokeWidth: 'bold', className: alert_module.default.alert_icon_svg })),
27
- warning: (jsxRuntime.jsx(index.TriangleAlertIcon, { size: 'lg', strokeWidth: 'bold', className: alert_module.default.alert_icon_svg })),
28
- info: (jsxRuntime.jsx(index.CircleInfoIcon, { size: 'lg', strokeWidth: 'bold', className: alert_module.default.alert_icon_svg }))
28
+ error: (jsxRuntime.jsx(CircleXIcon.CircleXIcon, { size: 'lg', strokeWidth: 'bold', className: alert_module.default.alert_icon_svg })),
29
+ success: (jsxRuntime.jsx(CircleCheckIcon.CircleCheckIcon, { size: 'lg', strokeWidth: 'bold', className: alert_module.default.alert_icon_svg })),
30
+ warning: (jsxRuntime.jsx(TriangleAlertIcon.TriangleAlertIcon, { size: 'lg', strokeWidth: 'bold', className: alert_module.default.alert_icon_svg })),
31
+ info: (jsxRuntime.jsx(CircleInfoIcon.CircleInfoIcon, { size: 'lg', strokeWidth: 'bold', className: alert_module.default.alert_icon_svg }))
29
32
  };
30
33
  const Alert = React.forwardRef(function Alert({ variant = 'info', title, children, className, style }, ref) {
31
34
  return (jsxRuntime.jsxs("div", { ref: ref, role: VariantRoleMap[variant], className: clsx(alert_module.default.alert, VariantClassMap[variant], className), style: style, children: [jsxRuntime.jsx("span", { className: alert_module.default['alert-icon'], children: icons[variant] }), jsxRuntime.jsxs("div", { className: alert_module.default['alert-content'], children: [title && jsxRuntime.jsx("p", { className: alert_module.default['alert-title'], children: title }), jsxRuntime.jsx("p", { className: alert_module.default['alert-message'], children: children })] })] }));
@@ -0,0 +1,107 @@
1
+ .avatar_69ecdff2 {
2
+ position: relative;
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ vertical-align: middle;
7
+ overflow: hidden;
8
+ user-select: none;
9
+ border-radius: 9999px;
10
+ border: 1px solid var(--frey-color-border-subtle);
11
+ background-color: var(--frey-color-surface-hover);
12
+ color: var(--frey-color-text);
13
+ }
14
+
15
+ .avatar_sm_a7074618 {
16
+ width: 2rem;
17
+ height: 2rem;
18
+ }
19
+
20
+ .avatar_md_b160648e {
21
+ width: 2.5rem;
22
+ height: 2.5rem;
23
+ }
24
+
25
+ .avatar_lg_470c9abd {
26
+ width: 3.5rem;
27
+ height: 3.5rem;
28
+ }
29
+
30
+ .avatar_image_7164259b {
31
+ width: 100%;
32
+ height: 100%;
33
+ object-fit: cover;
34
+ border-radius: inherit;
35
+ }
36
+
37
+ .avatar_fallback_f8d02776 {
38
+ width: 100%;
39
+ height: 100%;
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ background-color: var(--frey-color-surface-active);
44
+ font-weight: 500;
45
+ text-transform: uppercase;
46
+ }
47
+
48
+ .avatar_sm_a7074618 .avatar_fallback_f8d02776 {
49
+ font-size: 0.875rem;
50
+ }
51
+
52
+ .avatar_md_b160648e .avatar_fallback_f8d02776 {
53
+ font-size: 1rem;
54
+ }
55
+
56
+ .avatar_lg_470c9abd .avatar_fallback_f8d02776 {
57
+ font-size: 1.25rem;
58
+ }
59
+
60
+ /* Status Indicator */
61
+ .avatar_status_indicator_3b42fd0a {
62
+ position: absolute;
63
+ bottom: 0;
64
+ right: 0;
65
+ border-radius: 50%;
66
+ border: 2px solid var(--frey-color-surface);
67
+ background-color: var(--frey-color-border-subtle); /* default offline color */
68
+ }
69
+
70
+ /* Size adjustments for status indicator */
71
+ .avatar_sm_a7074618 .avatar_status_indicator_3b42fd0a {
72
+ width: 0.5rem;
73
+ height: 0.5rem;
74
+ right: 0.1rem;
75
+ bottom: 0.1rem;
76
+ }
77
+
78
+ .avatar_md_b160648e .avatar_status_indicator_3b42fd0a {
79
+ width: 0.625rem;
80
+ height: 0.625rem;
81
+ right: 0.125rem;
82
+ bottom: 0.125rem;
83
+ }
84
+
85
+ .avatar_lg_470c9abd .avatar_status_indicator_3b42fd0a {
86
+ width: 0.875rem;
87
+ height: 0.875rem;
88
+ right: 0.15rem;
89
+ bottom: 0.15rem;
90
+ }
91
+
92
+ /* Status variants */
93
+ .avatar_status_online_5ccf7e50 {
94
+ background-color: var(--frey-color-success);
95
+ }
96
+
97
+ .avatar_status_idle_f558cd51 {
98
+ background-color: var(--frey-color-warning);
99
+ }
100
+
101
+ .avatar_status_dnd_38c6115c {
102
+ background-color: var(--frey-color-error);
103
+ }
104
+
105
+ .avatar_status_offline_c805801a {
106
+ background-color: var(--frey-color-border-subtle);
107
+ }
@@ -1,9 +1,10 @@
1
1
  'use client';
2
2
  'use strict';
3
+ require('./avatar.css');
3
4
 
4
5
  Object.defineProperty(exports, '__esModule', { value: true });
5
6
 
6
- var styles = {"avatar":"avatar-module_avatar__I5DCB","avatar_sm":"avatar-module_avatar_sm__pJcLU","avatar_md":"avatar-module_avatar_md__IZwdq","avatar_lg":"avatar-module_avatar_lg__2v383","avatar_image":"avatar-module_avatar_image__a-ctN","avatar_fallback":"avatar-module_avatar_fallback__QlF5F","avatar_status_indicator":"avatar-module_avatar_status_indicator__v2V8V","avatar_status_online":"avatar-module_avatar_status_online__1IxYF","avatar_status_idle":"avatar-module_avatar_status_idle__VbZ3q","avatar_status_dnd":"avatar-module_avatar_status_dnd__0fZbP","avatar_status_offline":"avatar-module_avatar_status_offline__A4iJp"};
7
+ var styles = {"avatar":"avatar_69ecdff2","avatar_sm":"avatar_sm_a7074618","avatar_md":"avatar_md_b160648e","avatar_lg":"avatar_lg_470c9abd","avatar_image":"avatar_image_7164259b","avatar_fallback":"avatar_fallback_f8d02776","avatar_status_indicator":"avatar_status_indicator_3b42fd0a","avatar_status_online":"avatar_status_online_5ccf7e50","avatar_status_idle":"avatar_status_idle_f558cd51","avatar_status_dnd":"avatar_status_dnd_38c6115c","avatar_status_offline":"avatar_status_offline_c805801a"};
7
8
 
8
9
  exports.default = styles;
9
10
  //# sourceMappingURL=avatar.module.css.cjs.map
@@ -0,0 +1,75 @@
1
+ .badge_bce67ff7 {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ border-radius: var(--frey-radius-full);
6
+ border: 1px solid transparent;
7
+ font-weight: 600;
8
+ line-height: 1;
9
+ white-space: nowrap;
10
+ }
11
+
12
+ .badge-sm_dc3de36d {
13
+ padding: 0.125rem 0.5rem;
14
+ font-size: 0.75rem;
15
+ }
16
+
17
+ .badge-md_d88ccac8 {
18
+ padding: 0.25rem 0.625rem;
19
+ font-size: 0.8125rem;
20
+ }
21
+
22
+ .badge-subtle-neutral_dc27f7b9 {
23
+ background-color: var(--frey-color-surface-subtle);
24
+ color: var(--frey-color-text-primary);
25
+ border-color: var(--frey-color-border-subtle);
26
+ }
27
+
28
+ .badge-subtle-info_9088d0b2 {
29
+ background-color: var(--frey-color-info-bg);
30
+ color: var(--frey-color-info);
31
+ border-color: var(--frey-color-info-border);
32
+ }
33
+
34
+ .badge-subtle-success_a8938864 {
35
+ background-color: var(--frey-color-success-bg);
36
+ color: var(--frey-color-success);
37
+ border-color: var(--frey-color-success-border);
38
+ }
39
+
40
+ .badge-subtle-warning_9b7640b7 {
41
+ background-color: var(--frey-color-warning-bg);
42
+ color: var(--frey-color-warning);
43
+ border-color: var(--frey-color-warning-border);
44
+ }
45
+
46
+ .badge-subtle-error_e6426ff9 {
47
+ background-color: var(--frey-color-error-bg);
48
+ color: var(--frey-color-error);
49
+ border-color: var(--frey-color-error-border);
50
+ }
51
+
52
+ .badge-solid-neutral_ac7e9431 {
53
+ background-color: var(--frey-color-text-primary);
54
+ color: var(--frey-color-surface);
55
+ }
56
+
57
+ .badge-solid-info_ecba7d59 {
58
+ background-color: var(--frey-color-info);
59
+ color: var(--frey-palette-white);
60
+ }
61
+
62
+ .badge-solid-success_28241077 {
63
+ background-color: var(--frey-color-success);
64
+ color: var(--frey-palette-white);
65
+ }
66
+
67
+ .badge-solid-warning_d28d237d {
68
+ background-color: var(--frey-color-warning);
69
+ color: var(--frey-palette-black);
70
+ }
71
+
72
+ .badge-solid-error_e87eabc7 {
73
+ background-color: var(--frey-color-error);
74
+ color: var(--frey-palette-white);
75
+ }
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ 'use strict';
3
+ require('./badge.css');
4
+
5
+ Object.defineProperty(exports, '__esModule', { value: true });
6
+
7
+ var styles = {"badge":"badge_bce67ff7","badge-sm":"badge-sm_dc3de36d","badge-md":"badge-md_d88ccac8","badge-subtle-neutral":"badge-subtle-neutral_dc27f7b9","badge-subtle-info":"badge-subtle-info_9088d0b2","badge-subtle-success":"badge-subtle-success_a8938864","badge-subtle-warning":"badge-subtle-warning_9b7640b7","badge-subtle-error":"badge-subtle-error_e6426ff9","badge-solid-neutral":"badge-solid-neutral_ac7e9431","badge-solid-info":"badge-solid-info_ecba7d59","badge-solid-success":"badge-solid-success_28241077","badge-solid-warning":"badge-solid-warning_d28d237d","badge-solid-error":"badge-solid-error_e87eabc7"};
8
+
9
+ exports.default = styles;
10
+ //# sourceMappingURL=badge.module.css.cjs.map
@@ -0,0 +1,37 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var clsx = require('clsx');
8
+ var React = require('react');
9
+ var badge_module = require('./badge.module.css.cjs');
10
+
11
+ const SizeClassMap = {
12
+ sm: badge_module.default['badge-sm'],
13
+ md: badge_module.default['badge-md']
14
+ };
15
+ const ToneVariantClassMap = {
16
+ subtle: {
17
+ neutral: badge_module.default['badge-subtle-neutral'],
18
+ info: badge_module.default['badge-subtle-info'],
19
+ success: badge_module.default['badge-subtle-success'],
20
+ warning: badge_module.default['badge-subtle-warning'],
21
+ error: badge_module.default['badge-subtle-error']
22
+ },
23
+ solid: {
24
+ neutral: badge_module.default['badge-solid-neutral'],
25
+ info: badge_module.default['badge-solid-info'],
26
+ success: badge_module.default['badge-solid-success'],
27
+ warning: badge_module.default['badge-solid-warning'],
28
+ error: badge_module.default['badge-solid-error']
29
+ }
30
+ };
31
+ const Badge = React.forwardRef(function Badge({ tone = 'neutral', variant = 'subtle', size = 'md', className, ...props }, ref) {
32
+ return (jsxRuntime.jsx("span", { ref: ref, className: clsx(badge_module.default.badge, SizeClassMap[size], ToneVariantClassMap[variant][tone], className), ...props }));
33
+ });
34
+ Badge.displayName = 'Badge';
35
+
36
+ exports.default = Badge;
37
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,3 @@
1
+ .box_01090d66 {
2
+ box-sizing: border-box;
3
+ }
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ 'use strict';
3
+ require('./box.css');
4
+
5
+ Object.defineProperty(exports, '__esModule', { value: true });
6
+
7
+ var styles = {"box":"box_01090d66"};
8
+
9
+ exports.default = styles;
10
+ //# sourceMappingURL=box.module.css.cjs.map