@xjur-ui/react 2.0.0 → 2.1.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 (457) hide show
  1. package/.turbo/turbo-build.log +409 -119
  2. package/CHANGELOG.md +76 -0
  3. package/dist/chunk-2JQVYVAT.js +2 -0
  4. package/dist/chunk-2JQVYVAT.js.map +1 -0
  5. package/dist/chunk-2JU3PFV2.js +2 -0
  6. package/dist/chunk-2JU3PFV2.js.map +1 -0
  7. package/dist/chunk-3H75F4Y2.js +2 -0
  8. package/dist/chunk-3H75F4Y2.js.map +1 -0
  9. package/dist/{components/switch.js → chunk-3L772WC6.js} +2 -2
  10. package/dist/chunk-3L772WC6.js.map +1 -0
  11. package/dist/chunk-43DUEHUA.js +2 -0
  12. package/dist/chunk-43DUEHUA.js.map +1 -0
  13. package/dist/chunk-4BGAERSD.js +2 -0
  14. package/dist/chunk-4BGAERSD.js.map +1 -0
  15. package/dist/chunk-4BGTC333.js +2 -0
  16. package/dist/chunk-4BGTC333.js.map +1 -0
  17. package/dist/chunk-4PTFZTVU.js +2 -0
  18. package/dist/chunk-4PTFZTVU.js.map +1 -0
  19. package/dist/chunk-6PHXO2YA.js +2 -0
  20. package/dist/{chunk-RWMV7APX.js.map → chunk-6PHXO2YA.js.map} +1 -1
  21. package/dist/chunk-7HG6Y3VV.js +2 -0
  22. package/dist/chunk-7HG6Y3VV.js.map +1 -0
  23. package/dist/chunk-7HMMMRDA.js +2 -0
  24. package/dist/chunk-7HMMMRDA.js.map +1 -0
  25. package/dist/chunk-7QGN6XFA.js +2 -0
  26. package/dist/chunk-7QGN6XFA.js.map +1 -0
  27. package/dist/chunk-AKR2BJRB.js +2 -0
  28. package/dist/chunk-AKR2BJRB.js.map +1 -0
  29. package/dist/chunk-ASZAHSU5.js +2 -0
  30. package/dist/chunk-ASZAHSU5.js.map +1 -0
  31. package/dist/chunk-BZDGWC5O.js +2 -0
  32. package/dist/chunk-BZDGWC5O.js.map +1 -0
  33. package/dist/chunk-DFXHNK5D.js +2 -0
  34. package/dist/chunk-DFXHNK5D.js.map +1 -0
  35. package/dist/chunk-DOC3XTYC.js +2 -0
  36. package/dist/chunk-DOC3XTYC.js.map +1 -0
  37. package/dist/chunk-DT44JTXB.js +2 -0
  38. package/dist/chunk-DT44JTXB.js.map +1 -0
  39. package/dist/chunk-DVDHTP4C.js +2 -0
  40. package/dist/chunk-DVDHTP4C.js.map +1 -0
  41. package/dist/chunk-EITO7GZX.js +2 -0
  42. package/dist/chunk-EITO7GZX.js.map +1 -0
  43. package/dist/chunk-EXC2XOL6.js +2 -0
  44. package/dist/chunk-EXC2XOL6.js.map +1 -0
  45. package/dist/chunk-F4DYKYWJ.js +2 -0
  46. package/dist/chunk-F4DYKYWJ.js.map +1 -0
  47. package/dist/chunk-F5ZLEQGN.js +2 -0
  48. package/dist/chunk-F5ZLEQGN.js.map +1 -0
  49. package/dist/chunk-F7ANJ4HD.js +2 -0
  50. package/dist/chunk-F7ANJ4HD.js.map +1 -0
  51. package/dist/chunk-FQTUN47L.js +2 -0
  52. package/dist/chunk-FQTUN47L.js.map +1 -0
  53. package/dist/chunk-FUHASFGU.js +2 -0
  54. package/dist/chunk-FUHASFGU.js.map +1 -0
  55. package/dist/chunk-G6NSC3FL.js +2 -0
  56. package/dist/chunk-G6NSC3FL.js.map +1 -0
  57. package/dist/chunk-GKILN5HI.js +2 -0
  58. package/dist/chunk-GKILN5HI.js.map +1 -0
  59. package/dist/chunk-GVKH2BG2.js +2 -0
  60. package/dist/chunk-GVKH2BG2.js.map +1 -0
  61. package/dist/chunk-J4X5RQTR.js +2 -0
  62. package/dist/chunk-J4X5RQTR.js.map +1 -0
  63. package/dist/chunk-JF7JKJES.js +2 -0
  64. package/dist/chunk-JF7JKJES.js.map +1 -0
  65. package/dist/chunk-JGPHBUVM.js +2 -0
  66. package/dist/chunk-JGPHBUVM.js.map +1 -0
  67. package/dist/{chunk-FASEHVMD.js → chunk-M6ZI7M3R.js} +2 -2
  68. package/dist/chunk-M6ZI7M3R.js.map +1 -0
  69. package/dist/chunk-MQ7YTZBI.js +2 -0
  70. package/dist/chunk-MQ7YTZBI.js.map +1 -0
  71. package/dist/chunk-MZSV4LNY.js +2 -0
  72. package/dist/chunk-MZSV4LNY.js.map +1 -0
  73. package/dist/chunk-O3JK6QF6.js +2 -0
  74. package/dist/chunk-O3JK6QF6.js.map +1 -0
  75. package/dist/chunk-OKSGVAQQ.js +2 -0
  76. package/dist/chunk-OKSGVAQQ.js.map +1 -0
  77. package/dist/chunk-OLWYBKQR.js +2 -0
  78. package/dist/chunk-OLWYBKQR.js.map +1 -0
  79. package/dist/chunk-PBR7SFWY.js +2 -0
  80. package/dist/chunk-PBR7SFWY.js.map +1 -0
  81. package/dist/chunk-Q2BZSHS2.js +2 -0
  82. package/dist/chunk-Q2BZSHS2.js.map +1 -0
  83. package/dist/chunk-RGKXZJJS.js +3 -0
  84. package/dist/chunk-RGKXZJJS.js.map +1 -0
  85. package/dist/chunk-SLAAEXWI.js +2 -0
  86. package/dist/chunk-SLAAEXWI.js.map +1 -0
  87. package/dist/chunk-SSTXFHNX.js +2 -0
  88. package/dist/chunk-SSTXFHNX.js.map +1 -0
  89. package/dist/chunk-SXGSWVMZ.js +2 -0
  90. package/dist/chunk-SXGSWVMZ.js.map +1 -0
  91. package/dist/chunk-TORICLEW.js +2 -0
  92. package/dist/chunk-TORICLEW.js.map +1 -0
  93. package/dist/chunk-TYWCS7GS.js +2 -0
  94. package/dist/chunk-TYWCS7GS.js.map +1 -0
  95. package/dist/chunk-URDL5OKH.js +2 -0
  96. package/dist/chunk-URDL5OKH.js.map +1 -0
  97. package/dist/chunk-V2FCP4FA.js +2 -0
  98. package/dist/chunk-V2FCP4FA.js.map +1 -0
  99. package/dist/chunk-VCNKCHFF.js +2 -0
  100. package/dist/chunk-VCNKCHFF.js.map +1 -0
  101. package/dist/chunk-WEBAXQID.js +2 -0
  102. package/dist/chunk-WEBAXQID.js.map +1 -0
  103. package/dist/chunk-WEGFAS5P.js +2 -0
  104. package/dist/chunk-WEGFAS5P.js.map +1 -0
  105. package/dist/chunk-X6SOSTUN.js +2 -0
  106. package/dist/chunk-X6SOSTUN.js.map +1 -0
  107. package/dist/chunk-XGPKBYDY.js +2 -0
  108. package/dist/chunk-XGPKBYDY.js.map +1 -0
  109. package/dist/chunk-YOLTIAFT.js +2 -0
  110. package/dist/{chunk-KIFR5VIE.js.map → chunk-YOLTIAFT.js.map} +1 -1
  111. package/dist/chunk-ZPQPJJQJ.js +2 -0
  112. package/dist/chunk-ZPQPJJQJ.js.map +1 -0
  113. package/dist/chunk-ZVVPUP7V.js +2 -0
  114. package/dist/chunk-ZVVPUP7V.js.map +1 -0
  115. package/dist/components/breadcrumb.d.ts +20 -0
  116. package/dist/components/breadcrumb.js +2 -0
  117. package/dist/components/breadcrumb.js.map +1 -0
  118. package/dist/components/chip.d.ts +2 -1
  119. package/dist/components/chip.js +1 -1
  120. package/dist/components/controls/button.js +2 -0
  121. package/dist/components/controls/calendar.js +2 -0
  122. package/dist/components/controls/calendar.js.map +1 -0
  123. package/dist/components/controls/checkbox.js +2 -0
  124. package/dist/components/controls/checkbox.js.map +1 -0
  125. package/dist/components/controls/context/field.context.d.ts +14 -0
  126. package/dist/components/controls/context/field.context.js +2 -0
  127. package/dist/components/controls/context/field.context.js.map +1 -0
  128. package/dist/components/controls/date-picker.d.ts +85 -0
  129. package/dist/components/controls/date-picker.js +2 -0
  130. package/dist/components/controls/date-picker.js.map +1 -0
  131. package/dist/components/controls/floating-label.d.ts +6 -0
  132. package/dist/components/controls/floating-label.js +2 -0
  133. package/dist/components/controls/floating-label.js.map +1 -0
  134. package/dist/components/controls/input.d.ts +96 -0
  135. package/dist/components/controls/input.js +2 -0
  136. package/dist/components/controls/input.js.map +1 -0
  137. package/dist/components/controls/otp-input.js.map +1 -0
  138. package/dist/components/controls/radio.js +2 -0
  139. package/dist/components/controls/radio.js.map +1 -0
  140. package/dist/components/controls/rich-editor.js +2 -0
  141. package/dist/components/controls/rich-editor.js.map +1 -0
  142. package/dist/components/{search-input.d.ts → controls/search-input.d.ts} +9 -1
  143. package/dist/components/controls/search-input.js +2 -0
  144. package/dist/components/controls/search-selector.d.ts +19 -0
  145. package/dist/components/controls/search-selector.js +2 -0
  146. package/dist/components/controls/search-selector.js.map +1 -0
  147. package/dist/components/controls/select.d.ts +95 -0
  148. package/dist/components/controls/select.js +2 -0
  149. package/dist/components/controls/select.js.map +1 -0
  150. package/dist/components/controls/switch.js +2 -0
  151. package/dist/components/controls/switch.js.map +1 -0
  152. package/dist/components/custom/pessoa/index.d.ts +16 -0
  153. package/dist/components/custom/pessoa/index.js +2 -0
  154. package/dist/components/custom/pessoa/index.js.map +1 -0
  155. package/dist/components/custom/pessoa/pessoa-add-button.d.ts +9 -0
  156. package/dist/components/custom/pessoa/pessoa-add-button.js +2 -0
  157. package/dist/components/custom/pessoa/pessoa-add-button.js.map +1 -0
  158. package/dist/components/custom/pessoa/pessoa-body.d.ts +8 -0
  159. package/dist/components/custom/pessoa/pessoa-body.js +2 -0
  160. package/dist/components/custom/pessoa/pessoa-body.js.map +1 -0
  161. package/dist/components/custom/pessoa/pessoa-close-button.d.ts +8 -0
  162. package/dist/components/custom/pessoa/pessoa-close-button.js +2 -0
  163. package/dist/components/custom/pessoa/pessoa-close-button.js.map +1 -0
  164. package/dist/components/custom/pessoa/pessoa-content.d.ts +8 -0
  165. package/dist/components/custom/pessoa/pessoa-content.js +2 -0
  166. package/dist/components/custom/pessoa/pessoa-content.js.map +1 -0
  167. package/dist/components/custom/pessoa/pessoa-footer.d.ts +8 -0
  168. package/dist/components/custom/pessoa/pessoa-footer.js +2 -0
  169. package/dist/components/custom/pessoa/pessoa-footer.js.map +1 -0
  170. package/dist/components/custom/pessoa/pessoa-header.d.ts +10 -0
  171. package/dist/components/custom/pessoa/pessoa-header.js +2 -0
  172. package/dist/components/custom/pessoa/pessoa-header.js.map +1 -0
  173. package/dist/components/custom/pessoa/pessoa-trigger.d.ts +8 -0
  174. package/dist/components/custom/pessoa/pessoa-trigger.js +2 -0
  175. package/dist/components/custom/pessoa/pessoa-trigger.js.map +1 -0
  176. package/dist/components/custom/pessoa/pessoa.context.d.ts +25 -0
  177. package/dist/components/custom/pessoa/pessoa.context.js +2 -0
  178. package/dist/components/custom/pessoa/pessoa.context.js.map +1 -0
  179. package/dist/components/custom/pessoa/pessoa.d.ts +11 -0
  180. package/dist/components/custom/pessoa/pessoa.js +2 -0
  181. package/dist/components/custom/pessoa/pessoa.js.map +1 -0
  182. package/dist/components/dialog.d.ts +51 -0
  183. package/dist/components/dialog.js +2 -0
  184. package/dist/components/dialog.js.map +1 -0
  185. package/dist/components/drag-and-drop/drag-handle.d.ts +15 -0
  186. package/dist/components/drag-and-drop/drag-handle.js +2 -0
  187. package/dist/components/drag-and-drop/drag-handle.js.map +1 -0
  188. package/dist/components/drag-and-drop/drag-list-item.d.ts +14 -0
  189. package/dist/components/drag-and-drop/drag-list-item.js +2 -0
  190. package/dist/components/drag-and-drop/drag-list-item.js.map +1 -0
  191. package/dist/components/drag-and-drop/drag-list.d.ts +14 -0
  192. package/dist/components/drag-and-drop/drag-list.js +2 -0
  193. package/dist/components/drag-and-drop/drag-list.js.map +1 -0
  194. package/dist/components/drag-and-drop/drag-root.d.ts +6 -0
  195. package/dist/components/drag-and-drop/drag-root.js +2 -0
  196. package/dist/components/drag-and-drop/drag-root.js.map +1 -0
  197. package/dist/components/drag-and-drop/index.d.ts +10 -0
  198. package/dist/components/drag-and-drop/index.js +2 -0
  199. package/dist/components/drag-and-drop/index.js.map +1 -0
  200. package/dist/components/drag-and-drop/types/drag-item.d.ts +9 -0
  201. package/dist/components/drag-and-drop/types/drag-item.js +2 -0
  202. package/dist/components/drag-and-drop/types/drag-item.js.map +1 -0
  203. package/dist/components/dropdown-menu.js +1 -1
  204. package/dist/components/full-calendar/calendar-add-event.d.ts +9 -0
  205. package/dist/components/full-calendar/calendar-add-event.js +2 -0
  206. package/dist/components/full-calendar/calendar-add-event.js.map +1 -0
  207. package/dist/components/full-calendar/calendar-body.d.ts +6 -0
  208. package/dist/components/full-calendar/calendar-body.js +2 -0
  209. package/dist/components/full-calendar/calendar-body.js.map +1 -0
  210. package/dist/components/full-calendar/calendar-cell.d.ts +11 -0
  211. package/dist/components/full-calendar/calendar-cell.js +2 -0
  212. package/dist/components/full-calendar/calendar-cell.js.map +1 -0
  213. package/dist/components/full-calendar/calendar-day-view.d.ts +5 -0
  214. package/dist/components/full-calendar/calendar-day-view.js +2 -0
  215. package/dist/components/full-calendar/calendar-day-view.js.map +1 -0
  216. package/dist/components/full-calendar/calendar-event.d.ts +18 -0
  217. package/dist/components/full-calendar/calendar-event.js +2 -0
  218. package/dist/components/full-calendar/calendar-event.js.map +1 -0
  219. package/dist/components/full-calendar/calendar-header.d.ts +6 -0
  220. package/dist/components/full-calendar/calendar-header.js +2 -0
  221. package/dist/components/full-calendar/calendar-header.js.map +1 -0
  222. package/dist/components/full-calendar/calendar-month-view.d.ts +5 -0
  223. package/dist/components/full-calendar/calendar-month-view.js +2 -0
  224. package/dist/components/full-calendar/calendar-month-view.js.map +1 -0
  225. package/dist/components/full-calendar/calendar-more-events-dropdown.d.ts +9 -0
  226. package/dist/components/full-calendar/calendar-more-events-dropdown.js +2 -0
  227. package/dist/components/full-calendar/calendar-more-events-dropdown.js.map +1 -0
  228. package/dist/components/full-calendar/calendar-navigator.d.ts +5 -0
  229. package/dist/components/full-calendar/calendar-navigator.js +2 -0
  230. package/dist/components/full-calendar/calendar-navigator.js.map +1 -0
  231. package/dist/components/full-calendar/calendar-root.d.ts +30 -0
  232. package/dist/components/full-calendar/calendar-root.js +2 -0
  233. package/dist/components/full-calendar/calendar-root.js.map +1 -0
  234. package/dist/components/full-calendar/calendar-today-button.d.ts +9 -0
  235. package/dist/components/full-calendar/calendar-today-button.js +2 -0
  236. package/dist/components/full-calendar/calendar-today-button.js.map +1 -0
  237. package/dist/components/full-calendar/calendar-toggle-view.d.ts +5 -0
  238. package/dist/components/full-calendar/calendar-toggle-view.js +2 -0
  239. package/dist/components/full-calendar/calendar-toggle-view.js.map +1 -0
  240. package/dist/components/full-calendar/calendar-view-renderer.d.ts +5 -0
  241. package/dist/components/full-calendar/calendar-view-renderer.js +2 -0
  242. package/dist/components/full-calendar/calendar-view-renderer.js.map +1 -0
  243. package/dist/components/full-calendar/calendar-week-day.d.ts +10 -0
  244. package/dist/components/full-calendar/calendar-week-day.js +2 -0
  245. package/dist/components/full-calendar/calendar-week-day.js.map +1 -0
  246. package/dist/components/full-calendar/calendar-week-view.d.ts +5 -0
  247. package/dist/components/full-calendar/calendar-week-view.js +2 -0
  248. package/dist/components/full-calendar/calendar-week-view.js.map +1 -0
  249. package/dist/components/full-calendar/helpers/calendar.d.ts +25 -0
  250. package/dist/components/full-calendar/helpers/calendar.js +2 -0
  251. package/dist/components/full-calendar/helpers/calendar.js.map +1 -0
  252. package/dist/components/full-calendar/index.d.ts +18 -0
  253. package/dist/components/full-calendar/index.js +2 -0
  254. package/dist/components/full-calendar/index.js.map +1 -0
  255. package/dist/components/full-calendar/types/calendar-cell.d.ts +6 -0
  256. package/dist/components/full-calendar/types/calendar-cell.js +2 -0
  257. package/dist/components/full-calendar/types/calendar-cell.js.map +1 -0
  258. package/dist/components/full-calendar/types/calendar-event.d.ts +8 -0
  259. package/dist/components/full-calendar/types/calendar-event.js +2 -0
  260. package/dist/components/full-calendar/types/calendar-event.js.map +1 -0
  261. package/dist/components/full-calendar/types/calendar-view.d.ts +3 -0
  262. package/dist/components/full-calendar/types/calendar-view.js +2 -0
  263. package/dist/components/full-calendar/types/calendar-view.js.map +1 -0
  264. package/dist/components/full-calendar/types/calendar-week-hour.d.ts +6 -0
  265. package/dist/components/full-calendar/types/calendar-week-hour.js +2 -0
  266. package/dist/components/full-calendar/types/calendar-week-hour.js.map +1 -0
  267. package/dist/components/horizontal-scroll.d.ts +11 -0
  268. package/dist/components/horizontal-scroll.js +2 -0
  269. package/dist/components/horizontal-scroll.js.map +1 -0
  270. package/dist/components/icon.d.ts +3 -4
  271. package/dist/components/icon.js +1 -1
  272. package/dist/components/list.js +1 -1
  273. package/dist/components/selection-bar.d.ts +57 -0
  274. package/dist/components/selection-bar.js +2 -0
  275. package/dist/components/selection-bar.js.map +1 -0
  276. package/dist/components/sheet.d.ts +8 -8
  277. package/dist/components/sheet.js +1 -1
  278. package/dist/components/sheet.js.map +1 -1
  279. package/dist/components/steps/index.d.ts +11 -0
  280. package/dist/components/steps/index.js +2 -0
  281. package/dist/components/steps/index.js.map +1 -0
  282. package/dist/components/steps/step.d.ts +8 -0
  283. package/dist/components/steps/step.js +2 -0
  284. package/dist/components/steps/step.js.map +1 -0
  285. package/dist/components/steps/steps-action.d.ts +12 -0
  286. package/dist/components/steps/steps-action.js +2 -0
  287. package/dist/components/steps/steps-action.js.map +1 -0
  288. package/dist/components/steps/steps-content.d.ts +6 -0
  289. package/dist/components/steps/steps-content.js +2 -0
  290. package/dist/components/steps/steps-content.js.map +1 -0
  291. package/dist/components/steps/steps-context.d.ts +22 -0
  292. package/dist/components/steps/steps-context.js +2 -0
  293. package/dist/components/steps/steps-context.js.map +1 -0
  294. package/dist/components/steps/steps-navigation.d.ts +6 -0
  295. package/dist/components/steps/steps-navigation.js +2 -0
  296. package/dist/components/steps/steps-navigation.js.map +1 -0
  297. package/dist/components/steps/steps-root.d.ts +7 -0
  298. package/dist/components/steps/steps-root.js +2 -0
  299. package/dist/components/steps/steps-root.js.map +1 -0
  300. package/dist/components/table/index.d.ts +9 -0
  301. package/dist/components/table/index.js +2 -0
  302. package/dist/components/table/index.js.map +1 -0
  303. package/dist/components/table/table-body.d.ts +5 -0
  304. package/dist/components/table/table-body.js +2 -0
  305. package/dist/components/table/table-body.js.map +1 -0
  306. package/dist/components/table/table-cell.d.ts +5 -0
  307. package/dist/components/table/table-cell.js +2 -0
  308. package/dist/components/table/table-cell.js.map +1 -0
  309. package/dist/components/table/table-footer.d.ts +5 -0
  310. package/dist/components/table/table-footer.js +2 -0
  311. package/dist/components/table/table-footer.js.map +1 -0
  312. package/dist/components/table/table-head.d.ts +6 -0
  313. package/dist/components/table/table-head.js +2 -0
  314. package/dist/components/table/table-head.js.map +1 -0
  315. package/dist/components/table/table-header.d.ts +5 -0
  316. package/dist/components/table/table-header.js +2 -0
  317. package/dist/components/table/table-header.js.map +1 -0
  318. package/dist/components/table/table-row.d.ts +7 -0
  319. package/dist/components/table/table-row.js +2 -0
  320. package/dist/components/table/table-row.js.map +1 -0
  321. package/dist/components/table/table-sort.d.ts +7 -0
  322. package/dist/components/table/table-sort.js +2 -0
  323. package/dist/components/table/table-sort.js.map +1 -0
  324. package/dist/components/table/table.d.ts +5 -0
  325. package/dist/components/table/table.js +2 -0
  326. package/dist/components/table/table.js.map +1 -0
  327. package/dist/components/tag.d.ts +2 -1
  328. package/dist/components/tag.js +1 -1
  329. package/dist/components/upload.d.ts +74 -0
  330. package/dist/components/upload.js +2 -0
  331. package/dist/components/upload.js.map +1 -0
  332. package/dist/icons-C-hGI45d.d.ts +4 -0
  333. package/dist/index.css +1 -1
  334. package/dist/index.css.map +1 -1
  335. package/dist/input-mask-DhbtCxF7.d.ts +3 -0
  336. package/package.json +26 -14
  337. package/src/components/breadcrumb.tsx +119 -0
  338. package/src/components/{calendar.tsx → controls/calendar.tsx} +1 -1
  339. package/src/components/{checkbox.tsx → controls/checkbox.tsx} +2 -2
  340. package/src/components/controls/context/field.context.ts +27 -0
  341. package/src/components/controls/date-picker.tsx +199 -0
  342. package/src/components/controls/floating-label.tsx +60 -0
  343. package/src/components/controls/input.tsx +237 -0
  344. package/src/components/{radio.tsx → controls/radio.tsx} +1 -1
  345. package/src/components/{rich-editor.tsx → controls/rich-editor.tsx} +5 -5
  346. package/src/components/{search-input.tsx → controls/search-input.tsx} +46 -3
  347. package/src/components/controls/search-selector.tsx +98 -0
  348. package/src/components/controls/select.tsx +274 -0
  349. package/src/components/custom/pessoa/index.ts +9 -0
  350. package/src/components/custom/pessoa/pessoa-add-button.tsx +35 -0
  351. package/src/components/custom/pessoa/pessoa-body.tsx +22 -0
  352. package/src/components/custom/pessoa/pessoa-close-button.tsx +13 -0
  353. package/src/components/custom/pessoa/pessoa-content.tsx +25 -0
  354. package/src/components/custom/pessoa/pessoa-footer.tsx +15 -0
  355. package/src/components/custom/pessoa/pessoa-header.tsx +35 -0
  356. package/src/components/custom/pessoa/pessoa-trigger.tsx +25 -0
  357. package/src/components/custom/pessoa/pessoa.context.tsx +73 -0
  358. package/src/components/custom/pessoa/pessoa.tsx +35 -0
  359. package/src/components/dialog.tsx +242 -0
  360. package/src/components/drag-and-drop/drag-handle.tsx +46 -0
  361. package/src/components/drag-and-drop/drag-list-item.tsx +91 -0
  362. package/src/components/drag-and-drop/drag-list.tsx +47 -0
  363. package/src/components/drag-and-drop/drag-root.tsx +30 -0
  364. package/src/components/drag-and-drop/index.ts +39 -0
  365. package/src/components/drag-and-drop/types/drag-item.ts +7 -0
  366. package/src/components/dropdown-menu.tsx +1 -1
  367. package/src/components/full-calendar/calendar-add-event.tsx +15 -0
  368. package/src/components/full-calendar/calendar-body.tsx +12 -0
  369. package/src/components/full-calendar/calendar-cell.tsx +120 -0
  370. package/src/components/full-calendar/calendar-day-view.tsx +76 -0
  371. package/src/components/full-calendar/calendar-event.tsx +178 -0
  372. package/src/components/full-calendar/calendar-header.tsx +14 -0
  373. package/src/components/full-calendar/calendar-month-view.tsx +69 -0
  374. package/src/components/full-calendar/calendar-more-events-dropdown.tsx +39 -0
  375. package/src/components/full-calendar/calendar-navigator.tsx +86 -0
  376. package/src/components/full-calendar/calendar-root.tsx +165 -0
  377. package/src/components/full-calendar/calendar-today-button.tsx +21 -0
  378. package/src/components/full-calendar/calendar-toggle-view.tsx +61 -0
  379. package/src/components/full-calendar/calendar-view-renderer.tsx +19 -0
  380. package/src/components/full-calendar/calendar-week-day.tsx +49 -0
  381. package/src/components/full-calendar/calendar-week-view.tsx +88 -0
  382. package/src/components/full-calendar/helpers/calendar.ts +158 -0
  383. package/src/components/full-calendar/index.ts +16 -0
  384. package/src/components/full-calendar/types/calendar-cell.ts +4 -0
  385. package/src/components/full-calendar/types/calendar-event.ts +7 -0
  386. package/src/components/full-calendar/types/calendar-view.ts +1 -0
  387. package/src/components/full-calendar/types/calendar-week-hour.ts +4 -0
  388. package/src/components/horizontal-scroll.tsx +159 -0
  389. package/src/components/list.tsx +1 -1
  390. package/src/components/selection-bar.tsx +273 -0
  391. package/src/components/sheet.tsx +26 -17
  392. package/src/components/steps/index.ts +6 -0
  393. package/src/components/steps/step.tsx +23 -0
  394. package/src/components/steps/steps-action.tsx +65 -0
  395. package/src/components/steps/steps-content.tsx +12 -0
  396. package/src/components/steps/steps-context.tsx +121 -0
  397. package/src/components/steps/steps-navigation.tsx +80 -0
  398. package/src/components/steps/steps-root.tsx +9 -0
  399. package/src/components/table/index.ts +8 -0
  400. package/src/components/table/table-body.tsx +17 -0
  401. package/src/components/table/table-cell.tsx +14 -0
  402. package/src/components/table/table-footer.tsx +17 -0
  403. package/src/components/table/table-head.tsx +31 -0
  404. package/src/components/table/table-header.tsx +17 -0
  405. package/src/components/table/table-row.tsx +21 -0
  406. package/src/components/table/table-sort.tsx +34 -0
  407. package/src/components/table/table.tsx +16 -0
  408. package/src/components/upload.tsx +647 -0
  409. package/src/resources/icons.ts +5 -1
  410. package/dist/chunk-FASEHVMD.js.map +0 -1
  411. package/dist/chunk-KIFR5VIE.js +0 -2
  412. package/dist/chunk-NPTLORW5.js +0 -2
  413. package/dist/chunk-NPTLORW5.js.map +0 -1
  414. package/dist/chunk-RWMV7APX.js +0 -2
  415. package/dist/chunk-SHHXKVVR.js +0 -2
  416. package/dist/chunk-SHHXKVVR.js.map +0 -1
  417. package/dist/components/button.js +0 -2
  418. package/dist/components/calendar.js +0 -2
  419. package/dist/components/calendar.js.map +0 -1
  420. package/dist/components/checkbox.js +0 -2
  421. package/dist/components/checkbox.js.map +0 -1
  422. package/dist/components/date-picker.d.ts +0 -25
  423. package/dist/components/date-picker.js +0 -2
  424. package/dist/components/date-picker.js.map +0 -1
  425. package/dist/components/input.d.ts +0 -37
  426. package/dist/components/input.js +0 -2
  427. package/dist/components/input.js.map +0 -1
  428. package/dist/components/otp-input.js.map +0 -1
  429. package/dist/components/radio.js +0 -2
  430. package/dist/components/radio.js.map +0 -1
  431. package/dist/components/rich-editor.js +0 -2
  432. package/dist/components/rich-editor.js.map +0 -1
  433. package/dist/components/search-input.js +0 -2
  434. package/dist/components/select.d.ts +0 -36
  435. package/dist/components/select.js +0 -2
  436. package/dist/components/select.js.map +0 -1
  437. package/dist/components/switch.js.map +0 -1
  438. package/dist/components/table.d.ts +0 -17
  439. package/dist/components/table.js +0 -2
  440. package/dist/components/table.js.map +0 -1
  441. package/src/components/date-picker.tsx +0 -263
  442. package/src/components/input.tsx +0 -320
  443. package/src/components/select.tsx +0 -318
  444. package/src/components/table.tsx +0 -160
  445. /package/dist/components/{button.d.ts → controls/button.d.ts} +0 -0
  446. /package/dist/components/{button.js.map → controls/button.js.map} +0 -0
  447. /package/dist/components/{calendar.d.ts → controls/calendar.d.ts} +0 -0
  448. /package/dist/components/{checkbox.d.ts → controls/checkbox.d.ts} +0 -0
  449. /package/dist/components/{otp-input.d.ts → controls/otp-input.d.ts} +0 -0
  450. /package/dist/components/{otp-input.js → controls/otp-input.js} +0 -0
  451. /package/dist/components/{radio.d.ts → controls/radio.d.ts} +0 -0
  452. /package/dist/components/{rich-editor.d.ts → controls/rich-editor.d.ts} +0 -0
  453. /package/dist/components/{search-input.js.map → controls/search-input.js.map} +0 -0
  454. /package/dist/components/{switch.d.ts → controls/switch.d.ts} +0 -0
  455. /package/src/components/{button.tsx → controls/button.tsx} +0 -0
  456. /package/src/components/{otp-input.tsx → controls/otp-input.tsx} +0 -0
  457. /package/src/components/{switch.tsx → controls/switch.tsx} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/select.tsx"],"names":["SelectContext","createContext","useSelect","context","useContext","SelectRoot","disabled","hasError","props","jsx","SelectTrigger","className","twMerge","SelectContent","children","sideOffset","side","align","ListRoot","SelectValue","displayValue","jsxs","Fragment","Typography","SelectMultiValue","values","SelectLabel","htmlFor","SelectOptions","ListContent","SelectOption","ListItem","SelectOptionText","SelectHeader","ListHeader","SelectHeaderTitle","ListHeaderTitle","SelectLeftSlot","SelectRightSlot","SelectSearch","SearchInputRoot","SearchInputContent","SearchInputSlot","Icon","SearchInputText","SelectCaption","variant","size","weight","caption","tv"],"mappings":"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","file":"select.js","sourcesContent":["import { createContext, useContext, type ComponentProps } from 'react'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport { tv, twMerge } from '@xjur-ui/util'\nimport {\n ListContent,\n ListItem,\n ListRoot,\n ListHeader,\n ListHeaderTitle\n} from './list'\nimport {\n SearchInputContent,\n SearchInputText,\n SearchInputRoot,\n SearchInputSlot\n} from './search-input'\nimport { Icon } from './icon'\nimport { Typography, type TypographyProps } from './typography'\n\nconst SelectContext = createContext({\n disabled: false,\n hasError: false\n})\n\nfunction useSelect() {\n const context = useContext(SelectContext)\n\n if (!context) {\n throw new Error('useSelect must be used within a SelectRoot')\n }\n\n return context\n}\n\nexport function SelectRoot({\n disabled = false,\n hasError = false,\n ...props\n}: ComponentProps<typeof RadixPopover.Root> & {\n disabled?: boolean\n hasError?: boolean\n}) {\n return (\n <SelectContext.Provider value={{ disabled, hasError }}>\n <RadixPopover.Root {...props} />\n </SelectContext.Provider>\n )\n}\n\nexport function SelectTrigger({\n className,\n ...props\n}: ComponentProps<typeof RadixPopover.Trigger>) {\n const { disabled, hasError } = useSelect()\n\n return (\n <RadixPopover.Trigger\n className={twMerge(\n className,\n 'group h-large-4x rounded-small-1x gap-small py-small_1x-alt px-small relative flex w-full cursor-pointer items-center',\n 'bg-layer-2-idle border-border-layer-2 hover:border-border-layer-3 border',\n 'data-[state=open]:border-primary-idle data-[state=open]:data-[has-error=true]:border-danger-label-active',\n 'has-[input:not(:placeholder-shown)]:text-primary-idle has-[input:not(:placeholder-shown)]:data-[has-error=true]:text-danger-label-active',\n 'has-[input:not(:placeholder-shown)]:border-primary-idle has-[input:not(:placeholder-shown)]:data-[has-error=true]:border-danger-label-active',\n 'disabled:bg-layer-2-idle disabled:cursor-text disabled:border-none disabled:select-text',\n 'data-[has-error=true]:border-danger-idle data-[has-error=true]:hover:border-danger-idle'\n )}\n {...props}\n data-has-error={hasError}\n disabled={disabled}\n />\n )\n}\n\nexport function SelectContent({\n className,\n children,\n sideOffset = 4,\n side = 'bottom',\n align = 'start',\n ...props\n}: ComponentProps<typeof RadixPopover.Content>) {\n return (\n <RadixPopover.Portal>\n <RadixPopover.Content\n align={align}\n className={twMerge(\n className,\n 'group z-10 max-h-[var(--radix-popover-content-available-height)] max-w-[var(--radix-popover-content-available-width)] min-w-[var(--radix-popover-trigger-width)]'\n )}\n side={side}\n sideOffset={sideOffset}\n {...props}\n >\n <ListRoot>{children}</ListRoot>\n </RadixPopover.Content>\n </RadixPopover.Portal>\n )\n}\n\nexport function SelectValue({\n className,\n displayValue = '',\n ...props\n}: ComponentProps<'input'> & { displayValue?: string }) {\n return (\n <>\n {!!displayValue && (\n <Typography\n className={twMerge(\n className,\n 'text-neutral-dark',\n // if has left slot, add the left slot padding\n 'group-has-[div[data-slot=select-left-slot]]:pl-large-1x'\n )}\n >\n {displayValue}\n </Typography>\n )}\n\n <input\n {...props}\n aria-readonly={true}\n className={twMerge(className, 'pointer-events-none')}\n hidden={true}\n placeholder={props.placeholder ?? ' '}\n readOnly={true}\n />\n </>\n )\n}\n\nexport function SelectMultiValue({\n className,\n values,\n children,\n ...props\n}: ComponentProps<'div'> & { values: string[] }) {\n return (\n <div\n className={twMerge(\n className,\n 'gap-small-1x scrollbar-hide overflow-x-small flex',\n // if has left slot, add the left slot padding\n 'group-has-[div[data-slot=select-left-slot]]:pl-large-1x',\n // if the trigger is disabled, remove the left slot padding\n 'group-disabled:!pl-0'\n )}\n {...props}\n >\n {children}\n\n <input\n aria-readonly={true}\n className={twMerge(className, 'pointer-events-none')}\n hidden={true}\n placeholder={' '}\n readOnly={true}\n value={values.join(',')}\n />\n </div>\n )\n}\n\nexport function SelectLabel({\n className,\n htmlFor,\n children,\n ...props\n}: TypographyProps & { htmlFor?: string }) {\n const { hasError } = useSelect()\n\n return (\n <Typography\n asChild={true}\n className={twMerge(\n 'inline-block max-w-full truncate text-left font-normal',\n 'left-small right-small pointer-events-none absolute top-1/2 -translate-y-1/2',\n 'ease transition-all duration-250',\n // Content Open\n 'group-data-[state=open]:!text-primary-idle group-data-[state=open]:data-[has-error=true]:!text-danger-label-active',\n 'group-data-[state=open]:-top-[3px]',\n 'group-data-[state=open]:text-size-label-sm-1x',\n 'group-data-[state=open]:font-medium',\n // Filled\n 'group-has-[input:not(:placeholder-shown)]:!text-primary-idle group-has-[input:not(:placeholder-shown)]:data-[has-error=true]:!text-danger-label-active',\n 'group-has-[input:not(:placeholder-shown)]:-top-[3px]',\n 'group-has-[input:not(:placeholder-shown)]:text-size-label-sm-1x',\n 'group-has-[input:not(:placeholder-shown)]:font-medium',\n // If has left slot\n 'group-has-[div[data-slot=select-left-slot]]:left-large-4x',\n 'group-has-[div[data-slot=select-left-slot]]:group-data-[state=open]:left-small',\n 'group-has-[div[data-slot=select-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-small',\n // If has right slot\n 'group-has-[div[data-slot=select-right-slot]]:right-large-4x',\n 'group-has-[div[data-slot=select-right-slot]]:group-data-[state=open]:right-small',\n 'group-has-[div[data-slot=select-right-slot]]:group-has-[input:not(:placeholder-shown)]:right-small',\n // Animate\n 'group-data-[state=open]:animate-in',\n 'group-data-[state=closed]:animate-out',\n 'group-has-[input:not(:placeholder-shown)]:animate-out',\n 'group-disabled:hidden',\n className\n )}\n data-has-error={hasError}\n {...props}\n >\n <label htmlFor={htmlFor}>\n <span className=\"bg-layer-2-idle rounded-small-1x max-w-full\">\n {children}\n </span>\n </label>\n </Typography>\n )\n}\n\nexport function SelectOptions(props: ComponentProps<typeof ListContent>) {\n return <ListContent {...props} />\n}\n\nexport function SelectOption({\n className,\n ...props\n}: ComponentProps<typeof ListItem>) {\n return (\n <ListItem className={twMerge(className, 'cursor-pointer')} {...props} />\n )\n}\n\nexport function SelectOptionText(props: ComponentProps<typeof Typography>) {\n return <Typography {...props} />\n}\n\nexport function SelectHeader(props: ComponentProps<typeof ListHeader>) {\n return <ListHeader {...props} />\n}\n\nexport function SelectHeaderTitle(\n props: ComponentProps<typeof ListHeaderTitle>\n) {\n return <ListHeaderTitle {...props} />\n}\n\nexport function SelectLeftSlot({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n {...props}\n className={twMerge(\n className,\n 'left-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center'\n )}\n data-slot=\"select-left-slot\"\n />\n )\n}\n\nexport function SelectRightSlot({\n className,\n ...props\n}: ComponentProps<'div'>) {\n return (\n <div\n {...props}\n className={twMerge(\n className,\n 'right-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center',\n 'group-disabled:hidden'\n )}\n data-slot=\"select-right-slot\"\n />\n )\n}\n\nexport function SelectSearch(props: ComponentProps<typeof SearchInputText>) {\n return (\n <SearchInputRoot variant=\"line\">\n <SearchInputContent>\n <SearchInputSlot>\n <Icon className=\"text-icon-neutral-3\" name=\"search\" />\n </SearchInputSlot>\n <SearchInputText {...props} />\n </SearchInputContent>\n </SearchInputRoot>\n )\n}\n\nexport function SelectCaption({\n className,\n variant = 'body',\n size = 'sm',\n weight = 'normal',\n ...props\n}: ComponentProps<typeof Typography>) {\n const { hasError } = useSelect()\n\n const caption = tv({\n base: 'text-size-body-sm mt-small-1x font-normal',\n variants: {\n state: {\n error: 'text-danger-label-active',\n idle: 'text-neutral-dark'\n }\n }\n })\n\n return (\n <Typography\n className={caption({\n state: hasError ? 'error' : 'idle',\n className\n })}\n size={size}\n variant={variant}\n weight={weight}\n {...props}\n />\n )\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/switch.tsx"],"names":["Switch","className","props","jsx","cx"],"mappings":"0HAIA,SAASA,CAAAA,CAAO,CACd,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAsD,CACpD,OACEC,GAAAA,CAAiB,CAAA,CAAA,IAAA,CAAhB,CACC,SAAA,CAAWC,EAAAA,CACT,gGACA,2EAAA,CACA,kIAAA,CACA,qCACAH,CACF,CAAA,CACA,WAAA,CAAU,QAAA,CACT,GAAGC,CAAAA,CAEJ,SAAAC,GAAAA,CAAiB,CAAA,CAAA,KAAA,CAAhB,CACC,SAAA,CAAWC,EAAAA,CACT,iLACF,CAAA,CACA,WAAA,CAAU,cAAA,CACZ,CAAA,CACF,CAEJ","file":"switch.js","sourcesContent":["import * as React from 'react'\nimport * as SwitchPrimitive from '@radix-ui/react-switch'\nimport { cx } from '@xjur-ui/util'\n\nfunction Switch({\n className,\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n className={cx(\n 'w-large-3x h-large rounded-circle inline-flex shrink-0 items-center border border-transparent',\n 'peer data-[state=checked]:bg-primary-idle data-[state=unchecked]:bg-alt-4',\n 'focus-visible:border-ring focus-visible:ring-ring/50 transition-all outline-none disabled:cursor-not-allowed disabled:opacity-50',\n 'hover:shadow-focus-primary p-[2px]',\n className\n )}\n data-slot=\"switch\"\n {...props}\n >\n <SwitchPrimitive.Thumb\n className={cx(\n 'bg-layer-2-idle size-medium pointer-events-none rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0'\n )}\n data-slot=\"switch-thumb\"\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\n"]}
@@ -1,17 +0,0 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
-
3
- declare function Table({ className, ...props }: React.ComponentProps<'table'>): react_jsx_runtime.JSX.Element;
4
- declare function TableHeader({ className, ...props }: React.ComponentProps<'thead'>): react_jsx_runtime.JSX.Element;
5
- declare function TableBody({ className, ...props }: React.ComponentProps<'tbody'>): react_jsx_runtime.JSX.Element;
6
- declare function TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>): react_jsx_runtime.JSX.Element;
7
- declare function TableRow({ className, isSelected, ...props }: React.ComponentProps<'tr'> & {
8
- isSelected?: boolean;
9
- }): react_jsx_runtime.JSX.Element;
10
- declare function TableHead({ className, ...props }: React.ComponentProps<'th'>): react_jsx_runtime.JSX.Element;
11
- declare function TableHeadContent({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
12
- declare function TableSort({ className, sortedDirection, ...props }: React.ComponentProps<'button'> & {
13
- sortedDirection?: 'asc' | 'desc';
14
- }): react_jsx_runtime.JSX.Element;
15
- declare function TableCell({ className, ...props }: React.ComponentProps<'td'>): react_jsx_runtime.JSX.Element;
16
-
17
- export { Table, TableBody, TableCell, TableFooter, TableHead, TableHeadContent, TableHeader, TableRow, TableSort };
@@ -1,2 +0,0 @@
1
- import {b as b$1}from'../chunk-SHHXKVVR.js';import {cx}from'@xjur-ui/util';import {jsx}from'react/jsx-runtime';function s({className:t,...e}){return jsx("div",{className:"text-size-body-md scrollbar-thin relative w-full overflow-hidden transition-all hover:overflow-x-auto","data-slot":"table-container",children:jsx("table",{className:cx("w-full caption-bottom",t),"data-slot":"table",...e})})}function i({className:t,...e}){return jsx("thead",{className:cx("group/table-header [&_tr]:border-border-layer-2 hover:bg-layer-2-hover [&_tr]:border-b",t),"data-slot":"table-header",...e})}function b({className:t,...e}){return jsx("tbody",{className:cx("[&_tr]:border-border-layer-2 [&_tr]:border-b [&_tr:last-child]:border-0",t),"data-slot":"table-body",...e})}function p({className:t,...e}){return jsx("tfoot",{className:cx("border-border-layer-2 border-t font-medium [&>tr]:last:border-b-0",t),"data-slot":"table-footer",...e})}function c({className:t,isSelected:e=false,...o}){return jsx("tr",{className:cx("bg-layer-2-idle hover:bg-layer-2-hover ease border-b transition-colors duration-100","active:bg-layer-2-pressed","data-[selected=true]:bg-primary-alt-active",t),"data-selected":e,"data-slot":"table-row",...o})}function u({className:t,...e}){return jsx("th",{className:cx("group/th text-neutral-placeholder text-size-label-sm h-large-4x py-small-1x px-small text-left align-middle font-medium whitespace-nowrap","pr-large-2x relative","animate-in fade-in duration-200 ease-in",t),"data-slot":"table-head",...e})}function m({className:t,...e}){return jsx("div",{className:cx("gap-small pr-large-3x relative flex w-fit items-center",t),...e})}function f({className:t,sortedDirection:e,...o}){return jsx("button",{className:cx("size-large-1x rounded-small-1x","flex cursor-pointer items-center justify-center","hidden group-hover/th:flex","data-[sorted=true]:flex","transition-all duration-200 ease-out","data-[sorted=true]:bg-primary-alt-active data-[sorted=true]:text-primary-label-active","absolute top-1/2 right-0 -translate-y-1/2",t),"data-sorted":e!==void 0,type:"button",...o,children:e!==void 0?jsx(b$1,{name:e==="asc"?"arrow_downward":"arrow_upward"}):jsx(b$1,{name:"swap_vert"})})}function x({className:t,...e}){return jsx("td",{className:cx("px-small py-none h-large-8x text-left align-middle whitespace-nowrap",t),"data-slot":"table-cell",...e})}export{s as Table,b as TableBody,x as TableCell,p as TableFooter,u as TableHead,m as TableHeadContent,i as TableHeader,c as TableRow,f as TableSort};//# sourceMappingURL=table.js.map
2
- //# sourceMappingURL=table.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/table.tsx"],"names":["Table","className","props","jsx","cx","TableHeader","TableBody","TableFooter","TableRow","isSelected","TableHead","TableHeadContent","TableSort","sortedDirection","Icon","TableCell"],"mappings":"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","file":"table.js","sourcesContent":["import { cx } from '@xjur-ui/util'\nimport { Icon } from './icon'\n\nexport function Table({ className, ...props }: React.ComponentProps<'table'>) {\n return (\n <div\n className=\"text-size-body-md scrollbar-thin relative w-full overflow-hidden transition-all hover:overflow-x-auto\"\n data-slot=\"table-container\"\n >\n <table\n className={cx('w-full caption-bottom', className)}\n data-slot=\"table\"\n {...props}\n />\n </div>\n )\n}\n\nexport function TableHeader({\n className,\n ...props\n}: React.ComponentProps<'thead'>) {\n return (\n <thead\n className={cx(\n 'group/table-header [&_tr]:border-border-layer-2 hover:bg-layer-2-hover [&_tr]:border-b',\n className\n )}\n data-slot=\"table-header\"\n {...props}\n />\n )\n}\n\nexport function TableBody({\n className,\n ...props\n}: React.ComponentProps<'tbody'>) {\n return (\n <tbody\n className={cx(\n '[&_tr]:border-border-layer-2 [&_tr]:border-b [&_tr:last-child]:border-0',\n className\n )}\n data-slot=\"table-body\"\n {...props}\n />\n )\n}\n\nexport function TableFooter({\n className,\n ...props\n}: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n className={cx(\n 'border-border-layer-2 border-t font-medium [&>tr]:last:border-b-0',\n className\n )}\n data-slot=\"table-footer\"\n {...props}\n />\n )\n}\n\nexport function TableRow({\n className,\n isSelected = false,\n ...props\n}: React.ComponentProps<'tr'> & { isSelected?: boolean }) {\n return (\n <tr\n className={cx(\n 'bg-layer-2-idle hover:bg-layer-2-hover ease border-b transition-colors duration-100',\n 'active:bg-layer-2-pressed',\n 'data-[selected=true]:bg-primary-alt-active',\n className\n )}\n data-selected={isSelected}\n data-slot=\"table-row\"\n {...props}\n />\n )\n}\n\nexport function TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n className={cx(\n 'group/th text-neutral-placeholder text-size-label-sm h-large-4x py-small-1x px-small text-left align-middle font-medium whitespace-nowrap',\n 'pr-large-2x relative',\n 'animate-in fade-in duration-200 ease-in',\n className\n )}\n data-slot=\"table-head\"\n {...props}\n />\n )\n}\n\nexport function TableHeadContent({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n className={cx(\n 'gap-small pr-large-3x relative flex w-fit items-center',\n className\n )}\n {...props}\n />\n )\n}\n\nexport function TableSort({\n className,\n sortedDirection,\n ...props\n}: React.ComponentProps<'button'> & { sortedDirection?: 'asc' | 'desc' }) {\n return (\n <button\n className={cx(\n 'size-large-1x rounded-small-1x',\n 'flex cursor-pointer items-center justify-center',\n 'hidden group-hover/th:flex',\n 'data-[sorted=true]:flex',\n 'transition-all duration-200 ease-out',\n 'data-[sorted=true]:bg-primary-alt-active data-[sorted=true]:text-primary-label-active',\n 'absolute top-1/2 right-0 -translate-y-1/2',\n className\n )}\n data-sorted={sortedDirection !== undefined}\n type=\"button\"\n {...props}\n >\n {sortedDirection !== undefined ? (\n <Icon\n name={sortedDirection === 'asc' ? 'arrow_downward' : 'arrow_upward'}\n />\n ) : (\n <Icon name=\"swap_vert\" />\n )}\n </button>\n )\n}\n\nexport function TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n className={cx(\n 'px-small py-none h-large-8x text-left align-middle whitespace-nowrap',\n className\n )}\n data-slot=\"table-cell\"\n {...props}\n />\n )\n}\n"]}
@@ -1,263 +0,0 @@
1
- import { createContext, useContext } from 'react'
2
- import type { ComponentProps } from 'react'
3
- import * as RadixPopover from '@radix-ui/react-popover'
4
- import { tv, twJoin, twMerge } from '@xjur-ui/util'
5
- import { Typography, type TypographyProps } from './typography'
6
-
7
- const DatePickerContext = createContext({
8
- disabled: false,
9
- variant: 'filled' as 'filled' | 'outlined',
10
- hasError: false
11
- })
12
-
13
- function useDatePicker() {
14
- const context = useContext(DatePickerContext)
15
- if (!context) {
16
- throw new Error('useDatePicker must be used within a DatePickerRoot')
17
- }
18
- return context
19
- }
20
-
21
- export function DatePickerRoot({
22
- disabled = false,
23
- variant = 'filled',
24
- hasError = false,
25
- ...props
26
- }: ComponentProps<typeof RadixPopover.Root> & {
27
- disabled?: boolean
28
- variant?: 'filled' | 'outlined'
29
- hasError?: boolean
30
- }) {
31
- return (
32
- <DatePickerContext.Provider value={{ disabled, variant, hasError }}>
33
- <RadixPopover.Root {...props} />
34
- </DatePickerContext.Provider>
35
- )
36
- }
37
-
38
- export function DatePickerTrigger({
39
- className,
40
- ...props
41
- }: ComponentProps<typeof RadixPopover.Trigger>) {
42
- const { disabled, variant, hasError } = useDatePicker()
43
-
44
- const trigger = tv({
45
- base: twMerge(
46
- 'border border-transparent group h-large-4x rounded-small-1x gap-small py-small_1x-alt px-small relative flex w-full items-center cursor-pointer',
47
- 'data-[state=open]:border-primary-idle',
48
- 'has-[input:not(:placeholder-shown)]:text-primary-idle',
49
- 'has-[input:not(:placeholder-shown)]:border-primary-idle',
50
- 'focus-within:border-primary-idle focus-within:hover:border-primary-idle',
51
- 'hover:border-border-layer-1'
52
- ),
53
- variants: {
54
- variant: {
55
- filled: 'bg-layer-2-hover',
56
- outlined:
57
- 'bg-layer-2-idle border-border-layer-2 hover:border-border-layer-3',
58
- disabled:
59
- 'hover:border-transparent border-none bg-layer-2-idle cursor-text select-text'
60
- },
61
- state: {
62
- idle: '',
63
- error: twMerge(
64
- 'focus-within:border-danger-idle hover:border-danger-idle border-danger-idle focus-within:hover:border-danger-idle',
65
- 'data-[state=open]:border-danger-idle has-[input:not(:placeholder-shown)]:border-danger-idle'
66
- )
67
- }
68
- },
69
- defaultVariants: {
70
- variant: 'filled',
71
- state: 'idle'
72
- }
73
- })
74
-
75
- return (
76
- <RadixPopover.Trigger
77
- className={trigger({
78
- variant: disabled ? 'disabled' : variant,
79
- state: hasError ? 'error' : 'idle',
80
- className
81
- })}
82
- {...props}
83
- disabled={disabled}
84
- />
85
- )
86
- }
87
-
88
- export function DatePickerContent({
89
- className,
90
- sideOffset = 5,
91
- side = 'bottom',
92
- align = 'start',
93
- ...props
94
- }: ComponentProps<typeof RadixPopover.Content>) {
95
- return (
96
- <RadixPopover.Portal>
97
- <RadixPopover.Content
98
- align={align}
99
- className={twJoin(
100
- className,
101
- 'group z-10 max-h-[var(--radix-popover-content-available-height)] max-w-[var(--radix-popover-content-available-width)] min-w-[var(--radix-popover-trigger-width)]'
102
- )}
103
- side={side}
104
- sideOffset={sideOffset}
105
- {...props}
106
- />
107
- </RadixPopover.Portal>
108
- )
109
- }
110
-
111
- export function DatePickerValue({
112
- className,
113
- displayValue = '',
114
- value,
115
- ...props
116
- }: ComponentProps<'input'> & { displayValue?: string }) {
117
- return (
118
- <>
119
- {!!displayValue && (
120
- <Typography className="text-neutral-dark group-has-[div[data-slot=date-picker-left-slot]]:pl-large-1x">
121
- {displayValue}
122
- </Typography>
123
- )}
124
-
125
- <input
126
- {...props}
127
- aria-readonly={true}
128
- className={twJoin('pointer-events-none', className)}
129
- hidden={true}
130
- placeholder={props.placeholder ?? ' '}
131
- readOnly={true}
132
- value={value ?? ''}
133
- />
134
- </>
135
- )
136
- }
137
-
138
- export function DatePickerLabel({
139
- className,
140
- htmlFor,
141
- children,
142
- ...props
143
- }: TypographyProps & { htmlFor?: string }) {
144
- const { variant, disabled, hasError } = useDatePicker()
145
-
146
- return (
147
- <Typography
148
- asChild={true}
149
- className={twJoin(
150
- 'group inline-block max-w-full truncate text-left font-normal',
151
- 'left-small right-small pointer-events-none absolute top-1/2 -translate-y-1/2',
152
- 'ease transition-all duration-250',
153
- // Content Open
154
- 'group-data-[state=open]:text-primary-idle group-data-[state=open]:data-[error=true]:text-danger-label-active',
155
- 'group-data-[state=open]:-top-[3px]',
156
- 'group-data-[state=open]:text-size-label-sm-1x',
157
- 'group-data-[state=open]:font-medium',
158
- // Filled
159
- 'group-has-[input:not(:placeholder-shown)]:text-primary-idle group-has-[input:not(:placeholder-shown)]:data-[error=true]:text-danger-label-active',
160
- 'group-has-[input:not(:placeholder-shown)]:-top-[3px]',
161
- 'group-has-[input:not(:placeholder-shown)]:text-size-label-sm-1x',
162
- 'group-has-[input:not(:placeholder-shown)]:font-medium',
163
- // If has left slot
164
- 'group-has-[div[data-slot=date-picker-left-slot]]:left-large-4x',
165
- 'group-has-[div[data-slot=date-picker-left-slot]]:group-data-[state=open]:left-small',
166
- 'group-has-[div[data-slot=date-picker-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-small',
167
- // If has right slot
168
- 'group-has-[div[data-slot=date-picker-right-slot]]:right-large-4x',
169
- 'group-has-[div[data-slot=date-picker-right-slot]]:group-data-[state=open]:right-small',
170
- 'group-has-[div[data-slot=date-picker-right-slot]]:group-has-[input:not(:placeholder-shown)]:right-small',
171
- // Animate
172
- 'group-data-[state=open]:animate-in',
173
- 'group-data-[state=closed]:animate-out',
174
- 'group-has-[input:not(:placeholder-shown)]:animate-out',
175
- 'data-[disabled=true]:hidden',
176
-
177
- className
178
- )}
179
- data-disabled={disabled}
180
- data-error={hasError}
181
- data-variant={variant}
182
- weight="medium"
183
- {...props}
184
- >
185
- <label htmlFor={htmlFor}>
186
- <span
187
- className={twJoin(
188
- 'rounded-small-1x max-w-full',
189
- 'group-data-[variant=outlined]:bg-layer-2-idle',
190
- 'group-data-[variant=filled]:bg-layer-2-hover'
191
- )}
192
- >
193
- {children}
194
- </span>
195
- </label>
196
- </Typography>
197
- )
198
- }
199
-
200
- export function DatePickerLeftSlot({
201
- className,
202
- ...props
203
- }: ComponentProps<'div'>) {
204
- return (
205
- <div
206
- {...props}
207
- className={twJoin(
208
- className,
209
- 'left-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center'
210
- )}
211
- data-slot="date-picker-left-slot"
212
- />
213
- )
214
- }
215
-
216
- export function DatePickerRightSlot({
217
- className,
218
- ...props
219
- }: ComponentProps<'div'>) {
220
- return (
221
- <div
222
- {...props}
223
- className={twJoin(
224
- className,
225
- 'right-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center'
226
- )}
227
- data-slot="date-picker-right-slot"
228
- />
229
- )
230
- }
231
-
232
- export function DatePickerCaption({
233
- className,
234
- variant = 'body',
235
- size = 'sm',
236
- weight = 'normal',
237
- ...props
238
- }: ComponentProps<typeof Typography>) {
239
- const { hasError } = useDatePicker()
240
-
241
- const caption = tv({
242
- base: 'text-size-body-sm mt-small-1x font-normal',
243
- variants: {
244
- state: {
245
- error: 'text-danger-label-active',
246
- idle: 'text-neutral-dark'
247
- }
248
- }
249
- })
250
-
251
- return (
252
- <Typography
253
- className={caption({
254
- state: hasError ? 'error' : 'idle',
255
- className
256
- })}
257
- size={size}
258
- variant={variant}
259
- weight={weight}
260
- {...props}
261
- />
262
- )
263
- }
@@ -1,320 +0,0 @@
1
- import { tv, twMerge } from '@xjur-ui/util'
2
- import type { ComponentProps } from 'react'
3
- import { createContext, useContext, useMemo } from 'react'
4
- import { InputMask, type MaskOptions } from '@react-input/mask'
5
- import {
6
- InputNumberFormat,
7
- type InputNumberFormatProps
8
- } from '@react-input/number-format'
9
- import { inputMask, type InputMaskType } from '../resources/input-mask'
10
- import { Typography } from './typography'
11
-
12
- export { inputMask, type InputMaskType, type MaskOptions }
13
-
14
- export type InputProps = {
15
- variant?: 'outlined' | 'filled'
16
- disabled?: boolean
17
- hasError?: boolean
18
- }
19
-
20
- const FieldContext = createContext<InputProps>({
21
- variant: 'filled',
22
- disabled: false,
23
- hasError: false
24
- })
25
-
26
- function useInput() {
27
- const context = useContext(FieldContext)
28
- if (!context) {
29
- throw new Error('useInput must be used within a InputRoot')
30
- }
31
- return context
32
- }
33
-
34
- export function InputRoot({
35
- className,
36
- children,
37
- variant = 'filled',
38
- disabled = false,
39
- hasError = false,
40
- ...props
41
- }: ComponentProps<'div'> & InputProps) {
42
- const providerValue = useMemo(
43
- () => ({ variant, disabled, hasError }),
44
- [variant, disabled, hasError]
45
- )
46
-
47
- return (
48
- <FieldContext.Provider value={providerValue}>
49
- <div
50
- className={twMerge('group relative flex w-full flex-col', className)}
51
- {...props}
52
- >
53
- {children}
54
- </div>
55
- </FieldContext.Provider>
56
- )
57
- }
58
-
59
- export function InputContent({ className, ...props }: ComponentProps<'div'>) {
60
- const content = tv({
61
- base: twMerge(
62
- 'border border-transparent relative h-large-4x rounded-small-1x gap-small py-small_1x-alt px-small flex items-center w-full',
63
- 'group-has-[div[data-slot=input-right-action-slot]]:rounded-r-none',
64
- 'group-has-[div[data-slot=input-left-action-slot]]:rounded-l-none',
65
- 'focus-within:border-primary-idle focus-within:hover:border-primary-idle',
66
- 'hover:border-border-layer-1'
67
- ),
68
- variants: {
69
- variant: {
70
- filled: 'bg-layer-2-hover',
71
- outlined:
72
- 'bg-layer-2-idle border-border-layer-2 hover:border-border-layer-3',
73
- disabled: 'hover:border-transparent border-none bg-layer-2-idle'
74
- },
75
- state: {
76
- idle: '',
77
- error:
78
- 'focus-within:border-danger-idle hover:border-danger-idle border-danger-idle focus-within:hover:border-danger-idle'
79
- }
80
- },
81
- defaultVariants: {
82
- variant: 'filled',
83
- state: 'idle'
84
- }
85
- })
86
-
87
- return (
88
- <FieldContext.Consumer>
89
- {({ variant, disabled, hasError }) => {
90
- return (
91
- <div
92
- className={content({
93
- variant: disabled ? 'disabled' : variant,
94
- state: hasError ? 'error' : 'idle',
95
- className
96
- })}
97
- {...props}
98
- />
99
- )
100
- }}
101
- </FieldContext.Consumer>
102
- )
103
- }
104
-
105
- export function InputLabel({
106
- htmlFor,
107
- className,
108
- children,
109
- ...props
110
- }: ComponentProps<typeof Typography> & { htmlFor: string }) {
111
- return (
112
- <FieldContext.Consumer>
113
- {({ variant, disabled, hasError }) => {
114
- return (
115
- <Typography
116
- asChild={true}
117
- className={twMerge(
118
- 'group inline-block max-w-full truncate text-left',
119
- 'ease animate-in left-small right-small pointer-events-none absolute top-1/2 -translate-y-1/2 transition-all duration-250',
120
- // Filled
121
- 'group-focus-within:!text-primary-idle group-focus-within:data-[has-error=true]:!text-danger-label-active group-focus-within:-top-[3px]',
122
- 'group-focus-within:text-size-label-sm-1x group-focus-within:font-medium',
123
- 'group-has-[input:not(:placeholder-shown)]:-top-[3px]',
124
- 'group-has-[input:not(:placeholder-shown)]:text-size-label-sm-1x',
125
- 'group-has-[input:not(:placeholder-shown)]:font-medium',
126
- 'group-has-[input:not(:placeholder-shown)]:!text-primary-idle',
127
- 'group-has-[input:not(:placeholder-shown)]:!text-danger-label-active',
128
- // If has left slot
129
- 'group-has-[div[data-slot=input-left-slot]]:left-large-4x',
130
- 'group-has-[div[data-slot=input-left-slot]]:group-focus-within:left-small',
131
- 'group-has-[div[data-slot=input-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-small',
132
- // If has right slot
133
- 'group-has-[div[data-slot=input-right-slot]]:right-large-4x',
134
- 'group-has-[div[data-slot=input-right-slot]]:group-focus-within:right-small',
135
- 'group-has-[div[data-slot=input-right-slot]]:group-has-[input:not(:placeholder-shown)]:right-small',
136
- // Animate
137
- 'group-focus-within:animate-in',
138
- 'group-has-[input:not(:placeholder-shown)]:animate-out',
139
- 'data-[disabled=true]:hidden',
140
- className
141
- )}
142
- data-disabled={disabled}
143
- data-has-error={hasError}
144
- data-variant={variant}
145
- {...props}
146
- >
147
- <label htmlFor={htmlFor}>
148
- <span
149
- className={twMerge(
150
- 'rounded-small-1x max-w-full',
151
- 'group-data-[variant=outlined]:group-focus-within:bg-layer-2-idle group-data-[variant=filled]:group-focus-within:bg-layer-2-hover',
152
- 'group-data-[variant=outlined]:bg-layer-2-idle group-data-[variant=filled]:bg-layer-2-hover'
153
- )}
154
- >
155
- {children}
156
- </span>
157
- </label>
158
- </Typography>
159
- )
160
- }}
161
- </FieldContext.Consumer>
162
- )
163
- }
164
-
165
- export function InputText({
166
- className,
167
- maskOptions,
168
- maskType,
169
- ...props
170
- }: ComponentProps<'input'> & {
171
- maskOptions?: MaskOptions
172
- maskType?: InputMaskType
173
- }) {
174
- const { disabled } = useInput()
175
- const Component = maskOptions || maskType ? InputMask : 'input'
176
-
177
- return (
178
- <Component
179
- {...props}
180
- disabled={disabled}
181
- {...(maskType
182
- ? { ...inputMask(maskType) }
183
- : maskOptions && { ...maskOptions })}
184
- className={twMerge(
185
- className,
186
- 'peer !text-size-body-md text-neutral-dark flex-1 outline-none',
187
- 'group-has-[div[data-slot=input-left-slot]]:pl-large-1x ml-small-1x'
188
- )}
189
- placeholder={props.placeholder || ' '}
190
- {...(maskOptions && { ...maskOptions })}
191
- />
192
- )
193
- }
194
-
195
- export function InputNumber({
196
- className,
197
- locales = 'pt-BR',
198
- ...props
199
- }: InputNumberFormatProps) {
200
- const { disabled } = useInput()
201
- return (
202
- <InputNumberFormat
203
- {...props}
204
- className={twMerge(
205
- className,
206
- 'peer !text-size-body-md text-neutral-dark flex-1 font-medium outline-none',
207
- 'group-has-[div[data-slot=input-left-slot]]:pl-large-1x ml-small-1x'
208
- )}
209
- disabled={disabled}
210
- locales={locales}
211
- placeholder={props.placeholder || ' '}
212
- />
213
- )
214
- }
215
-
216
- export function InputLeftSlot({ className, ...props }: ComponentProps<'div'>) {
217
- return (
218
- <div
219
- {...props}
220
- className={twMerge(
221
- className,
222
- 'left-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center'
223
- )}
224
- data-slot="input-left-slot"
225
- />
226
- )
227
- }
228
-
229
- export function InputRightSlot({ className, ...props }: ComponentProps<'div'>) {
230
- return (
231
- <div
232
- {...props}
233
- className={twMerge(
234
- className,
235
- 'right-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center'
236
- )}
237
- data-slot="input-right-slot"
238
- />
239
- )
240
- }
241
-
242
- export function InputCaption({
243
- className,
244
- variant = 'body',
245
- size = 'sm',
246
- weight = 'normal',
247
- ...props
248
- }: ComponentProps<typeof Typography>) {
249
- const { hasError } = useInput()
250
-
251
- const caption = tv({
252
- base: 'text-size-body-sm mt-small-1x font-normal',
253
- variants: {
254
- state: {
255
- error: 'text-danger-label-active',
256
- idle: 'text-neutral-dark'
257
- }
258
- }
259
- })
260
-
261
- return (
262
- <Typography
263
- className={caption({
264
- state: hasError ? 'error' : 'idle',
265
- className
266
- })}
267
- size={size}
268
- variant={variant}
269
- weight={weight}
270
- {...props}
271
- />
272
- )
273
- }
274
-
275
- export function InputContainer({ className, ...props }: ComponentProps<'div'>) {
276
- return (
277
- <div
278
- {...props}
279
- className={twMerge(className, 'flex items-center')}
280
- data-slot="input-content"
281
- />
282
- )
283
- }
284
-
285
- export function InputAction({
286
- className,
287
- side,
288
- ...props
289
- }: ComponentProps<'div'> & {
290
- side: 'left' | 'right'
291
- }) {
292
- const { disabled } = useInput()
293
- return (
294
- <div
295
- {...props}
296
- className={twMerge(
297
- className,
298
- 'group h-large-4x flex items-center justify-center data-[disabled=true]:hidden'
299
- )}
300
- data-disabled={disabled}
301
- data-side={side}
302
- data-slot={`input-${side}-action-slot`}
303
- />
304
- )
305
- }
306
-
307
- export function InputActionButton({
308
- className,
309
- ...props
310
- }: ComponentProps<'div'>) {
311
- return (
312
- <div
313
- {...props}
314
- className={twMerge(
315
- className,
316
- 'h-large-4x w-large-4x bg-layer-2-hover flex cursor-pointer items-center justify-center'
317
- )}
318
- />
319
- )
320
- }