@rufous/ui 0.2.0-beta.1 โ†’ 0.2.1

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 (412) hide show
  1. package/README.md +484 -222
  2. package/dist/main.cjs +13877 -1039
  3. package/dist/main.css +14137 -6052
  4. package/dist/main.d.cts +1719 -71
  5. package/dist/main.d.ts +1719 -71
  6. package/dist/main.js +15344 -213
  7. package/package.json +32 -5
  8. package/dist/Buttons/addButton.cjs +0 -39
  9. package/dist/Buttons/addButton.d.cts +0 -8
  10. package/dist/Buttons/addButton.d.ts +0 -8
  11. package/dist/Buttons/addButton.js +0 -7
  12. package/dist/Buttons/cancelButton.cjs +0 -37
  13. package/dist/Buttons/cancelButton.d.cts +0 -8
  14. package/dist/Buttons/cancelButton.d.ts +0 -8
  15. package/dist/Buttons/cancelButton.js +0 -7
  16. package/dist/Buttons/index.cjs +0 -155
  17. package/dist/Buttons/index.d.cts +0 -5
  18. package/dist/Buttons/index.d.ts +0 -5
  19. package/dist/Buttons/index.js +0 -21
  20. package/dist/Buttons/stdButton.cjs +0 -39
  21. package/dist/Buttons/stdButton.d.cts +0 -8
  22. package/dist/Buttons/stdButton.d.ts +0 -8
  23. package/dist/Buttons/stdButton.js +0 -7
  24. package/dist/Buttons/submitButton.cjs +0 -124
  25. package/dist/Buttons/submitButton.d.cts +0 -13
  26. package/dist/Buttons/submitButton.d.ts +0 -13
  27. package/dist/Buttons/submitButton.js +0 -8
  28. package/dist/CheckBoxes/CheckBox.cjs +0 -62
  29. package/dist/CheckBoxes/CheckBox.d.cjs +0 -17
  30. package/dist/CheckBoxes/CheckBox.d.cts +0 -15
  31. package/dist/CheckBoxes/CheckBox.d.d.cts +0 -15
  32. package/dist/CheckBoxes/CheckBox.d.d.ts +0 -15
  33. package/dist/CheckBoxes/CheckBox.d.js +0 -0
  34. package/dist/CheckBoxes/CheckBox.d.ts +0 -15
  35. package/dist/CheckBoxes/CheckBox.js +0 -7
  36. package/dist/Contexts/rufousThemeProvider.cjs +0 -209
  37. package/dist/Contexts/rufousThemeProvider.d.cts +0 -8
  38. package/dist/Contexts/rufousThemeProvider.d.ts +0 -8
  39. package/dist/Contexts/rufousThemeProvider.js +0 -10
  40. package/dist/DataGrid/DataGrid.cjs +0 -418
  41. package/dist/DataGrid/DataGrid.d.cts +0 -8
  42. package/dist/DataGrid/DataGrid.d.ts +0 -8
  43. package/dist/DataGrid/DataGrid.js +0 -9
  44. package/dist/DataGrid/index.cjs +0 -418
  45. package/dist/DataGrid/index.d.cts +0 -3
  46. package/dist/DataGrid/index.d.ts +0 -3
  47. package/dist/DataGrid/index.js +0 -8
  48. package/dist/DataGrid/types.cjs +0 -17
  49. package/dist/DataGrid/types.d.cts +0 -31
  50. package/dist/DataGrid/types.d.ts +0 -31
  51. package/dist/DataGrid/types.js +0 -0
  52. package/dist/Dialogs/BaseDialog.cjs +0 -133
  53. package/dist/Dialogs/BaseDialog.css +0 -8469
  54. package/dist/Dialogs/BaseDialog.d.cts +0 -31
  55. package/dist/Dialogs/BaseDialog.d.ts +0 -31
  56. package/dist/Dialogs/BaseDialog.js +0 -79
  57. package/dist/Dialogs/index.cjs +0 -139
  58. package/dist/Dialogs/index.css +0 -8469
  59. package/dist/Dialogs/index.d.cts +0 -2
  60. package/dist/Dialogs/index.d.ts +0 -2
  61. package/dist/Dialogs/index.js +0 -79
  62. package/dist/Editors/RichTextEditor.cjs +0 -29477
  63. package/dist/Editors/RichTextEditor.css +0 -7179
  64. package/dist/Editors/RichTextEditor.d.cts +0 -57
  65. package/dist/Editors/RichTextEditor.d.ts +0 -57
  66. package/dist/Editors/RichTextEditor.js +0 -9
  67. package/dist/Editors/index.cjs +0 -29477
  68. package/dist/Editors/index.css +0 -7179
  69. package/dist/Editors/index.d.cts +0 -2
  70. package/dist/Editors/index.d.ts +0 -2
  71. package/dist/Editors/index.js +0 -8
  72. package/dist/Progress/circularProgress.cjs +0 -60
  73. package/dist/Progress/circularProgress.d.cts +0 -9
  74. package/dist/Progress/circularProgress.d.ts +0 -9
  75. package/dist/Progress/circularProgress.js +0 -7
  76. package/dist/TextFields/AddressLookup.cjs +0 -390
  77. package/dist/TextFields/AddressLookup.d.cts +0 -49
  78. package/dist/TextFields/AddressLookup.d.ts +0 -49
  79. package/dist/TextFields/AddressLookup.js +0 -11
  80. package/dist/TextFields/FloatingInput.cjs +0 -67
  81. package/dist/TextFields/FloatingInput.d.cts +0 -17
  82. package/dist/TextFields/FloatingInput.d.ts +0 -17
  83. package/dist/TextFields/FloatingInput.js +0 -7
  84. package/dist/chunk-2AJACSJ3.js +0 -8
  85. package/dist/chunk-3IBCGGN3.js +0 -48
  86. package/dist/chunk-3Y6QBRGD.js +0 -8
  87. package/dist/chunk-4BTXGP7U.js +0 -19
  88. package/dist/chunk-4Y7SQ5EP.js +0 -8
  89. package/dist/chunk-5DAOQ2V5.js +0 -99
  90. package/dist/chunk-5GK5B3FD.js +0 -8
  91. package/dist/chunk-5JWTJ5PY.js +0 -8
  92. package/dist/chunk-5QEWUCKT.js +0 -303
  93. package/dist/chunk-5XKFPQLH.js +0 -8
  94. package/dist/chunk-66HHM7VI.js +0 -468
  95. package/dist/chunk-6FEUS4CQ.js +0 -41
  96. package/dist/chunk-6KIFTMUN.js +0 -8
  97. package/dist/chunk-6SUKO6QW.js +0 -8
  98. package/dist/chunk-763IHEJ2.js +0 -8
  99. package/dist/chunk-77QDKDFI.js +0 -8
  100. package/dist/chunk-7II4Q2WY.js +0 -8
  101. package/dist/chunk-7KRG7VNW.js +0 -0
  102. package/dist/chunk-AH6RCYDL.js +0 -45
  103. package/dist/chunk-AXSFVJ3H.js +0 -10
  104. package/dist/chunk-B2LVMM55.js +0 -8
  105. package/dist/chunk-BMMDUQDJ.js +0 -8
  106. package/dist/chunk-CTBYVXFP.js +0 -31
  107. package/dist/chunk-CTWVJQJ5.js +0 -8
  108. package/dist/chunk-DK3DA5LH.js +0 -8
  109. package/dist/chunk-DLJHWFNG.js +0 -18
  110. package/dist/chunk-DMP72IAP.js +0 -8
  111. package/dist/chunk-E5RTHYCU.js +0 -0
  112. package/dist/chunk-EZI3QGYJ.js +0 -8
  113. package/dist/chunk-FPRXN3DS.js +0 -18
  114. package/dist/chunk-FZCFFVXW.js +0 -10
  115. package/dist/chunk-G2GZDPUL.js +0 -61
  116. package/dist/chunk-GESVGIAP.js +0 -10
  117. package/dist/chunk-GJGRMMAQ.js +0 -0
  118. package/dist/chunk-GL43GPEM.js +0 -18
  119. package/dist/chunk-H372BAXA.js +0 -42
  120. package/dist/chunk-HMG3FW2Q.js +0 -97
  121. package/dist/chunk-J6E3UO2W.js +0 -402
  122. package/dist/chunk-JI5XMLWT.js +0 -8
  123. package/dist/chunk-JVN6QVET.js +0 -8
  124. package/dist/chunk-MNPAE2ZF.js +0 -100
  125. package/dist/chunk-N26C33E6.js +0 -8
  126. package/dist/chunk-N4EJKMJK.js +0 -8
  127. package/dist/chunk-NEGQXBQV.js +0 -29
  128. package/dist/chunk-OJV6F5JC.js +0 -8
  129. package/dist/chunk-Q4DHI3B5.js +0 -8
  130. package/dist/chunk-Q5XKCUE3.js +0 -8
  131. package/dist/chunk-QDMNCTXT.js +0 -8
  132. package/dist/chunk-QIEQRNBE.js +0 -10
  133. package/dist/chunk-QJPQC544.js +0 -29
  134. package/dist/chunk-QPGJCRBS.js +0 -0
  135. package/dist/chunk-QTGVW36I.js +0 -8
  136. package/dist/chunk-QZFGQ5JM.js +0 -157
  137. package/dist/chunk-R3GARAVJ.js +0 -10
  138. package/dist/chunk-R4ISYGEP.js +0 -8
  139. package/dist/chunk-RJ43D3XB.js +0 -18
  140. package/dist/chunk-U7SARO5B.js +0 -10
  141. package/dist/chunk-UPCMMCPQ.js +0 -34
  142. package/dist/chunk-UTBCFDOX.js +0 -8
  143. package/dist/chunk-UTYIBUY2.js +0 -8
  144. package/dist/chunk-WG3Q6GZN.js +0 -29
  145. package/dist/chunk-WHGVO3HV.js +0 -8
  146. package/dist/chunk-WXANSSXF.js +0 -8
  147. package/dist/chunk-WZAU77G7.js +0 -55
  148. package/dist/chunk-XCE3QE6Q.js +0 -8
  149. package/dist/chunk-XHY3OCAQ.js +0 -8
  150. package/dist/chunk-XPJVVKOU.js +0 -8
  151. package/dist/chunk-YRLN3TBF.js +0 -69
  152. package/dist/chunk-YTVUM76D.js +0 -10
  153. package/dist/chunk-YXPBXCY5.js +0 -89
  154. package/dist/chunk-Z7USRFM2.js +0 -8
  155. package/dist/chunk-ZJAV3FEQ.js +0 -48
  156. package/dist/chunk-ZLJDOLXZ.js +0 -8
  157. package/dist/icons/activateUserIcon.cjs +0 -74
  158. package/dist/icons/activateUserIcon.d.cts +0 -8
  159. package/dist/icons/activateUserIcon.d.ts +0 -8
  160. package/dist/icons/activateUserIcon.js +0 -7
  161. package/dist/icons/archivedIcon.cjs +0 -77
  162. package/dist/icons/archivedIcon.d.cts +0 -8
  163. package/dist/icons/archivedIcon.d.ts +0 -8
  164. package/dist/icons/archivedIcon.js +0 -7
  165. package/dist/icons/assignGroupIcon.cjs +0 -129
  166. package/dist/icons/assignGroupIcon.d.cts +0 -8
  167. package/dist/icons/assignGroupIcon.d.ts +0 -8
  168. package/dist/icons/assignGroupIcon.js +0 -7
  169. package/dist/icons/closeIcon.cjs +0 -37
  170. package/dist/icons/closeIcon.d.cts +0 -8
  171. package/dist/icons/closeIcon.d.ts +0 -8
  172. package/dist/icons/closeIcon.js +0 -7
  173. package/dist/icons/copyIcon.cjs +0 -70
  174. package/dist/icons/copyIcon.d.cts +0 -8
  175. package/dist/icons/copyIcon.d.ts +0 -8
  176. package/dist/icons/copyIcon.js +0 -7
  177. package/dist/icons/difficultyAllIcon.cjs +0 -37
  178. package/dist/icons/difficultyAllIcon.d.cts +0 -8
  179. package/dist/icons/difficultyAllIcon.d.ts +0 -8
  180. package/dist/icons/difficultyAllIcon.js +0 -7
  181. package/dist/icons/difficultyEasyIcon.cjs +0 -37
  182. package/dist/icons/difficultyEasyIcon.d.cts +0 -8
  183. package/dist/icons/difficultyEasyIcon.d.ts +0 -8
  184. package/dist/icons/difficultyEasyIcon.js +0 -7
  185. package/dist/icons/difficultyHardIcon.cjs +0 -37
  186. package/dist/icons/difficultyHardIcon.d.cts +0 -8
  187. package/dist/icons/difficultyHardIcon.d.ts +0 -8
  188. package/dist/icons/difficultyHardIcon.js +0 -7
  189. package/dist/icons/difficultyMediumIcon.cjs +0 -37
  190. package/dist/icons/difficultyMediumIcon.d.cts +0 -8
  191. package/dist/icons/difficultyMediumIcon.d.ts +0 -8
  192. package/dist/icons/difficultyMediumIcon.js +0 -7
  193. package/dist/icons/dollarIcon.cjs +0 -47
  194. package/dist/icons/dollarIcon.d.cts +0 -8
  195. package/dist/icons/dollarIcon.d.ts +0 -8
  196. package/dist/icons/dollarIcon.js +0 -7
  197. package/dist/icons/downloadIcon.cjs +0 -39
  198. package/dist/icons/downloadIcon.d.cts +0 -8
  199. package/dist/icons/downloadIcon.d.ts +0 -8
  200. package/dist/icons/downloadIcon.js +0 -7
  201. package/dist/icons/downloadPdfIcon.cjs +0 -37
  202. package/dist/icons/downloadPdfIcon.d.cts +0 -8
  203. package/dist/icons/downloadPdfIcon.d.ts +0 -8
  204. package/dist/icons/downloadPdfIcon.js +0 -7
  205. package/dist/icons/editChatIcon.cjs +0 -37
  206. package/dist/icons/editChatIcon.d.cts +0 -8
  207. package/dist/icons/editChatIcon.d.ts +0 -8
  208. package/dist/icons/editChatIcon.js +0 -7
  209. package/dist/icons/editIcon.cjs +0 -71
  210. package/dist/icons/editIcon.d.cts +0 -8
  211. package/dist/icons/editIcon.d.ts +0 -8
  212. package/dist/icons/editIcon.js +0 -7
  213. package/dist/icons/engagementIcon.cjs +0 -37
  214. package/dist/icons/engagementIcon.d.cts +0 -8
  215. package/dist/icons/engagementIcon.d.ts +0 -8
  216. package/dist/icons/engagementIcon.js +0 -7
  217. package/dist/icons/functionIcon.cjs +0 -37
  218. package/dist/icons/functionIcon.d.cts +0 -8
  219. package/dist/icons/functionIcon.d.ts +0 -8
  220. package/dist/icons/functionIcon.js +0 -7
  221. package/dist/icons/helpOutlinedIcon.cjs +0 -39
  222. package/dist/icons/helpOutlinedIcon.d.cts +0 -8
  223. package/dist/icons/helpOutlinedIcon.d.ts +0 -8
  224. package/dist/icons/helpOutlinedIcon.js +0 -7
  225. package/dist/icons/hierarchyIcon.cjs +0 -84
  226. package/dist/icons/hierarchyIcon.d.cts +0 -8
  227. package/dist/icons/hierarchyIcon.d.ts +0 -8
  228. package/dist/icons/hierarchyIcon.js +0 -7
  229. package/dist/icons/inactiveGroupIcon.cjs +0 -37
  230. package/dist/icons/inactiveGroupIcon.d.cts +0 -8
  231. package/dist/icons/inactiveGroupIcon.d.ts +0 -8
  232. package/dist/icons/inactiveGroupIcon.js +0 -7
  233. package/dist/icons/index.cjs +0 -1056
  234. package/dist/icons/index.d.cts +0 -57
  235. package/dist/icons/index.d.ts +0 -57
  236. package/dist/icons/index.js +0 -228
  237. package/dist/icons/industryIcon.cjs +0 -48
  238. package/dist/icons/industryIcon.d.cts +0 -8
  239. package/dist/icons/industryIcon.d.ts +0 -8
  240. package/dist/icons/industryIcon.js +0 -7
  241. package/dist/icons/invoiceIcon.cjs +0 -37
  242. package/dist/icons/invoiceIcon.d.cts +0 -8
  243. package/dist/icons/invoiceIcon.d.ts +0 -8
  244. package/dist/icons/invoiceIcon.js +0 -7
  245. package/dist/icons/locationPinIcon.cjs +0 -37
  246. package/dist/icons/locationPinIcon.d.cts +0 -8
  247. package/dist/icons/locationPinIcon.d.ts +0 -8
  248. package/dist/icons/locationPinIcon.js +0 -7
  249. package/dist/icons/logsIcon.cjs +0 -37
  250. package/dist/icons/logsIcon.d.cts +0 -8
  251. package/dist/icons/logsIcon.d.ts +0 -8
  252. package/dist/icons/logsIcon.js +0 -7
  253. package/dist/icons/minExperienceIcon.cjs +0 -47
  254. package/dist/icons/minExperienceIcon.d.cts +0 -8
  255. package/dist/icons/minExperienceIcon.d.ts +0 -8
  256. package/dist/icons/minExperienceIcon.js +0 -7
  257. package/dist/icons/nineDotMenuIcon.cjs +0 -39
  258. package/dist/icons/nineDotMenuIcon.d.cts +0 -8
  259. package/dist/icons/nineDotMenuIcon.d.ts +0 -8
  260. package/dist/icons/nineDotMenuIcon.js +0 -7
  261. package/dist/icons/notificationIcon.cjs +0 -39
  262. package/dist/icons/notificationIcon.d.cts +0 -8
  263. package/dist/icons/notificationIcon.d.ts +0 -8
  264. package/dist/icons/notificationIcon.js +0 -7
  265. package/dist/icons/projectIcon.cjs +0 -47
  266. package/dist/icons/projectIcon.d.cts +0 -8
  267. package/dist/icons/projectIcon.d.ts +0 -8
  268. package/dist/icons/projectIcon.js +0 -7
  269. package/dist/icons/qualificationsIcon.cjs +0 -37
  270. package/dist/icons/qualificationsIcon.d.cts +0 -8
  271. package/dist/icons/qualificationsIcon.d.ts +0 -8
  272. package/dist/icons/qualificationsIcon.js +0 -7
  273. package/dist/icons/questionStatusAllIcon.cjs +0 -37
  274. package/dist/icons/questionStatusAllIcon.d.cts +0 -8
  275. package/dist/icons/questionStatusAllIcon.d.ts +0 -8
  276. package/dist/icons/questionStatusAllIcon.js +0 -7
  277. package/dist/icons/questionStatusPrivateIcon.cjs +0 -37
  278. package/dist/icons/questionStatusPrivateIcon.d.cts +0 -8
  279. package/dist/icons/questionStatusPrivateIcon.d.ts +0 -8
  280. package/dist/icons/questionStatusPrivateIcon.js +0 -7
  281. package/dist/icons/questionStatusPublicIcon.cjs +0 -37
  282. package/dist/icons/questionStatusPublicIcon.d.cts +0 -8
  283. package/dist/icons/questionStatusPublicIcon.d.ts +0 -8
  284. package/dist/icons/questionStatusPublicIcon.js +0 -7
  285. package/dist/icons/questionTypeAllIcon.cjs +0 -37
  286. package/dist/icons/questionTypeAllIcon.d.cts +0 -8
  287. package/dist/icons/questionTypeAllIcon.d.ts +0 -8
  288. package/dist/icons/questionTypeAllIcon.js +0 -7
  289. package/dist/icons/questionTypeCodingIcon.cjs +0 -37
  290. package/dist/icons/questionTypeCodingIcon.d.cts +0 -8
  291. package/dist/icons/questionTypeCodingIcon.d.ts +0 -8
  292. package/dist/icons/questionTypeCodingIcon.js +0 -7
  293. package/dist/icons/questionTypeDescriptiveIcon.cjs +0 -37
  294. package/dist/icons/questionTypeDescriptiveIcon.d.cts +0 -8
  295. package/dist/icons/questionTypeDescriptiveIcon.d.ts +0 -8
  296. package/dist/icons/questionTypeDescriptiveIcon.js +0 -7
  297. package/dist/icons/questionTypeMultipleIcon.cjs +0 -37
  298. package/dist/icons/questionTypeMultipleIcon.d.cts +0 -8
  299. package/dist/icons/questionTypeMultipleIcon.d.ts +0 -8
  300. package/dist/icons/questionTypeMultipleIcon.js +0 -7
  301. package/dist/icons/questionTypeSingleIcon.cjs +0 -37
  302. package/dist/icons/questionTypeSingleIcon.d.cts +0 -8
  303. package/dist/icons/questionTypeSingleIcon.d.ts +0 -8
  304. package/dist/icons/questionTypeSingleIcon.js +0 -7
  305. package/dist/icons/refreshIcon.cjs +0 -39
  306. package/dist/icons/refreshIcon.d.cts +0 -8
  307. package/dist/icons/refreshIcon.d.ts +0 -8
  308. package/dist/icons/refreshIcon.js +0 -7
  309. package/dist/icons/resendInviteIcon.cjs +0 -58
  310. package/dist/icons/resendInviteIcon.d.cts +0 -8
  311. package/dist/icons/resendInviteIcon.d.ts +0 -8
  312. package/dist/icons/resendInviteIcon.js +0 -7
  313. package/dist/icons/rolesIcon.cjs +0 -47
  314. package/dist/icons/rolesIcon.d.cts +0 -8
  315. package/dist/icons/rolesIcon.d.ts +0 -8
  316. package/dist/icons/rolesIcon.js +0 -7
  317. package/dist/icons/rufousAiIcon.cjs +0 -37
  318. package/dist/icons/rufousAiIcon.d.cts +0 -8
  319. package/dist/icons/rufousAiIcon.d.ts +0 -8
  320. package/dist/icons/rufousAiIcon.js +0 -7
  321. package/dist/icons/rufousBirdIcon.cjs +0 -37
  322. package/dist/icons/rufousBirdIcon.d.cts +0 -8
  323. package/dist/icons/rufousBirdIcon.d.ts +0 -8
  324. package/dist/icons/rufousBirdIcon.js +0 -7
  325. package/dist/icons/rufousLauncherBird.cjs +0 -186
  326. package/dist/icons/rufousLauncherBird.d.cts +0 -8
  327. package/dist/icons/rufousLauncherBird.d.ts +0 -8
  328. package/dist/icons/rufousLauncherBird.js +0 -7
  329. package/dist/icons/sidebarIcon.cjs +0 -37
  330. package/dist/icons/sidebarIcon.d.cts +0 -8
  331. package/dist/icons/sidebarIcon.d.ts +0 -8
  332. package/dist/icons/sidebarIcon.js +0 -7
  333. package/dist/icons/softSkillsIcon.cjs +0 -37
  334. package/dist/icons/softSkillsIcon.d.cts +0 -8
  335. package/dist/icons/softSkillsIcon.d.ts +0 -8
  336. package/dist/icons/softSkillsIcon.js +0 -7
  337. package/dist/icons/subscribeIcon.cjs +0 -37
  338. package/dist/icons/subscribeIcon.d.cts +0 -8
  339. package/dist/icons/subscribeIcon.d.ts +0 -8
  340. package/dist/icons/subscribeIcon.js +0 -7
  341. package/dist/icons/suspendUserIcon.cjs +0 -37
  342. package/dist/icons/suspendUserIcon.d.cts +0 -8
  343. package/dist/icons/suspendUserIcon.d.ts +0 -8
  344. package/dist/icons/suspendUserIcon.js +0 -7
  345. package/dist/icons/technicalSkillsIcon.cjs +0 -37
  346. package/dist/icons/technicalSkillsIcon.d.cts +0 -8
  347. package/dist/icons/technicalSkillsIcon.d.ts +0 -8
  348. package/dist/icons/technicalSkillsIcon.js +0 -7
  349. package/dist/icons/tickIcon.cjs +0 -37
  350. package/dist/icons/tickIcon.d.cts +0 -8
  351. package/dist/icons/tickIcon.d.ts +0 -8
  352. package/dist/icons/tickIcon.js +0 -7
  353. package/dist/icons/timerIcon.cjs +0 -37
  354. package/dist/icons/timerIcon.d.cts +0 -8
  355. package/dist/icons/timerIcon.d.ts +0 -8
  356. package/dist/icons/timerIcon.js +0 -7
  357. package/dist/icons/trashIcon.cjs +0 -37
  358. package/dist/icons/trashIcon.d.cts +0 -8
  359. package/dist/icons/trashIcon.d.ts +0 -8
  360. package/dist/icons/trashIcon.js +0 -7
  361. package/dist/icons/unArchivedIcon.cjs +0 -77
  362. package/dist/icons/unArchivedIcon.d.cts +0 -8
  363. package/dist/icons/unArchivedIcon.d.ts +0 -8
  364. package/dist/icons/unArchivedIcon.js +0 -7
  365. package/dist/icons/unsubscribeIcon.cjs +0 -37
  366. package/dist/icons/unsubscribeIcon.d.cts +0 -8
  367. package/dist/icons/unsubscribeIcon.d.ts +0 -8
  368. package/dist/icons/unsubscribeIcon.js +0 -7
  369. package/dist/icons/uploadIcon.cjs +0 -37
  370. package/dist/icons/uploadIcon.d.cts +0 -8
  371. package/dist/icons/uploadIcon.d.ts +0 -8
  372. package/dist/icons/uploadIcon.js +0 -7
  373. package/dist/icons/userAssignIcon.cjs +0 -90
  374. package/dist/icons/userAssignIcon.d.cts +0 -8
  375. package/dist/icons/userAssignIcon.d.ts +0 -8
  376. package/dist/icons/userAssignIcon.js +0 -7
  377. package/dist/icons/viewIcon.cjs +0 -37
  378. package/dist/icons/viewIcon.d.cts +0 -8
  379. package/dist/icons/viewIcon.d.ts +0 -8
  380. package/dist/icons/viewIcon.js +0 -7
  381. package/dist/icons/workItemIcon.cjs +0 -58
  382. package/dist/icons/workItemIcon.d.cts +0 -8
  383. package/dist/icons/workItemIcon.d.ts +0 -8
  384. package/dist/icons/workItemIcon.js +0 -7
  385. package/dist/style.css +0 -1181
  386. package/dist/style.d.cts +0 -2
  387. package/dist/style.d.ts +0 -2
  388. package/dist/styles/address-lookup.css +0 -107
  389. package/dist/styles/address-lookup.d.cts +0 -2
  390. package/dist/styles/address-lookup.d.ts +0 -2
  391. package/dist/styles/button.css +0 -109
  392. package/dist/styles/button.d.cts +0 -2
  393. package/dist/styles/button.d.ts +0 -2
  394. package/dist/styles/checkbox.css +0 -60
  395. package/dist/styles/checkbox.d.cts +0 -2
  396. package/dist/styles/checkbox.d.ts +0 -2
  397. package/dist/styles/datagrid.css +0 -531
  398. package/dist/styles/datagrid.d.cts +0 -2
  399. package/dist/styles/datagrid.d.ts +0 -2
  400. package/dist/styles/dialog.css +0 -118
  401. package/dist/styles/dialog.d.cts +0 -2
  402. package/dist/styles/dialog.d.ts +0 -2
  403. package/dist/styles/editor.css +0 -211
  404. package/dist/styles/editor.d.cts +0 -2
  405. package/dist/styles/editor.d.ts +0 -2
  406. package/dist/styles/progress.css +0 -36
  407. package/dist/styles/progress.d.cts +0 -2
  408. package/dist/styles/progress.d.ts +0 -2
  409. package/dist/utils/constants.cjs +0 -112
  410. package/dist/utils/constants.d.cts +0 -78
  411. package/dist/utils/constants.d.ts +0 -78
  412. package/dist/utils/constants.js +0 -7
package/README.md CHANGED
@@ -1,14 +1,12 @@
1
- # @rufous/ui
1
+ # Rufous UI
2
2
 
3
- > [!CAUTION]
4
- > **Stability: Experimental / Beta**
5
- > This package is currently in early development. Breaking changes, bugs, and API updates are expected. We recommend using it in non-critical environments until a stable `1.0.0` version is released.
3
+ A polished React component library built with design tokens, TypeScript, and zero runtime dependencies beyond React. Every component supports the `sx` prop for scoped style overrides.
6
4
 
7
- A lightweight React UI component library with theming, buttons, inputs, dialogs, progress and a rich icon set.
5
+ **Live Showcase โ†’ [ui.dev.rufous.com](https://ui.dev.rufous.com/)**
8
6
 
9
7
  ---
10
8
 
11
- ## ๐Ÿ“ฆ Installation
9
+ ## Installation
12
10
 
13
11
  ```bash
14
12
  npm install @rufous/ui
@@ -18,21 +16,19 @@ yarn add @rufous/ui
18
16
 
19
17
  ---
20
18
 
21
- ## ๐Ÿ”ง Setup
19
+ ## Setup
22
20
 
23
- Import the global styles once in your app entry (e.g. `src/main.tsx`, `pages/_app.tsx`).
21
+ Import the global styles once in your app entry:
24
22
 
25
- ```javascript
26
- import "@rufous/ui/style.css";
23
+ ```tsx
24
+ import "@rufous/ui/main.css";
27
25
  ```
28
26
 
29
- Optional but recommended: wrap your app with the theme provider to enable theme utilities.
27
+ Wrap your app with the theme provider:
30
28
 
31
29
  ```tsx
32
- import React from "react";
33
- import ReactDOM from "react-dom/client";
34
30
  import { RufousThemeProvider } from "@rufous/ui";
35
- import "@rufous/ui/style.css";
31
+ import "@rufous/ui/main.css";
36
32
 
37
33
  ReactDOM.createRoot(document.getElementById("root")!).render(
38
34
  <RufousThemeProvider>
@@ -43,265 +39,531 @@ ReactDOM.createRoot(document.getElementById("root")!).render(
43
39
 
44
40
  ---
45
41
 
46
- ## ๐ŸŽจ Theming
42
+ ## Components
47
43
 
48
- `RufousThemeProvider` exposes `useRufousTheme` and `APP_THEMES`.
44
+ ### Buttons
49
45
 
50
46
  ```tsx
51
- import { useRufousTheme, APP_THEMES, Button } from "@rufous/ui";
47
+ import { StandardButton, AddButton, SubmitButton, CancelButton } from "@rufous/ui";
52
48
 
53
- export function ThemeToggle() {
54
- const { previewTheme } = useRufousTheme();
55
- return (
56
- <div style={{ display: "flex", gap: 12 }}>
57
- <Button
58
- onClick={() => previewTheme(APP_THEMES.default.name.toLowerCase())}
59
- >
60
- Light
61
- </Button>
62
- <Button
63
- onClick={() => previewTheme(APP_THEMES.rufous.name.toLowerCase())}
64
- >
65
- Dark
66
- </Button>
67
- </div>
68
- );
69
- }
49
+ <StandardButton onClick={fn}>Standard</StandardButton>
50
+ <AddButton onClick={fn}>Add Item</AddButton>
51
+ <SubmitButton onClick={asyncFn}>Save</SubmitButton>
52
+ <CancelButton onClick={fn}>Cancel</CancelButton>
70
53
  ```
71
54
 
55
+ | Prop | Type | Default | Description |
56
+ |------|------|---------|-------------|
57
+ | `onClick` | `() => void \| Promise<void>` | โ€” | Supports async; shows loader until resolved |
58
+ | `isLoading` | `boolean` | `false` | External loading state control |
59
+ | `disabled` | `boolean` | `false` | Disables the button |
60
+ | `sx` | `SxProp` | โ€” | Scoped style overrides |
61
+
72
62
  ---
73
63
 
74
- ## ๐Ÿงฉ Components
64
+ ### TextField
75
65
 
76
- Below are the primary components exported by the library with usage patterns and key props.
66
+ ```tsx
67
+ import { TextField } from "@rufous/ui";
68
+
69
+ <TextField
70
+ label="Email"
71
+ value={email}
72
+ onChange={(e) => setEmail(e.target.value)}
73
+ variant="outlined"
74
+ required
75
+ />
76
+ ```
77
77
 
78
- ### Buttons
78
+ | Prop | Type | Default |
79
+ |------|------|---------|
80
+ | `label` | `string` | โ€” |
81
+ | `variant` | `'outlined' \| 'filled' \| 'standard'` | `'outlined'` |
82
+ | `size` | `'small' \| 'medium'` | `'medium'` |
83
+ | `color` | `'primary' \| 'secondary' \| 'error' \| 'success' \| 'warning' \| 'info'` | `'primary'` |
84
+ | `error` | `boolean` | `false` |
85
+ | `helperText` | `ReactNode` | โ€” |
86
+ | `fullWidth` | `boolean` | `false` |
87
+ | `InputProps` | `{ startAdornment?, endAdornment? }` | โ€” |
88
+ | `sx` | `SxProp` | โ€” |
89
+
90
+ ---
91
+
92
+ ### Select
93
+
94
+ ```tsx
95
+ import { Select } from "@rufous/ui";
96
+
97
+ <Select
98
+ options={[{ value: "us", label: "United States" }]}
99
+ value={country}
100
+ onChange={setCountry}
101
+ label="Country"
102
+ />
103
+
104
+ // Multiple selection
105
+ <Select options={options} value={selected} onChange={setSelected} multiple label="Tags" />
106
+ ```
107
+
108
+ ---
109
+
110
+ ### DateField / DateRangeField
111
+
112
+ ```tsx
113
+ import { DateField, DateRangeField } from "@rufous/ui";
114
+
115
+ <DateField label="Start Date" value={date} onChange={setDate} />
116
+
117
+ <DateRangeField
118
+ label="Date Range"
119
+ value={range}
120
+ onChange={setRange}
121
+ />
122
+ ```
123
+
124
+ ---
79
125
 
80
- All buttons accept native button props via `...rest`.
81
-
82
- - **StandardButton**: Base neutral button
83
- - **AddButton**: Prefixed with `+`
84
- - **SubmitButton**: Submit/async actions with built-in loading and double-click handling
85
- - **CancelButton**: Secondary/cancel action
86
-
87
- ```tsx
88
- import {
89
- StandardButton,
90
- AddButton,
91
- SubmitButton,
92
- CancelButton,
93
- } from "@rufous/ui";
94
-
95
- export function ButtonsDemo() {
96
- return (
97
- <div style={{ display: "flex", gap: 12 }}>
98
- <StandardButton onClick={() => alert("Standard")}>
99
- Standard
100
- </StandardButton>
101
- <AddButton onClick={() => alert("Added")}>Add Item</AddButton>
102
- <SubmitButton
103
- onClick={async () => await new Promise((r) => setTimeout(r, 800))}
104
- >
105
- Save
106
- </SubmitButton>
107
- <CancelButton onClick={() => alert("Cancelled")}>Cancel</CancelButton>
108
- </div>
109
- );
110
- }
111
- ```
112
-
113
- - **SubmitButton props**
114
- - `type`: "button" | "submit" | "reset" (auto-managed when `onClick` provided)
115
- - `onClick(e)`: supports async; shows loader until resolved
116
- - `onDoubleClick(e)`: optional alternate handler; debounced vs single click
117
- - `isLoading`: boolean external control of loader
118
- - `bgGradiant`: boolean gradient background
119
-
120
- ### Text Inputs
121
-
122
- - **FloatingInput**: Floating label text input
123
-
124
- ```tsx
125
- import { FloatingInput } from "@rufous/ui";
126
-
127
- export function NameField() {
128
- const [name, setName] = React.useState("");
129
- return (
130
- <FloatingInput
131
- label="Your Name"
132
- name="name"
133
- value={name}
134
- onChange={(e) => setName(e.target.value)}
135
- required
136
- />
137
- );
138
- }
139
- ```
140
-
141
- - **FloatingInput props**
142
- - `label`: string (required)
143
- - `name`: string (required)
144
- - `id`: string (defaults to `name`)
145
- - `type`: string = "text"
146
- - `value`: string
147
- - `onChange(e)`: (required for controlled usage)
148
- - `required`: boolean = false
149
- - `placeholder`: string
150
- - `className`: string
151
- - `...divProps` applied to the wrapper
152
-
153
- ### Checkboxes
154
-
155
- - **Checkbox**: Controlled checkbox with label
126
+ ### Autocomplete
127
+
128
+ ```tsx
129
+ import { Autocomplete } from "@rufous/ui";
130
+
131
+ <Autocomplete
132
+ options={["React", "Vue", "Angular"]}
133
+ value={val}
134
+ onChange={setVal}
135
+ label="Framework"
136
+ />
137
+ ```
138
+
139
+ ---
140
+
141
+ ### Checkbox
156
142
 
157
143
  ```tsx
158
144
  import { Checkbox } from "@rufous/ui";
159
145
 
160
- export function Terms() {
161
- const [checked, setChecked] = React.useState(false);
162
- return (
163
- <Checkbox
164
- id="terms"
165
- label="I agree to the terms"
166
- checked={checked}
167
- onChange={setChecked}
168
- />
169
- );
170
- }
171
- ```
172
-
173
- - **Checkbox props**
174
- - `id`: string
175
- - `label`: string
176
- - `checked`: boolean
177
- - `onChange(nextChecked: boolean)`: required
178
- - `disabled`: boolean = false
179
- - `className`: string
180
- - `style`: React.CSSProperties
181
-
182
- ### Dialogs
183
-
184
- - **BaseDialog**: Unopinionated modal container with header, close button, footer actions
185
-
186
- ```tsx
187
- import { BaseDialog, SubmitButton } from "@rufous/ui";
188
-
189
- export function ConfirmDialog({ open, onClose, onConfirm }) {
190
- return (
191
- <BaseDialog
192
- open={open}
193
- title="Confirm delete"
194
- onClose={onClose}
195
- onCancel={onClose}
196
- onConfirm={onConfirm}
197
- buttonAlign="flex-end"
198
- showCancelButton
199
- fullWidth
200
- >
201
- <p>Are you sure you want to delete this item?</p>
202
- </BaseDialog>
203
- );
204
- }
205
- ```
206
-
207
- - **BaseDialog props (key)**
208
- - `open`: boolean (required to show)
209
- - `title`: string
210
- - `onClose()`: close handler
211
- - `onCancel()`: cancel handler
212
- - `onConfirm()`: sync/async confirm; built-in loading toggle
213
- - `cancelText`, `confirmText`, `submitText`: strings
214
- - `isLoading`, `loading`, `disableConfirmBtn`: booleans
215
- - `minWidth`, `minHeight`, `fullWidth`, `fullScreen`: sizing controls
216
- - `buttonAlign`: "flex-start" | "center" | "flex-end"
217
- - `showCloseButton`, `showCancelButton`, `formatTitle`
218
- - `className`, `dialogBodyStyle`
146
+ <Checkbox
147
+ label="I agree to the terms"
148
+ checked={checked}
149
+ onChange={setChecked}
150
+ />
151
+ ```
152
+
153
+ ---
154
+
155
+ ### Dialog
156
+
157
+ ```tsx
158
+ import { BaseDialog } from "@rufous/ui";
159
+
160
+ <BaseDialog
161
+ open={open}
162
+ title="Confirm Delete"
163
+ onClose={onClose}
164
+ onConfirm={onConfirm}
165
+ showCancelButton
166
+ fullWidth
167
+ >
168
+ <p>Are you sure you want to delete this item?</p>
169
+ </BaseDialog>
170
+ ```
171
+
172
+ | Prop | Type | Description |
173
+ |------|------|-------------|
174
+ | `open` | `boolean` | Controls visibility |
175
+ | `title` | `string` | Dialog title |
176
+ | `onClose` | `() => void` | Close handler |
177
+ | `onConfirm` | `() => void \| Promise<void>` | Async confirm; shows loader |
178
+ | `showCancelButton` | `boolean` | Show cancel button |
179
+ | `fullWidth` | `boolean` | Full container width |
180
+ | `sx` | `SxProp` | Scoped style overrides |
181
+
182
+ ---
183
+
184
+ ### Slider
185
+
186
+ ```tsx
187
+ import { Slider } from "@rufous/ui";
188
+
189
+ <Slider label="Volume" value={vol} onChange={setVol} valueLabelDisplay="auto" />
190
+
191
+ // Range
192
+ <Slider label="Price" value={[20, 80]} onChange={setRange} range min={0} max={200} />
193
+ ```
194
+
195
+ ---
196
+
197
+ ### Switch
198
+
199
+ ```tsx
200
+ import { Switch } from "@rufous/ui";
201
+
202
+ <Switch checked={on} onChange={setOn} label="Enable notifications" />
203
+ ```
204
+
205
+ ---
206
+
207
+ ### RadioGroup
208
+
209
+ ```tsx
210
+ import { RadioGroup, Radio } from "@rufous/ui";
211
+
212
+ <RadioGroup label="Payment" options={options} value={val} onChange={setVal} />
213
+
214
+ // Composed
215
+ <RadioGroup value={val} onChange={setVal}>
216
+ <Radio value="card" label="Credit Card" />
217
+ <Radio value="paypal" label="PayPal" />
218
+ </RadioGroup>
219
+ ```
220
+
221
+ ---
222
+
223
+ ### Rating
224
+
225
+ ```tsx
226
+ import { Rating } from "@rufous/ui";
227
+
228
+ <Rating value={stars} onChange={setStars} />
229
+ <Rating value={4.5} precision={0.5} readOnly />
230
+ ```
231
+
232
+ ---
233
+
234
+ ### ToggleButton
235
+
236
+ ```tsx
237
+ import { ToggleButtonGroup, ToggleButton } from "@rufous/ui";
238
+
239
+ // Exclusive (radio)
240
+ <ToggleButtonGroup value={alignment} onChange={setAlignment} exclusive>
241
+ <ToggleButton value="left">Left</ToggleButton>
242
+ <ToggleButton value="center">Center</ToggleButton>
243
+ <ToggleButton value="right">Right</ToggleButton>
244
+ </ToggleButtonGroup>
245
+
246
+ // Multi-select
247
+ <ToggleButtonGroup value={formats} onChange={setFormats}>
248
+ <ToggleButton value="bold"><strong>B</strong></ToggleButton>
249
+ <ToggleButton value="italic"><em>I</em></ToggleButton>
250
+ </ToggleButtonGroup>
251
+ ```
252
+
253
+ ---
254
+
255
+ ### Avatar
256
+
257
+ ```tsx
258
+ import { Avatar, AvatarGroup } from "@rufous/ui";
259
+
260
+ <Avatar src="/photo.jpg" alt="Alice Johnson" size="medium" />
261
+ <Avatar alt="Alice Johnson" color="#a41b06" /> // initials fallback
262
+
263
+ <AvatarGroup max={4}>
264
+ <Avatar alt="Alice" />
265
+ <Avatar alt="Bob" color="#1565c0" />
266
+ </AvatarGroup>
267
+ ```
268
+
269
+ ---
270
+
271
+ ### Chip
272
+
273
+ ```tsx
274
+ import { Chip } from "@rufous/ui";
275
+
276
+ <Chip label="React" color="primary" />
277
+ <Chip label="Remove me" color="error" onDelete={() => {}} />
278
+ <Chip label="Click me" color="default" variant="outlined" onClick={fn} />
279
+ ```
280
+
281
+ ---
282
+
283
+ ### Divider
284
+
285
+ ```tsx
286
+ import { Divider } from "@rufous/ui";
287
+
288
+ <Divider />
289
+ <Divider variant="middle" />
290
+ <Divider textAlign="center">OR</Divider>
291
+ <Divider orientation="vertical" flexItem />
292
+ ```
293
+
294
+ ---
295
+
296
+ ### List
297
+
298
+ ```tsx
299
+ import { List, ListItem, ListItemText, ListItemButton, ListItemIcon, ListSubheader } from "@rufous/ui";
300
+
301
+ <List subheader={<ListSubheader>Inbox</ListSubheader>}>
302
+ <ListItemButton selected onClick={fn}>
303
+ <ListItemIcon>๐Ÿ“ฉ</ListItemIcon>
304
+ <ListItemText primary="Messages" secondary="3 unread" />
305
+ </ListItemButton>
306
+ </List>
307
+ ```
308
+
309
+ ---
310
+
311
+ ### Typography
312
+
313
+ ```tsx
314
+ import { Typography } from "@rufous/ui";
315
+
316
+ <Typography variant="h1">Heading</Typography>
317
+ <Typography variant="body1" color="textSecondary">Paragraph text</Typography>
318
+ <Typography variant="caption" gutterBottom>Caption</Typography>
319
+ ```
320
+
321
+ ---
322
+
323
+ ### Skeleton
324
+
325
+ ```tsx
326
+ import { Skeleton } from "@rufous/ui";
327
+
328
+ <Skeleton variant="text" width={200} />
329
+ <Skeleton variant="circular" width={40} height={40} />
330
+ <Skeleton variant="rounded" width={300} height={120} animation="wave" />
331
+ ```
332
+
333
+ ---
334
+
335
+ ### Tooltip
336
+
337
+ ```tsx
338
+ import { Tooltip } from "@rufous/ui";
339
+
340
+ <Tooltip title="Delete this item" placement="top" arrow>
341
+ <button>Delete</button>
342
+ </Tooltip>
343
+ ```
344
+
345
+ ---
219
346
 
220
347
  ### Progress
221
348
 
222
- - **CircularProgress**: Stroke-based loader
349
+ ```tsx
350
+ import { CircularProgress, RufousLogoLoader } from "@rufous/ui";
351
+
352
+ <CircularProgress size={36} />
353
+ <RufousLogoLoader />
354
+ ```
355
+
356
+ ---
357
+
358
+ ### Box / Stack / Grid
223
359
 
224
360
  ```tsx
225
- import { CircularProgess } from "@rufous/ui"; // exported via SubmitButton internally as well
361
+ import { Box, Stack, Grid } from "@rufous/ui";
362
+
363
+ // Box โ€” generic flex/layout container
364
+ <Box display="flex" gap={16} padding={24}>...</Box>
365
+
366
+ // Stack โ€” 1D flex layout
367
+ <Stack direction="row" spacing={2}>
368
+ <div>A</div>
369
+ <div>B</div>
370
+ </Stack>
371
+
372
+ // Grid โ€” 12-column responsive grid
373
+ <Grid container spacing={3}>
374
+ <Grid item xs={12} md={6}>Main</Grid>
375
+ <Grid item xs={12} md={6}>Sidebar</Grid>
376
+ </Grid>
377
+ ```
378
+
379
+ ---
380
+
381
+ ### Paper / Card / Accordion
382
+
383
+ ```tsx
384
+ import { Paper, Card, CardContent, CardHeader, CardActions, Accordion, AccordionSummary, AccordionDetails } from "@rufous/ui";
226
385
 
227
- export function LoadingExample() {
228
- return <CircularProgess size={36} color="#a81c08" />;
229
- }
386
+ <Paper elevation={3}>Content</Paper>
387
+
388
+ <Card>
389
+ <CardHeader title="Title" subheader="Subtitle" />
390
+ <CardContent>Body</CardContent>
391
+ <CardActions><button>Action</button></CardActions>
392
+ </Card>
393
+
394
+ <Accordion>
395
+ <AccordionSummary>FAQ Question</AccordionSummary>
396
+ <AccordionDetails>Answer text here.</AccordionDetails>
397
+ </Accordion>
230
398
  ```
231
399
 
232
- - **CircularProgess props**
233
- - `size`: number = 50
234
- - `color`: string = "#a81c08"
235
- - `...divProps`
400
+ ---
236
401
 
237
- ### Icons
402
+ ### Tabs
403
+
404
+ ```tsx
405
+ import { Tabs, Tab } from "@rufous/ui";
406
+
407
+ <Tabs value={tab} onChange={setTab}>
408
+ <Tab value="home" label="Home" />
409
+ <Tab value="settings" label="Settings" />
410
+ </Tabs>
411
+ ```
238
412
 
239
- All icons are React components that accept standard `svg`/`div`-style props depending on implementation; at minimum `className`, event handlers, and often `color` when applicable.
413
+ ---
240
414
 
241
- Usage pattern:
415
+ ### Breadcrumbs
242
416
 
243
417
  ```tsx
244
- import { CopyIcon, EditIcon, DownloadIcon } from "@rufous/ui";
418
+ import { Breadcrumbs } from "@rufous/ui";
419
+
420
+ <Breadcrumbs separator="โ€บ">
421
+ <a href="/">Home</a>
422
+ <a href="/products">Products</a>
423
+ <span>Current</span>
424
+ </Breadcrumbs>
425
+ ```
245
426
 
246
- export function IconRow() {
247
- return (
248
- <div style={{ display: "flex", gap: 10 }}>
249
- <CopyIcon onClick={() => alert("Copied!")} />
250
- <EditIcon />
251
- <DownloadIcon />
252
- </div>
253
- );
254
- }
427
+ ---
428
+
429
+ ### Stepper
430
+
431
+ ```tsx
432
+ import { Stepper, Step, StepLabel, StepContent } from "@rufous/ui";
433
+
434
+ <Stepper activeStep={activeStep}>
435
+ {steps.map((label) => (
436
+ <Step key={label}>
437
+ <StepLabel>{label}</StepLabel>
438
+ </Step>
439
+ ))}
440
+ </Stepper>
255
441
  ```
256
442
 
257
- Available icons include (non-exhaustive): `ActivateUserIcon`, `ArchivedIcon`, `AssignGroupIcon`, `CloseIcon`, `CopyIcon`, `DifficultyAllIcon`, `DifficultyEasyIcon`, `DifficultyMediumIcon`, `DifficultyHardIcon`, `DollarIcon`, `DownloadIcon`, `DownloadPdfIcon`, `EditChatIcon`, `EditIcon`, `EngagementIcon`, `FunctionIcon`, `HelpOutlinedIcon`, `HierarchyIcon`, `InactiveGroupIcon`, `IndustryIcon`, `InvoiceIcon`, `LocationPinIcon`, `LogsIcon`, `MinExperienceIcon`, `NineDotMenuIcon`, `NotificationIcon`, `ProjectIcon`, `QuestionStatusAllIcon`, `QuestionStatusPrivateIcon`, `QuestionStatusPublicIcon`, `QuestionTypeAllIcon`, `QuestionTypeCodingIcon`, `QuestionTypeDescriptiveIcon`, `QuestionTypeMultipleIcon`, `QuestionTypeSingleIcon`, `RefreshIcon`, `ResendInviteIcon`, `RolesIcon`, `RufousAiIcon`, `RufousBirdIcon`, `RufousLauncherIcon`, `SidebarIcon`, `SubscribeIcon`, `SuspendUserIcon`, `TickIcon`, `TimerIcon`, `TrashIcon`, `UnArchivedIcon`, `UnsubscribeIcon`, `UploadIcon`, `UserAssignIcon`, `ViewIcon`, `WorkItemIcon`, `SoftSkillsIcon`, `TechnicalSkillsIcon`, `QualificationsIcon`.
443
+ ---
444
+
445
+ ### Menu
446
+
447
+ ```tsx
448
+ import { Menu, MenuItem, MenuList, MenuDivider } from "@rufous/ui";
449
+
450
+ <Menu open={open} anchorEl={anchorRef.current} onClose={() => setOpen(false)}>
451
+ <MenuList>
452
+ <MenuItem icon="๐Ÿ‘ค">Profile</MenuItem>
453
+ <MenuItem icon="โš™๏ธ">Settings</MenuItem>
454
+ <MenuDivider />
455
+ <MenuItem icon="๐Ÿšช">Sign Out</MenuItem>
456
+ </MenuList>
457
+ </Menu>
458
+ ```
258
459
 
259
460
  ---
260
461
 
261
- ## ๐Ÿงพ Exports
462
+ ### Drawer
262
463
 
263
- The package main re-exports everything you need from a single entry point:
464
+ ```tsx
465
+ import { Drawer } from "@rufous/ui";
264
466
 
265
- ```ts
266
- // main entry exports
267
- export { APP_THEMES } from "./utils/constants";
268
- export * from "./icons"; // all icons
269
- export * from "./Buttons"; // AddButton, SubmitButton, CancelButton, StandardButton
270
- export * from "./Dialogs"; // BaseDialog
271
- export {
272
- RufousThemeProvider,
273
- useRufousTheme,
274
- } from "./Contexts/rufousThemeProvider";
467
+ <Drawer open={open} onClose={() => setOpen(false)} anchor="right" width={320}>
468
+ <div style={{ padding: 24 }}>Drawer content</div>
469
+ </Drawer>
275
470
  ```
276
471
 
277
- Import from `@rufous/ui` directly:
472
+ ---
473
+
474
+ ### Snackbar
278
475
 
279
476
  ```tsx
280
- import {
281
- SubmitButton,
282
- BaseDialog,
283
- RufousThemeProvider,
284
- useRufousTheme,
285
- APP_THEMES,
286
- } from "@rufous/ui";
477
+ import { Snackbar } from "@rufous/ui";
478
+
479
+ <Snackbar
480
+ open={open}
481
+ onClose={() => setOpen(false)}
482
+ message="Changes saved successfully"
483
+ severity="success"
484
+ autoHideDuration={4000}
485
+ anchorOrigin={{ vertical: "bottom", horizontal: "left" }}
486
+ />
287
487
  ```
288
488
 
289
489
  ---
290
490
 
291
- ## ๐Ÿง  Notes
491
+ ### Link
292
492
 
293
- - Always import `@rufous/ui/style.css` once to get base styles.
294
- - `SubmitButton` manages `type` automatically when `onClick` is provided.
295
- - Dialog confirm button disables while running async `onConfirm` to prevent repeats.
493
+ ```tsx
494
+ import { Link } from "@rufous/ui";
495
+
496
+ <Link href="/docs" color="primary">Documentation</Link>
497
+ <Link component="button" color="primary" onClick={fn}>Trigger action</Link>
498
+ ```
296
499
 
297
500
  ---
298
501
 
299
- ## ๐Ÿ› Issues / Feedback
502
+ ### Popper / Popover
503
+
504
+ ```tsx
505
+ import { Popper, Popover } from "@rufous/ui";
506
+
507
+ // Popper โ€” no backdrop, low-level
508
+ <Popper open={open} anchorEl={anchorRef.current} placement="bottom-start">
509
+ <div>Custom dropdown content</div>
510
+ </Popper>
300
511
 
301
- Please open an issue or PR in your repository to report bugs, request components, or propose improvements.
512
+ // Popover โ€” backdrop, closes on outside click
513
+ <Popover open={open} anchorEl={anchorRef.current} onClose={() => setOpen(false)}>
514
+ <div style={{ padding: 20 }}>Popover content</div>
515
+ </Popover>
516
+ ```
517
+
518
+ ---
519
+
520
+ ### Transitions
521
+
522
+ ```tsx
523
+ import { Fade, Slide, Grow, Collapse, Zoom } from "@rufous/ui";
524
+
525
+ <Fade in={show}><div>Fades in/out</div></Fade>
526
+ <Slide in={show} direction="up"><div>Slides in from bottom</div></Slide>
527
+ <Grow in={show}><div>Grows from center</div></Grow>
528
+ <Collapse in={show}><div>Collapses vertically</div></Collapse>
529
+ <Zoom in={show}><div>Zooms in/out</div></Zoom>
530
+ ```
531
+
532
+ ---
533
+
534
+ ### Icons
535
+
536
+ ```tsx
537
+ import { CopyIcon, EditIcon, TrashIcon, DownloadIcon } from "@rufous/ui";
538
+
539
+ <CopyIcon onClick={() => copy(text)} />
540
+ <EditIcon />
541
+ <TrashIcon />
542
+ <DownloadIcon />
543
+ ```
544
+
545
+ ---
546
+
547
+ ## The `sx` Prop
548
+
549
+ Every component accepts an `sx` prop for scoped, per-instance style overrides using nested CSS selectors. Values are injected as a scoped `<style>` tag โ€” no inline style conflicts.
550
+
551
+ ```tsx
552
+ import { TextField } from "@rufous/ui";
553
+ import type { SxProp } from "@rufous/ui";
554
+
555
+ <TextField
556
+ label="Search"
557
+ sx={{
558
+ borderRadius: "12px",
559
+ "& .rf-text-field__input": { fontSize: "0.9rem" },
560
+ "&:hover": { boxShadow: "0 0 0 3px rgba(164,27,6,0.15)" },
561
+ }}
562
+ />
563
+ ```
302
564
 
303
565
  ---
304
566
 
305
- ## ๐Ÿ“„ License
567
+ ## License
306
568
 
307
569
  MIT ยฉ Rufous UI