@iclips/ui 1.4.13 → 2.0.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 (690) hide show
  1. package/LICENSE +21 -0
  2. package/MIGRATION-v2.md +214 -0
  3. package/README.md +106 -0
  4. package/dist/alert-theme.css +94 -0
  5. package/dist/assets/illustrations/announcements.png.cjs +2 -0
  6. package/dist/assets/illustrations/announcements.png.cjs.map +1 -0
  7. package/dist/assets/illustrations/announcements.png.js +5 -0
  8. package/dist/assets/illustrations/announcements.png.js.map +1 -0
  9. package/dist/assets/illustrations/checklist-approved.png.cjs +2 -0
  10. package/dist/assets/illustrations/checklist-approved.png.cjs.map +1 -0
  11. package/dist/assets/illustrations/checklist-approved.png.js +5 -0
  12. package/dist/assets/illustrations/checklist-approved.png.js.map +1 -0
  13. package/dist/assets/illustrations/client-profile.png.cjs +2 -0
  14. package/dist/assets/illustrations/client-profile.png.cjs.map +1 -0
  15. package/dist/assets/illustrations/client-profile.png.js +5 -0
  16. package/dist/assets/illustrations/client-profile.png.js.map +1 -0
  17. package/dist/assets/illustrations/contract-agreement.png.cjs +2 -0
  18. package/dist/assets/illustrations/contract-agreement.png.cjs.map +1 -0
  19. package/dist/assets/illustrations/contract-agreement.png.js +5 -0
  20. package/dist/assets/illustrations/contract-agreement.png.js.map +1 -0
  21. package/dist/assets/illustrations/create-record.png.cjs +2 -0
  22. package/dist/assets/illustrations/create-record.png.cjs.map +1 -0
  23. package/dist/assets/illustrations/create-record.png.js +5 -0
  24. package/dist/assets/illustrations/create-record.png.js.map +1 -0
  25. package/dist/assets/illustrations/cta-action.png.cjs +2 -0
  26. package/dist/assets/illustrations/cta-action.png.cjs.map +1 -0
  27. package/dist/assets/illustrations/cta-action.png.js +5 -0
  28. package/dist/assets/illustrations/cta-action.png.js.map +1 -0
  29. package/dist/assets/illustrations/draft-document.png.cjs +2 -0
  30. package/dist/assets/illustrations/draft-document.png.cjs.map +1 -0
  31. package/dist/assets/illustrations/draft-document.png.js +5 -0
  32. package/dist/assets/illustrations/draft-document.png.js.map +1 -0
  33. package/dist/assets/illustrations/edit-company.png.cjs +2 -0
  34. package/dist/assets/illustrations/edit-company.png.cjs.map +1 -0
  35. package/dist/assets/illustrations/edit-company.png.js +5 -0
  36. package/dist/assets/illustrations/edit-company.png.js.map +1 -0
  37. package/dist/assets/illustrations/edit-document.png.cjs +2 -0
  38. package/dist/assets/illustrations/edit-document.png.cjs.map +1 -0
  39. package/dist/assets/illustrations/edit-document.png.js +5 -0
  40. package/dist/assets/illustrations/edit-document.png.js.map +1 -0
  41. package/dist/assets/illustrations/empty-no-results.png.cjs +2 -0
  42. package/dist/assets/illustrations/empty-no-results.png.cjs.map +1 -0
  43. package/dist/assets/illustrations/empty-no-results.png.js +5 -0
  44. package/dist/assets/illustrations/empty-no-results.png.js.map +1 -0
  45. package/dist/assets/illustrations/empty-not-found.png.cjs +2 -0
  46. package/dist/assets/illustrations/empty-not-found.png.cjs.map +1 -0
  47. package/dist/assets/illustrations/empty-not-found.png.js +5 -0
  48. package/dist/assets/illustrations/empty-not-found.png.js.map +1 -0
  49. package/dist/assets/illustrations/empty-task-approved.png.cjs +2 -0
  50. package/dist/assets/illustrations/empty-task-approved.png.cjs.map +1 -0
  51. package/dist/assets/illustrations/empty-task-approved.png.js +5 -0
  52. package/dist/assets/illustrations/empty-task-approved.png.js.map +1 -0
  53. package/dist/assets/illustrations/empty-workflow-status.png.cjs +2 -0
  54. package/dist/assets/illustrations/empty-workflow-status.png.cjs.map +1 -0
  55. package/dist/assets/illustrations/empty-workflow-status.png.js +5 -0
  56. package/dist/assets/illustrations/empty-workflow-status.png.js.map +1 -0
  57. package/dist/assets/illustrations/integrations.png.cjs +2 -0
  58. package/dist/assets/illustrations/integrations.png.cjs.map +1 -0
  59. package/dist/assets/illustrations/integrations.png.js +5 -0
  60. package/dist/assets/illustrations/integrations.png.js.map +1 -0
  61. package/dist/assets/illustrations/onboarding-tips.png.cjs +2 -0
  62. package/dist/assets/illustrations/onboarding-tips.png.cjs.map +1 -0
  63. package/dist/assets/illustrations/onboarding-tips.png.js +5 -0
  64. package/dist/assets/illustrations/onboarding-tips.png.js.map +1 -0
  65. package/dist/assets/illustrations/scheduled-tasks.png.cjs +2 -0
  66. package/dist/assets/illustrations/scheduled-tasks.png.cjs.map +1 -0
  67. package/dist/assets/illustrations/scheduled-tasks.png.js +5 -0
  68. package/dist/assets/illustrations/scheduled-tasks.png.js.map +1 -0
  69. package/dist/assets/illustrations/search-documents.png.cjs +2 -0
  70. package/dist/assets/illustrations/search-documents.png.cjs.map +1 -0
  71. package/dist/assets/illustrations/search-documents.png.js +5 -0
  72. package/dist/assets/illustrations/search-documents.png.js.map +1 -0
  73. package/dist/assets/illustrations/success-checkmark.png.cjs +2 -0
  74. package/dist/assets/illustrations/success-checkmark.png.cjs.map +1 -0
  75. package/dist/assets/illustrations/success-checkmark.png.js +5 -0
  76. package/dist/assets/illustrations/success-checkmark.png.js.map +1 -0
  77. package/dist/components/ui/brand-colors.cjs +2 -0
  78. package/dist/components/ui/brand-colors.cjs.map +1 -0
  79. package/dist/components/ui/brand-colors.js +8 -0
  80. package/dist/components/ui/brand-colors.js.map +1 -0
  81. package/dist/components/ui/charts/chart.cjs +8 -0
  82. package/dist/components/ui/charts/chart.cjs.map +1 -0
  83. package/dist/components/ui/charts/chart.js +214 -0
  84. package/dist/components/ui/charts/chart.js.map +1 -0
  85. package/dist/components/ui/charts/donut-chart.cjs +2 -0
  86. package/dist/components/ui/charts/donut-chart.cjs.map +1 -0
  87. package/dist/components/ui/charts/donut-chart.js +285 -0
  88. package/dist/components/ui/charts/donut-chart.js.map +1 -0
  89. package/dist/components/ui/charts/kpi-card.cjs +2 -0
  90. package/dist/components/ui/charts/kpi-card.cjs.map +1 -0
  91. package/dist/components/ui/charts/kpi-card.js +75 -0
  92. package/dist/components/ui/charts/kpi-card.js.map +1 -0
  93. package/dist/components/ui/data/advanced-data-table.cjs +2 -0
  94. package/dist/components/ui/data/advanced-data-table.cjs.map +1 -0
  95. package/dist/components/ui/data/advanced-data-table.js +69 -0
  96. package/dist/components/ui/data/advanced-data-table.js.map +1 -0
  97. package/dist/components/ui/data/comment-system.cjs +2 -0
  98. package/dist/components/ui/data/comment-system.cjs.map +1 -0
  99. package/dist/components/ui/data/comment-system.js +492 -0
  100. package/dist/components/ui/data/comment-system.js.map +1 -0
  101. package/dist/components/ui/data/data-table-empty-state.cjs +2 -0
  102. package/dist/components/ui/data/data-table-empty-state.cjs.map +1 -0
  103. package/dist/components/ui/data/data-table-empty-state.js +40 -0
  104. package/dist/components/ui/data/data-table-empty-state.js.map +1 -0
  105. package/dist/components/ui/data/data-table-toolbar.cjs +2 -0
  106. package/dist/components/ui/data/data-table-toolbar.cjs.map +1 -0
  107. package/dist/components/ui/data/data-table-toolbar.js +85 -0
  108. package/dist/components/ui/data/data-table-toolbar.js.map +1 -0
  109. package/dist/components/ui/data/data-table.cjs +2 -0
  110. package/dist/components/ui/data/data-table.cjs.map +1 -0
  111. package/dist/components/ui/data/data-table.js +181 -0
  112. package/dist/components/ui/data/data-table.js.map +1 -0
  113. package/dist/components/ui/data/document-editor.cjs +2 -0
  114. package/dist/components/ui/data/document-editor.cjs.map +1 -0
  115. package/dist/components/ui/data/document-editor.js +158 -0
  116. package/dist/components/ui/data/document-editor.js.map +1 -0
  117. package/dist/components/ui/data/editorial-calendar.cjs +2 -0
  118. package/dist/components/ui/data/editorial-calendar.cjs.map +1 -0
  119. package/dist/components/ui/data/editorial-calendar.js +840 -0
  120. package/dist/components/ui/data/editorial-calendar.js.map +1 -0
  121. package/dist/components/ui/data/filter-bar.cjs +2 -0
  122. package/dist/components/ui/data/filter-bar.cjs.map +1 -0
  123. package/dist/components/ui/data/filter-bar.js +60 -0
  124. package/dist/components/ui/data/filter-bar.js.map +1 -0
  125. package/dist/components/ui/data/filter-builder.cjs +2 -0
  126. package/dist/components/ui/data/filter-builder.cjs.map +1 -0
  127. package/dist/components/ui/data/filter-builder.js +378 -0
  128. package/dist/components/ui/data/filter-builder.js.map +1 -0
  129. package/dist/components/ui/data/filter-chip.cjs +2 -0
  130. package/dist/components/ui/data/filter-chip.cjs.map +1 -0
  131. package/dist/components/ui/data/filter-chip.js +39 -0
  132. package/dist/components/ui/data/filter-chip.js.map +1 -0
  133. package/dist/components/ui/data/mention-list.cjs +2 -0
  134. package/dist/components/ui/data/mention-list.cjs.map +1 -0
  135. package/dist/components/ui/data/mention-list.js +46 -0
  136. package/dist/components/ui/data/mention-list.js.map +1 -0
  137. package/dist/components/ui/data/table-pagination.cjs +2 -0
  138. package/dist/components/ui/data/table-pagination.cjs.map +1 -0
  139. package/dist/components/ui/data/table-pagination.js +176 -0
  140. package/dist/components/ui/data/table-pagination.js.map +1 -0
  141. package/dist/components/ui/data/table-types.cjs +2 -0
  142. package/dist/components/ui/data/table-types.cjs.map +1 -0
  143. package/dist/components/ui/data/table-types.js +14 -0
  144. package/dist/components/ui/data/table-types.js.map +1 -0
  145. package/dist/components/ui/data/table.cjs +2 -0
  146. package/dist/components/ui/data/table.cjs.map +1 -0
  147. package/dist/components/ui/data/table.js +130 -0
  148. package/dist/components/ui/data/table.js.map +1 -0
  149. package/dist/components/ui/feedback/alert.cjs +2 -0
  150. package/dist/components/ui/feedback/alert.cjs.map +1 -0
  151. package/dist/components/ui/feedback/alert.js +67 -0
  152. package/dist/components/ui/feedback/alert.js.map +1 -0
  153. package/dist/components/ui/feedback/empty-state.cjs +2 -0
  154. package/dist/components/ui/feedback/empty-state.cjs.map +1 -0
  155. package/dist/components/ui/feedback/empty-state.js +78 -0
  156. package/dist/components/ui/feedback/empty-state.js.map +1 -0
  157. package/dist/components/ui/feedback/illustrations.cjs +2 -0
  158. package/dist/components/ui/feedback/illustrations.cjs.map +1 -0
  159. package/dist/components/ui/feedback/illustrations.js +157 -0
  160. package/dist/components/ui/feedback/illustrations.js.map +1 -0
  161. package/dist/components/ui/feedback/toast.cjs +2 -0
  162. package/dist/components/ui/feedback/toast.cjs.map +1 -0
  163. package/dist/components/ui/feedback/toast.js +38 -0
  164. package/dist/components/ui/feedback/toast.js.map +1 -0
  165. package/dist/components/ui/forms/calendar.cjs +2 -0
  166. package/dist/components/ui/forms/calendar.cjs.map +1 -0
  167. package/dist/components/ui/forms/calendar.js +65 -0
  168. package/dist/components/ui/forms/calendar.js.map +1 -0
  169. package/dist/components/ui/forms/checkbox.cjs +2 -0
  170. package/dist/components/ui/forms/checkbox.cjs.map +1 -0
  171. package/dist/components/ui/forms/checkbox.js +31 -0
  172. package/dist/components/ui/forms/checkbox.js.map +1 -0
  173. package/dist/components/ui/forms/color-picker.cjs +2 -0
  174. package/dist/components/ui/forms/color-picker.cjs.map +1 -0
  175. package/dist/components/ui/forms/color-picker.js +151 -0
  176. package/dist/components/ui/forms/color-picker.js.map +1 -0
  177. package/dist/components/ui/forms/combobox.cjs +2 -0
  178. package/dist/components/ui/forms/combobox.cjs.map +1 -0
  179. package/dist/components/ui/forms/combobox.js +208 -0
  180. package/dist/components/ui/forms/combobox.js.map +1 -0
  181. package/dist/components/ui/forms/currency-input.cjs +2 -0
  182. package/dist/components/ui/forms/currency-input.cjs.map +1 -0
  183. package/dist/components/ui/forms/currency-input.js +81 -0
  184. package/dist/components/ui/forms/currency-input.js.map +1 -0
  185. package/dist/components/ui/forms/date-picker.cjs +2 -0
  186. package/dist/components/ui/forms/date-picker.cjs.map +1 -0
  187. package/dist/components/ui/forms/date-picker.js +199 -0
  188. package/dist/components/ui/forms/date-picker.js.map +1 -0
  189. package/dist/components/ui/forms/date-range-picker.cjs +2 -0
  190. package/dist/components/ui/forms/date-range-picker.cjs.map +1 -0
  191. package/dist/components/ui/forms/date-range-picker.js +305 -0
  192. package/dist/components/ui/forms/date-range-picker.js.map +1 -0
  193. package/dist/components/ui/forms/editable-badge.cjs +2 -0
  194. package/dist/components/ui/forms/editable-badge.cjs.map +1 -0
  195. package/dist/components/ui/forms/editable-badge.js +137 -0
  196. package/dist/components/ui/forms/editable-badge.js.map +1 -0
  197. package/dist/components/ui/forms/file-attachment-list.cjs +2 -0
  198. package/dist/components/ui/forms/file-attachment-list.cjs.map +1 -0
  199. package/dist/components/ui/forms/file-attachment-list.js +235 -0
  200. package/dist/components/ui/forms/file-attachment-list.js.map +1 -0
  201. package/dist/components/ui/forms/file-upload-zone.cjs +3 -0
  202. package/dist/components/ui/forms/file-upload-zone.cjs.map +1 -0
  203. package/dist/components/ui/forms/file-upload-zone.js +142 -0
  204. package/dist/components/ui/forms/file-upload-zone.js.map +1 -0
  205. package/dist/components/ui/forms/form.cjs +2 -0
  206. package/dist/components/ui/forms/form.cjs.map +1 -0
  207. package/dist/components/ui/forms/form.js +109 -0
  208. package/dist/components/ui/forms/form.js.map +1 -0
  209. package/dist/components/ui/forms/input-group.cjs +2 -0
  210. package/dist/components/ui/forms/input-group.cjs.map +1 -0
  211. package/dist/components/ui/forms/input-group.js +131 -0
  212. package/dist/components/ui/forms/input-group.js.map +1 -0
  213. package/dist/components/ui/forms/input-otp.cjs +2 -0
  214. package/dist/components/ui/forms/input-otp.cjs.map +1 -0
  215. package/dist/components/ui/forms/input-otp.js +63 -0
  216. package/dist/components/ui/forms/input-otp.js.map +1 -0
  217. package/dist/components/ui/forms/input-validation.cjs +2 -0
  218. package/dist/components/ui/forms/input-validation.cjs.map +1 -0
  219. package/dist/components/ui/forms/input-validation.js +55 -0
  220. package/dist/components/ui/forms/input-validation.js.map +1 -0
  221. package/dist/components/ui/forms/input.cjs +2 -0
  222. package/dist/components/ui/forms/input.cjs.map +1 -0
  223. package/dist/components/ui/forms/input.js +26 -0
  224. package/dist/components/ui/forms/input.js.map +1 -0
  225. package/dist/components/ui/forms/month-range-picker.cjs +2 -0
  226. package/dist/components/ui/forms/month-range-picker.cjs.map +1 -0
  227. package/dist/components/ui/forms/month-range-picker.js +263 -0
  228. package/dist/components/ui/forms/month-range-picker.js.map +1 -0
  229. package/dist/components/ui/forms/multi-select.cjs +2 -0
  230. package/dist/components/ui/forms/multi-select.cjs.map +1 -0
  231. package/dist/components/ui/forms/multi-select.js +251 -0
  232. package/dist/components/ui/forms/multi-select.js.map +1 -0
  233. package/dist/components/ui/forms/number-input.cjs +2 -0
  234. package/dist/components/ui/forms/number-input.cjs.map +1 -0
  235. package/dist/components/ui/forms/number-input.js +220 -0
  236. package/dist/components/ui/forms/number-input.js.map +1 -0
  237. package/dist/components/ui/forms/password-input.cjs +2 -0
  238. package/dist/components/ui/forms/password-input.cjs.map +1 -0
  239. package/dist/components/ui/forms/password-input.js +43 -0
  240. package/dist/components/ui/forms/password-input.js.map +1 -0
  241. package/dist/components/ui/forms/radio-group.cjs +2 -0
  242. package/dist/components/ui/forms/radio-group.cjs.map +1 -0
  243. package/dist/components/ui/forms/radio-group.js +41 -0
  244. package/dist/components/ui/forms/radio-group.js.map +1 -0
  245. package/dist/components/ui/forms/select.cjs +2 -0
  246. package/dist/components/ui/forms/select.cjs.map +1 -0
  247. package/dist/components/ui/forms/select.js +140 -0
  248. package/dist/components/ui/forms/select.js.map +1 -0
  249. package/dist/components/ui/forms/slider.cjs +2 -0
  250. package/dist/components/ui/forms/slider.cjs.map +1 -0
  251. package/dist/components/ui/forms/slider.js +62 -0
  252. package/dist/components/ui/forms/slider.js.map +1 -0
  253. package/dist/components/ui/forms/social-button.cjs +2 -0
  254. package/dist/components/ui/forms/social-button.cjs.map +1 -0
  255. package/dist/components/ui/forms/social-button.js +86 -0
  256. package/dist/components/ui/forms/social-button.js.map +1 -0
  257. package/dist/components/ui/forms/switch.cjs +2 -0
  258. package/dist/components/ui/forms/switch.cjs.map +1 -0
  259. package/dist/components/ui/forms/switch.js +31 -0
  260. package/dist/components/ui/forms/switch.js.map +1 -0
  261. package/dist/components/ui/forms/textarea.cjs +2 -0
  262. package/dist/components/ui/forms/textarea.cjs.map +1 -0
  263. package/dist/components/ui/forms/textarea.js +22 -0
  264. package/dist/components/ui/forms/textarea.js.map +1 -0
  265. package/dist/components/ui/forms/time-picker.cjs +2 -0
  266. package/dist/components/ui/forms/time-picker.cjs.map +1 -0
  267. package/dist/components/ui/forms/time-picker.js +195 -0
  268. package/dist/components/ui/forms/time-picker.js.map +1 -0
  269. package/dist/components/ui/forms/toggle-group.cjs +2 -0
  270. package/dist/components/ui/forms/toggle-group.cjs.map +1 -0
  271. package/dist/components/ui/forms/toggle-group.js +53 -0
  272. package/dist/components/ui/forms/toggle-group.js.map +1 -0
  273. package/dist/components/ui/forms/toggle.cjs +2 -0
  274. package/dist/components/ui/forms/toggle.cjs.map +1 -0
  275. package/dist/components/ui/forms/toggle.js +40 -0
  276. package/dist/components/ui/forms/toggle.js.map +1 -0
  277. package/dist/components/ui/layout/accordion.cjs +2 -0
  278. package/dist/components/ui/layout/accordion.cjs.map +1 -0
  279. package/dist/components/ui/layout/accordion.js +53 -0
  280. package/dist/components/ui/layout/accordion.js.map +1 -0
  281. package/dist/components/ui/layout/auth-layout.cjs +2 -0
  282. package/dist/components/ui/layout/auth-layout.cjs.map +1 -0
  283. package/dist/components/ui/layout/auth-layout.js +74 -0
  284. package/dist/components/ui/layout/auth-layout.js.map +1 -0
  285. package/dist/components/ui/layout/card.cjs +2 -0
  286. package/dist/components/ui/layout/card.cjs.map +1 -0
  287. package/dist/components/ui/layout/card.js +104 -0
  288. package/dist/components/ui/layout/card.js.map +1 -0
  289. package/dist/components/ui/layout/carousel.cjs +2 -0
  290. package/dist/components/ui/layout/carousel.cjs.map +1 -0
  291. package/dist/components/ui/layout/carousel.js +189 -0
  292. package/dist/components/ui/layout/carousel.js.map +1 -0
  293. package/dist/components/ui/layout/collapsible.cjs +2 -0
  294. package/dist/components/ui/layout/collapsible.cjs.map +1 -0
  295. package/dist/components/ui/layout/collapsible.js +30 -0
  296. package/dist/components/ui/layout/collapsible.js.map +1 -0
  297. package/dist/components/ui/layout/page-header.cjs +2 -0
  298. package/dist/components/ui/layout/page-header.cjs.map +1 -0
  299. package/dist/components/ui/layout/page-header.js +81 -0
  300. package/dist/components/ui/layout/page-header.js.map +1 -0
  301. package/dist/components/ui/layout/resizable.cjs +2 -0
  302. package/dist/components/ui/layout/resizable.cjs.map +1 -0
  303. package/dist/components/ui/layout/resizable.js +45 -0
  304. package/dist/components/ui/layout/resizable.js.map +1 -0
  305. package/dist/components/ui/layout/scroll-area.cjs +2 -0
  306. package/dist/components/ui/layout/scroll-area.cjs.map +1 -0
  307. package/dist/components/ui/layout/scroll-area.js +56 -0
  308. package/dist/components/ui/layout/scroll-area.js.map +1 -0
  309. package/dist/components/ui/navigation/breadcrumb.cjs +2 -0
  310. package/dist/components/ui/navigation/breadcrumb.cjs.map +1 -0
  311. package/dist/components/ui/navigation/breadcrumb.js +94 -0
  312. package/dist/components/ui/navigation/breadcrumb.js.map +1 -0
  313. package/dist/components/ui/navigation/navigation-menu.cjs +2 -0
  314. package/dist/components/ui/navigation/navigation-menu.cjs.map +1 -0
  315. package/dist/components/ui/navigation/navigation-menu.js +144 -0
  316. package/dist/components/ui/navigation/navigation-menu.js.map +1 -0
  317. package/dist/components/ui/navigation/pagination.cjs +2 -0
  318. package/dist/components/ui/navigation/pagination.cjs.map +1 -0
  319. package/dist/components/ui/navigation/pagination.js +106 -0
  320. package/dist/components/ui/navigation/pagination.js.map +1 -0
  321. package/dist/components/ui/navigation/sidebar.cjs +2 -0
  322. package/dist/components/ui/navigation/sidebar.cjs.map +1 -0
  323. package/dist/components/ui/navigation/sidebar.js +579 -0
  324. package/dist/components/ui/navigation/sidebar.js.map +1 -0
  325. package/dist/components/ui/navigation/tabs.cjs +2 -0
  326. package/dist/components/ui/navigation/tabs.cjs.map +1 -0
  327. package/dist/components/ui/navigation/tabs.js +58 -0
  328. package/dist/components/ui/navigation/tabs.js.map +1 -0
  329. package/dist/components/ui/navigation/underline-tabs.cjs +2 -0
  330. package/dist/components/ui/navigation/underline-tabs.cjs.map +1 -0
  331. package/dist/components/ui/navigation/underline-tabs.js +109 -0
  332. package/dist/components/ui/navigation/underline-tabs.js.map +1 -0
  333. package/dist/components/ui/overlays/alert-dialog.cjs +2 -0
  334. package/dist/components/ui/overlays/alert-dialog.cjs.map +1 -0
  335. package/dist/components/ui/overlays/alert-dialog.js +135 -0
  336. package/dist/components/ui/overlays/alert-dialog.js.map +1 -0
  337. package/dist/components/ui/overlays/command.cjs +2 -0
  338. package/dist/components/ui/overlays/command.cjs.map +1 -0
  339. package/dist/components/ui/overlays/command.js +143 -0
  340. package/dist/components/ui/overlays/command.js.map +1 -0
  341. package/dist/components/ui/overlays/context-menu.cjs +2 -0
  342. package/dist/components/ui/overlays/context-menu.cjs.map +1 -0
  343. package/dist/components/ui/overlays/context-menu.js +197 -0
  344. package/dist/components/ui/overlays/context-menu.js.map +1 -0
  345. package/dist/components/ui/overlays/dialog.cjs +2 -0
  346. package/dist/components/ui/overlays/dialog.cjs.map +1 -0
  347. package/dist/components/ui/overlays/dialog.js +112 -0
  348. package/dist/components/ui/overlays/dialog.js.map +1 -0
  349. package/dist/components/ui/overlays/drawer.cjs +2 -0
  350. package/dist/components/ui/overlays/drawer.cjs.map +1 -0
  351. package/dist/components/ui/overlays/drawer.js +109 -0
  352. package/dist/components/ui/overlays/drawer.js.map +1 -0
  353. package/dist/components/ui/overlays/dropdown-menu.cjs +2 -0
  354. package/dist/components/ui/overlays/dropdown-menu.cjs.map +1 -0
  355. package/dist/components/ui/overlays/dropdown-menu.js +198 -0
  356. package/dist/components/ui/overlays/dropdown-menu.js.map +1 -0
  357. package/dist/components/ui/overlays/hover-card.cjs +2 -0
  358. package/dist/components/ui/overlays/hover-card.cjs.map +1 -0
  359. package/dist/components/ui/overlays/hover-card.js +40 -0
  360. package/dist/components/ui/overlays/hover-card.js.map +1 -0
  361. package/dist/components/ui/overlays/menubar.cjs +2 -0
  362. package/dist/components/ui/overlays/menubar.cjs.map +1 -0
  363. package/dist/components/ui/overlays/menubar.js +213 -0
  364. package/dist/components/ui/overlays/menubar.js.map +1 -0
  365. package/dist/components/ui/overlays/popover.cjs +2 -0
  366. package/dist/components/ui/overlays/popover.cjs.map +1 -0
  367. package/dist/components/ui/overlays/popover.js +36 -0
  368. package/dist/components/ui/overlays/popover.js.map +1 -0
  369. package/dist/components/ui/overlays/sheet.cjs +2 -0
  370. package/dist/components/ui/overlays/sheet.cjs.map +1 -0
  371. package/dist/components/ui/overlays/sheet.js +109 -0
  372. package/dist/components/ui/overlays/sheet.js.map +1 -0
  373. package/dist/components/ui/overlays/side-panel.cjs +16 -0
  374. package/dist/components/ui/overlays/side-panel.cjs.map +1 -0
  375. package/dist/components/ui/overlays/side-panel.js +117 -0
  376. package/dist/components/ui/overlays/side-panel.js.map +1 -0
  377. package/dist/components/ui/overlays/tooltip.cjs +2 -0
  378. package/dist/components/ui/overlays/tooltip.cjs.map +1 -0
  379. package/dist/components/ui/overlays/tooltip.js +50 -0
  380. package/dist/components/ui/overlays/tooltip.js.map +1 -0
  381. package/dist/components/ui/primitives/aspect-ratio.cjs +2 -0
  382. package/dist/components/ui/primitives/aspect-ratio.cjs.map +1 -0
  383. package/dist/components/ui/primitives/aspect-ratio.js +10 -0
  384. package/dist/components/ui/primitives/aspect-ratio.js.map +1 -0
  385. package/dist/components/ui/primitives/avatar.cjs +2 -0
  386. package/dist/components/ui/primitives/avatar.cjs.map +1 -0
  387. package/dist/components/ui/primitives/avatar.js +63 -0
  388. package/dist/components/ui/primitives/avatar.js.map +1 -0
  389. package/dist/components/ui/primitives/badge.cjs +2 -0
  390. package/dist/components/ui/primitives/badge.cjs.map +1 -0
  391. package/dist/components/ui/primitives/badge.js +50 -0
  392. package/dist/components/ui/primitives/badge.js.map +1 -0
  393. package/dist/components/ui/primitives/brand-logo.cjs +2 -0
  394. package/dist/components/ui/primitives/brand-logo.cjs.map +1 -0
  395. package/dist/components/ui/primitives/brand-logo.js +74 -0
  396. package/dist/components/ui/primitives/brand-logo.js.map +1 -0
  397. package/dist/components/ui/primitives/brand-logo.negative-paths.cjs +2 -0
  398. package/dist/components/ui/primitives/brand-logo.negative-paths.cjs.map +1 -0
  399. package/dist/components/ui/primitives/brand-logo.negative-paths.js +15 -0
  400. package/dist/components/ui/primitives/brand-logo.negative-paths.js.map +1 -0
  401. package/dist/components/ui/primitives/brand-logo.positive-paths.cjs +2 -0
  402. package/dist/components/ui/primitives/brand-logo.positive-paths.cjs.map +1 -0
  403. package/dist/components/ui/primitives/brand-logo.positive-paths.js +15 -0
  404. package/dist/components/ui/primitives/brand-logo.positive-paths.js.map +1 -0
  405. package/dist/components/ui/primitives/brand-logo.symbol-paths.cjs +2 -0
  406. package/dist/components/ui/primitives/brand-logo.symbol-paths.cjs.map +1 -0
  407. package/dist/components/ui/primitives/brand-logo.symbol-paths.js +8 -0
  408. package/dist/components/ui/primitives/brand-logo.symbol-paths.js.map +1 -0
  409. package/dist/components/ui/primitives/button.cjs +2 -0
  410. package/dist/components/ui/primitives/button.cjs.map +1 -0
  411. package/dist/components/ui/primitives/button.js +52 -0
  412. package/dist/components/ui/primitives/button.js.map +1 -0
  413. package/dist/components/ui/primitives/label.cjs +2 -0
  414. package/dist/components/ui/primitives/label.cjs.map +1 -0
  415. package/dist/components/ui/primitives/label.js +22 -0
  416. package/dist/components/ui/primitives/label.js.map +1 -0
  417. package/dist/components/ui/primitives/progress.cjs +2 -0
  418. package/dist/components/ui/primitives/progress.cjs.map +1 -0
  419. package/dist/components/ui/primitives/progress.js +30 -0
  420. package/dist/components/ui/primitives/progress.js.map +1 -0
  421. package/dist/components/ui/primitives/separator.cjs +2 -0
  422. package/dist/components/ui/primitives/separator.cjs.map +1 -0
  423. package/dist/components/ui/primitives/separator.js +26 -0
  424. package/dist/components/ui/primitives/separator.js.map +1 -0
  425. package/dist/components/ui/primitives/skeleton.cjs +2 -0
  426. package/dist/components/ui/primitives/skeleton.cjs.map +1 -0
  427. package/dist/components/ui/primitives/skeleton.js +31 -0
  428. package/dist/components/ui/primitives/skeleton.js.map +1 -0
  429. package/dist/components/ui/use-controllable-value.cjs +2 -0
  430. package/dist/components/ui/use-controllable-value.cjs.map +1 -0
  431. package/dist/components/ui/use-controllable-value.js +14 -0
  432. package/dist/components/ui/use-controllable-value.js.map +1 -0
  433. package/dist/components/ui/utils.cjs +2 -0
  434. package/dist/components/ui/utils.cjs.map +1 -0
  435. package/dist/components/ui/utils.js +20 -0
  436. package/dist/components/ui/utils.js.map +1 -0
  437. package/dist/editor.cjs +2 -0
  438. package/dist/editor.cjs.map +1 -0
  439. package/dist/editor.d.cts +114 -0
  440. package/dist/editor.d.ts +114 -0
  441. package/dist/editor.js +12 -0
  442. package/dist/editor.js.map +1 -0
  443. package/dist/hooks/use-data-table-filters.cjs +2 -0
  444. package/dist/hooks/use-data-table-filters.cjs.map +1 -0
  445. package/dist/hooks/use-data-table-filters.js +118 -0
  446. package/dist/hooks/use-data-table-filters.js.map +1 -0
  447. package/dist/hooks/use-data-table.cjs +2 -0
  448. package/dist/hooks/use-data-table.cjs.map +1 -0
  449. package/dist/hooks/use-data-table.js +84 -0
  450. package/dist/hooks/use-data-table.js.map +1 -0
  451. package/dist/hooks/use-mobile.cjs +2 -0
  452. package/dist/hooks/use-mobile.cjs.map +1 -0
  453. package/dist/hooks/use-mobile.js +17 -0
  454. package/dist/hooks/use-mobile.js.map +1 -0
  455. package/dist/hooks/use-table-pagination.cjs +2 -0
  456. package/dist/hooks/use-table-pagination.cjs.map +1 -0
  457. package/dist/hooks/use-table-pagination.js +44 -0
  458. package/dist/hooks/use-table-pagination.js.map +1 -0
  459. package/dist/index.cjs +1 -242
  460. package/dist/index.cjs.map +1 -1
  461. package/dist/index.css +1 -1
  462. package/dist/index.d.cts +2939 -0
  463. package/dist/index.d.ts +2939 -149
  464. package/dist/index.js +375 -63715
  465. package/dist/index.js.map +1 -1
  466. package/dist/preset.css +352 -0
  467. package/dist/toast-theme.css +100 -0
  468. package/dist/tokens.css +471 -0
  469. package/package.json +144 -45
  470. package/scripts/codemod-v2-renames.mjs +101 -0
  471. package/scripts/codemod-v2-toast.mjs +84 -0
  472. package/dist/components/figma/ImageWithFallback.d.ts +0 -3
  473. package/dist/components/figma/ImageWithFallback.d.ts.map +0 -1
  474. package/dist/components/print-templates/ContractTemplate.d.ts +0 -89
  475. package/dist/components/print-templates/ContractTemplate.d.ts.map +0 -1
  476. package/dist/components/print-templates/ProposalTemplate.d.ts +0 -41
  477. package/dist/components/print-templates/ProposalTemplate.d.ts.map +0 -1
  478. package/dist/components/print-templates/index.d.ts +0 -22
  479. package/dist/components/print-templates/index.d.ts.map +0 -1
  480. package/dist/components/print-templates/shared/PrintFooter.d.ts +0 -21
  481. package/dist/components/print-templates/shared/PrintFooter.d.ts.map +0 -1
  482. package/dist/components/print-templates/shared/PrintHeader.d.ts +0 -38
  483. package/dist/components/print-templates/shared/PrintHeader.d.ts.map +0 -1
  484. package/dist/components/print-templates/shared/PrintInfoGrid.d.ts +0 -22
  485. package/dist/components/print-templates/shared/PrintInfoGrid.d.ts.map +0 -1
  486. package/dist/components/print-templates/shared/PrintSection.d.ts +0 -29
  487. package/dist/components/print-templates/shared/PrintSection.d.ts.map +0 -1
  488. package/dist/components/print-templates/shared/PrintSignature.d.ts +0 -27
  489. package/dist/components/print-templates/shared/PrintSignature.d.ts.map +0 -1
  490. package/dist/components/print-templates/shared/PrintTable.d.ts +0 -44
  491. package/dist/components/print-templates/shared/PrintTable.d.ts.map +0 -1
  492. package/dist/components/timeline-demo.d.ts +0 -3
  493. package/dist/components/timeline-demo.d.ts.map +0 -1
  494. package/dist/components/ui/accordion.d.ts +0 -8
  495. package/dist/components/ui/accordion.d.ts.map +0 -1
  496. package/dist/components/ui/advanced-data-table.d.ts +0 -100
  497. package/dist/components/ui/advanced-data-table.d.ts.map +0 -1
  498. package/dist/components/ui/alert-dialog.d.ts +0 -15
  499. package/dist/components/ui/alert-dialog.d.ts.map +0 -1
  500. package/dist/components/ui/alert-toast.d.ts +0 -11
  501. package/dist/components/ui/alert-toast.d.ts.map +0 -1
  502. package/dist/components/ui/alert.d.ts +0 -10
  503. package/dist/components/ui/alert.d.ts.map +0 -1
  504. package/dist/components/ui/app-layout-primary-nav.d.ts +0 -30
  505. package/dist/components/ui/app-layout-primary-nav.d.ts.map +0 -1
  506. package/dist/components/ui/app-layout-secondary-nav.d.ts +0 -34
  507. package/dist/components/ui/app-layout-secondary-nav.d.ts.map +0 -1
  508. package/dist/components/ui/app-layout-user-menu.d.ts +0 -28
  509. package/dist/components/ui/app-layout-user-menu.d.ts.map +0 -1
  510. package/dist/components/ui/aspect-ratio.d.ts +0 -4
  511. package/dist/components/ui/aspect-ratio.d.ts.map +0 -1
  512. package/dist/components/ui/auth-layout.d.ts +0 -28
  513. package/dist/components/ui/auth-layout.d.ts.map +0 -1
  514. package/dist/components/ui/avatar.d.ts +0 -21
  515. package/dist/components/ui/avatar.d.ts.map +0 -1
  516. package/dist/components/ui/badge.d.ts +0 -18
  517. package/dist/components/ui/badge.d.ts.map +0 -1
  518. package/dist/components/ui/brand-logo.d.ts +0 -7
  519. package/dist/components/ui/brand-logo.d.ts.map +0 -1
  520. package/dist/components/ui/breadcrumb.d.ts +0 -12
  521. package/dist/components/ui/breadcrumb.d.ts.map +0 -1
  522. package/dist/components/ui/button.d.ts +0 -15
  523. package/dist/components/ui/button.d.ts.map +0 -1
  524. package/dist/components/ui/calendar.d.ts +0 -31
  525. package/dist/components/ui/calendar.d.ts.map +0 -1
  526. package/dist/components/ui/card.d.ts +0 -10
  527. package/dist/components/ui/card.d.ts.map +0 -1
  528. package/dist/components/ui/carousel.d.ts +0 -20
  529. package/dist/components/ui/carousel.d.ts.map +0 -1
  530. package/dist/components/ui/chart.d.ts +0 -45
  531. package/dist/components/ui/chart.d.ts.map +0 -1
  532. package/dist/components/ui/checkbox.d.ts +0 -5
  533. package/dist/components/ui/checkbox.d.ts.map +0 -1
  534. package/dist/components/ui/collapsible.d.ts +0 -6
  535. package/dist/components/ui/collapsible.d.ts.map +0 -1
  536. package/dist/components/ui/color-picker.d.ts +0 -13
  537. package/dist/components/ui/color-picker.d.ts.map +0 -1
  538. package/dist/components/ui/combobox.d.ts +0 -118
  539. package/dist/components/ui/combobox.d.ts.map +0 -1
  540. package/dist/components/ui/command.d.ts +0 -17
  541. package/dist/components/ui/command.d.ts.map +0 -1
  542. package/dist/components/ui/comment-system.d.ts +0 -43
  543. package/dist/components/ui/comment-system.d.ts.map +0 -1
  544. package/dist/components/ui/context-menu.d.ts +0 -26
  545. package/dist/components/ui/context-menu.d.ts.map +0 -1
  546. package/dist/components/ui/contract-print.d.ts +0 -82
  547. package/dist/components/ui/contract-print.d.ts.map +0 -1
  548. package/dist/components/ui/currency-input.d.ts +0 -11
  549. package/dist/components/ui/currency-input.d.ts.map +0 -1
  550. package/dist/components/ui/data-table.d.ts +0 -30
  551. package/dist/components/ui/data-table.d.ts.map +0 -1
  552. package/dist/components/ui/date-picker.d.ts +0 -111
  553. package/dist/components/ui/date-picker.d.ts.map +0 -1
  554. package/dist/components/ui/date-range-picker.d.ts +0 -128
  555. package/dist/components/ui/date-range-picker.d.ts.map +0 -1
  556. package/dist/components/ui/dialog.d.ts +0 -14
  557. package/dist/components/ui/dialog.d.ts.map +0 -1
  558. package/dist/components/ui/document-editor.d.ts +0 -14
  559. package/dist/components/ui/document-editor.d.ts.map +0 -1
  560. package/dist/components/ui/donut-chart.d.ts +0 -32
  561. package/dist/components/ui/donut-chart.d.ts.map +0 -1
  562. package/dist/components/ui/drawer.d.ts +0 -14
  563. package/dist/components/ui/drawer.d.ts.map +0 -1
  564. package/dist/components/ui/dropdown-menu.d.ts +0 -26
  565. package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
  566. package/dist/components/ui/editable-badge.d.ts +0 -98
  567. package/dist/components/ui/editable-badge.d.ts.map +0 -1
  568. package/dist/components/ui/editorial-calendar.d.ts +0 -22
  569. package/dist/components/ui/editorial-calendar.d.ts.map +0 -1
  570. package/dist/components/ui/empty-state.d.ts +0 -59
  571. package/dist/components/ui/empty-state.d.ts.map +0 -1
  572. package/dist/components/ui/filter-bar.d.ts +0 -16
  573. package/dist/components/ui/filter-bar.d.ts.map +0 -1
  574. package/dist/components/ui/filter-builder.d.ts +0 -39
  575. package/dist/components/ui/filter-builder.d.ts.map +0 -1
  576. package/dist/components/ui/filter-chip.d.ts +0 -8
  577. package/dist/components/ui/filter-chip.d.ts.map +0 -1
  578. package/dist/components/ui/form.d.ts +0 -25
  579. package/dist/components/ui/form.d.ts.map +0 -1
  580. package/dist/components/ui/gantt-chart.d.ts +0 -28
  581. package/dist/components/ui/gantt-chart.d.ts.map +0 -1
  582. package/dist/components/ui/hover-card.d.ts +0 -7
  583. package/dist/components/ui/hover-card.d.ts.map +0 -1
  584. package/dist/components/ui/illustrations.d.ts +0 -76
  585. package/dist/components/ui/illustrations.d.ts.map +0 -1
  586. package/dist/components/ui/index.d.ts +0 -91
  587. package/dist/components/ui/index.d.ts.map +0 -1
  588. package/dist/components/ui/input-group.d.ts +0 -19
  589. package/dist/components/ui/input-group.d.ts.map +0 -1
  590. package/dist/components/ui/input-otp.d.ts +0 -12
  591. package/dist/components/ui/input-otp.d.ts.map +0 -1
  592. package/dist/components/ui/input-validation.d.ts +0 -35
  593. package/dist/components/ui/input-validation.d.ts.map +0 -1
  594. package/dist/components/ui/input.d.ts +0 -4
  595. package/dist/components/ui/input.d.ts.map +0 -1
  596. package/dist/components/ui/kanban-card.d.ts +0 -59
  597. package/dist/components/ui/kanban-card.d.ts.map +0 -1
  598. package/dist/components/ui/kanban-generic-card.d.ts +0 -43
  599. package/dist/components/ui/kanban-generic-card.d.ts.map +0 -1
  600. package/dist/components/ui/kpi-card.d.ts +0 -45
  601. package/dist/components/ui/kpi-card.d.ts.map +0 -1
  602. package/dist/components/ui/label.d.ts +0 -5
  603. package/dist/components/ui/label.d.ts.map +0 -1
  604. package/dist/components/ui/lista-anexos-arquivo.d.ts +0 -47
  605. package/dist/components/ui/lista-anexos-arquivo.d.ts.map +0 -1
  606. package/dist/components/ui/mention-list.d.ts +0 -7
  607. package/dist/components/ui/mention-list.d.ts.map +0 -1
  608. package/dist/components/ui/menubar.d.ts +0 -27
  609. package/dist/components/ui/menubar.d.ts.map +0 -1
  610. package/dist/components/ui/month-range-picker.d.ts +0 -71
  611. package/dist/components/ui/month-range-picker.d.ts.map +0 -1
  612. package/dist/components/ui/multi-select.d.ts +0 -98
  613. package/dist/components/ui/multi-select.d.ts.map +0 -1
  614. package/dist/components/ui/navigation-menu.d.ts +0 -15
  615. package/dist/components/ui/navigation-menu.d.ts.map +0 -1
  616. package/dist/components/ui/number-input.d.ts +0 -83
  617. package/dist/components/ui/number-input.d.ts.map +0 -1
  618. package/dist/components/ui/page-header.d.ts +0 -32
  619. package/dist/components/ui/page-header.d.ts.map +0 -1
  620. package/dist/components/ui/pagination.d.ts +0 -14
  621. package/dist/components/ui/pagination.d.ts.map +0 -1
  622. package/dist/components/ui/password-input.d.ts +0 -7
  623. package/dist/components/ui/password-input.d.ts.map +0 -1
  624. package/dist/components/ui/popover.d.ts +0 -8
  625. package/dist/components/ui/popover.d.ts.map +0 -1
  626. package/dist/components/ui/progress-timeline.d.ts +0 -42
  627. package/dist/components/ui/progress-timeline.d.ts.map +0 -1
  628. package/dist/components/ui/progress.d.ts +0 -7
  629. package/dist/components/ui/progress.d.ts.map +0 -1
  630. package/dist/components/ui/radio-group.d.ts +0 -6
  631. package/dist/components/ui/radio-group.d.ts.map +0 -1
  632. package/dist/components/ui/resizable.d.ts +0 -9
  633. package/dist/components/ui/resizable.d.ts.map +0 -1
  634. package/dist/components/ui/saved-filters.d.ts +0 -16
  635. package/dist/components/ui/saved-filters.d.ts.map +0 -1
  636. package/dist/components/ui/scroll-area.d.ts +0 -8
  637. package/dist/components/ui/scroll-area.d.ts.map +0 -1
  638. package/dist/components/ui/select.d.ts +0 -16
  639. package/dist/components/ui/select.d.ts.map +0 -1
  640. package/dist/components/ui/separator.d.ts +0 -5
  641. package/dist/components/ui/separator.d.ts.map +0 -1
  642. package/dist/components/ui/sheet.d.ts +0 -14
  643. package/dist/components/ui/sheet.d.ts.map +0 -1
  644. package/dist/components/ui/side-panel.d.ts +0 -40
  645. package/dist/components/ui/side-panel.d.ts.map +0 -1
  646. package/dist/components/ui/sidebar.d.ts +0 -70
  647. package/dist/components/ui/sidebar.d.ts.map +0 -1
  648. package/dist/components/ui/skeleton.d.ts +0 -8
  649. package/dist/components/ui/skeleton.d.ts.map +0 -1
  650. package/dist/components/ui/slider.d.ts +0 -5
  651. package/dist/components/ui/slider.d.ts.map +0 -1
  652. package/dist/components/ui/social-button.d.ts +0 -13
  653. package/dist/components/ui/social-button.d.ts.map +0 -1
  654. package/dist/components/ui/switch.d.ts +0 -5
  655. package/dist/components/ui/switch.d.ts.map +0 -1
  656. package/dist/components/ui/table-pagination.d.ts +0 -131
  657. package/dist/components/ui/table-pagination.d.ts.map +0 -1
  658. package/dist/components/ui/table-types.d.ts +0 -320
  659. package/dist/components/ui/table-types.d.ts.map +0 -1
  660. package/dist/components/ui/table.d.ts +0 -34
  661. package/dist/components/ui/table.d.ts.map +0 -1
  662. package/dist/components/ui/tabs.d.ts +0 -8
  663. package/dist/components/ui/tabs.d.ts.map +0 -1
  664. package/dist/components/ui/task-edit-dialog.d.ts +0 -15
  665. package/dist/components/ui/task-edit-dialog.d.ts.map +0 -1
  666. package/dist/components/ui/textarea.d.ts +0 -4
  667. package/dist/components/ui/textarea.d.ts.map +0 -1
  668. package/dist/components/ui/time-picker.d.ts +0 -85
  669. package/dist/components/ui/time-picker.d.ts.map +0 -1
  670. package/dist/components/ui/timeline.d.ts +0 -63
  671. package/dist/components/ui/timeline.d.ts.map +0 -1
  672. package/dist/components/ui/toast.d.ts +0 -5
  673. package/dist/components/ui/toast.d.ts.map +0 -1
  674. package/dist/components/ui/toggle-group.d.ts +0 -8
  675. package/dist/components/ui/toggle-group.d.ts.map +0 -1
  676. package/dist/components/ui/toggle.d.ts +0 -10
  677. package/dist/components/ui/toggle.d.ts.map +0 -1
  678. package/dist/components/ui/tooltip.d.ts +0 -8
  679. package/dist/components/ui/tooltip.d.ts.map +0 -1
  680. package/dist/components/ui/underline-tabs.d.ts +0 -29
  681. package/dist/components/ui/underline-tabs.d.ts.map +0 -1
  682. package/dist/components/ui/use-mobile.d.ts +0 -2
  683. package/dist/components/ui/use-mobile.d.ts.map +0 -1
  684. package/dist/components/ui/use-print-contract.d.ts +0 -37
  685. package/dist/components/ui/use-print-contract.d.ts.map +0 -1
  686. package/dist/components/ui/utils.d.ts +0 -3
  687. package/dist/components/ui/utils.d.ts.map +0 -1
  688. package/dist/components/ui/zona-upload-arquivo.d.ts +0 -34
  689. package/dist/components/ui/zona-upload-arquivo.d.ts.map +0 -1
  690. package/dist/index.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"success-checkmark.png.js","sources":["../../../src/assets/illustrations/success-checkmark.png"],"sourcesContent":["export default \"data:image/png;base64,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\""],"names":["successCheckmarkSrc"],"mappings":"AAAA,MAAAA,IAAe;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={google:{blue:"#4285F4",green:"#34A853",yellow:"#FBBC05",red:"#EA4335"},microsoft:{red:"#F25022",green:"#7FBA00",blue:"#00A4EF",yellow:"#FFB900"}};exports.BRAND_COLORS=e;
2
+ //# sourceMappingURL=brand-colors.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-colors.cjs","sources":["../../../src/components/ui/brand-colors.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax -- official third-party brand hex, not theme tokens */\n/**\n * Official third-party brand colors (Google, Facebook, GitHub, Microsoft).\n * These are NOT design tokens — they never change with the theme. Centralized\n * here so the \"no stray hex\" invariant stays meaningful and a rebrand is a\n * one-file change.\n */\nexport const BRAND_COLORS = {\n github: \"#24292F\",\n facebook: \"#1877F2\",\n google: { blue: \"#4285F4\", green: \"#34A853\", yellow: \"#FBBC05\", red: \"#EA4335\" },\n microsoft: { red: \"#F25022\", green: \"#7FBA00\", blue: \"#00A4EF\", yellow: \"#FFB900\" },\n} as const;\n"],"names":["BRAND_COLORS"],"mappings":"gFAOO,MAAMA,EAAe,CAG1B,OAAQ,CAAE,KAAM,UAAW,MAAO,UAAW,OAAQ,UAAW,IAAK,SAAA,EACrE,UAAW,CAAE,IAAK,UAAW,MAAO,UAAW,KAAM,UAAW,OAAQ,SAAA,CAC1E"}
@@ -0,0 +1,8 @@
1
+ const e = {
2
+ google: { blue: "#4285F4", green: "#34A853", yellow: "#FBBC05", red: "#EA4335" },
3
+ microsoft: { red: "#F25022", green: "#7FBA00", blue: "#00A4EF", yellow: "#FFB900" }
4
+ };
5
+ export {
6
+ e as BRAND_COLORS
7
+ };
8
+ //# sourceMappingURL=brand-colors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brand-colors.js","sources":["../../../src/components/ui/brand-colors.ts"],"sourcesContent":["/* eslint-disable no-restricted-syntax -- official third-party brand hex, not theme tokens */\n/**\n * Official third-party brand colors (Google, Facebook, GitHub, Microsoft).\n * These are NOT design tokens — they never change with the theme. Centralized\n * here so the \"no stray hex\" invariant stays meaningful and a rebrand is a\n * one-file change.\n */\nexport const BRAND_COLORS = {\n github: \"#24292F\",\n facebook: \"#1877F2\",\n google: { blue: \"#4285F4\", green: \"#34A853\", yellow: \"#FBBC05\", red: \"#EA4335\" },\n microsoft: { red: \"#F25022\", green: \"#7FBA00\", blue: \"#00A4EF\", yellow: \"#FFB900\" },\n} as const;\n"],"names":["BRAND_COLORS"],"mappings":"AAOO,MAAMA,IAAe;AAAA,EAG1B,QAAQ,EAAE,MAAM,WAAW,OAAO,WAAW,QAAQ,WAAW,KAAK,UAAA;AAAA,EACrE,WAAW,EAAE,KAAK,WAAW,OAAO,WAAW,MAAM,WAAW,QAAQ,UAAA;AAC1E;"}
@@ -0,0 +1,8 @@
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),R=require("react"),q=require("recharts"),i=require("../utils.cjs");function N(o){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const r in o)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(o,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:()=>o[r]})}}return e.default=o,Object.freeze(e)}const x=N(R),C=N(q),y={light:"",dark:".dark"},S=x.createContext(null);function L(){const o=x.useContext(S);if(!o)throw new Error("useChart must be used within a <ChartContainer />");return o}const P=x.forwardRef(({id:o,className:e,children:r,config:n,...l},h)=>{const c=x.useId(),u=`chart-${o||c.replace(/:/g,"")}`;return s.jsx(S.Provider,{value:{config:n},children:s.jsxs("div",{ref:h,"data-slot":"chart","data-chart":u,className:i.cn("[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",e),...l,children:[s.jsx(T,{id:u,config:n}),s.jsx(C.ResponsiveContainer,{children:r})]})})});P.displayName="ChartContainer";const T=({id:o,config:e})=>{const r=Object.entries(e).filter(([,n])=>n.theme||n.color);return r.length?s.jsx("style",{dangerouslySetInnerHTML:{__html:Object.entries(y).map(([n,l])=>`
2
+ ${l} [data-chart=${o}] {
3
+ ${r.map(([h,c])=>{var a;const u=((a=c.theme)==null?void 0:a[n])||c.color;return u?` --color-${h}: ${u};`:null}).join(`
4
+ `)}
5
+ }
6
+ `).join(`
7
+ `)}}):null},M=C.Tooltip;function I({active:o,payload:e=[],className:r,indicator:n="dot",hideLabel:l=!1,hideIndicator:h=!1,label:c,labelFormatter:u,labelClassName:a,formatter:_,color:$,nameKey:O,labelKey:p}){const{config:v}=L(),k=x.useMemo(()=>{var g;if(l||!(e!=null&&e.length))return null;const[t]=e,b=`${p||(t==null?void 0:t.dataKey)||(t==null?void 0:t.name)||"value"}`,f=m(v,t,b),d=!p&&typeof c=="string"?((g=v[c])==null?void 0:g.label)||c:f==null?void 0:f.label;return u?s.jsx("div",{className:i.cn("font-medium",a),children:u(d,e)}):d?s.jsx("div",{className:i.cn("font-medium",a),children:d}):null},[c,u,e,l,a,v,p]);if(!o||!(e!=null&&e.length))return null;const j=e.length===1&&n!=="dot";return s.jsxs("div",{className:i.cn("border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",r),children:[j?null:k,s.jsx("div",{className:"grid gap-1.5",children:e.map((t,b)=>{var w;const f=`${O||t.name||t.dataKey||"value"}`,d=m(v,t,f),g=$||((w=t.payload)==null?void 0:w.fill)||t.color;return s.jsx("div",{className:i.cn("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",n==="dot"&&"items-center"),children:_&&(t==null?void 0:t.value)!==void 0&&t.name?_(t.value,t.name,t,b,t.payload):s.jsxs(s.Fragment,{children:[d!=null&&d.icon?s.jsx(d.icon,{}):!h&&s.jsx("div",{className:i.cn("shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",{"h-2.5 w-2.5":n==="dot","w-1":n==="line","w-0 border-[1.5px] border-dashed bg-transparent":n==="dashed","my-0.5":j&&n==="dashed"}),style:{"--color-bg":g,"--color-border":g}}),s.jsxs("div",{className:i.cn("flex flex-1 justify-between leading-none",j?"items-end":"items-center"),children:[s.jsxs("div",{className:"grid gap-1.5",children:[j?k:null,s.jsx("span",{className:"text-muted-foreground",children:(d==null?void 0:d.label)||t.name})]}),t.value&&s.jsx("span",{className:"text-foreground font-mono font-medium tabular-nums",children:t.value.toLocaleString()})]})]})},String(t.dataKey??b))})})]})}const E=C.Legend;function K({className:o,hideIcon:e=!1,payload:r,verticalAlign:n="bottom",nameKey:l}){const{config:h}=L();return r!=null&&r.length?s.jsx("div",{className:i.cn("flex items-center justify-center gap-4",n==="top"?"pb-3":"pt-3",o),children:r.map(c=>{const u=`${l||c.dataKey||"value"}`,a=m(h,c,u);return s.jsxs("div",{className:i.cn("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"),children:[a!=null&&a.icon&&!e?s.jsx(a.icon,{}):s.jsx("div",{className:"h-2 w-2 shrink-0 rounded-[2px]",style:{backgroundColor:c.color}}),a==null?void 0:a.label]},c.value)})}):null}function m(o,e,r){if(typeof e!="object"||e===null)return;const n="payload"in e&&typeof e.payload=="object"&&e.payload!==null?e.payload:void 0;let l=r;return r in e&&typeof e[r]=="string"?l=e[r]:n&&r in n&&typeof n[r]=="string"&&(l=n[r]),l in o?o[l]:o[r]}exports.ChartContainer=P;exports.ChartLegend=E;exports.ChartLegendContent=K;exports.ChartStyle=T;exports.ChartTooltip=M;exports.ChartTooltipContent=I;
8
+ //# sourceMappingURL=chart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.cjs","sources":["../../../../src/components/ui/charts/chart.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport { cn } from \"../utils\";\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const;\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode;\n icon?: React.ComponentType;\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n );\n};\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\n/**\n * Formato mínimo de um item do `payload` do recharts (Tooltip/Legend) — só os\n * campos que este componente lê. Evita `any[]` sem depender do tipo interno\n * `Payload` do recharts, que não é reexportado de forma estável.\n */\ninterface ChartPayloadItem {\n value?: number | string;\n name?: string;\n dataKey?: string | number;\n color?: string;\n payload?: Record<string, unknown> & { fill?: string };\n [key: string]: unknown;\n}\n\n/** Tipo exato do array `payload` que os callbacks do Tooltip do recharts esperam. */\ntype ChartTooltipPayload = Parameters<\n NonNullable<\n React.ComponentProps<typeof RechartsPrimitive.Tooltip>[\"labelFormatter\"]\n >\n>[1];\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n const context = React.useContext(ChartContext);\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\");\n }\n\n return context;\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig;\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"];\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n ref={ref}\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className,\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n});\nChartContainer.displayName = \"ChartContainer\";\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color,\n );\n\n if (!colorConfig.length) {\n return null;\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color;\n return color ? ` --color-${key}: ${color};` : null;\n })\n .join(\"\\n\")}\n}\n`,\n )\n .join(\"\\n\"),\n }}\n />\n );\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nfunction ChartTooltipContent({\n active,\n payload = [],\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n}: React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean;\n hideIndicator?: boolean;\n indicator?: \"line\" | \"dot\" | \"dashed\";\n nameKey?: string;\n labelKey?: string;\n payload?: ChartTooltipPayload;\n label?: string;\n }) {\n const { config } = useChart();\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label;\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n );\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\n\n return (\n <div\n className={cn(\n \"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\",\n className,\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index: number) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || item.payload?.fill || item.color;\n\n return (\n <div\n key={String(item.dataKey ?? index)}\n className={cn(\n \"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5\",\n indicator === \"dot\" && \"items-center\",\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n },\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\",\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey,\n}: React.ComponentProps<\"div\"> & {\n hideIcon?: boolean;\n nameKey?: string;\n payload?: ChartPayloadItem[];\n verticalAlign?: \"top\" | \"bottom\";\n }) {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className,\n )}\n >\n {payload.map((item: ChartPayloadItem) => {\n const key = `${nameKey || item.dataKey || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={item.value}\n className={cn(\n \"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3\",\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string,\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined;\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined;\n\n let configLabelKey: string = key;\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string;\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string;\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config];\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n};\n"],"names":["THEMES","ChartContext","React","useChart","context","ChartContainer","id","className","children","config","props","ref","uniqueId","chartId","jsxs","cn","jsx","ChartStyle","RechartsPrimitive","colorConfig","theme","prefix","key","itemConfig","color","_a","ChartTooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","Fragment","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
@@ -0,0 +1,214 @@
1
+ "use client";
2
+ import { jsx as s, jsxs as f, Fragment as T } from "react/jsx-runtime";
3
+ import * as m from "react";
4
+ import * as w from "recharts";
5
+ import { cn as i } from "../utils.js";
6
+ const I = { light: "", dark: ".dark" }, $ = m.createContext(null);
7
+ function L() {
8
+ const o = m.useContext($);
9
+ if (!o)
10
+ throw new Error("useChart must be used within a <ChartContainer />");
11
+ return o;
12
+ }
13
+ const R = m.forwardRef(({ id: o, className: r, children: n, config: t, ...a }, h) => {
14
+ const c = m.useId(), d = `chart-${o || c.replace(/:/g, "")}`;
15
+ return /* @__PURE__ */ s($.Provider, { value: { config: t }, children: /* @__PURE__ */ f(
16
+ "div",
17
+ {
18
+ ref: h,
19
+ "data-slot": "chart",
20
+ "data-chart": d,
21
+ className: i(
22
+ "[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",
23
+ r
24
+ ),
25
+ ...a,
26
+ children: [
27
+ /* @__PURE__ */ s(E, { id: d, config: t }),
28
+ /* @__PURE__ */ s(w.ResponsiveContainer, { children: n })
29
+ ]
30
+ }
31
+ ) });
32
+ });
33
+ R.displayName = "ChartContainer";
34
+ const E = ({ id: o, config: r }) => {
35
+ const n = Object.entries(r).filter(
36
+ ([, t]) => t.theme || t.color
37
+ );
38
+ return n.length ? /* @__PURE__ */ s(
39
+ "style",
40
+ {
41
+ dangerouslySetInnerHTML: {
42
+ __html: Object.entries(I).map(
43
+ ([t, a]) => `
44
+ ${a} [data-chart=${o}] {
45
+ ${n.map(([h, c]) => {
46
+ var l;
47
+ const d = ((l = c.theme) == null ? void 0 : l[t]) || c.color;
48
+ return d ? ` --color-${h}: ${d};` : null;
49
+ }).join(`
50
+ `)}
51
+ }
52
+ `
53
+ ).join(`
54
+ `)
55
+ }
56
+ }
57
+ ) : null;
58
+ }, H = w.Tooltip;
59
+ function O({
60
+ active: o,
61
+ payload: r = [],
62
+ className: n,
63
+ indicator: t = "dot",
64
+ hideLabel: a = !1,
65
+ hideIndicator: h = !1,
66
+ label: c,
67
+ labelFormatter: d,
68
+ labelClassName: l,
69
+ formatter: C,
70
+ color: P,
71
+ nameKey: S,
72
+ labelKey: _
73
+ }) {
74
+ const { config: x } = L(), N = m.useMemo(() => {
75
+ var v;
76
+ if (a || !(r != null && r.length))
77
+ return null;
78
+ const [e] = r, p = `${_ || (e == null ? void 0 : e.dataKey) || (e == null ? void 0 : e.name) || "value"}`, g = k(x, e, p), u = !_ && typeof c == "string" ? ((v = x[c]) == null ? void 0 : v.label) || c : g == null ? void 0 : g.label;
79
+ return d ? /* @__PURE__ */ s("div", { className: i("font-medium", l), children: d(u, r) }) : u ? /* @__PURE__ */ s("div", { className: i("font-medium", l), children: u }) : null;
80
+ }, [
81
+ c,
82
+ d,
83
+ r,
84
+ a,
85
+ l,
86
+ x,
87
+ _
88
+ ]);
89
+ if (!o || !(r != null && r.length))
90
+ return null;
91
+ const b = r.length === 1 && t !== "dot";
92
+ return /* @__PURE__ */ f(
93
+ "div",
94
+ {
95
+ className: i(
96
+ "border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",
97
+ n
98
+ ),
99
+ children: [
100
+ b ? null : N,
101
+ /* @__PURE__ */ s("div", { className: "grid gap-1.5", children: r.map((e, p) => {
102
+ var j;
103
+ const g = `${S || e.name || e.dataKey || "value"}`, u = k(x, e, g), v = P || ((j = e.payload) == null ? void 0 : j.fill) || e.color;
104
+ return /* @__PURE__ */ s(
105
+ "div",
106
+ {
107
+ className: i(
108
+ "[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",
109
+ t === "dot" && "items-center"
110
+ ),
111
+ children: C && (e == null ? void 0 : e.value) !== void 0 && e.name ? C(e.value, e.name, e, p, e.payload) : /* @__PURE__ */ f(T, { children: [
112
+ u != null && u.icon ? /* @__PURE__ */ s(u.icon, {}) : !h && /* @__PURE__ */ s(
113
+ "div",
114
+ {
115
+ className: i(
116
+ "shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",
117
+ {
118
+ "h-2.5 w-2.5": t === "dot",
119
+ "w-1": t === "line",
120
+ "w-0 border-[1.5px] border-dashed bg-transparent": t === "dashed",
121
+ "my-0.5": b && t === "dashed"
122
+ }
123
+ ),
124
+ style: {
125
+ "--color-bg": v,
126
+ "--color-border": v
127
+ }
128
+ }
129
+ ),
130
+ /* @__PURE__ */ f(
131
+ "div",
132
+ {
133
+ className: i(
134
+ "flex flex-1 justify-between leading-none",
135
+ b ? "items-end" : "items-center"
136
+ ),
137
+ children: [
138
+ /* @__PURE__ */ f("div", { className: "grid gap-1.5", children: [
139
+ b ? N : null,
140
+ /* @__PURE__ */ s("span", { className: "text-muted-foreground", children: (u == null ? void 0 : u.label) || e.name })
141
+ ] }),
142
+ e.value && /* @__PURE__ */ s("span", { className: "text-foreground font-mono font-medium tabular-nums", children: e.value.toLocaleString() })
143
+ ]
144
+ }
145
+ )
146
+ ] })
147
+ },
148
+ String(e.dataKey ?? p)
149
+ );
150
+ }) })
151
+ ]
152
+ }
153
+ );
154
+ }
155
+ const q = w.Legend;
156
+ function z({
157
+ className: o,
158
+ hideIcon: r = !1,
159
+ payload: n,
160
+ verticalAlign: t = "bottom",
161
+ nameKey: a
162
+ }) {
163
+ const { config: h } = L();
164
+ return n != null && n.length ? /* @__PURE__ */ s(
165
+ "div",
166
+ {
167
+ className: i(
168
+ "flex items-center justify-center gap-4",
169
+ t === "top" ? "pb-3" : "pt-3",
170
+ o
171
+ ),
172
+ children: n.map((c) => {
173
+ const d = `${a || c.dataKey || "value"}`, l = k(h, c, d);
174
+ return /* @__PURE__ */ f(
175
+ "div",
176
+ {
177
+ className: i(
178
+ "[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
179
+ ),
180
+ children: [
181
+ l != null && l.icon && !r ? /* @__PURE__ */ s(l.icon, {}) : /* @__PURE__ */ s(
182
+ "div",
183
+ {
184
+ className: "h-2 w-2 shrink-0 rounded-[2px]",
185
+ style: {
186
+ backgroundColor: c.color
187
+ }
188
+ }
189
+ ),
190
+ l == null ? void 0 : l.label
191
+ ]
192
+ },
193
+ c.value
194
+ );
195
+ })
196
+ }
197
+ ) : null;
198
+ }
199
+ function k(o, r, n) {
200
+ if (typeof r != "object" || r === null)
201
+ return;
202
+ const t = "payload" in r && typeof r.payload == "object" && r.payload !== null ? r.payload : void 0;
203
+ let a = n;
204
+ return n in r && typeof r[n] == "string" ? a = r[n] : t && n in t && typeof t[n] == "string" && (a = t[n]), a in o ? o[a] : o[n];
205
+ }
206
+ export {
207
+ R as ChartContainer,
208
+ q as ChartLegend,
209
+ z as ChartLegendContent,
210
+ E as ChartStyle,
211
+ H as ChartTooltip,
212
+ O as ChartTooltipContent
213
+ };
214
+ //# sourceMappingURL=chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.js","sources":["../../../../src/components/ui/charts/chart.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport * as RechartsPrimitive from \"recharts\";\n\nimport { cn } from \"../utils\";\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const;\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode;\n icon?: React.ComponentType;\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n );\n};\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\n/**\n * Formato mínimo de um item do `payload` do recharts (Tooltip/Legend) — só os\n * campos que este componente lê. Evita `any[]` sem depender do tipo interno\n * `Payload` do recharts, que não é reexportado de forma estável.\n */\ninterface ChartPayloadItem {\n value?: number | string;\n name?: string;\n dataKey?: string | number;\n color?: string;\n payload?: Record<string, unknown> & { fill?: string };\n [key: string]: unknown;\n}\n\n/** Tipo exato do array `payload` que os callbacks do Tooltip do recharts esperam. */\ntype ChartTooltipPayload = Parameters<\n NonNullable<\n React.ComponentProps<typeof RechartsPrimitive.Tooltip>[\"labelFormatter\"]\n >\n>[1];\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n const context = React.useContext(ChartContext);\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\");\n }\n\n return context;\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig;\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"];\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n ref={ref}\n data-slot=\"chart\"\n data-chart={chartId}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className,\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n});\nChartContainer.displayName = \"ChartContainer\";\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([, config]) => config.theme || config.color,\n );\n\n if (!colorConfig.length) {\n return null;\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color;\n return color ? ` --color-${key}: ${color};` : null;\n })\n .join(\"\\n\")}\n}\n`,\n )\n .join(\"\\n\"),\n }}\n />\n );\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nfunction ChartTooltipContent({\n active,\n payload = [],\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n}: React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean;\n hideIndicator?: boolean;\n indicator?: \"line\" | \"dot\" | \"dashed\";\n nameKey?: string;\n labelKey?: string;\n payload?: ChartTooltipPayload;\n label?: string;\n }) {\n const { config } = useChart();\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n const key = `${labelKey || item?.dataKey || item?.name || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label;\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n );\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>;\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\";\n\n return (\n <div\n className={cn(\n \"border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl\",\n className,\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index: number) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || item.payload?.fill || item.color;\n\n return (\n <div\n key={String(item.dataKey ?? index)}\n className={cn(\n \"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5\",\n indicator === \"dot\" && \"items-center\",\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n },\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\",\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload,\n verticalAlign = \"bottom\",\n nameKey,\n}: React.ComponentProps<\"div\"> & {\n hideIcon?: boolean;\n nameKey?: string;\n payload?: ChartPayloadItem[];\n verticalAlign?: \"top\" | \"bottom\";\n }) {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className,\n )}\n >\n {payload.map((item: ChartPayloadItem) => {\n const key = `${nameKey || item.dataKey || \"value\"}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={item.value}\n className={cn(\n \"[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3\",\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n}\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string,\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined;\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined;\n\n let configLabelKey: string = key;\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string;\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string;\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config];\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n};\n"],"names":["THEMES","ChartContext","React","useChart","context","ChartContainer","id","className","children","config","props","ref","uniqueId","chartId","jsxs","cn","jsx","ChartStyle","RechartsPrimitive","colorConfig","theme","prefix","key","itemConfig","color","_a","ChartTooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","Fragment","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),w=require("react"),h=require("recharts"),p=require("../utils.cjs");function z(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const s in n)if(s!=="default"){const l=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(t,s,l.get?l:{enumerable:!0,get:()=>n[s]})}}return t.default=n,Object.freeze(t)}const b=z(w),v=["#3b82f6","#10b981","#f59e0b","#ef4444","#8b5cf6","#06b6d4","#f97316","#14b8a6","#ec4899","#6366f1"];function D(n){return new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL"}).format(n)}function M({layout:n,chartSize:t}){const s=[1,2,3].map(l=>e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-muted shrink-0"}),e.jsx("div",{className:"h-3 bg-muted rounded flex-1"})]},l));return n==="horizontal"?e.jsxs("div",{className:"flex items-center gap-6 w-full animate-pulse",children:[e.jsx("div",{className:"rounded-full bg-muted shrink-0",style:{width:t,height:t}}),e.jsx("div",{className:"flex flex-col gap-2 flex-1",children:s})]}):e.jsxs("div",{className:"flex flex-col items-center justify-center w-full animate-pulse gap-4",children:[e.jsx("div",{className:"rounded-full bg-muted",style:{width:140,height:140}}),e.jsx("div",{className:"flex flex-col gap-2 w-full max-w-50",children:s})]})}function R(){return e.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-full text-muted-foreground gap-2",children:[e.jsx("div",{className:"rounded-full border-4 border-dashed border-muted",style:{width:100,height:100}}),e.jsx("span",{className:"text-sm",children:"Sem dados para exibir"})]})}function k({active:n,payload:t,formatValue:s,total:l}){if(!n||!(t!=null&&t.length))return null;const c=t[0],r=l>0?(c.value/l*100).toFixed(1):"0.0";return e.jsxs("div",{className:"bg-popover border border-border rounded shadow-lg p-2 text-xs min-w-35",children:[e.jsx("div",{className:"font-medium mb-1",children:c.name}),e.jsxs("div",{className:"flex justify-between gap-4",children:[e.jsx("span",{className:"text-muted-foreground",children:"Valor"}),e.jsx("span",{className:"font-mono",children:s(c.value)})]}),e.jsxs("div",{className:"flex justify-between gap-4",children:[e.jsx("span",{className:"text-muted-foreground",children:"%"}),e.jsxs("span",{className:"font-mono",children:[r,"%"]})]})]})}function A({viewBox:n,activeIndex:t,chartData:s,formatValue:l,total:c}){const r=(n==null?void 0:n.cx)??0,i=(n==null?void 0:n.cy)??0,o=t!==null&&t>=0?s[t]:null;if(o){const a=c>0?(o.value/c*100).toFixed(1):"0.0",d=13,j=o.name.length>d?o.name.substring(0,d-1)+"…":o.name;return e.jsxs("g",{children:[e.jsx("text",{x:r,y:i-14,textAnchor:"middle",dominantBaseline:"middle",style:{fontSize:10,fill:"var(--muted-foreground)"},children:j}),e.jsx("text",{x:r,y:i+2,textAnchor:"middle",dominantBaseline:"middle",style:{fontSize:11,fontWeight:700,fill:o.color},children:l(o.value)}),e.jsxs("text",{x:r,y:i+18,textAnchor:"middle",dominantBaseline:"middle",style:{fontSize:11,fill:"var(--muted-foreground)"},children:[a,"%"]})]})}return e.jsxs("g",{children:[e.jsx("text",{x:r,y:i-8,textAnchor:"middle",dominantBaseline:"middle",style:{fontSize:10,fill:"var(--muted-foreground)"},children:"Total"}),e.jsx("text",{x:r,y:i+8,textAnchor:"middle",dominantBaseline:"middle",style:{fontSize:13,fontWeight:700,fill:"currentColor"},children:l(c)})]})}function C({chartData:n,total:t,formatValue:s,activeIndex:l,onHover:c}){return e.jsxs("div",{className:"flex flex-col gap-1.5",children:[n.map((r,i)=>{const o=t>0?(r.value/t*100).toFixed(1):"0.0",a=l===i,d=l!==null&&!a;return e.jsxs("div",{className:"flex items-center gap-2 text-xs cursor-default rounded px-1 py-0.5 transition-opacity",style:{opacity:d?.4:1},onMouseEnter:()=>c(i),onMouseLeave:()=>c(null),children:[e.jsx("span",{className:"inline-block w-2.5 h-2.5 rounded-full shrink-0 transition-transform",style:{background:r.color,transform:a?"scale(1.3)":"scale(1)"}}),e.jsx("span",{className:"flex-1 truncate text-muted-foreground",children:r.name}),e.jsx("span",{className:"font-mono text-foreground",children:s(r.value)}),e.jsxs("span",{className:"text-muted-foreground w-10.5 text-right",children:[o,"%"]})]},i)}),e.jsxs("div",{className:"flex items-center gap-2 text-xs border-t border-border pt-1.5 mt-0.5",children:[e.jsx("span",{className:"flex-1 font-medium",children:"Total"}),e.jsx("span",{className:"font-mono font-semibold",children:s(t)})]})]})}function L({data:n,title:t,formatValue:s=D,className:l,isLoading:c=!1,layout:r="vertical",activeLabel:i=!1,chartSize:o}){const[a,d]=b.useState(null),j=b.useMemo(()=>n.reduce((u,m)=>u+m.value,0),[n]),g=b.useMemo(()=>n.map((u,m)=>({name:u.label,value:u.value,color:u.color??v[m%v.length]})),[n]),x=r==="horizontal",f=o??(x?140:220),y=x?Math.round(f*.34):55,S=x?Math.round(f*.51):85;return e.jsxs("div",{className:p.cn("flex flex-col gap-4 w-full",l),children:[t&&e.jsx("div",{className:"text-sm font-semibold text-foreground",children:t}),c?e.jsx(M,{layout:r,chartSize:f}):n.length===0?e.jsx(R,{}):e.jsxs("div",{className:p.cn(x?"flex items-center gap-4":"flex flex-col gap-4"),children:[e.jsx("div",{className:"shrink-0",style:x?{width:f,height:f}:{width:"100%",height:f},children:e.jsx(h.ResponsiveContainer,{width:"100%",height:"100%",children:e.jsxs(h.PieChart,{children:[e.jsx(h.Pie,{data:g,cx:"50%",cy:"50%",innerRadius:y,outerRadius:S,paddingAngle:2,dataKey:"value",nameKey:"name",onMouseEnter:(u,m)=>d(m),onMouseLeave:()=>d(null),shape:(u,m)=>{var N;return e.jsx(h.Sector,{...u,fill:(N=g[m])==null?void 0:N.color,stroke:"transparent",opacity:a!==null&&a!==m?.4:1})},children:i&&e.jsx(h.Label,{content:e.jsx(A,{activeIndex:a,chartData:g,formatValue:s,total:j})})}),!i&&e.jsx(h.Tooltip,{content:e.jsx(k,{formatValue:s,total:j})})]})})}),e.jsx("div",{className:p.cn(x?"flex-1 min-w-0":""),children:e.jsx(C,{chartData:g,total:j,formatValue:s,activeIndex:a,onHover:d})})]})]})}exports.DonutChart=L;
2
+ //# sourceMappingURL=donut-chart.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"donut-chart.cjs","sources":["../../../../src/components/ui/charts/donut-chart.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Label, Pie, PieChart, ResponsiveContainer, Sector, Tooltip } from \"recharts\";\nimport { cn } from \"../utils\";\n\n// ── Paleta padrão ─────────────────────────────────────────────────────────────\nconst DEFAULT_COLORS = [\n \"#3b82f6\", // blue-500\n \"#10b981\", // emerald-500\n \"#f59e0b\", // amber-500\n \"#ef4444\", // red-500\n \"#8b5cf6\", // violet-500\n \"#06b6d4\", // cyan-500\n \"#f97316\", // orange-500\n \"#14b8a6\", // teal-500\n \"#ec4899\", // pink-500\n \"#6366f1\", // indigo-500\n];\n\n// ── Tipos ─────────────────────────────────────────────────────────────────────\n\nexport interface DonutChartItem {\n label: string;\n value: number;\n color?: string;\n}\n\nexport interface DonutChartProps {\n data: DonutChartItem[];\n title?: string;\n formatValue?: (v: number) => string;\n className?: string;\n isLoading?: boolean;\n /**\n * Orientação da legenda em relação ao gráfico.\n * - \"vertical\": legenda abaixo do donut (padrão)\n * - \"horizontal\": legenda ao lado direito do donut\n */\n layout?: \"vertical\" | \"horizontal\";\n /**\n * Quando true, exibe o nome, valor e % da categoria no centro do\n * donut ao passar o mouse — desabilita o tooltip flutuante padrão.\n */\n activeLabel?: boolean;\n /**\n * Tamanho (px) do container do gráfico no eixo fixo.\n * - horizontal: largura e altura do donut (padrão: 140)\n * - vertical: altura do donut (padrão: 220)\n */\n chartSize?: number;\n}\n\n// ── Helpers ───────────────────────────────────────────────────────────────────\n\nfunction defaultFormat(v: number): string {\n return new Intl.NumberFormat(\"pt-BR\", { style: \"currency\", currency: \"BRL\" }).format(v);\n}\n\n// ── Skeleton ──────────────────────────────────────────────────────────────────\n\nfunction DonutSkeleton({ layout, chartSize }: { layout: \"vertical\" | \"horizontal\"; chartSize: number }) {\n const legendItems = [1, 2, 3].map((i) => (\n <div key={i} className=\"flex items-center gap-2\">\n <div className=\"w-2.5 h-2.5 rounded-full bg-muted shrink-0\" />\n <div className=\"h-3 bg-muted rounded flex-1\" />\n </div>\n ));\n\n if (layout === \"horizontal\") {\n return (\n <div className=\"flex items-center gap-6 w-full animate-pulse\">\n <div className=\"rounded-full bg-muted shrink-0\" style={{ width: chartSize, height: chartSize }} />\n <div className=\"flex flex-col gap-2 flex-1\">{legendItems}</div>\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col items-center justify-center w-full animate-pulse gap-4\">\n <div className=\"rounded-full bg-muted\" style={{ width: 140, height: 140 }} />\n <div className=\"flex flex-col gap-2 w-full max-w-50\">{legendItems}</div>\n </div>\n );\n}\n\n// ── Empty state ───────────────────────────────────────────────────────────────\n\nfunction DonutEmpty() {\n return (\n <div className=\"flex flex-col items-center justify-center w-full h-full text-muted-foreground gap-2\">\n <div\n className=\"rounded-full border-4 border-dashed border-muted\"\n style={{ width: 100, height: 100 }}\n />\n <span className=\"text-sm\">Sem dados para exibir</span>\n </div>\n );\n}\n\n// ── Tooltip flutuante (usado quando activeLabel=false) ────────────────────────\n\nfunction CustomTooltip({\n active,\n payload,\n formatValue,\n total,\n}: {\n active?: boolean;\n payload?: any[];\n formatValue: (v: number) => string;\n total: number;\n}) {\n if (!active || !payload?.length) return null;\n const item = payload[0];\n const pct = total > 0 ? ((item.value / total) * 100).toFixed(1) : \"0.0\";\n return (\n <div className=\"bg-popover border border-border rounded shadow-lg p-2 text-xs min-w-35\">\n <div className=\"font-medium mb-1\">{item.name}</div>\n <div className=\"flex justify-between gap-4\">\n <span className=\"text-muted-foreground\">Valor</span>\n <span className=\"font-mono\">{formatValue(item.value)}</span>\n </div>\n <div className=\"flex justify-between gap-4\">\n <span className=\"text-muted-foreground\">%</span>\n <span className=\"font-mono\">{pct}%</span>\n </div>\n </div>\n );\n}\n\n// ── Label central (usado quando activeLabel=true) ─────────────────────────────\n\ninterface CenterLabelProps {\n viewBox?: { cx: number; cy: number; innerRadius?: number; outerRadius?: number };\n activeIndex: number | null;\n chartData: Array<{ name: string; value: number; color: string }>;\n formatValue: (v: number) => string;\n total: number;\n}\n\nfunction CenterLabel({ viewBox, activeIndex, chartData, formatValue, total }: CenterLabelProps) {\n const cx = viewBox?.cx ?? 0;\n const cy = viewBox?.cy ?? 0;\n\n const item = activeIndex !== null && activeIndex >= 0 ? chartData[activeIndex] : null;\n\n if (item) {\n const pct = total > 0 ? ((item.value / total) * 100).toFixed(1) : \"0.0\";\n const maxLen = 13;\n const name = item.name.length > maxLen ? item.name.substring(0, maxLen - 1) + \"…\" : item.name;\n return (\n <g>\n <text\n x={cx}\n y={cy - 14}\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n style={{ fontSize: 10, fill: \"var(--muted-foreground)\" }}\n >\n {name}\n </text>\n <text\n x={cx}\n y={cy + 2}\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n style={{ fontSize: 11, fontWeight: 700, fill: item.color }}\n >\n {formatValue(item.value)}\n </text>\n <text\n x={cx}\n y={cy + 18}\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n style={{ fontSize: 11, fill: \"var(--muted-foreground)\" }}\n >\n {pct}%\n </text>\n </g>\n );\n }\n\n return (\n <g>\n <text\n x={cx}\n y={cy - 8}\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n style={{ fontSize: 10, fill: \"var(--muted-foreground)\" }}\n >\n Total\n </text>\n <text\n x={cx}\n y={cy + 8}\n textAnchor=\"middle\"\n dominantBaseline=\"middle\"\n style={{ fontSize: 13, fontWeight: 700, fill: \"currentColor\" }}\n >\n {formatValue(total)}\n </text>\n </g>\n );\n}\n\n// ── Legenda ───────────────────────────────────────────────────────────────────\n\nfunction DonutLegend({\n chartData,\n total,\n formatValue,\n activeIndex,\n onHover,\n}: {\n chartData: Array<{ name: string; value: number; color: string }>;\n total: number;\n formatValue: (v: number) => string;\n activeIndex: number | null;\n onHover: (index: number | null) => void;\n}) {\n return (\n <div className=\"flex flex-col gap-1.5\">\n {chartData.map((item, i) => {\n const pct = total > 0 ? ((item.value / total) * 100).toFixed(1) : \"0.0\";\n const isActive = activeIndex === i;\n const isDimmed = activeIndex !== null && !isActive;\n return (\n <div\n key={i}\n className=\"flex items-center gap-2 text-xs cursor-default rounded px-1 py-0.5 transition-opacity\"\n style={{ opacity: isDimmed ? 0.4 : 1 }}\n onMouseEnter={() => onHover(i)}\n onMouseLeave={() => onHover(null)}\n >\n <span\n className=\"inline-block w-2.5 h-2.5 rounded-full shrink-0 transition-transform\"\n style={{\n background: item.color,\n transform: isActive ? \"scale(1.3)\" : \"scale(1)\",\n }}\n />\n <span className=\"flex-1 truncate text-muted-foreground\">{item.name}</span>\n <span className=\"font-mono text-foreground\">{formatValue(item.value)}</span>\n <span className=\"text-muted-foreground w-10.5 text-right\">{pct}%</span>\n </div>\n );\n })}\n <div className=\"flex items-center gap-2 text-xs border-t border-border pt-1.5 mt-0.5\">\n <span className=\"flex-1 font-medium\">Total</span>\n <span className=\"font-mono font-semibold\">{formatValue(total)}</span>\n </div>\n </div>\n );\n}\n\n// ── Componente principal ──────────────────────────────────────────────────────\n\nexport function DonutChart({\n data,\n title,\n formatValue = defaultFormat,\n className,\n isLoading = false,\n layout = \"vertical\",\n activeLabel = false,\n chartSize: chartSizeProp,\n}: DonutChartProps) {\n const [activeIndex, setActiveIndex] = React.useState<number | null>(null);\n\n const total = React.useMemo(() => data.reduce((acc, d) => acc + d.value, 0), [data]);\n\n const chartData = React.useMemo(\n () =>\n data.map((item, i) => ({\n name: item.label,\n value: item.value,\n color: item.color ?? DEFAULT_COLORS[i % DEFAULT_COLORS.length],\n })),\n [data],\n );\n\n const isHorizontal = layout === \"horizontal\";\n const chartSize = chartSizeProp ?? (isHorizontal ? 140 : 220);\n const innerRadius = isHorizontal ? Math.round(chartSize * 0.34) : 55;\n const outerRadius = isHorizontal ? Math.round(chartSize * 0.51) : 85;\n\n return (\n <div className={cn(\"flex flex-col gap-4 w-full\", className)}>\n {title && <div className=\"text-sm font-semibold text-foreground\">{title}</div>}\n\n {isLoading ? (\n <DonutSkeleton layout={layout} chartSize={chartSize} />\n ) : data.length === 0 ? (\n <DonutEmpty />\n ) : (\n <div className={cn(isHorizontal ? \"flex items-center gap-4\" : \"flex flex-col gap-4\")}>\n {/* Gráfico */}\n <div\n className=\"shrink-0\"\n style={\n isHorizontal\n ? { width: chartSize, height: chartSize }\n : { width: \"100%\", height: chartSize }\n }\n >\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <PieChart>\n <Pie\n data={chartData}\n cx=\"50%\"\n cy=\"50%\"\n innerRadius={innerRadius}\n outerRadius={outerRadius}\n paddingAngle={2}\n dataKey=\"value\"\n nameKey=\"name\"\n onMouseEnter={(_, index) => setActiveIndex(index)}\n onMouseLeave={() => setActiveIndex(null)}\n shape={(props, index) => (\n <Sector\n {...props}\n fill={chartData[index]?.color}\n stroke=\"transparent\"\n opacity={activeIndex !== null && activeIndex !== index ? 0.4 : 1}\n />\n )}\n >\n {activeLabel && (\n <Label\n content={\n <CenterLabel\n activeIndex={activeIndex}\n chartData={chartData}\n formatValue={formatValue}\n total={total}\n />\n }\n />\n )}\n </Pie>\n {!activeLabel && (\n <Tooltip\n content={<CustomTooltip formatValue={formatValue} total={total} />}\n />\n )}\n </PieChart>\n </ResponsiveContainer>\n </div>\n\n {/* Legenda */}\n <div className={cn(isHorizontal ? \"flex-1 min-w-0\" : \"\")}>\n <DonutLegend\n chartData={chartData}\n total={total}\n formatValue={formatValue}\n activeIndex={activeIndex}\n onHover={setActiveIndex}\n />\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"names":["DEFAULT_COLORS","defaultFormat","v","DonutSkeleton","layout","chartSize","legendItems","i","jsxs","jsx","DonutEmpty","CustomTooltip","active","payload","formatValue","total","item","pct","CenterLabel","viewBox","activeIndex","chartData","cx","cy","maxLen","name","DonutLegend","onHover","isActive","isDimmed","DonutChart","data","title","className","isLoading","activeLabel","chartSizeProp","setActiveIndex","React","acc","d","isHorizontal","innerRadius","outerRadius","cn","ResponsiveContainer","PieChart","Pie","_","index","props","Sector","_a","Label","Tooltip"],"mappings":"+dAOMA,EAAiB,CACrB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EAqCA,SAASC,EAAcC,EAAmB,CACxC,OAAO,IAAI,KAAK,aAAa,QAAS,CAAE,MAAO,WAAY,SAAU,KAAA,CAAO,EAAE,OAAOA,CAAC,CACxF,CAIA,SAASC,EAAc,CAAE,OAAAC,EAAQ,UAAAC,GAAuE,CACtG,MAAMC,EAAc,CAAC,EAAG,EAAG,CAAC,EAAE,IAAKC,GACjCC,EAAAA,KAAC,MAAA,CAAY,UAAU,0BACrB,SAAA,CAAAC,EAAAA,IAAC,MAAA,CAAI,UAAU,4CAAA,CAA6C,EAC5DA,EAAAA,IAAC,MAAA,CAAI,UAAU,6BAAA,CAA8B,CAAA,CAAA,EAFrCF,CAGV,CACD,EAED,OAAIH,IAAW,aAEXI,EAAAA,KAAC,MAAA,CAAI,UAAU,+CACb,SAAA,CAAAC,EAAAA,IAAC,MAAA,CAAI,UAAU,iCAAiC,MAAO,CAAE,MAAOJ,EAAW,OAAQA,CAAA,CAAU,CAAG,EAChGI,EAAAA,IAAC,MAAA,CAAI,UAAU,6BAA8B,SAAAH,CAAA,CAAY,CAAA,EAC3D,EAKFE,EAAAA,KAAC,MAAA,CAAI,UAAU,uEACb,SAAA,CAAAC,EAAAA,IAAC,MAAA,CAAI,UAAU,wBAAwB,MAAO,CAAE,MAAO,IAAK,OAAQ,GAAA,CAAI,CAAG,EAC3EA,EAAAA,IAAC,MAAA,CAAI,UAAU,sCAAuC,SAAAH,CAAA,CAAY,CAAA,EACpE,CAEJ,CAIA,SAASI,GAAa,CACpB,OACEF,EAAAA,KAAC,MAAA,CAAI,UAAU,sFACb,SAAA,CAAAC,EAAAA,IAAC,MAAA,CACC,UAAU,mDACV,MAAO,CAAE,MAAO,IAAK,OAAQ,GAAA,CAAI,CAAA,EAEnCA,EAAAA,IAAC,OAAA,CAAK,UAAU,UAAU,SAAA,uBAAA,CAAqB,CAAA,EACjD,CAEJ,CAIA,SAASE,EAAc,CACrB,OAAAC,EACA,QAAAC,EACA,YAAAC,EACA,MAAAC,CACF,EAKG,CACD,GAAI,CAACH,GAAU,EAACC,GAAA,MAAAA,EAAS,QAAQ,OAAO,KACxC,MAAMG,EAAOH,EAAQ,CAAC,EAChBI,EAAMF,EAAQ,GAAMC,EAAK,MAAQD,EAAS,KAAK,QAAQ,CAAC,EAAI,MAClE,OACEP,EAAAA,KAAC,MAAA,CAAI,UAAU,yEACb,SAAA,CAAAC,EAAAA,IAAC,MAAA,CAAI,UAAU,mBAAoB,SAAAO,EAAK,KAAK,EAC7CR,EAAAA,KAAC,MAAA,CAAI,UAAU,6BACb,SAAA,CAAAC,EAAAA,IAAC,OAAA,CAAK,UAAU,wBAAwB,SAAA,QAAK,QAC5C,OAAA,CAAK,UAAU,YAAa,SAAAK,EAAYE,EAAK,KAAK,CAAA,CAAE,CAAA,EACvD,EACAR,EAAAA,KAAC,MAAA,CAAI,UAAU,6BACb,SAAA,CAAAC,EAAAA,IAAC,OAAA,CAAK,UAAU,wBAAwB,SAAA,IAAC,EACzCD,EAAAA,KAAC,OAAA,CAAK,UAAU,YAAa,SAAA,CAAAS,EAAI,GAAA,CAAA,CAAC,CAAA,CAAA,CACpC,CAAA,EACF,CAEJ,CAYA,SAASC,EAAY,CAAE,QAAAC,EAAS,YAAAC,EAAa,UAAAC,EAAW,YAAAP,EAAa,MAAAC,GAA2B,CAC9F,MAAMO,GAAKH,GAAA,YAAAA,EAAS,KAAM,EACpBI,GAAKJ,GAAA,YAAAA,EAAS,KAAM,EAEpBH,EAAOI,IAAgB,MAAQA,GAAe,EAAIC,EAAUD,CAAW,EAAI,KAEjF,GAAIJ,EAAM,CACR,MAAMC,EAAMF,EAAQ,GAAMC,EAAK,MAAQD,EAAS,KAAK,QAAQ,CAAC,EAAI,MAC5DS,EAAS,GACTC,EAAOT,EAAK,KAAK,OAASQ,EAASR,EAAK,KAAK,UAAU,EAAGQ,EAAS,CAAC,EAAI,IAAMR,EAAK,KACzF,cACG,IAAA,CACC,SAAA,CAAAP,EAAAA,IAAC,OAAA,CACC,EAAGa,EACH,EAAGC,EAAK,GACR,WAAW,SACX,iBAAiB,SACjB,MAAO,CAAE,SAAU,GAAI,KAAM,yBAAA,EAE5B,SAAAE,CAAA,CAAA,EAEHhB,EAAAA,IAAC,OAAA,CACC,EAAGa,EACH,EAAGC,EAAK,EACR,WAAW,SACX,iBAAiB,SACjB,MAAO,CAAE,SAAU,GAAI,WAAY,IAAK,KAAMP,EAAK,KAAA,EAElD,SAAAF,EAAYE,EAAK,KAAK,CAAA,CAAA,EAEzBR,EAAAA,KAAC,OAAA,CACC,EAAGc,EACH,EAAGC,EAAK,GACR,WAAW,SACX,iBAAiB,SACjB,MAAO,CAAE,SAAU,GAAI,KAAM,yBAAA,EAE5B,SAAA,CAAAN,EAAI,GAAA,CAAA,CAAA,CACP,EACF,CAEJ,CAEA,cACG,IAAA,CACC,SAAA,CAAAR,EAAAA,IAAC,OAAA,CACC,EAAGa,EACH,EAAGC,EAAK,EACR,WAAW,SACX,iBAAiB,SACjB,MAAO,CAAE,SAAU,GAAI,KAAM,yBAAA,EAC9B,SAAA,OAAA,CAAA,EAGDd,EAAAA,IAAC,OAAA,CACC,EAAGa,EACH,EAAGC,EAAK,EACR,WAAW,SACX,iBAAiB,SACjB,MAAO,CAAE,SAAU,GAAI,WAAY,IAAK,KAAM,cAAA,EAE7C,WAAYR,CAAK,CAAA,CAAA,CACpB,EACF,CAEJ,CAIA,SAASW,EAAY,CACnB,UAAAL,EACA,MAAAN,EACA,YAAAD,EACA,YAAAM,EACA,QAAAO,CACF,EAMG,CACD,OACEnB,EAAAA,KAAC,MAAA,CAAI,UAAU,wBACZ,SAAA,CAAAa,EAAU,IAAI,CAACL,EAAM,IAAM,CAC1B,MAAMC,EAAMF,EAAQ,GAAMC,EAAK,MAAQD,EAAS,KAAK,QAAQ,CAAC,EAAI,MAC5Da,EAAWR,IAAgB,EAC3BS,EAAWT,IAAgB,MAAQ,CAACQ,EAC1C,OACEpB,EAAAA,KAAC,MAAA,CAEC,UAAU,wFACV,MAAO,CAAE,QAASqB,EAAW,GAAM,CAAA,EACnC,aAAc,IAAMF,EAAQ,CAAC,EAC7B,aAAc,IAAMA,EAAQ,IAAI,EAEhC,SAAA,CAAAlB,EAAAA,IAAC,OAAA,CACC,UAAU,sEACV,MAAO,CACL,WAAYO,EAAK,MACjB,UAAWY,EAAW,aAAe,UAAA,CACvC,CAAA,EAEFnB,EAAAA,IAAC,OAAA,CAAK,UAAU,wCAAyC,WAAK,KAAK,QAClE,OAAA,CAAK,UAAU,4BAA6B,SAAAK,EAAYE,EAAK,KAAK,EAAE,EACrER,EAAAA,KAAC,OAAA,CAAK,UAAU,0CAA2C,SAAA,CAAAS,EAAI,GAAA,CAAA,CAAC,CAAA,CAAA,EAf3D,CAAA,CAkBX,CAAC,EACDT,EAAAA,KAAC,MAAA,CAAI,UAAU,uEACb,SAAA,CAAAC,EAAAA,IAAC,OAAA,CAAK,UAAU,qBAAqB,SAAA,QAAK,QACzC,OAAA,CAAK,UAAU,0BAA2B,SAAAK,EAAYC,CAAK,CAAA,CAAE,CAAA,CAAA,CAChE,CAAA,EACF,CAEJ,CAIO,SAASe,EAAW,CACzB,KAAAC,EACA,MAAAC,EACA,YAAAlB,EAAcb,EACd,UAAAgC,EACA,UAAAC,EAAY,GACZ,OAAA9B,EAAS,WACT,YAAA+B,EAAc,GACd,UAAWC,CACb,EAAoB,CAClB,KAAM,CAAChB,EAAaiB,CAAc,EAAIC,EAAM,SAAwB,IAAI,EAElEvB,EAAQuB,EAAM,QAAQ,IAAMP,EAAK,OAAO,CAACQ,EAAKC,IAAMD,EAAMC,EAAE,MAAO,CAAC,EAAG,CAACT,CAAI,CAAC,EAE7EV,EAAYiB,EAAM,QACtB,IACEP,EAAK,IAAI,CAACf,EAAMT,KAAO,CACrB,KAAMS,EAAK,MACX,MAAOA,EAAK,MACZ,MAAOA,EAAK,OAAShB,EAAeO,EAAIP,EAAe,MAAM,CAAA,EAC7D,EACJ,CAAC+B,CAAI,CAAA,EAGDU,EAAerC,IAAW,aAC1BC,EAAY+B,IAAkBK,EAAe,IAAM,KACnDC,EAAcD,EAAe,KAAK,MAAMpC,EAAY,GAAI,EAAI,GAC5DsC,EAAcF,EAAe,KAAK,MAAMpC,EAAY,GAAI,EAAI,GAElE,cACG,MAAA,CAAI,UAAWuC,EAAAA,GAAG,6BAA8BX,CAAS,EACvD,SAAA,CAAAD,GAASvB,EAAAA,IAAC,MAAA,CAAI,UAAU,wCAAyC,SAAAuB,EAAM,EAEvEE,EACCzB,EAAAA,IAACN,EAAA,CAAc,OAAAC,EAAgB,UAAAC,CAAA,CAAsB,EACnD0B,EAAK,SAAW,QACjBrB,EAAA,CAAA,CAAW,SAEX,MAAA,CAAI,UAAWkC,KAAGH,EAAe,0BAA4B,qBAAqB,EAEjF,SAAA,CAAAhC,EAAAA,IAAC,MAAA,CACC,UAAU,WACV,MACEgC,EACI,CAAE,MAAOpC,EAAW,OAAQA,CAAA,EAC5B,CAAE,MAAO,OAAQ,OAAQA,CAAA,EAG/B,eAACwC,sBAAA,CAAoB,MAAM,OAAO,OAAO,OACvC,gBAACC,EAAAA,SAAA,CACC,SAAA,CAAArC,EAAAA,IAACsC,EAAAA,IAAA,CACC,KAAM1B,EACN,GAAG,MACH,GAAG,MACH,YAAAqB,EACA,YAAAC,EACA,aAAc,EACd,QAAQ,QACR,QAAQ,OACR,aAAc,CAACK,EAAGC,IAAUZ,EAAeY,CAAK,EAChD,aAAc,IAAMZ,EAAe,IAAI,EACvC,MAAO,CAACa,EAAOD,WACbxC,OAAAA,EAAAA,IAAC0C,EAAAA,OAAA,CACE,GAAGD,EACJ,MAAME,EAAA/B,EAAU4B,CAAK,IAAf,YAAAG,EAAkB,MACxB,OAAO,cACP,QAAShC,IAAgB,MAAQA,IAAgB6B,EAAQ,GAAM,CAAA,CAAA,GAIlE,SAAAd,GACC1B,EAAAA,IAAC4C,EAAAA,MAAA,CACC,QACE5C,EAAAA,IAACS,EAAA,CACC,YAAAE,EACA,UAAAC,EACA,YAAAP,EACA,MAAAC,CAAA,CAAA,CACF,CAAA,CAEJ,CAAA,EAGH,CAACoB,GACA1B,EAAAA,IAAC6C,EAAAA,QAAA,CACC,QAAS7C,EAAAA,IAACE,EAAA,CAAc,YAAAG,EAA0B,MAAAC,CAAA,CAAc,CAAA,CAAA,CAClE,CAAA,CAEJ,CAAA,CACF,CAAA,CAAA,QAID,MAAA,CAAI,UAAW6B,EAAAA,GAAGH,EAAe,iBAAmB,EAAE,EACrD,SAAAhC,EAAAA,IAACiB,EAAA,CACC,UAAAL,EACA,MAAAN,EACA,YAAAD,EACA,YAAAM,EACA,QAASiB,CAAA,CAAA,CACX,CACF,CAAA,CAAA,CACF,CAAA,EAEJ,CAEJ"}