@customafk/lunas-ui 0.0.21 → 0.0.23

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 (814) hide show
  1. package/dist/add-new-CVQQRkB9.js +2 -0
  2. package/dist/add-new-CVQQRkB9.js.map +1 -0
  3. package/dist/{add-new-BTpI7Ph7.cjs → add-new-CmzfSaTJ.cjs} +2 -2
  4. package/dist/add-new-CmzfSaTJ.cjs.map +1 -0
  5. package/dist/alert-dialog-CNHyP_A9.js +2 -0
  6. package/dist/alert-dialog-CNHyP_A9.js.map +1 -0
  7. package/dist/alert-dialog-D-oR0YW3.cjs +2 -0
  8. package/dist/alert-dialog-D-oR0YW3.cjs.map +1 -0
  9. package/dist/{badge-DHRQ-uwY.cjs → badge-D4NxkKeN.cjs} +1 -1
  10. package/dist/badge-D4NxkKeN.cjs.map +1 -0
  11. package/dist/{badge-bLqn3EB9.js → badge-DzKUgC8v.js} +1 -1
  12. package/dist/badge-DzKUgC8v.js.map +1 -0
  13. package/dist/button-BSGNpclh.cjs +2 -0
  14. package/dist/button-BSGNpclh.cjs.map +1 -0
  15. package/dist/{button-CqGv362j.d.cts → button-BajtMcjb.d.cts} +7 -5
  16. package/dist/button-CnMfXTBU.js +2 -0
  17. package/dist/button-CnMfXTBU.js.map +1 -0
  18. package/dist/{button-CFhTSUSV.d.ts → button-DLZoEj48.d.ts} +7 -5
  19. package/dist/{calendar-Cck0PPMB.cjs → calendar-B8IKzrdN.cjs} +2 -2
  20. package/dist/calendar-B8IKzrdN.cjs.map +1 -0
  21. package/dist/{calendar-BG-jrCZc.js → calendar-CbuOOMpK.js} +2 -2
  22. package/dist/calendar-CbuOOMpK.js.map +1 -0
  23. package/dist/card-CgQjctUE.js +2 -0
  24. package/dist/card-CgQjctUE.js.map +1 -0
  25. package/dist/card-DYVCumPc.cjs +2 -0
  26. package/dist/card-DYVCumPc.cjs.map +1 -0
  27. package/dist/cards/simple-card.cjs +1 -1
  28. package/dist/cards/simple-card.cjs.map +1 -1
  29. package/dist/cards/simple-card.js +1 -1
  30. package/dist/cards/simple-card.js.map +1 -1
  31. package/dist/{command-ChE1SC-Q.d.cts → command-80QuD-XX.d.ts} +12 -13
  32. package/dist/command-CoB5R5FI.cjs +2 -0
  33. package/dist/command-CoB5R5FI.cjs.map +1 -0
  34. package/dist/{command-DK3Z1Vcb.d.ts → command-DvCEx-HX.d.cts} +12 -13
  35. package/dist/command-TFZwJmux.js +2 -0
  36. package/dist/command-TFZwJmux.js.map +1 -0
  37. package/dist/data-display/country.cjs +1 -1
  38. package/dist/data-display/country.cjs.map +1 -1
  39. package/dist/data-display/country.js +1 -1
  40. package/dist/data-display/country.js.map +1 -1
  41. package/dist/data-display/data-list.cjs +1 -1
  42. package/dist/data-display/data-list.cjs.map +1 -1
  43. package/dist/data-display/data-list.d.cts +0 -2
  44. package/dist/data-display/data-list.d.ts +0 -2
  45. package/dist/data-display/data-list.js +1 -1
  46. package/dist/data-display/data-list.js.map +1 -1
  47. package/dist/data-display/date-tooltip.cjs +1 -1
  48. package/dist/data-display/date-tooltip.cjs.map +1 -1
  49. package/dist/data-display/date-tooltip.js +1 -1
  50. package/dist/data-display/date-tooltip.js.map +1 -1
  51. package/dist/data-display/date.cjs +1 -1
  52. package/dist/data-display/date.d.cts +1 -1
  53. package/dist/data-display/date.d.ts +1 -1
  54. package/dist/data-display/date.js +1 -1
  55. package/dist/data-display/empty.cjs +1 -1
  56. package/dist/data-display/empty.cjs.map +1 -1
  57. package/dist/data-display/empty.d.cts +2 -2
  58. package/dist/data-display/empty.d.ts +2 -2
  59. package/dist/data-display/empty.js +1 -1
  60. package/dist/data-display/empty.js.map +1 -1
  61. package/dist/data-display/name.cjs +1 -1
  62. package/dist/data-display/name.cjs.map +1 -1
  63. package/dist/data-display/name.js +1 -1
  64. package/dist/data-display/name.js.map +1 -1
  65. package/dist/data-display/phone-number.cjs +1 -1
  66. package/dist/data-display/phone-number.cjs.map +1 -1
  67. package/dist/data-display/phone-number.js +1 -1
  68. package/dist/data-display/phone-number.js.map +1 -1
  69. package/dist/data-display/role-badge.cjs +1 -1
  70. package/dist/data-display/role-badge.cjs.map +1 -1
  71. package/dist/data-display/role-badge.js +1 -1
  72. package/dist/data-display/role-badge.js.map +1 -1
  73. package/dist/data-display/statistic.cjs +1 -1
  74. package/dist/data-display/statistic.cjs.map +1 -1
  75. package/dist/data-display/statistic.d.cts +4 -4
  76. package/dist/data-display/statistic.d.ts +4 -4
  77. package/dist/data-display/statistic.js +1 -1
  78. package/dist/data-display/statistic.js.map +1 -1
  79. package/dist/{date-B1g1OMYc.js → date-BMq_DNsv.js} +1 -1
  80. package/dist/date-BMq_DNsv.js.map +1 -0
  81. package/dist/{date-Cw6Jf7k6.cjs → date-nd8WkPlx.cjs} +1 -1
  82. package/dist/date-nd8WkPlx.cjs.map +1 -0
  83. package/dist/{dialog-DoFMLK7H.d.cts → dialog-BInoLe-Q.d.ts} +12 -13
  84. package/dist/dialog-CSDDiHKO.js +2 -0
  85. package/dist/dialog-CSDDiHKO.js.map +1 -0
  86. package/dist/dialog-_Cgij9NP.cjs +2 -0
  87. package/dist/dialog-_Cgij9NP.cjs.map +1 -0
  88. package/dist/{dialog-BfAIULbh.d.ts → dialog-xylwF4m7.d.cts} +12 -13
  89. package/dist/dialogs/confirm-dialog.cjs +1 -1
  90. package/dist/dialogs/confirm-dialog.cjs.map +1 -1
  91. package/dist/dialogs/confirm-dialog.js +1 -1
  92. package/dist/dialogs/confirm-dialog.js.map +1 -1
  93. package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
  94. package/dist/dialogs/detail-dialog/component/sidebar.d.cts +43 -43
  95. package/dist/dialogs/detail-dialog/component/sidebar.d.ts +43 -43
  96. package/dist/dialogs/detail-dialog/component/sidebar.js +1 -1
  97. package/dist/dialogs/detail-dialog/index.cjs +1 -1
  98. package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
  99. package/dist/dialogs/detail-dialog/index.js +1 -1
  100. package/dist/dialogs/detail-dialog/index.js.map +1 -1
  101. package/dist/dialogs/error-dialog.cjs +1 -1
  102. package/dist/dialogs/error-dialog.js +1 -1
  103. package/dist/dialogs/form-dialog.cjs +1 -1
  104. package/dist/dialogs/form-dialog.cjs.map +1 -1
  105. package/dist/dialogs/form-dialog.d.cts +3 -3
  106. package/dist/dialogs/form-dialog.d.ts +3 -3
  107. package/dist/dialogs/form-dialog.js +1 -1
  108. package/dist/dialogs/form-dialog.js.map +1 -1
  109. package/dist/dialogs/loading-dialog.cjs +1 -1
  110. package/dist/dialogs/loading-dialog.cjs.map +1 -1
  111. package/dist/dialogs/loading-dialog.js +1 -1
  112. package/dist/dialogs/loading-dialog.js.map +1 -1
  113. package/dist/dropdown-menu-BnfaOPEM.cjs +2 -0
  114. package/dist/dropdown-menu-BnfaOPEM.cjs.map +1 -0
  115. package/dist/dropdown-menu-D5uG4HZA.js +2 -0
  116. package/dist/dropdown-menu-D5uG4HZA.js.map +1 -0
  117. package/dist/{error-dialog-OeWIgIvF.cjs → error-dialog-D5R5le-W.cjs} +2 -2
  118. package/dist/error-dialog-D5R5le-W.cjs.map +1 -0
  119. package/dist/{error-dialog-Dg_OHJlH.js → error-dialog-Q99thrSD.js} +2 -2
  120. package/dist/error-dialog-Q99thrSD.js.map +1 -0
  121. package/dist/{flex-B5MQmxX8.cjs → flex-CNA_SId-.cjs} +1 -1
  122. package/dist/flex-CNA_SId-.cjs.map +1 -0
  123. package/dist/{flex-CBAzUoXK.js → flex-ILvQrYMJ.js} +1 -1
  124. package/dist/flex-ILvQrYMJ.js.map +1 -0
  125. package/dist/{form-BbU1TIro.cjs → form-CHs85hm6.cjs} +2 -2
  126. package/dist/form-CHs85hm6.cjs.map +1 -0
  127. package/dist/{form-BMnG2xLt.js → form-tabDlutX.js} +2 -2
  128. package/dist/form-tabDlutX.js.map +1 -0
  129. package/dist/{form-wrapper-wHzrskjb.js → form-wrapper-C2xlvWx0.js} +2 -2
  130. package/dist/form-wrapper-C2xlvWx0.js.map +1 -0
  131. package/dist/{form-wrapper-DeSGl64P.cjs → form-wrapper-CY-stRaQ.cjs} +2 -2
  132. package/dist/form-wrapper-CY-stRaQ.cjs.map +1 -0
  133. package/dist/forms/combobox-field.cjs +1 -1
  134. package/dist/forms/combobox-field.cjs.map +1 -1
  135. package/dist/forms/combobox-field.d.cts +2 -2
  136. package/dist/forms/combobox-field.d.ts +2 -2
  137. package/dist/forms/combobox-field.js +1 -1
  138. package/dist/forms/combobox-field.js.map +1 -1
  139. package/dist/forms/date-field.cjs +1 -1
  140. package/dist/forms/date-field.cjs.map +1 -1
  141. package/dist/forms/date-field.d.ts +2 -2
  142. package/dist/forms/date-field.js +1 -1
  143. package/dist/forms/date-field.js.map +1 -1
  144. package/dist/forms/form-wrapper.cjs +1 -1
  145. package/dist/forms/form-wrapper.d.cts +3 -3
  146. package/dist/forms/form-wrapper.d.ts +3 -3
  147. package/dist/forms/form-wrapper.js +1 -1
  148. package/dist/forms/multi-select-field.cjs +1 -1
  149. package/dist/forms/multi-select-field.cjs.map +1 -1
  150. package/dist/forms/multi-select-field.d.cts +2 -2
  151. package/dist/forms/multi-select-field.d.ts +2 -2
  152. package/dist/forms/multi-select-field.js +1 -1
  153. package/dist/forms/multi-select-field.js.map +1 -1
  154. package/dist/forms/number-field.cjs +1 -1
  155. package/dist/forms/number-field.cjs.map +1 -1
  156. package/dist/forms/number-field.d.cts +2 -2
  157. package/dist/forms/number-field.d.ts +2 -2
  158. package/dist/forms/number-field.js +1 -1
  159. package/dist/forms/number-field.js.map +1 -1
  160. package/dist/forms/password-field.cjs +1 -1
  161. package/dist/forms/password-field.cjs.map +1 -1
  162. package/dist/forms/password-field.d.cts +2 -2
  163. package/dist/forms/password-field.d.ts +2 -2
  164. package/dist/forms/password-field.js +1 -1
  165. package/dist/forms/password-field.js.map +1 -1
  166. package/dist/forms/select-field.cjs +1 -1
  167. package/dist/forms/select-field.cjs.map +1 -1
  168. package/dist/forms/select-field.d.cts +2 -2
  169. package/dist/forms/select-field.d.ts +2 -2
  170. package/dist/forms/select-field.js +1 -1
  171. package/dist/forms/select-field.js.map +1 -1
  172. package/dist/forms/switch-field.cjs +1 -1
  173. package/dist/forms/switch-field.cjs.map +1 -1
  174. package/dist/forms/switch-field.d.cts +2 -2
  175. package/dist/forms/switch-field.d.ts +2 -2
  176. package/dist/forms/switch-field.js +1 -1
  177. package/dist/forms/switch-field.js.map +1 -1
  178. package/dist/forms/text-field.cjs +1 -1
  179. package/dist/forms/text-field.cjs.map +1 -1
  180. package/dist/forms/text-field.d.cts +2 -2
  181. package/dist/forms/text-field.d.ts +2 -2
  182. package/dist/forms/text-field.js +1 -1
  183. package/dist/forms/text-field.js.map +1 -1
  184. package/dist/forms/textarea-field.cjs +1 -1
  185. package/dist/forms/textarea-field.cjs.map +1 -1
  186. package/dist/forms/textarea-field.d.cts +2 -2
  187. package/dist/forms/textarea-field.d.ts +2 -2
  188. package/dist/forms/textarea-field.js +1 -1
  189. package/dist/forms/textarea-field.js.map +1 -1
  190. package/dist/input--6vqz8UI.js +2 -0
  191. package/dist/input--6vqz8UI.js.map +1 -0
  192. package/dist/{input-CsU6VSlk.d.ts → input-BEvwsdQj.d.ts} +4 -4
  193. package/dist/{input-B0fJo2WZ.d.cts → input-Lfbw3nE_.d.cts} +4 -4
  194. package/dist/input-VZiryzkl.cjs +2 -0
  195. package/dist/input-VZiryzkl.cjs.map +1 -0
  196. package/dist/label-B_2ZQn0X.cjs +2 -0
  197. package/dist/label-B_2ZQn0X.cjs.map +1 -0
  198. package/dist/label-D1XmKlc3.js +2 -0
  199. package/dist/label-D1XmKlc3.js.map +1 -0
  200. package/dist/layouts/flex.cjs +1 -1
  201. package/dist/layouts/flex.d.cts +2 -2
  202. package/dist/layouts/flex.d.ts +2 -2
  203. package/dist/layouts/flex.js +1 -1
  204. package/dist/layouts/main/index.cjs +1 -1
  205. package/dist/layouts/main/index.cjs.map +1 -1
  206. package/dist/layouts/main/index.d.cts +4 -4
  207. package/dist/layouts/main/index.d.ts +4 -4
  208. package/dist/layouts/main/index.js +1 -1
  209. package/dist/layouts/main/index.js.map +1 -1
  210. package/dist/multi-select-Cjvm4tK5.cjs +2 -0
  211. package/dist/multi-select-Cjvm4tK5.cjs.map +1 -0
  212. package/dist/multi-select-D0bZVOnm.js +2 -0
  213. package/dist/multi-select-D0bZVOnm.js.map +1 -0
  214. package/dist/paragraph-B4cQhLhW.js +2 -0
  215. package/dist/paragraph-B4cQhLhW.js.map +1 -0
  216. package/dist/paragraph-DcRBcRhQ.cjs +2 -0
  217. package/dist/paragraph-DcRBcRhQ.cjs.map +1 -0
  218. package/dist/popover-CTFp7ZXi.js +2 -0
  219. package/dist/popover-CTFp7ZXi.js.map +1 -0
  220. package/dist/popover-DCcPvdz2.cjs +2 -0
  221. package/dist/popover-DCcPvdz2.cjs.map +1 -0
  222. package/dist/progress-DLxh7x1P.cjs +2 -0
  223. package/dist/progress-DLxh7x1P.cjs.map +1 -0
  224. package/dist/progress-DWrtxJv0.js +2 -0
  225. package/dist/progress-DWrtxJv0.js.map +1 -0
  226. package/dist/refresh-CYCzbKVl.js +2 -0
  227. package/dist/refresh-CYCzbKVl.js.map +1 -0
  228. package/dist/{refresh-H87p0PFk.cjs → refresh-DMj_wur3.cjs} +2 -2
  229. package/dist/refresh-DMj_wur3.cjs.map +1 -0
  230. package/dist/scroll-area-C0KQbcG0.js.map +1 -1
  231. package/dist/scroll-area-CBq8XL4c.cjs.map +1 -1
  232. package/dist/{search-input-BUIwdK4e.js → search-input-DqcwkgsY.js} +2 -2
  233. package/dist/search-input-DqcwkgsY.js.map +1 -0
  234. package/dist/{search-input-DXh-cAVU.cjs → search-input-yweS9EMM.cjs} +2 -2
  235. package/dist/search-input-yweS9EMM.cjs.map +1 -0
  236. package/dist/select-BHjk6yT3.cjs +2 -0
  237. package/dist/select-BHjk6yT3.cjs.map +1 -0
  238. package/dist/select-C6N3CXuY.js +2 -0
  239. package/dist/select-C6N3CXuY.js.map +1 -0
  240. package/dist/{separator-DgyR24FB.d.ts → separator-CGHXMKzf.d.ts} +3 -4
  241. package/dist/separator-Cigaqna1.cjs +2 -0
  242. package/dist/separator-Cigaqna1.cjs.map +1 -0
  243. package/dist/{separator-5OitSlUj.d.cts → separator-SKNlThFJ.d.cts} +3 -4
  244. package/dist/separator-aLdI4FQe.js +2 -0
  245. package/dist/separator-aLdI4FQe.js.map +1 -0
  246. package/dist/sheet-CX3PajAc.cjs +2 -0
  247. package/dist/sheet-CX3PajAc.cjs.map +1 -0
  248. package/dist/sheet-DqPtcv9H.js +2 -0
  249. package/dist/sheet-DqPtcv9H.js.map +1 -0
  250. package/dist/sidebar-BKNai9nJ.cjs +2 -0
  251. package/dist/sidebar-BKNai9nJ.cjs.map +1 -0
  252. package/dist/sidebar-BR_UWLC5.js +2 -0
  253. package/dist/sidebar-BR_UWLC5.js.map +1 -0
  254. package/dist/sidebar-C2FH-tzm.cjs +2 -0
  255. package/dist/sidebar-C2FH-tzm.cjs.map +1 -0
  256. package/dist/sidebar-DphZ29-4.js +2 -0
  257. package/dist/sidebar-DphZ29-4.js.map +1 -0
  258. package/dist/skeleton-C-9PuX3p.cjs +2 -0
  259. package/dist/skeleton-C-9PuX3p.cjs.map +1 -0
  260. package/dist/skeleton-sZeupFu_.js +2 -0
  261. package/dist/skeleton-sZeupFu_.js.map +1 -0
  262. package/dist/styles/base.cjs +0 -0
  263. package/dist/styles/base.css +32 -0
  264. package/dist/styles/base.css.map +1 -0
  265. package/dist/styles/base.js +1 -0
  266. package/dist/styles/loader.cjs +0 -0
  267. package/dist/styles/loader.css +116 -0
  268. package/dist/styles/loader.css.map +1 -0
  269. package/dist/styles/loader.js +1 -0
  270. package/dist/styles/theme.cjs +0 -0
  271. package/dist/styles/theme.css +106 -0
  272. package/dist/styles/theme.css.map +1 -0
  273. package/dist/styles/theme.js +1 -0
  274. package/dist/styles/typography.cjs +0 -0
  275. package/dist/styles/typography.css +9 -0
  276. package/dist/styles/typography.css.map +1 -0
  277. package/dist/styles/typography.js +1 -0
  278. package/dist/switch-965kHdW_.js +2 -0
  279. package/dist/switch-965kHdW_.js.map +1 -0
  280. package/dist/switch-C3igCoxt.cjs +2 -0
  281. package/dist/switch-C3igCoxt.cjs.map +1 -0
  282. package/dist/table/index.cjs +1 -1
  283. package/dist/table/index.cjs.map +1 -1
  284. package/dist/table/index.d.cts +2 -2
  285. package/dist/table/index.d.ts +2 -2
  286. package/dist/table/index.js +1 -1
  287. package/dist/table/index.js.map +1 -1
  288. package/dist/table-CTMRaGxa.cjs +2 -0
  289. package/dist/table-CTMRaGxa.cjs.map +1 -0
  290. package/dist/table-CsnugKnh.js +2 -0
  291. package/dist/table-CsnugKnh.js.map +1 -0
  292. package/dist/textarea-3XRFTUZ8.cjs +2 -0
  293. package/dist/textarea-3XRFTUZ8.cjs.map +1 -0
  294. package/dist/textarea-CQ6gAnm5.js +2 -0
  295. package/dist/textarea-CQ6gAnm5.js.map +1 -0
  296. package/dist/{title-DrIfj31i.cjs → title-6Uosk2b4.cjs} +2 -2
  297. package/dist/title-6Uosk2b4.cjs.map +1 -0
  298. package/dist/{title-CA6PvqiD.js → title-CxIwADiB.js} +2 -2
  299. package/dist/title-CxIwADiB.js.map +1 -0
  300. package/dist/{toggle-CyClmWQm.d.ts → toggle-9SGewcSc.d.cts} +5 -5
  301. package/dist/{toggle-BA0PLIVa.js → toggle-CHJ2edke.js} +2 -2
  302. package/dist/toggle-CHJ2edke.js.map +1 -0
  303. package/dist/{toggle-Ddewmqst.cjs → toggle-DO8QbhLS.cjs} +2 -2
  304. package/dist/toggle-DO8QbhLS.cjs.map +1 -0
  305. package/dist/{toggle-B9onDBto.d.cts → toggle-DxWgPH7j.d.ts} +5 -5
  306. package/dist/tooltip-B8KdfOeT.js +2 -0
  307. package/dist/tooltip-B8KdfOeT.js.map +1 -0
  308. package/dist/{tooltip-Ccg2G_fB.d.cts → tooltip-CbLQ7JEO.d.cts} +6 -6
  309. package/dist/tooltip-DLnAwybV.cjs +2 -0
  310. package/dist/tooltip-DLnAwybV.cjs.map +1 -0
  311. package/dist/{tooltip-Ju-oCFdl.d.ts → tooltip-DtXKnGdV.d.ts} +6 -6
  312. package/dist/{types-CnMfjcgO.cjs → types-CrbWxjnp.cjs} +1 -1
  313. package/dist/types-CrbWxjnp.cjs.map +1 -0
  314. package/dist/{types-BVNbk1ZN.js → types-DaIHddx7.js} +1 -1
  315. package/dist/types-DaIHddx7.js.map +1 -0
  316. package/dist/typography/paragraph.cjs +1 -1
  317. package/dist/typography/paragraph.d.cts +3 -4
  318. package/dist/typography/paragraph.d.ts +3 -4
  319. package/dist/typography/paragraph.js +1 -1
  320. package/dist/typography/title.cjs +1 -1
  321. package/dist/typography/title.d.cts +2 -2
  322. package/dist/typography/title.js +1 -1
  323. package/dist/ui/alert-dialog.cjs +1 -1
  324. package/dist/ui/alert-dialog.d.cts +12 -12
  325. package/dist/ui/alert-dialog.d.ts +2 -2
  326. package/dist/ui/alert-dialog.js +1 -1
  327. package/dist/ui/alert.cjs +1 -1
  328. package/dist/ui/alert.cjs.map +1 -1
  329. package/dist/ui/alert.d.cts +6 -6
  330. package/dist/ui/alert.d.ts +6 -6
  331. package/dist/ui/alert.js +1 -1
  332. package/dist/ui/alert.js.map +1 -1
  333. package/dist/ui/aspect-ratio.cjs +1 -1
  334. package/dist/ui/aspect-ratio.cjs.map +1 -1
  335. package/dist/ui/aspect-ratio.d.cts +2 -2
  336. package/dist/ui/aspect-ratio.d.ts +2 -2
  337. package/dist/ui/aspect-ratio.js +1 -1
  338. package/dist/ui/aspect-ratio.js.map +1 -1
  339. package/dist/ui/avatar.cjs.map +1 -1
  340. package/dist/ui/avatar.d.cts +4 -4
  341. package/dist/ui/avatar.d.ts +4 -4
  342. package/dist/ui/avatar.js.map +1 -1
  343. package/dist/ui/badge.cjs +1 -1
  344. package/dist/ui/badge.d.cts +5 -5
  345. package/dist/ui/badge.d.ts +5 -5
  346. package/dist/ui/badge.js +1 -1
  347. package/dist/ui/breadcrumb.cjs +1 -1
  348. package/dist/ui/breadcrumb.cjs.map +1 -1
  349. package/dist/ui/breadcrumb.d.cts +9 -9
  350. package/dist/ui/breadcrumb.d.ts +9 -9
  351. package/dist/ui/breadcrumb.js +1 -1
  352. package/dist/ui/breadcrumb.js.map +1 -1
  353. package/dist/ui/button.cjs +1 -1
  354. package/dist/ui/button.d.cts +1 -1
  355. package/dist/ui/button.d.ts +1 -1
  356. package/dist/ui/button.js +1 -1
  357. package/dist/ui/buttons/add-new.cjs +1 -1
  358. package/dist/ui/buttons/add-new.js +1 -1
  359. package/dist/ui/buttons/edit.cjs +1 -1
  360. package/dist/ui/buttons/edit.cjs.map +1 -1
  361. package/dist/ui/buttons/edit.js +1 -1
  362. package/dist/ui/buttons/edit.js.map +1 -1
  363. package/dist/ui/buttons/refresh.cjs +1 -1
  364. package/dist/ui/buttons/refresh.js +1 -1
  365. package/dist/ui/buttons/trash.cjs +1 -1
  366. package/dist/ui/buttons/trash.cjs.map +1 -1
  367. package/dist/ui/buttons/trash.js +1 -1
  368. package/dist/ui/buttons/trash.js.map +1 -1
  369. package/dist/ui/buttons/upload-image.cjs +1 -1
  370. package/dist/ui/buttons/upload-image.cjs.map +1 -1
  371. package/dist/ui/buttons/upload-image.js +1 -1
  372. package/dist/ui/buttons/upload-image.js.map +1 -1
  373. package/dist/ui/calendar.cjs +1 -1
  374. package/dist/ui/calendar.d.cts +5 -5
  375. package/dist/ui/calendar.d.ts +5 -5
  376. package/dist/ui/calendar.js +1 -1
  377. package/dist/ui/card.cjs +1 -1
  378. package/dist/ui/card.d.cts +8 -9
  379. package/dist/ui/card.d.ts +8 -9
  380. package/dist/ui/card.js +1 -1
  381. package/dist/ui/carousel.cjs +1 -1
  382. package/dist/ui/carousel.cjs.map +1 -1
  383. package/dist/ui/carousel.d.cts +8 -8
  384. package/dist/ui/carousel.d.ts +8 -8
  385. package/dist/ui/carousel.js +1 -1
  386. package/dist/ui/carousel.js.map +1 -1
  387. package/dist/ui/collapsible.cjs.map +1 -1
  388. package/dist/ui/collapsible.d.cts +4 -4
  389. package/dist/ui/collapsible.d.ts +4 -4
  390. package/dist/ui/collapsible.js.map +1 -1
  391. package/dist/ui/command.cjs +1 -1
  392. package/dist/ui/command.d.cts +2 -2
  393. package/dist/ui/command.d.ts +2 -2
  394. package/dist/ui/command.js +1 -1
  395. package/dist/ui/context-menu.cjs +1 -1
  396. package/dist/ui/context-menu.cjs.map +1 -1
  397. package/dist/ui/context-menu.d.cts +17 -17
  398. package/dist/ui/context-menu.d.ts +17 -17
  399. package/dist/ui/context-menu.js +1 -1
  400. package/dist/ui/context-menu.js.map +1 -1
  401. package/dist/ui/dialog.cjs +1 -1
  402. package/dist/ui/dialog.d.cts +1 -1
  403. package/dist/ui/dialog.d.ts +1 -1
  404. package/dist/ui/dialog.js +1 -1
  405. package/dist/ui/dropdown-menu.cjs +1 -1
  406. package/dist/ui/dropdown-menu.d.cts +17 -18
  407. package/dist/ui/dropdown-menu.d.ts +17 -18
  408. package/dist/ui/dropdown-menu.js +1 -1
  409. package/dist/ui/file-uploader.cjs +2 -2
  410. package/dist/ui/file-uploader.cjs.map +1 -1
  411. package/dist/ui/file-uploader.d.cts +5 -5
  412. package/dist/ui/file-uploader.d.ts +5 -5
  413. package/dist/ui/file-uploader.js +2 -2
  414. package/dist/ui/file-uploader.js.map +1 -1
  415. package/dist/ui/form.cjs +1 -1
  416. package/dist/ui/form.d.cts +7 -7
  417. package/dist/ui/form.d.ts +7 -7
  418. package/dist/ui/form.js +1 -1
  419. package/dist/ui/hover-card.cjs.map +1 -1
  420. package/dist/ui/hover-card.d.cts +4 -4
  421. package/dist/ui/hover-card.d.ts +4 -4
  422. package/dist/ui/hover-card.js.map +1 -1
  423. package/dist/ui/input-otp.cjs.map +1 -1
  424. package/dist/ui/input-otp.d.cts +6 -6
  425. package/dist/ui/input-otp.d.ts +6 -6
  426. package/dist/ui/input-otp.js.map +1 -1
  427. package/dist/ui/input.cjs +1 -1
  428. package/dist/ui/input.d.cts +1 -1
  429. package/dist/ui/input.d.ts +1 -1
  430. package/dist/ui/input.js +1 -1
  431. package/dist/ui/inputs/search-input.cjs +1 -1
  432. package/dist/ui/inputs/search-input.d.cts +3 -3
  433. package/dist/ui/inputs/search-input.d.ts +3 -3
  434. package/dist/ui/inputs/search-input.js +1 -1
  435. package/dist/ui/label.cjs +1 -1
  436. package/dist/ui/label.d.cts +2 -2
  437. package/dist/ui/label.d.ts +2 -2
  438. package/dist/ui/label.js +1 -1
  439. package/dist/ui/menubar.cjs +1 -1
  440. package/dist/ui/menubar.cjs.map +1 -1
  441. package/dist/ui/menubar.d.cts +18 -18
  442. package/dist/ui/menubar.d.ts +18 -18
  443. package/dist/ui/menubar.js +1 -1
  444. package/dist/ui/menubar.js.map +1 -1
  445. package/dist/ui/multi-select.cjs +1 -1
  446. package/dist/ui/multi-select.d.cts +4 -4
  447. package/dist/ui/multi-select.d.ts +4 -4
  448. package/dist/ui/multi-select.js +1 -1
  449. package/dist/ui/navigation-menu.cjs +1 -1
  450. package/dist/ui/navigation-menu.cjs.map +1 -1
  451. package/dist/ui/navigation-menu.d.cts +11 -11
  452. package/dist/ui/navigation-menu.d.ts +11 -11
  453. package/dist/ui/navigation-menu.js +1 -1
  454. package/dist/ui/navigation-menu.js.map +1 -1
  455. package/dist/ui/pagination.cjs +1 -1
  456. package/dist/ui/pagination.cjs.map +1 -1
  457. package/dist/ui/pagination.d.cts +10 -10
  458. package/dist/ui/pagination.d.ts +10 -10
  459. package/dist/ui/pagination.js +1 -1
  460. package/dist/ui/pagination.js.map +1 -1
  461. package/dist/ui/popover.cjs +1 -1
  462. package/dist/ui/popover.d.cts +5 -7
  463. package/dist/ui/popover.d.ts +5 -7
  464. package/dist/ui/popover.js +1 -1
  465. package/dist/ui/progress.cjs +1 -1
  466. package/dist/ui/progress.d.cts +2 -2
  467. package/dist/ui/progress.d.ts +2 -2
  468. package/dist/ui/progress.js +1 -1
  469. package/dist/ui/radio-group.cjs +1 -1
  470. package/dist/ui/radio-group.cjs.map +1 -1
  471. package/dist/ui/radio-group.d.cts +3 -3
  472. package/dist/ui/radio-group.d.ts +3 -3
  473. package/dist/ui/radio-group.js +1 -1
  474. package/dist/ui/radio-group.js.map +1 -1
  475. package/dist/ui/resizable.cjs.map +1 -1
  476. package/dist/ui/resizable.d.cts +4 -4
  477. package/dist/ui/resizable.d.ts +4 -4
  478. package/dist/ui/resizable.js.map +1 -1
  479. package/dist/ui/scroll-area.d.cts +3 -3
  480. package/dist/ui/scroll-area.d.ts +3 -3
  481. package/dist/ui/select.cjs +1 -1
  482. package/dist/ui/select.d.cts +12 -13
  483. package/dist/ui/select.d.ts +12 -13
  484. package/dist/ui/select.js +1 -1
  485. package/dist/ui/separator.cjs +1 -1
  486. package/dist/ui/separator.d.cts +1 -1
  487. package/dist/ui/separator.d.ts +1 -1
  488. package/dist/ui/separator.js +1 -1
  489. package/dist/ui/sheet.cjs +1 -1
  490. package/dist/ui/sheet.d.cts +10 -11
  491. package/dist/ui/sheet.d.ts +10 -11
  492. package/dist/ui/sheet.js +1 -1
  493. package/dist/ui/sidebar.cjs +1 -1
  494. package/dist/ui/sidebar.d.cts +43 -43
  495. package/dist/ui/sidebar.d.ts +43 -43
  496. package/dist/ui/sidebar.js +1 -1
  497. package/dist/ui/skeleton.cjs +1 -1
  498. package/dist/ui/skeleton.d.cts +2 -3
  499. package/dist/ui/skeleton.d.ts +2 -3
  500. package/dist/ui/skeleton.js +1 -1
  501. package/dist/ui/slider.cjs.map +1 -1
  502. package/dist/ui/slider.d.cts +2 -2
  503. package/dist/ui/slider.d.ts +2 -2
  504. package/dist/ui/slider.js.map +1 -1
  505. package/dist/ui/sonner.cjs +1 -1
  506. package/dist/ui/sonner.cjs.map +1 -1
  507. package/dist/ui/sonner.d.cts +2 -2
  508. package/dist/ui/sonner.d.ts +2 -2
  509. package/dist/ui/sonner.js +1 -1
  510. package/dist/ui/sonner.js.map +1 -1
  511. package/dist/ui/switch.cjs +1 -1
  512. package/dist/ui/switch.d.cts +2 -2
  513. package/dist/ui/switch.d.ts +2 -2
  514. package/dist/ui/switch.js +1 -1
  515. package/dist/ui/table.cjs +1 -1
  516. package/dist/ui/table.d.cts +9 -9
  517. package/dist/ui/table.d.ts +9 -9
  518. package/dist/ui/table.js +1 -1
  519. package/dist/ui/tabs.cjs +1 -1
  520. package/dist/ui/tabs.cjs.map +1 -1
  521. package/dist/ui/tabs.d.cts +5 -6
  522. package/dist/ui/tabs.d.ts +5 -6
  523. package/dist/ui/tabs.js +1 -1
  524. package/dist/ui/tabs.js.map +1 -1
  525. package/dist/ui/textarea.cjs +1 -1
  526. package/dist/ui/textarea.d.cts +3 -3
  527. package/dist/ui/textarea.d.ts +3 -3
  528. package/dist/ui/textarea.js +1 -1
  529. package/dist/ui/toggle-group.cjs +1 -1
  530. package/dist/ui/toggle-group.cjs.map +1 -1
  531. package/dist/ui/toggle-group.d.cts +4 -4
  532. package/dist/ui/toggle-group.d.ts +5 -5
  533. package/dist/ui/toggle-group.js +1 -1
  534. package/dist/ui/toggle-group.js.map +1 -1
  535. package/dist/ui/toggle.cjs +1 -1
  536. package/dist/ui/toggle.d.cts +1 -1
  537. package/dist/ui/toggle.d.ts +1 -1
  538. package/dist/ui/toggle.js +1 -1
  539. package/dist/ui/tooltip.cjs +1 -1
  540. package/dist/ui/tooltip.d.cts +1 -1
  541. package/dist/ui/tooltip.d.ts +1 -1
  542. package/dist/ui/tooltip.js +1 -1
  543. package/dist/utils-BsjVK5EW.cjs.map +1 -1
  544. package/dist/utils-D9AH0PUV.js.map +1 -1
  545. package/package.json +23 -2
  546. package/packages/components/cards/simple-card.tsx +11 -25
  547. package/packages/components/data-display/country.tsx +34 -40
  548. package/packages/components/data-display/data-list.tsx +15 -24
  549. package/packages/components/data-display/date-tooltip.tsx +9 -23
  550. package/packages/components/data-display/date.tsx +90 -148
  551. package/packages/components/data-display/empty.tsx +8 -20
  552. package/packages/components/data-display/name.tsx +9 -11
  553. package/packages/components/data-display/phone-number.tsx +7 -15
  554. package/packages/components/data-display/role-badge.tsx +21 -25
  555. package/packages/components/data-display/statistic.tsx +61 -63
  556. package/packages/components/dialogs/confirm-dialog.tsx +12 -19
  557. package/packages/components/dialogs/detail-dialog/component/header.tsx +3 -7
  558. package/packages/components/dialogs/detail-dialog/component/main.tsx +15 -19
  559. package/packages/components/dialogs/detail-dialog/component/sidebar.tsx +256 -385
  560. package/packages/components/dialogs/detail-dialog/component/wrapper.tsx +6 -8
  561. package/packages/components/dialogs/detail-dialog/index.tsx +26 -35
  562. package/packages/components/dialogs/error-dialog.tsx +14 -28
  563. package/packages/components/dialogs/form-dialog.tsx +27 -59
  564. package/packages/components/dialogs/loading-dialog.tsx +8 -11
  565. package/packages/components/forms/combobox-field.tsx +44 -81
  566. package/packages/components/forms/date-field.tsx +2 -5
  567. package/packages/components/forms/form-wrapper.tsx +45 -71
  568. package/packages/components/forms/multi-select-field.tsx +2 -2
  569. package/packages/components/forms/number-field.tsx +1 -3
  570. package/packages/components/forms/password-field.tsx +1 -1
  571. package/packages/components/forms/select-field.tsx +1 -1
  572. package/packages/components/forms/switch-field.tsx +2 -4
  573. package/packages/components/forms/text-field.tsx +3 -10
  574. package/packages/components/forms/textarea-field.tsx +3 -11
  575. package/packages/components/layouts/flex.tsx +55 -66
  576. package/packages/components/layouts/main/content.tsx +3 -3
  577. package/packages/components/layouts/main/header.tsx +15 -27
  578. package/packages/components/layouts/main/wrapper.tsx +3 -3
  579. package/packages/components/styles/base.css +29 -0
  580. package/packages/components/styles/loader.css +113 -0
  581. package/packages/components/styles/theme.css +103 -0
  582. package/packages/components/styles/typography.css +6 -0
  583. package/packages/components/table/data-table-pagination.tsx +15 -44
  584. package/packages/components/table/data-table.tsx +86 -173
  585. package/packages/components/table/index.tsx +31 -50
  586. package/packages/components/typography/paragraph.tsx +18 -21
  587. package/packages/components/typography/title.tsx +23 -28
  588. package/packages/components/ui/alert-dialog.tsx +44 -118
  589. package/packages/components/ui/alert.tsx +19 -46
  590. package/packages/components/ui/aspect-ratio.tsx +7 -16
  591. package/packages/components/ui/avatar.tsx +12 -39
  592. package/packages/components/ui/badge.tsx +35 -41
  593. package/packages/components/ui/breadcrumb.tsx +26 -62
  594. package/packages/components/ui/button.tsx +163 -46
  595. package/packages/components/ui/buttons/add-new.tsx +9 -16
  596. package/packages/components/ui/buttons/edit.tsx +7 -13
  597. package/packages/components/ui/buttons/refresh.tsx +10 -21
  598. package/packages/components/ui/buttons/trash.tsx +7 -13
  599. package/packages/components/ui/buttons/upload-image.tsx +10 -13
  600. package/packages/components/ui/calendar.tsx +56 -124
  601. package/packages/components/ui/card.tsx +21 -72
  602. package/packages/components/ui/carousel.tsx +79 -133
  603. package/packages/components/ui/checkbox.tsx +19 -29
  604. package/packages/components/ui/collapsible.tsx +10 -26
  605. package/packages/components/ui/command.tsx +65 -144
  606. package/packages/components/ui/context-menu.tsx +48 -110
  607. package/packages/components/ui/dialog.tsx +55 -110
  608. package/packages/components/ui/dropdown-menu.tsx +100 -169
  609. package/packages/components/ui/file-uploader.tsx +93 -151
  610. package/packages/components/ui/form.tsx +51 -115
  611. package/packages/components/ui/hover-card.tsx +12 -23
  612. package/packages/components/ui/input-otp.tsx +20 -29
  613. package/packages/components/ui/input.tsx +34 -34
  614. package/packages/components/ui/inputs/number-input.tsx +5 -13
  615. package/packages/components/ui/inputs/password-input.tsx +2 -8
  616. package/packages/components/ui/inputs/search-input.tsx +7 -7
  617. package/packages/components/ui/label.tsx +14 -17
  618. package/packages/components/ui/menubar.tsx +46 -109
  619. package/packages/components/ui/multi-select.tsx +250 -317
  620. package/packages/components/ui/navigation-menu.tsx +34 -80
  621. package/packages/components/ui/pagination.tsx +28 -86
  622. package/packages/components/ui/popover.tsx +28 -43
  623. package/packages/components/ui/progress.tsx +8 -19
  624. package/packages/components/ui/radio-group.tsx +19 -36
  625. package/packages/components/ui/resizable.tsx +14 -22
  626. package/packages/components/ui/scroll-area.tsx +14 -30
  627. package/packages/components/ui/select.tsx +94 -141
  628. package/packages/components/ui/separator.tsx +11 -13
  629. package/packages/components/ui/sheet.tsx +62 -98
  630. package/packages/components/ui/sidebar.tsx +287 -363
  631. package/packages/components/ui/skeleton.tsx +5 -12
  632. package/packages/components/ui/slider.tsx +11 -28
  633. package/packages/components/ui/sonner.tsx +20 -23
  634. package/packages/components/ui/switch.tsx +28 -34
  635. package/packages/components/ui/table.tsx +28 -80
  636. package/packages/components/ui/tabs.tsx +29 -61
  637. package/packages/components/ui/textarea.tsx +23 -24
  638. package/packages/components/ui/toggle-group.tsx +19 -28
  639. package/packages/components/ui/toggle.tsx +16 -29
  640. package/packages/components/ui/tooltip.tsx +26 -44
  641. package/packages/constants.tsx +16 -50
  642. package/packages/hooks/use-callback-ref.ts +7 -12
  643. package/packages/hooks/use-controllable-state.ts +37 -46
  644. package/packages/hooks/use-mobile.ts +11 -13
  645. package/packages/index.css +121 -381
  646. package/packages/lib/utils.ts +12 -16
  647. package/packages/stories/1.Guideline.mdx +3 -0
  648. package/packages/stories/2.Colors.mdx +145 -0
  649. package/packages/stories/3.Pypography.mdx +51 -0
  650. package/packages/stories/cards/simple-card.stories.tsx +24 -0
  651. package/packages/stories/data-display/data-list.stories.tsx +22 -0
  652. package/packages/stories/data-display/empty.stories.tsx +13 -0
  653. package/packages/stories/data-display/form-dialog.stories.tsx +27 -0
  654. package/packages/stories/data-display/name.stories.tsx +25 -0
  655. package/packages/stories/data-display/phone-number.stories.tsx +17 -0
  656. package/packages/stories/data-display/statistic.stories.tsx +41 -0
  657. package/packages/stories/dialogs/confirm-dialog.stories.tsx +26 -0
  658. package/packages/stories/dialogs/detail-dialog.stories.tsx +34 -0
  659. package/packages/stories/dialogs/error-dialog.stories.tsx +27 -0
  660. package/packages/stories/dialogs/loading-dialog.stories.tsx +16 -0
  661. package/packages/stories/forms/combobox-field.stories.tsx +38 -0
  662. package/packages/stories/forms/form-wrapper.stories.tsx +59 -0
  663. package/packages/stories/forms/multi-select-field.stories.tsx +42 -0
  664. package/packages/stories/forms/number-field.stories.tsx +35 -0
  665. package/packages/stories/forms/select-field.stories.tsx +39 -0
  666. package/packages/stories/forms/switch-field.stories.tsx +36 -0
  667. package/packages/stories/forms/text-field.stories.tsx +41 -0
  668. package/packages/stories/forms/textarea-field.stories.tsx +34 -0
  669. package/packages/stories/typography/paragraph.stories.tsx +45 -0
  670. package/packages/stories/typography/title.stories.tsx +39 -0
  671. package/packages/stories/ui/alert-dialog.stories.tsx +49 -0
  672. package/packages/stories/ui/alert.stories.tsx +63 -0
  673. package/packages/stories/ui/aspect-ratio.stories.tsx +22 -0
  674. package/packages/stories/ui/badge.stories.tsx +170 -0
  675. package/packages/stories/ui/breadcrumb.stories.tsx +172 -0
  676. package/packages/stories/ui/button.stories.tsx +181 -0
  677. package/packages/stories/ui/card.stories.tsx +58 -0
  678. package/packages/stories/ui/checkbox.stories.tsx +48 -0
  679. package/packages/stories/ui/command.stories.tsx +58 -0
  680. package/packages/stories/ui/dialog.stories.tsx +55 -0
  681. package/packages/stories/ui/dropdown-menu.stories.tsx +89 -0
  682. package/packages/stories/ui/file-uploader.stories.tsx +18 -0
  683. package/packages/stories/ui/input.stories.tsx +38 -0
  684. package/packages/stories/ui/label.stories.tsx +17 -0
  685. package/packages/stories/ui/multi-select.stories.tsx +29 -0
  686. package/packages/stories/ui/popover.stories.tsx +52 -0
  687. package/packages/stories/ui/progress.stories.tsx +17 -0
  688. package/packages/stories/ui/radio-group.stories.tsx +31 -0
  689. package/packages/stories/ui/select.stories.tsx +31 -0
  690. package/packages/stories/ui/separator.stories.tsx +31 -0
  691. package/packages/stories/ui/sheet.stories.tsx +50 -0
  692. package/packages/stories/ui/skeleton.stories.tsx +27 -0
  693. package/packages/stories/ui/switch.stories.tsx +21 -0
  694. package/packages/stories/ui/table.stories.tsx +82 -0
  695. package/packages/stories/ui/tabs.stories.tsx +70 -0
  696. package/packages/stories/ui/textarea.stories.tsx +15 -0
  697. package/packages/stories/ui/toaster.stories.tsx +87 -0
  698. package/packages/types.ts +32 -32
  699. package/dist/add-new-BTpI7Ph7.cjs.map +0 -1
  700. package/dist/add-new-DmwkHRmn.js +0 -2
  701. package/dist/add-new-DmwkHRmn.js.map +0 -1
  702. package/dist/alert-dialog-6r43mVE-.js +0 -2
  703. package/dist/alert-dialog-6r43mVE-.js.map +0 -1
  704. package/dist/alert-dialog-DEOx5Psb.cjs +0 -2
  705. package/dist/alert-dialog-DEOx5Psb.cjs.map +0 -1
  706. package/dist/badge-DHRQ-uwY.cjs.map +0 -1
  707. package/dist/badge-bLqn3EB9.js.map +0 -1
  708. package/dist/button-BgNGzTUH.cjs +0 -2
  709. package/dist/button-BgNGzTUH.cjs.map +0 -1
  710. package/dist/button-DFvetIX8.js +0 -2
  711. package/dist/button-DFvetIX8.js.map +0 -1
  712. package/dist/calendar-BG-jrCZc.js.map +0 -1
  713. package/dist/calendar-Cck0PPMB.cjs.map +0 -1
  714. package/dist/card-D8cxRC5y.js +0 -2
  715. package/dist/card-D8cxRC5y.js.map +0 -1
  716. package/dist/card-Dta5eW8u.cjs +0 -2
  717. package/dist/card-Dta5eW8u.cjs.map +0 -1
  718. package/dist/command-Bfx_Gzjv.cjs +0 -2
  719. package/dist/command-Bfx_Gzjv.cjs.map +0 -1
  720. package/dist/command-ClNBSZd3.js +0 -2
  721. package/dist/command-ClNBSZd3.js.map +0 -1
  722. package/dist/date-B1g1OMYc.js.map +0 -1
  723. package/dist/date-Cw6Jf7k6.cjs.map +0 -1
  724. package/dist/dialog-Bh4dL0ew.cjs +0 -2
  725. package/dist/dialog-Bh4dL0ew.cjs.map +0 -1
  726. package/dist/dialog-CzSIPgHw.js +0 -2
  727. package/dist/dialog-CzSIPgHw.js.map +0 -1
  728. package/dist/dropdown-menu-DTFOCPH_.js +0 -2
  729. package/dist/dropdown-menu-DTFOCPH_.js.map +0 -1
  730. package/dist/dropdown-menu-qX11mJ9V.cjs +0 -2
  731. package/dist/dropdown-menu-qX11mJ9V.cjs.map +0 -1
  732. package/dist/error-dialog-Dg_OHJlH.js.map +0 -1
  733. package/dist/error-dialog-OeWIgIvF.cjs.map +0 -1
  734. package/dist/flex-B5MQmxX8.cjs.map +0 -1
  735. package/dist/flex-CBAzUoXK.js.map +0 -1
  736. package/dist/form-BMnG2xLt.js.map +0 -1
  737. package/dist/form-BbU1TIro.cjs.map +0 -1
  738. package/dist/form-wrapper-DeSGl64P.cjs.map +0 -1
  739. package/dist/form-wrapper-wHzrskjb.js.map +0 -1
  740. package/dist/input-B030EUY5.js +0 -2
  741. package/dist/input-B030EUY5.js.map +0 -1
  742. package/dist/input-mUjZrK2c.cjs +0 -2
  743. package/dist/input-mUjZrK2c.cjs.map +0 -1
  744. package/dist/label-BrGRueFm.js +0 -2
  745. package/dist/label-BrGRueFm.js.map +0 -1
  746. package/dist/label-Cmi31X9c.cjs +0 -2
  747. package/dist/label-Cmi31X9c.cjs.map +0 -1
  748. package/dist/multi-select-BOmq9vOB.cjs +0 -2
  749. package/dist/multi-select-BOmq9vOB.cjs.map +0 -1
  750. package/dist/multi-select-CEU50SQU.js +0 -2
  751. package/dist/multi-select-CEU50SQU.js.map +0 -1
  752. package/dist/paragraph-CuR_8J0O.js +0 -2
  753. package/dist/paragraph-CuR_8J0O.js.map +0 -1
  754. package/dist/paragraph-D-nYwoh7.cjs +0 -2
  755. package/dist/paragraph-D-nYwoh7.cjs.map +0 -1
  756. package/dist/popover-BD0lz8Fh.cjs +0 -2
  757. package/dist/popover-BD0lz8Fh.cjs.map +0 -1
  758. package/dist/popover-DJnARyyO.js +0 -2
  759. package/dist/popover-DJnARyyO.js.map +0 -1
  760. package/dist/progress-Bu1_efDo.cjs +0 -2
  761. package/dist/progress-Bu1_efDo.cjs.map +0 -1
  762. package/dist/progress-CeXKNvJc.js +0 -2
  763. package/dist/progress-CeXKNvJc.js.map +0 -1
  764. package/dist/refresh-H87p0PFk.cjs.map +0 -1
  765. package/dist/refresh-h_6T8REa.js +0 -2
  766. package/dist/refresh-h_6T8REa.js.map +0 -1
  767. package/dist/search-input-BUIwdK4e.js.map +0 -1
  768. package/dist/search-input-DXh-cAVU.cjs.map +0 -1
  769. package/dist/select-C82socRt.cjs +0 -2
  770. package/dist/select-C82socRt.cjs.map +0 -1
  771. package/dist/select-pBujVa9I.js +0 -2
  772. package/dist/select-pBujVa9I.js.map +0 -1
  773. package/dist/separator-Bi0LBh7T.cjs +0 -2
  774. package/dist/separator-Bi0LBh7T.cjs.map +0 -1
  775. package/dist/separator-DMdqEz29.js +0 -2
  776. package/dist/separator-DMdqEz29.js.map +0 -1
  777. package/dist/sheet-2JqHfdYi.js +0 -2
  778. package/dist/sheet-2JqHfdYi.js.map +0 -1
  779. package/dist/sheet-CjCT1GXK.cjs +0 -2
  780. package/dist/sheet-CjCT1GXK.cjs.map +0 -1
  781. package/dist/sidebar-99vu8Xl2.cjs +0 -2
  782. package/dist/sidebar-99vu8Xl2.cjs.map +0 -1
  783. package/dist/sidebar-Ci1XCkoo.cjs +0 -2
  784. package/dist/sidebar-Ci1XCkoo.cjs.map +0 -1
  785. package/dist/sidebar-acyFs4AU.js +0 -2
  786. package/dist/sidebar-acyFs4AU.js.map +0 -1
  787. package/dist/sidebar-b8PM_MQy.js +0 -2
  788. package/dist/sidebar-b8PM_MQy.js.map +0 -1
  789. package/dist/skeleton-D1_Brnl9.js +0 -2
  790. package/dist/skeleton-D1_Brnl9.js.map +0 -1
  791. package/dist/skeleton-DkSs2Vh3.cjs +0 -2
  792. package/dist/skeleton-DkSs2Vh3.cjs.map +0 -1
  793. package/dist/switch-CF4DRW_3.cjs +0 -2
  794. package/dist/switch-CF4DRW_3.cjs.map +0 -1
  795. package/dist/switch-_VCthKr7.js +0 -2
  796. package/dist/switch-_VCthKr7.js.map +0 -1
  797. package/dist/table-B7URcTid.cjs +0 -2
  798. package/dist/table-B7URcTid.cjs.map +0 -1
  799. package/dist/table-DrnU8YJP.js +0 -2
  800. package/dist/table-DrnU8YJP.js.map +0 -1
  801. package/dist/textarea--5AtST9C.js +0 -2
  802. package/dist/textarea--5AtST9C.js.map +0 -1
  803. package/dist/textarea-pwK3zC15.cjs +0 -2
  804. package/dist/textarea-pwK3zC15.cjs.map +0 -1
  805. package/dist/title-CA6PvqiD.js.map +0 -1
  806. package/dist/title-DrIfj31i.cjs.map +0 -1
  807. package/dist/toggle-BA0PLIVa.js.map +0 -1
  808. package/dist/toggle-Ddewmqst.cjs.map +0 -1
  809. package/dist/tooltip-CG3D3TIL.cjs +0 -2
  810. package/dist/tooltip-CG3D3TIL.cjs.map +0 -1
  811. package/dist/tooltip-DvNio7Zt.js +0 -2
  812. package/dist/tooltip-DvNio7Zt.js.map +0 -1
  813. package/dist/types-BVNbk1ZN.js.map +0 -1
  814. package/dist/types-CnMfjcgO.cjs.map +0 -1
@@ -1,16 +1,13 @@
1
- "use client";
2
- import React from "react";
3
- import { FileText, Image, Trash2, Upload } from "lucide-react";
4
- import Dropzone, {
5
- type DropzoneProps,
6
- type FileRejection,
7
- } from "react-dropzone";
8
- import { toast } from "sonner";
9
-
10
- import { Button } from "@/components/ui/button";
11
- import { Progress } from "@/components/ui/progress";
12
- import { useControllableState } from "@/hooks/use-controllable-state";
13
- import { cn, formatBytes } from "@/lib/utils";
1
+ 'use client'
2
+ import React from 'react'
3
+ import { FileText, Image, Trash2, Upload } from 'lucide-react'
4
+ import Dropzone, { type DropzoneProps, type FileRejection } from 'react-dropzone'
5
+ import { toast } from 'sonner'
6
+
7
+ import { Button } from '@/components/ui/button'
8
+ import { Progress } from '@/components/ui/progress'
9
+ import { useControllableState } from '@/hooks/use-controllable-state'
10
+ import { cn, formatBytes } from '@/lib/utils'
14
11
 
15
12
  interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
16
13
  /**
@@ -19,7 +16,7 @@ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
19
16
  * @default undefined
20
17
  * @example value={files}
21
18
  */
22
- value?: File[];
19
+ value?: File[]
23
20
 
24
21
  /**
25
22
  * Function to be called when the value changes.
@@ -27,7 +24,7 @@ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
27
24
  * @default undefined
28
25
  * @example onValueChange={(files) => setFiles(files)}
29
26
  */
30
- onValueChange?: (files: File[]) => void;
27
+ onValueChange?: (files: File[]) => void
31
28
 
32
29
  /**
33
30
  * Function to be called when files are uploaded.
@@ -35,7 +32,7 @@ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
35
32
  * @default undefined
36
33
  * @example onUpload={(files) => uploadFiles(files)}
37
34
  */
38
- onUpload?: (files: File[]) => Promise<void>;
35
+ onUpload?: (files: File[]) => Promise<void>
39
36
 
40
37
  /**
41
38
  * Progress of the uploaded files.
@@ -43,7 +40,7 @@ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
43
40
  * @default undefined
44
41
  * @example progresses={{ "file1.png": 50 }}
45
42
  */
46
- progresses?: Record<string, number>;
43
+ progresses?: Record<string, number>
47
44
 
48
45
  /**
49
46
  * Accepted file types for the uploader.
@@ -54,7 +51,7 @@ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
54
51
  * ```
55
52
  * @example accept={["image/png", "image/jpeg"]}
56
53
  */
57
- accept?: DropzoneProps["accept"];
54
+ accept?: DropzoneProps['accept']
58
55
 
59
56
  /**
60
57
  * Maximum file size for the uploader.
@@ -62,7 +59,7 @@ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
62
59
  * @default 1024 * 1024 * 2 // 2MB
63
60
  * @example maxSize={1024 * 1024 * 2} // 2MB
64
61
  */
65
- maxSize?: DropzoneProps["maxSize"];
62
+ maxSize?: DropzoneProps['maxSize']
66
63
 
67
64
  /**
68
65
  * Maximum number of files for the uploader.
@@ -70,7 +67,7 @@ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
70
67
  * @default 1
71
68
  * @example maxFileCount={4}
72
69
  */
73
- maxFileCount?: DropzoneProps["maxFiles"];
70
+ maxFileCount?: DropzoneProps['maxFiles']
74
71
 
75
72
  /**
76
73
  * Whether the uploader should accept multiple files.
@@ -78,7 +75,7 @@ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
78
75
  * @default false
79
76
  * @example multiple
80
77
  */
81
- multiple?: boolean;
78
+ multiple?: boolean
82
79
 
83
80
  /**
84
81
  * Whether the uploader is disabled.
@@ -86,10 +83,10 @@ interface FileUploaderProps extends React.HTMLAttributes<HTMLDivElement> {
86
83
  * @default false
87
84
  * @example disabled
88
85
  */
89
- disabled?: boolean;
86
+ disabled?: boolean
90
87
 
91
- showText?: boolean;
92
- iconSize?: number;
88
+ showText?: boolean
89
+ iconSize?: number
93
90
  }
94
91
 
95
92
  export function FileUploader(props: FileUploaderProps) {
@@ -99,7 +96,7 @@ export function FileUploader(props: FileUploaderProps) {
99
96
  onUpload,
100
97
  progresses,
101
98
  accept = {
102
- "image/*": [],
99
+ 'image/*': [],
103
100
  },
104
101
  maxSize = 1024 * 1024 * 2,
105
102
  maxFileCount = 1,
@@ -109,112 +106,100 @@ export function FileUploader(props: FileUploaderProps) {
109
106
  iconSize,
110
107
  className,
111
108
  ...dropzoneProps
112
- } = props;
109
+ } = props
113
110
 
114
111
  const [files, setFiles] = useControllableState({
115
112
  prop: valueProp,
116
113
  onChange: onValueChange,
117
- });
114
+ })
118
115
 
119
116
  const onDrop = React.useCallback(
120
117
  (acceptedFiles: File[], rejectedFiles: FileRejection[]) => {
121
118
  if (!multiple && maxFileCount === 1 && acceptedFiles.length > 1) {
122
- toast.error("Cannot upload more than 1 file at a time");
119
+ toast.error('Cannot upload more than 1 file at a time')
123
120
 
124
- return;
121
+ return
125
122
  }
126
123
 
127
124
  if ((files?.length ?? 0) + acceptedFiles.length > maxFileCount) {
128
- toast.error(`Cannot upload more than ${maxFileCount} files`);
129
- return;
125
+ toast.error(`Cannot upload more than ${maxFileCount} files`)
126
+ return
130
127
  }
131
128
 
132
129
  const newFiles = acceptedFiles.map((file) =>
133
130
  Object.assign(file, {
134
131
  preview: URL.createObjectURL(file),
135
132
  }),
136
- );
133
+ )
137
134
 
138
- const updatedFiles = files ? [...files, ...newFiles] : newFiles;
135
+ const updatedFiles = files ? [...files, ...newFiles] : newFiles
139
136
 
140
- setFiles(updatedFiles);
137
+ setFiles(updatedFiles)
141
138
 
142
139
  if (rejectedFiles.length > 0) {
143
140
  rejectedFiles.forEach(({ file }) => {
144
- toast.error(`File ${file.name} was rejected`);
145
- });
141
+ toast.error(`File ${file.name} was rejected`)
142
+ })
146
143
  }
147
144
 
148
- if (
149
- onUpload &&
150
- updatedFiles.length > 0 &&
151
- updatedFiles.length <= maxFileCount
152
- ) {
153
- const target =
154
- updatedFiles.length > 0 ? `${updatedFiles.length} files` : `file`;
145
+ if (onUpload && updatedFiles.length > 0 && updatedFiles.length <= maxFileCount) {
146
+ const target = updatedFiles.length > 0 ? `${updatedFiles.length} files` : `file`
155
147
 
156
148
  onUpload(updatedFiles).then(() => {
157
- setFiles([]);
158
- toast(`${target} uploaded`);
159
- });
149
+ setFiles([])
150
+ toast(`${target} uploaded`)
151
+ })
160
152
  }
161
153
  },
162
154
 
163
155
  [files, maxFileCount, multiple, onUpload, setFiles],
164
- );
156
+ )
165
157
 
166
158
  function onRemove(index: number) {
167
- if (!files) return;
159
+ if (!files) return
168
160
 
169
161
  if (isFileWithPreview(files[index])) {
170
- URL.revokeObjectURL(files[index].preview);
162
+ URL.revokeObjectURL(files[index].preview)
171
163
  }
172
164
 
173
- const newFiles = files.filter((_, i) => i !== index);
174
- setFiles(newFiles);
175
- onValueChange?.(newFiles);
165
+ const newFiles = files.filter((_, i) => i !== index)
166
+ setFiles(newFiles)
167
+ onValueChange?.(newFiles)
176
168
  }
177
169
 
178
170
  // Revoke preview url when component unmounts
179
171
  React.useEffect(() => {
180
172
  return () => {
181
- if (!files) return;
173
+ if (!files) return
182
174
  files.forEach((file) => {
183
175
  if (isFileWithPreview(file)) {
184
- URL.revokeObjectURL(file.preview);
176
+ URL.revokeObjectURL(file.preview)
185
177
  }
186
- });
187
- };
178
+ })
179
+ }
188
180
  // eslint-disable-next-line react-hooks/exhaustive-deps
189
- }, []);
181
+ }, [])
190
182
 
191
- const isDisabled = disabled || (files?.length ?? 0) >= maxFileCount;
183
+ const isDisabled = disabled || (files?.length ?? 0) >= maxFileCount
192
184
 
193
185
  return (
194
186
  <div className="relative flex w-full flex-col gap-6">
195
- <Dropzone
196
- onDrop={onDrop}
197
- accept={accept}
198
- maxSize={maxSize}
199
- maxFiles={maxFileCount}
200
- multiple={maxFileCount > 1 || multiple}
201
- disabled={isDisabled}
202
- >
187
+ <Dropzone onDrop={onDrop} accept={accept} maxSize={maxSize} maxFiles={maxFileCount} multiple={maxFileCount > 1 || multiple} disabled={isDisabled}>
203
188
  {({ getRootProps, getInputProps, isDragActive }) => (
204
189
  <div
205
190
  {...getRootProps()}
206
191
  className={cn(
207
- "group",
208
- "border-muted-foreground/25",
209
- "hover:bg-muted/25",
210
- "relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition",
211
- "ring-offset-background",
212
- "focus-visible:ring-ring",
213
- "focus-visible:ring-2",
214
- "focus-visible:ring-offset-2",
215
- "focus-visible:outline-hidden",
216
- isDragActive && "border-muted-foreground/50",
217
- isDisabled && "pointer-events-none opacity-60",
192
+ 'group',
193
+ 'border-border-weak',
194
+ 'hover:bg-border-weak/20',
195
+ 'relative grid h-52 w-full cursor-pointer place-items-center rounded-lg border-2 border-dashed px-5 py-2.5 text-center transition',
196
+ 'ring-offset-background',
197
+ 'focus-visible:ring-primary-weak',
198
+ 'focus-visible:ring-2',
199
+ 'focus-visible:ring-offset-2',
200
+ 'focus-visible:outline-hidden',
201
+ isDragActive && 'border-border-primary-strong bg-border-weak/40',
202
+ isDisabled && 'pointer-events-none opacity-60',
218
203
  className,
219
204
  )}
220
205
  {...dropzoneProps}
@@ -223,33 +208,22 @@ export function FileUploader(props: FileUploaderProps) {
223
208
  {isDragActive ? (
224
209
  <div className="flex flex-col items-center justify-center gap-4 sm:px-5">
225
210
  <div className="rounded-full border border-dashed p-3">
226
- <Upload
227
- className="text-muted-foreground size-7"
228
- aria-hidden="true"
229
- />
211
+ <Upload className="text-text-positive-muted size-7" aria-hidden="true" />
230
212
  </div>
231
- <p className="text-muted-foreground font-medium">
232
- Drop the files here
233
- </p>
213
+ <p className="text-text-positive-muted font-medium">Drop the files here</p>
234
214
  </div>
235
215
  ) : (
236
216
  <div className="flex flex-col items-center justify-center gap-4 sm:px-5">
237
217
  <div className="rounded-full border border-dashed p-3">
238
- <Upload
239
- size={iconSize || 24}
240
- className="text-muted-foreground"
241
- aria-hidden="true"
242
- />
218
+ <Upload size={iconSize || 24} className="text-muted-foreground" aria-hidden="true" />
243
219
  </div>
244
220
  {showText && (
245
221
  <div className="flex flex-col gap-px">
246
- <p className="text-muted-foreground text-xs font-medium">
247
- Drag {`'n'`} drop files here, or click to select files
248
- </p>
249
- <p className="text-muted-foreground/70 text-xs">
222
+ <p className="text-text-positive-weak text-xs font-medium">Drag {`'n'`} drop files here, or click to select files</p>
223
+ <p className="text-text-positive-muted text-xs">
250
224
  You can upload
251
225
  {maxFileCount > 1
252
- ? ` ${maxFileCount === Infinity ? "multiple" : maxFileCount}
226
+ ? ` ${maxFileCount === Infinity ? 'multiple' : maxFileCount}
253
227
  files (up to ${formatBytes(maxSize)} each)`
254
228
  : ` a file with ${formatBytes(maxSize)}`}
255
229
  </p>
@@ -263,23 +237,20 @@ export function FileUploader(props: FileUploaderProps) {
263
237
  {files?.length ? (
264
238
  <div className="h-fit w-full overflow-y-auto">
265
239
  <div className="flex items-center justify-between px-3 py-2.5">
266
- <div className="flex items-center gap-1">
267
- <Image
268
- className="text-muted-foreground size-4"
269
- aria-hidden="true"
270
- />
240
+ <div className="text-text-positive-weak flex items-center gap-1">
241
+ <Image size={16} aria-hidden="true" />
271
242
  <p className="text-sm">Ảnh đã tải lên ({files.length})</p>
272
243
  </div>
273
244
  <button
274
- className="hover:text-muted-foreground text-muted-foreground/60 flex cursor-pointer items-center gap-1 transition-colors duration-200"
245
+ className="hover:text-text-positive text-text-positive-muted flex cursor-pointer items-center gap-1 transition-colors duration-200"
275
246
  onClick={() => {
276
- if (!files) return;
247
+ if (!files) return
277
248
  files.forEach((file) => {
278
- if (!isFileWithPreview(file)) return;
279
- URL.revokeObjectURL(file.preview);
280
- });
281
- setFiles([]);
282
- onValueChange?.([]);
249
+ if (!isFileWithPreview(file)) return
250
+ URL.revokeObjectURL(file.preview)
251
+ })
252
+ setFiles([])
253
+ onValueChange?.([])
283
254
  }}
284
255
  >
285
256
  <Trash2 size={16} aria-hidden="true" />
@@ -288,85 +259,56 @@ export function FileUploader(props: FileUploaderProps) {
288
259
  </div>
289
260
  <div className="flex flex-col gap-2.5">
290
261
  {files?.map((file, index) => (
291
- <FileCard
292
- key={index}
293
- file={file}
294
- onRemove={() => onRemove(index)}
295
- progress={progresses?.[file.name]}
296
- />
262
+ <FileCard key={index} file={file} onRemove={() => onRemove(index)} progress={progresses?.[file.name]} />
297
263
  ))}
298
264
  </div>
299
265
  </div>
300
266
  ) : null}
301
267
  </div>
302
- );
268
+ )
303
269
  }
304
270
 
305
271
  interface FileCardProps {
306
- file: File;
307
- onRemove: () => void;
308
- progress?: number;
272
+ file: File
273
+ onRemove: () => void
274
+ progress?: number
309
275
  }
310
276
 
311
277
  function FileCard({ file, progress, onRemove }: FileCardProps) {
312
278
  return (
313
- <div className="border-border/40 hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs">
279
+ <div className="border-border-weak hover:border-border relative flex items-center gap-4 rounded-md border py-2 pr-3 pl-2 shadow-xs transition-colors">
314
280
  <div className="flex flex-1 gap-2.5">
315
281
  {isFileWithPreview(file) ? <FilePreview file={file} /> : null}
316
282
  <div className="flex w-full flex-col gap-2">
317
283
  <div className="flex flex-col gap-y-0.5">
318
- <p className="text-accent-foreground line-clamp-1 text-sm">
319
- {file.name}
320
- </p>
321
- <p className="text-muted-foreground text-xs">
322
- {formatBytes(file.size)}
323
- </p>
284
+ <p className="text-text-positive line-clamp-1 text-sm">{file.name}</p>
285
+ <p className="text-text-positive-muted text-xs">{formatBytes(file.size)}</p>
324
286
  </div>
325
287
  {progress ? <Progress value={progress} /> : null}
326
288
  </div>
327
289
  </div>
328
290
  <div className="flex items-center gap-2">
329
- <Button
330
- type="button"
331
- variant="ghost"
332
- size="icon"
333
- className="size-7"
334
- onClick={onRemove}
335
- >
336
- <Trash2
337
- size={16}
338
- className="text-muted-foreground/60"
339
- aria-hidden="true"
340
- />
291
+ <Button type="button" variant="ghost" color="secondary" size="icon" className="size-7" onClick={onRemove}>
292
+ <Trash2 size={16} className="text-text-positive-muted" aria-hidden="true" />
341
293
  <span className="sr-only">Remove file</span>
342
294
  </Button>
343
295
  </div>
344
296
  </div>
345
- );
297
+ )
346
298
  }
347
299
 
348
300
  function isFileWithPreview(file: File): file is File & { preview: string } {
349
- return "preview" in file && typeof file.preview === "string";
301
+ return 'preview' in file && typeof file.preview === 'string'
350
302
  }
351
303
 
352
304
  interface FilePreviewProps {
353
- file: File & { preview: string };
305
+ file: File & { preview: string }
354
306
  }
355
307
 
356
308
  function FilePreview({ file }: FilePreviewProps) {
357
- if (file.type.startsWith("image/")) {
358
- return (
359
- <img
360
- src={file.preview}
361
- className="border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm"
362
- />
363
- );
309
+ if (file.type.startsWith('image/')) {
310
+ return <img src={file.preview} className="border-border aspect-square size-10 shrink-0 rounded border object-cover object-top shadow-sm" />
364
311
  }
365
312
 
366
- return (
367
- <FileText
368
- className="text-muted-foreground size-10 border"
369
- aria-hidden="true"
370
- />
371
- );
313
+ return <FileText className="text-text-positive-muted size-10 border" aria-hidden="true" />
372
314
  }
@@ -1,57 +1,41 @@
1
- "use client";
2
- import React from "react";
3
- import {
4
- Controller,
5
- type ControllerProps,
6
- type FieldPath,
7
- type FieldValues,
8
- FormProvider,
9
- useFormContext,
10
- useFormState,
11
- } from "react-hook-form";
12
- import { Label as LabelPrimitive, Slot as SlotPrimitive } from "radix-ui";
13
-
14
- import { Label } from "@/components/ui/label";
15
- import { cn } from "@/lib/utils";
16
-
17
- const Form = FormProvider;
18
-
19
- type FormFieldContextValue<
20
- TFieldValues extends FieldValues = FieldValues,
21
- TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
22
- > = {
23
- name: TName;
24
- };
25
-
26
- const FormFieldContext = React.createContext<FormFieldContextValue>(
27
- {} as FormFieldContextValue,
28
- );
29
-
30
- const FormField = <
31
- TFieldValues extends FieldValues = FieldValues,
32
- TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
33
- >({
1
+ 'use client'
2
+ import React from 'react'
3
+ import { Controller, type ControllerProps, type FieldPath, type FieldValues, FormProvider, useFormContext, useFormState } from 'react-hook-form'
4
+ import { Label as LabelPrimitive, Slot as SlotPrimitive } from 'radix-ui'
5
+
6
+ import { Label } from '@/components/ui/label'
7
+ import { cn } from '@/lib/utils'
8
+
9
+ const Form = FormProvider
10
+
11
+ type FormFieldContextValue<TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = {
12
+ name: TName
13
+ }
14
+
15
+ const FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue)
16
+
17
+ const FormField = <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({
34
18
  ...props
35
19
  }: ControllerProps<TFieldValues, TName>) => {
36
20
  return (
37
21
  <FormFieldContext.Provider value={{ name: props.name }}>
38
22
  <Controller {...props} />
39
23
  </FormFieldContext.Provider>
40
- );
41
- };
24
+ )
25
+ }
42
26
 
43
27
  const useFormField = () => {
44
- const fieldContext = React.useContext(FormFieldContext);
45
- const itemContext = React.useContext(FormItemContext);
46
- const { getFieldState, control, resetField } = useFormContext();
47
- const formState = useFormState({ name: fieldContext.name });
48
- const fieldState = getFieldState(fieldContext.name, formState);
28
+ const fieldContext = React.useContext(FormFieldContext)
29
+ const itemContext = React.useContext(FormItemContext)
30
+ const { getFieldState, control, resetField } = useFormContext()
31
+ const formState = useFormState({ name: fieldContext.name })
32
+ const fieldState = getFieldState(fieldContext.name, formState)
49
33
 
50
34
  if (!fieldContext) {
51
- throw new Error("useFormField should be used within <FormField>");
35
+ throw new Error('useFormField should be used within <FormField>')
52
36
  }
53
37
 
54
- const { id } = itemContext;
38
+ const { id } = itemContext
55
39
 
56
40
  return {
57
41
  id,
@@ -62,107 +46,59 @@ const useFormField = () => {
62
46
  formDescriptionId: `${id}-form-item-description`,
63
47
  formMessageId: `${id}-form-item-message`,
64
48
  ...fieldState,
65
- };
66
- };
49
+ }
50
+ }
67
51
 
68
52
  type FormItemContextValue = {
69
- id: string;
70
- };
53
+ id: string
54
+ }
71
55
 
72
- const FormItemContext = React.createContext<FormItemContextValue>(
73
- {} as FormItemContextValue,
74
- );
56
+ const FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue)
75
57
 
76
- function FormItem({ className, ...props }: React.ComponentProps<"div">) {
77
- const id = React.useId();
58
+ function FormItem({ className, ...props }: React.ComponentProps<'div'>) {
59
+ const id = React.useId()
78
60
 
79
61
  return (
80
62
  <FormItemContext.Provider value={{ id }}>
81
- <div
82
- data-slot="form-item"
83
- className={cn("grid gap-1", className)}
84
- {...props}
85
- />
63
+ <div data-slot="form-item" className={cn('grid gap-1', className)} {...props} />
86
64
  </FormItemContext.Provider>
87
- );
65
+ )
88
66
  }
89
67
 
90
- function FormLabel({
91
- className,
92
- ...props
93
- }: React.ComponentProps<typeof LabelPrimitive.Root>) {
94
- const { formItemId } = useFormField();
95
- return (
96
- <Label
97
- data-slot="form-label"
98
- className={cn("text-xs", className)}
99
- htmlFor={formItemId}
100
- {...props}
101
- />
102
- );
68
+ function FormLabel({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>) {
69
+ const { formItemId } = useFormField()
70
+ return <Label data-slot="form-label" className={cn('text-xs', className)} htmlFor={formItemId} {...props} />
103
71
  }
104
72
 
105
- function FormControl({
106
- ...props
107
- }: React.ComponentProps<typeof SlotPrimitive.Slot>) {
108
- const { error, formItemId, formDescriptionId, formMessageId } =
109
- useFormField();
73
+ function FormControl({ ...props }: React.ComponentProps<typeof SlotPrimitive.Slot>) {
74
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField()
110
75
 
111
76
  return (
112
77
  <SlotPrimitive.Slot
113
78
  data-slot="form-control"
114
79
  id={formItemId}
115
- aria-describedby={
116
- !error
117
- ? `${formDescriptionId}`
118
- : `${formDescriptionId} ${formMessageId}`
119
- }
80
+ aria-describedby={!error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`}
120
81
  aria-invalid={!!error}
121
82
  {...props}
122
83
  />
123
- );
84
+ )
124
85
  }
125
86
 
126
- function FormDescription({ className, ...props }: React.ComponentProps<"p">) {
127
- const { formDescriptionId } = useFormField();
87
+ function FormDescription({ className, ...props }: React.ComponentProps<'p'>) {
88
+ const { formDescriptionId } = useFormField()
128
89
 
129
- return (
130
- <p
131
- data-slot="form-description"
132
- id={formDescriptionId}
133
- className={cn("text-muted-foreground text-sm", className)}
134
- {...props}
135
- />
136
- );
90
+ return <p data-slot="form-description" id={formDescriptionId} className={cn('text-text-positive-muted text-sm', className)} {...props} />
137
91
  }
138
92
 
139
- function FormMessage({
140
- className,
141
- children,
142
- ...props
143
- }: React.ComponentProps<"p">) {
144
- const { error, formMessageId } = useFormField();
93
+ function FormMessage({ className, children, ...props }: React.ComponentProps<'p'>) {
94
+ const { error, formMessageId } = useFormField()
145
95
 
146
96
  return (
147
- <span
148
- data-slot="form-message"
149
- id={formMessageId}
150
- className={cn("text-destructive text-xs", className)}
151
- {...props}
152
- >
153
- {error ? String(error?.message ?? "") : children}
97
+ <span data-slot="form-message" id={formMessageId} className={cn('text-danger text-xs', className)} {...props}>
98
+ {error ? String(error?.message ?? '') : children}
154
99
  </span>
155
- );
100
+ )
156
101
  }
157
102
 
158
103
  // eslint-disable-next-line react-refresh/only-export-components
159
- export {
160
- Form,
161
- FormControl,
162
- FormDescription,
163
- FormField,
164
- FormItem,
165
- FormLabel,
166
- FormMessage,
167
- useFormField,
168
- };
104
+ export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField }