eai-frontend-components 2.0.64 → 2.0.65

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 (304) hide show
  1. package/dist/components/ui/accordion.d.ts +8 -0
  2. package/dist/components/ui/accordion.d.ts.map +1 -0
  3. package/dist/components/ui/accordion.js +13 -0
  4. package/dist/components/ui/alert-dialog.d.ts +25 -0
  5. package/dist/components/ui/alert-dialog.d.ts.map +1 -0
  6. package/dist/components/ui/alert-dialog.js +26 -0
  7. package/dist/components/ui/alert.d.ts +9 -0
  8. package/dist/components/ui/alert.d.ts.map +1 -0
  9. package/dist/components/ui/alert.js +22 -0
  10. package/dist/components/ui/avatar.d.ts +7 -0
  11. package/dist/components/ui/avatar.d.ts.map +1 -0
  12. package/dist/components/ui/avatar.js +11 -0
  13. package/dist/components/ui/badge.d.ts +10 -0
  14. package/dist/components/ui/badge.d.ts.map +1 -0
  15. package/dist/components/ui/badge.js +26 -0
  16. package/dist/components/ui/breadcrumb.d.ts +20 -0
  17. package/dist/components/ui/breadcrumb.d.ts.map +1 -0
  18. package/dist/components/ui/breadcrumb.js +23 -0
  19. package/dist/components/ui/button.d.ts +12 -0
  20. package/dist/components/ui/button.d.ts.map +1 -0
  21. package/dist/components/ui/button.js +34 -0
  22. package/dist/components/ui/calendar.d.ts +9 -0
  23. package/dist/components/ui/calendar.d.ts.map +1 -0
  24. package/dist/components/ui/calendar.js +70 -0
  25. package/dist/components/ui/card.d.ts +9 -0
  26. package/dist/components/ui/card.d.ts.map +1 -0
  27. package/dist/components/ui/card.js +16 -0
  28. package/dist/components/ui/carousel.d.ts +19 -0
  29. package/dist/components/ui/carousel.d.ts.map +1 -0
  30. package/dist/components/ui/carousel.js +94 -0
  31. package/dist/components/ui/chart.d.ts +63 -0
  32. package/dist/components/ui/chart.d.ts.map +1 -0
  33. package/dist/components/ui/chart.js +111 -0
  34. package/dist/components/ui/checkbox.d.ts +5 -0
  35. package/dist/components/ui/checkbox.d.ts.map +1 -0
  36. package/dist/components/ui/checkbox.js +8 -0
  37. package/dist/components/ui/collapsible.d.ts +6 -0
  38. package/dist/components/ui/collapsible.d.ts.map +1 -0
  39. package/dist/components/ui/collapsible.js +5 -0
  40. package/dist/components/ui/command.d.ts +81 -0
  41. package/dist/components/ui/command.d.ts.map +1 -0
  42. package/dist/components/ui/command.js +28 -0
  43. package/dist/components/ui/context-menu.d.ts +28 -0
  44. package/dist/components/ui/context-menu.d.ts.map +1 -0
  45. package/dist/components/ui/context-menu.js +32 -0
  46. package/dist/components/ui/custom/date-picker.d.ts +12 -0
  47. package/dist/components/ui/custom/date-picker.d.ts.map +1 -0
  48. package/dist/components/ui/custom/date-picker.js +35 -0
  49. package/dist/components/ui/custom/form/checkbox.d.ts +13 -0
  50. package/dist/components/ui/custom/form/checkbox.d.ts.map +1 -0
  51. package/dist/components/ui/custom/form/checkbox.js +16 -0
  52. package/dist/components/ui/custom/form/color.d.ts +15 -0
  53. package/dist/components/ui/custom/form/color.d.ts.map +1 -0
  54. package/dist/components/ui/custom/form/color.js +41 -0
  55. package/dist/components/ui/custom/form/combobox.d.ts +39 -0
  56. package/dist/components/ui/custom/form/combobox.d.ts.map +1 -0
  57. package/dist/components/ui/custom/form/combobox.js +88 -0
  58. package/dist/components/ui/custom/form/cpf-cnpj.d.ts +16 -0
  59. package/dist/components/ui/custom/form/cpf-cnpj.d.ts.map +1 -0
  60. package/dist/components/ui/custom/form/cpf-cnpj.js +32 -0
  61. package/dist/components/ui/custom/form/currency.d.ts +14 -0
  62. package/dist/components/ui/custom/form/currency.d.ts.map +1 -0
  63. package/dist/components/ui/custom/form/currency.js +15 -0
  64. package/dist/components/ui/custom/form/date-range.d.ts +16 -0
  65. package/dist/components/ui/custom/form/date-range.d.ts.map +1 -0
  66. package/dist/components/ui/custom/form/date-range.js +24 -0
  67. package/dist/components/ui/custom/form/date.d.ts +16 -0
  68. package/dist/components/ui/custom/form/date.d.ts.map +1 -0
  69. package/dist/components/ui/custom/form/date.js +34 -0
  70. package/dist/components/ui/custom/form/decimal.d.ts +14 -0
  71. package/dist/components/ui/custom/form/decimal.d.ts.map +1 -0
  72. package/dist/components/ui/custom/form/decimal.js +15 -0
  73. package/dist/components/ui/custom/form/file.d.ts +15 -0
  74. package/dist/components/ui/custom/form/file.d.ts.map +1 -0
  75. package/dist/components/ui/custom/form/file.js +18 -0
  76. package/dist/components/ui/custom/form/form-help-text.d.ts +3 -0
  77. package/dist/components/ui/custom/form/form-help-text.d.ts.map +1 -0
  78. package/dist/components/ui/custom/form/form-help-text.js +7 -0
  79. package/dist/components/ui/custom/form/form-label.d.ts +7 -0
  80. package/dist/components/ui/custom/form/form-label.d.ts.map +1 -0
  81. package/dist/components/ui/custom/form/form-label.js +9 -0
  82. package/dist/components/ui/custom/form/form-message.d.ts +5 -0
  83. package/dist/components/ui/custom/form/form-message.d.ts.map +1 -0
  84. package/dist/components/ui/custom/form/form-message.js +5 -0
  85. package/dist/components/ui/custom/form/ghost.d.ts +8 -0
  86. package/dist/components/ui/custom/form/ghost.d.ts.map +1 -0
  87. package/dist/components/ui/custom/form/ghost.js +8 -0
  88. package/dist/components/ui/custom/form/input.d.ts +18 -0
  89. package/dist/components/ui/custom/form/input.d.ts.map +1 -0
  90. package/dist/components/ui/custom/form/input.js +14 -0
  91. package/dist/components/ui/custom/form/mask.d.ts +19 -0
  92. package/dist/components/ui/custom/form/mask.d.ts.map +1 -0
  93. package/dist/components/ui/custom/form/mask.js +19 -0
  94. package/dist/components/ui/custom/form/multi-select.d.ts +26 -0
  95. package/dist/components/ui/custom/form/multi-select.d.ts.map +1 -0
  96. package/dist/components/ui/custom/form/multi-select.js +66 -0
  97. package/dist/components/ui/custom/form/password.d.ts +16 -0
  98. package/dist/components/ui/custom/form/password.d.ts.map +1 -0
  99. package/dist/components/ui/custom/form/password.js +14 -0
  100. package/dist/components/ui/custom/form/percent.d.ts +14 -0
  101. package/dist/components/ui/custom/form/percent.d.ts.map +1 -0
  102. package/dist/components/ui/custom/form/percent.js +15 -0
  103. package/dist/components/ui/custom/form/phone.d.ts +16 -0
  104. package/dist/components/ui/custom/form/phone.d.ts.map +1 -0
  105. package/dist/components/ui/custom/form/phone.js +17 -0
  106. package/dist/components/ui/custom/form/radio-group.d.ts +23 -0
  107. package/dist/components/ui/custom/form/radio-group.d.ts.map +1 -0
  108. package/dist/components/ui/custom/form/radio-group.js +14 -0
  109. package/dist/components/ui/custom/form/select.d.ts +20 -0
  110. package/dist/components/ui/custom/form/select.d.ts.map +1 -0
  111. package/dist/components/ui/custom/form/select.js +12 -0
  112. package/dist/components/ui/custom/form/step-new-form.d.ts +10 -0
  113. package/dist/components/ui/custom/form/step-new-form.d.ts.map +1 -0
  114. package/dist/components/ui/custom/form/step-new-form.js +13 -0
  115. package/dist/components/ui/custom/form/switch.d.ts +14 -0
  116. package/dist/components/ui/custom/form/switch.d.ts.map +1 -0
  117. package/dist/components/ui/custom/form/switch.js +16 -0
  118. package/dist/components/ui/custom/form/text.d.ts +18 -0
  119. package/dist/components/ui/custom/form/text.d.ts.map +1 -0
  120. package/dist/components/ui/custom/form/text.js +14 -0
  121. package/dist/components/ui/custom/form/textarea.d.ts +16 -0
  122. package/dist/components/ui/custom/form/textarea.d.ts.map +1 -0
  123. package/dist/components/ui/custom/form/textarea.js +19 -0
  124. package/dist/components/ui/custom/form/utils.d.ts +18 -0
  125. package/dist/components/ui/custom/form/utils.d.ts.map +1 -0
  126. package/dist/components/ui/custom/form/utils.js +88 -0
  127. package/dist/components/ui/custom/header.d.ts +11 -0
  128. package/dist/components/ui/custom/header.d.ts.map +1 -0
  129. package/dist/components/ui/custom/header.js +74 -0
  130. package/dist/components/ui/custom/label.d.ts +18 -0
  131. package/dist/components/ui/custom/label.d.ts.map +1 -0
  132. package/dist/components/ui/custom/label.js +20 -0
  133. package/dist/components/ui/custom/not-found.d.ts +3 -0
  134. package/dist/components/ui/custom/not-found.d.ts.map +1 -0
  135. package/dist/components/ui/custom/not-found.js +9 -0
  136. package/dist/components/ui/custom/responsive-dialog.d.ts +24 -0
  137. package/dist/components/ui/custom/responsive-dialog.d.ts.map +1 -0
  138. package/dist/components/ui/custom/responsive-dialog.js +32 -0
  139. package/dist/components/ui/custom/sidebar/module-switcher.d.ts +9 -0
  140. package/dist/components/ui/custom/sidebar/module-switcher.d.ts.map +1 -0
  141. package/dist/components/ui/custom/sidebar/module-switcher.js +24 -0
  142. package/dist/components/ui/custom/sidebar/nav-footer.d.ts +7 -0
  143. package/dist/components/ui/custom/sidebar/nav-footer.d.ts.map +1 -0
  144. package/dist/components/ui/custom/sidebar/nav-footer.js +13 -0
  145. package/dist/components/ui/custom/sidebar/nav-main.d.ts +7 -0
  146. package/dist/components/ui/custom/sidebar/nav-main.d.ts.map +1 -0
  147. package/dist/components/ui/custom/sidebar/nav-main.js +26 -0
  148. package/dist/components/ui/custom/sidebar/nav-submenu-collapsible.d.ts +9 -0
  149. package/dist/components/ui/custom/sidebar/nav-submenu-collapsible.d.ts.map +1 -0
  150. package/dist/components/ui/custom/sidebar/nav-submenu-collapsible.js +17 -0
  151. package/dist/components/ui/custom/sidebar/nav-submenu-dropdown.d.ts +10 -0
  152. package/dist/components/ui/custom/sidebar/nav-submenu-dropdown.d.ts.map +1 -0
  153. package/dist/components/ui/custom/sidebar/nav-submenu-dropdown.js +9 -0
  154. package/dist/components/ui/custom/sidebar/nav-user.d.ts +9 -0
  155. package/dist/components/ui/custom/sidebar/nav-user.d.ts.map +1 -0
  156. package/dist/components/ui/custom/sidebar/nav-user.js +24 -0
  157. package/dist/components/ui/custom/sidebar/sidebar-button.d.ts +9 -0
  158. package/dist/components/ui/custom/sidebar/sidebar-button.d.ts.map +1 -0
  159. package/dist/components/ui/custom/sidebar/sidebar-button.js +7 -0
  160. package/dist/components/ui/custom/sidebar/sidebar-item-two-lines.d.ts +12 -0
  161. package/dist/components/ui/custom/sidebar/sidebar-item-two-lines.d.ts.map +1 -0
  162. package/dist/components/ui/custom/sidebar/sidebar-item-two-lines.js +5 -0
  163. package/dist/components/ui/custom/sidebar/sidebar-item.d.ts +9 -0
  164. package/dist/components/ui/custom/sidebar/sidebar-item.d.ts.map +1 -0
  165. package/dist/components/ui/custom/sidebar/sidebar-item.js +7 -0
  166. package/dist/components/ui/custom/sidebar/types/sidebar.d.ts +29 -0
  167. package/dist/components/ui/custom/sidebar/types/sidebar.d.ts.map +1 -0
  168. package/dist/components/ui/custom/sidebar/types/sidebar.js +5 -0
  169. package/dist/components/ui/custom/table/data-table-export.d.ts +8 -0
  170. package/dist/components/ui/custom/table/data-table-export.d.ts.map +1 -0
  171. package/dist/components/ui/custom/table/data-table-export.js +66 -0
  172. package/dist/components/ui/custom/table/data-table-footer.d.ts +25 -0
  173. package/dist/components/ui/custom/table/data-table-footer.d.ts.map +1 -0
  174. package/dist/components/ui/custom/table/data-table-footer.js +39 -0
  175. package/dist/components/ui/custom/table/data-table-header.d.ts +9 -0
  176. package/dist/components/ui/custom/table/data-table-header.d.ts.map +1 -0
  177. package/dist/components/ui/custom/table/data-table-header.js +11 -0
  178. package/dist/components/ui/custom/table/data-table-rows.d.ts +13 -0
  179. package/dist/components/ui/custom/table/data-table-rows.d.ts.map +1 -0
  180. package/dist/components/ui/custom/table/data-table-rows.js +25 -0
  181. package/dist/components/ui/custom/table/data-table.d.ts +35 -0
  182. package/dist/components/ui/custom/table/data-table.d.ts.map +1 -0
  183. package/dist/components/ui/custom/table/data-table.js +99 -0
  184. package/dist/components/ui/custom/table/types/data-table.d.ts +29 -0
  185. package/dist/components/ui/custom/table/types/data-table.d.ts.map +1 -0
  186. package/dist/components/ui/custom/table/types/data-table.js +1 -0
  187. package/dist/components/ui/custom/theme-provider.d.ts +24 -0
  188. package/dist/components/ui/custom/theme-provider.d.ts.map +1 -0
  189. package/dist/components/ui/custom/theme-provider.js +79 -0
  190. package/dist/components/ui/dateRangePicker.d.ts +3 -0
  191. package/dist/components/ui/dateRangePicker.d.ts.map +1 -0
  192. package/dist/components/ui/dateRangePicker.js +15 -0
  193. package/dist/components/ui/dialog.d.ts +23 -0
  194. package/dist/components/ui/dialog.d.ts.map +1 -0
  195. package/dist/components/ui/dialog.js +22 -0
  196. package/dist/components/ui/drawer.d.ts +23 -0
  197. package/dist/components/ui/drawer.d.ts.map +1 -0
  198. package/dist/components/ui/drawer.js +22 -0
  199. package/dist/components/ui/dropdown-menu.d.ts +28 -0
  200. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  201. package/dist/components/ui/dropdown-menu.js +32 -0
  202. package/dist/components/ui/form.d.ts +24 -0
  203. package/dist/components/ui/form.d.ts.map +1 -0
  204. package/dist/components/ui/form.js +60 -0
  205. package/dist/components/ui/hover-card.d.ts +7 -0
  206. package/dist/components/ui/hover-card.d.ts.map +1 -0
  207. package/dist/components/ui/hover-card.js +9 -0
  208. package/dist/components/ui/input.d.ts +24 -0
  209. package/dist/components/ui/input.d.ts.map +1 -0
  210. package/dist/components/ui/input.js +51 -0
  211. package/dist/components/ui/label.d.ts +6 -0
  212. package/dist/components/ui/label.d.ts.map +1 -0
  213. package/dist/components/ui/label.js +9 -0
  214. package/dist/components/ui/masks.d.ts +89 -0
  215. package/dist/components/ui/masks.d.ts.map +1 -0
  216. package/dist/components/ui/masks.js +92 -0
  217. package/dist/components/ui/pagination.d.ts +30 -0
  218. package/dist/components/ui/pagination.d.ts.map +1 -0
  219. package/dist/components/ui/pagination.js +23 -0
  220. package/dist/components/ui/popover.d.ts +7 -0
  221. package/dist/components/ui/popover.d.ts.map +1 -0
  222. package/dist/components/ui/popover.js +11 -0
  223. package/dist/components/ui/progress.d.ts +5 -0
  224. package/dist/components/ui/progress.d.ts.map +1 -0
  225. package/dist/components/ui/progress.js +7 -0
  226. package/dist/components/ui/radio-group.d.ts +6 -0
  227. package/dist/components/ui/radio-group.d.ts.map +1 -0
  228. package/dist/components/ui/radio-group.js +14 -0
  229. package/dist/components/ui/scroll-area.d.ts +6 -0
  230. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  231. package/dist/components/ui/scroll-area.js +9 -0
  232. package/dist/components/ui/select.d.ts +14 -0
  233. package/dist/components/ui/select.d.ts.map +1 -0
  234. package/dist/components/ui/select.js +24 -0
  235. package/dist/components/ui/separator.d.ts +5 -0
  236. package/dist/components/ui/separator.d.ts.map +1 -0
  237. package/dist/components/ui/separator.js +7 -0
  238. package/dist/components/ui/sheet.d.ts +26 -0
  239. package/dist/components/ui/sheet.d.ts.map +1 -0
  240. package/dist/components/ui/sheet.js +36 -0
  241. package/dist/components/ui/sidebar.d.ts +67 -0
  242. package/dist/components/ui/sidebar.d.ts.map +1 -0
  243. package/dist/components/ui/sidebar.js +221 -0
  244. package/dist/components/ui/skeleton.d.ts +3 -0
  245. package/dist/components/ui/skeleton.d.ts.map +1 -0
  246. package/dist/components/ui/skeleton.js +6 -0
  247. package/dist/components/ui/slider.d.ts +5 -0
  248. package/dist/components/ui/slider.d.ts.map +1 -0
  249. package/dist/components/ui/slider.js +7 -0
  250. package/dist/components/ui/switch.d.ts +5 -0
  251. package/dist/components/ui/switch.d.ts.map +1 -0
  252. package/dist/components/ui/switch.js +7 -0
  253. package/dist/components/ui/table.d.ts +11 -0
  254. package/dist/components/ui/table.d.ts.map +1 -0
  255. package/dist/components/ui/table.js +20 -0
  256. package/dist/components/ui/tabs.d.ts +8 -0
  257. package/dist/components/ui/tabs.d.ts.map +1 -0
  258. package/dist/components/ui/tabs.js +12 -0
  259. package/dist/components/ui/textarea.d.ts +4 -0
  260. package/dist/components/ui/textarea.d.ts.map +1 -0
  261. package/dist/components/ui/textarea.js +14 -0
  262. package/dist/components/ui/toast.d.ts +16 -0
  263. package/dist/components/ui/toast.d.ts.map +1 -0
  264. package/dist/components/ui/toast.js +34 -0
  265. package/dist/components/ui/toaster.d.ts +2 -0
  266. package/dist/components/ui/toaster.d.ts.map +1 -0
  267. package/dist/components/ui/toaster.js +21 -0
  268. package/dist/components/ui/tooltip.d.ts +8 -0
  269. package/dist/components/ui/tooltip.d.ts.map +1 -0
  270. package/dist/components/ui/tooltip.js +10 -0
  271. package/dist/components/ui/use-calendar.d.ts +7 -0
  272. package/dist/components/ui/use-calendar.d.ts.map +1 -0
  273. package/dist/components/ui/use-calendar.js +23 -0
  274. package/dist/components/ui/use-toast.d.ts +46 -0
  275. package/dist/components/ui/use-toast.d.ts.map +1 -0
  276. package/dist/components/ui/use-toast.js +124 -0
  277. package/dist/hooks/use-mobile.d.ts +2 -0
  278. package/dist/hooks/use-mobile.d.ts.map +1 -0
  279. package/dist/hooks/use-mobile.js +4 -0
  280. package/dist/index.d.ts +5 -5
  281. package/dist/index.d.ts.map +1 -0
  282. package/dist/index.esm.js +1 -1
  283. package/dist/index.esm.js.map +1 -1
  284. package/dist/index.js +1 -1
  285. package/dist/index.js.map +1 -1
  286. package/dist/lib/help/date-utils.d.ts +9 -0
  287. package/dist/lib/help/date-utils.d.ts.map +1 -0
  288. package/dist/lib/help/date-utils.js +65 -0
  289. package/dist/lib/help/download.d.ts +2 -0
  290. package/dist/lib/help/download.d.ts.map +1 -0
  291. package/dist/lib/help/download.js +26 -0
  292. package/dist/lib/help/format.d.ts +133 -0
  293. package/dist/lib/help/format.d.ts.map +1 -0
  294. package/dist/lib/help/format.js +268 -0
  295. package/dist/lib/help/theme.d.ts +291 -0
  296. package/dist/lib/help/theme.d.ts.map +1 -0
  297. package/dist/lib/help/theme.js +340 -0
  298. package/dist/lib/help/uuid.d.ts +2 -0
  299. package/dist/lib/help/uuid.d.ts.map +1 -0
  300. package/dist/lib/help/uuid.js +4 -0
  301. package/dist/lib/utils.d.ts +3 -0
  302. package/dist/lib/utils.d.ts.map +1 -0
  303. package/dist/lib/utils.js +5 -0
  304. package/package.json +1 -1
@@ -0,0 +1,63 @@
1
+ import * as React from 'react';
2
+ import * as RechartsPrimitive from 'recharts';
3
+ declare const THEMES: {
4
+ readonly light: "";
5
+ readonly dark: ".dark";
6
+ };
7
+ export type ChartConfig = {
8
+ [k in string]: {
9
+ label?: React.ReactNode;
10
+ icon?: React.ComponentType;
11
+ } & ({
12
+ color?: string;
13
+ theme?: never;
14
+ } | {
15
+ color?: never;
16
+ theme: Record<keyof typeof THEMES, string>;
17
+ });
18
+ };
19
+ declare const ChartContainer: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
20
+ config: ChartConfig;
21
+ children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>["children"];
22
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
+ declare const ChartStyle: ({ id, config }: {
24
+ id: string;
25
+ config: ChartConfig;
26
+ }) => import("react/jsx-runtime").JSX.Element | null;
27
+ declare const ChartTooltip: typeof RechartsPrimitive.Tooltip;
28
+ declare const ChartTooltipContent: React.ForwardRefExoticComponent<Omit<RechartsPrimitive.DefaultTooltipContentProps<import("recharts/types/component/DefaultTooltipContent").ValueType, import("recharts/types/component/DefaultTooltipContent").NameType> & {
29
+ accessibilityLayer?: boolean;
30
+ active?: boolean | undefined;
31
+ includeHidden?: boolean | undefined;
32
+ allowEscapeViewBox?: import("recharts/types/util/types").AllowInDimension;
33
+ animationDuration?: import("recharts/types/util/types").AnimationDuration;
34
+ animationEasing?: import("recharts/types/util/types").AnimationTiming;
35
+ content?: import("recharts/types/component/Tooltip").ContentType<import("recharts/types/component/DefaultTooltipContent").ValueType, import("recharts/types/component/DefaultTooltipContent").NameType> | undefined;
36
+ coordinate?: Partial<import("recharts/types/util/types").Coordinate>;
37
+ cursor?: boolean | React.ReactElement | React.SVGProps<SVGElement>;
38
+ filterNull?: boolean;
39
+ defaultIndex?: number;
40
+ isAnimationActive?: boolean;
41
+ offset?: number;
42
+ payloadUniqBy?: import("recharts/types/util/payload/getUniqPayload").UniqueOption<import("recharts/types/component/DefaultTooltipContent").Payload<import("recharts/types/component/DefaultTooltipContent").ValueType, import("recharts/types/component/DefaultTooltipContent").NameType>> | undefined;
43
+ position?: Partial<import("recharts/types/util/types").Coordinate>;
44
+ reverseDirection?: import("recharts/types/util/types").AllowInDimension;
45
+ shared?: boolean;
46
+ trigger?: "hover" | "click";
47
+ useTranslate3d?: boolean;
48
+ viewBox?: import("recharts/types/util/types").CartesianViewBox;
49
+ wrapperStyle?: React.CSSProperties;
50
+ } & React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
51
+ hideLabel?: boolean;
52
+ hideIndicator?: boolean;
53
+ indicator?: "line" | "dot" | "dashed";
54
+ nameKey?: string;
55
+ labelKey?: string;
56
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
57
+ declare const ChartLegend: typeof RechartsPrimitive.Legend;
58
+ declare const ChartLegendContent: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & Pick<RechartsPrimitive.LegendProps, "payload" | "verticalAlign"> & {
59
+ hideIcon?: boolean;
60
+ nameKey?: string;
61
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
62
+ export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
63
+ //# sourceMappingURL=chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../../../src/components/ui/chart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,UAAU,CAAC;AAG9C,QAAA,MAAM,MAAM;;;CAAwC,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;KACxB,CAAC,IAAI,MAAM,GAAG;QACd,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;KAC3B,GAAG,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAAG;QAAE,KAAK,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,OAAO,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CACvG,CAAC;AAkBF,QAAA,MAAM,cAAc;YAGV,WAAW;cACT,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAAC;gDAsBxF,CAAC;AAGH,QAAA,MAAM,UAAU,GAAI,gBAAgB;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,mDA4BtE,CAAC;AAEF,QAAA,MAAM,YAAY,kCAA4B,CAAC;AAE/C,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;gBAIV,OAAO;oBACH,OAAO;gBACX,MAAM,GAAG,KAAK,GAAG,QAAQ;cAC3B,MAAM;eACL,MAAM;gDAqHnB,CAAC;AAGF,QAAA,MAAM,WAAW,iCAA2B,CAAC;AAE7C,QAAA,MAAM,kBAAkB;eAIV,OAAO;cACR,MAAM;gDAiCjB,CAAC;AAsBH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,UAAU,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,111 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import * as RechartsPrimitive from 'recharts';
4
+ import { cn } from '../../lib/utils';
5
+ const THEMES = { light: '', dark: '.dark' };
6
+ const ChartContext = React.createContext(null);
7
+ function useChart() {
8
+ const context = React.useContext(ChartContext);
9
+ if (!context) {
10
+ throw new Error('useChart must be used within a <ChartContainer />');
11
+ }
12
+ return context;
13
+ }
14
+ const ChartContainer = React.forwardRef(({ id, className, children, config, ...props }, ref) => {
15
+ const uniqueId = React.useId();
16
+ const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;
17
+ return (_jsx(ChartContext.Provider, { value: { config }, children: _jsxs("div", { "data-chart": chartId, ref: ref, className: cn("flex aspect-video justify-center text-xs [&_.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-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.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 [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none", className), ...props, children: [_jsx(ChartStyle, { id: chartId, config: config }), _jsx(RechartsPrimitive.ResponsiveContainer, { children: children })] }) }));
18
+ });
19
+ ChartContainer.displayName = 'Chart';
20
+ const ChartStyle = ({ id, config }) => {
21
+ const colorConfig = Object.entries(config).filter(([, config]) => config.theme || config.color);
22
+ if (!colorConfig.length) {
23
+ return null;
24
+ }
25
+ return (_jsx("style", {
26
+ // biome-ignore lint/security/noDangerouslySetInnerHtml: Chart theme CSS generation requires dynamic CSS injection
27
+ dangerouslySetInnerHTML: {
28
+ __html: Object.entries(THEMES)
29
+ .map(([theme, prefix]) => `
30
+ ${prefix} [data-chart=${id}] {
31
+ ${colorConfig
32
+ .map(([key, itemConfig]) => {
33
+ const color = itemConfig.theme?.[theme] || itemConfig.color;
34
+ return color ? ` --color-${key}: ${color};` : null;
35
+ })
36
+ .join('\n')}
37
+ }
38
+ `)
39
+ .join('\n'),
40
+ } }));
41
+ };
42
+ const ChartTooltip = RechartsPrimitive.Tooltip;
43
+ const ChartTooltipContent = React.forwardRef(({ active, payload, className, indicator = 'dot', hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, }, ref) => {
44
+ const { config } = useChart();
45
+ const tooltipLabel = React.useMemo(() => {
46
+ if (hideLabel || !payload?.length) {
47
+ return null;
48
+ }
49
+ const [item] = payload;
50
+ const key = `${labelKey || item.dataKey || item.name || 'value'}`;
51
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
52
+ const value = !labelKey && typeof label === 'string' ? config[label]?.label || label : itemConfig?.label;
53
+ if (labelFormatter) {
54
+ return _jsx("div", { className: cn('font-medium', labelClassName), children: labelFormatter(value, payload) });
55
+ }
56
+ if (!value) {
57
+ return null;
58
+ }
59
+ return _jsx("div", { className: cn('font-medium', labelClassName), children: value });
60
+ }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
61
+ if (!active || !payload?.length) {
62
+ return null;
63
+ }
64
+ const nestLabel = payload.length === 1 && indicator !== 'dot';
65
+ return (_jsxs("div", { ref: ref, className: cn('grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl', className), children: [!nestLabel ? tooltipLabel : null, _jsx("div", { className: 'grid gap-1.5', children: payload.map((item, index) => {
66
+ const key = `${nameKey || item.name || item.dataKey || 'value'}`;
67
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
68
+ const indicatorColor = color || item.payload.fill || item.color;
69
+ return (_jsx("div", { className: cn('flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground', indicator === 'dot' && 'items-center'), children: formatter && item?.value !== undefined && item.name ? (formatter(item.value, item.name, item, index, item.payload)) : (_jsxs(_Fragment, { children: [itemConfig?.icon ? (_jsx(itemConfig.icon, {})) : (!hideIndicator && (_jsx("div", { className: cn('shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]', {
70
+ 'h-2.5 w-2.5': indicator === 'dot',
71
+ 'w-1': indicator === 'line',
72
+ 'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',
73
+ 'my-0.5': nestLabel && indicator === 'dashed',
74
+ }), style: {
75
+ '--color-bg': indicatorColor,
76
+ '--color-border': indicatorColor,
77
+ } }))), _jsxs("div", { className: cn('flex flex-1 justify-between leading-none', nestLabel ? 'items-end' : 'items-center'), children: [_jsxs("div", { className: 'grid gap-1.5', children: [nestLabel ? tooltipLabel : null, _jsx("span", { className: 'text-muted-foreground', children: itemConfig?.label || item.name })] }), item.value && (_jsx("span", { className: 'font-mono font-medium tabular-nums text-foreground', children: item.value.toLocaleString() }))] })] })) }, item.dataKey));
78
+ }) })] }));
79
+ });
80
+ ChartTooltipContent.displayName = 'ChartTooltip';
81
+ const ChartLegend = RechartsPrimitive.Legend;
82
+ const ChartLegendContent = React.forwardRef(({ className, hideIcon = false, payload, verticalAlign = 'bottom', nameKey }, ref) => {
83
+ const { config } = useChart();
84
+ if (!payload?.length) {
85
+ return null;
86
+ }
87
+ return (_jsx("div", { ref: ref, className: cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className), children: payload.map((item) => {
88
+ const key = `${nameKey || item.dataKey || 'value'}`;
89
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
90
+ return (_jsxs("div", { className: cn('flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground'), children: [itemConfig?.icon && !hideIcon ? (_jsx(itemConfig.icon, {})) : (_jsx("div", { className: 'h-2 w-2 shrink-0 rounded-[2px]', style: {
91
+ backgroundColor: item.color,
92
+ } })), itemConfig?.label] }, item.value));
93
+ }) }));
94
+ });
95
+ ChartLegendContent.displayName = 'ChartLegend';
96
+ // Helper to extract item config from a payload.
97
+ function getPayloadConfigFromPayload(config, payload, key) {
98
+ if (typeof payload !== 'object' || payload === null) {
99
+ return undefined;
100
+ }
101
+ const payloadPayload = 'payload' in payload && typeof payload.payload === 'object' && payload.payload !== null ? payload.payload : undefined;
102
+ let configLabelKey = key;
103
+ if (key in payload && typeof payload[key] === 'string') {
104
+ configLabelKey = payload[key];
105
+ }
106
+ else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === 'string') {
107
+ configLabelKey = payloadPayload[key];
108
+ }
109
+ return configLabelKey in config ? config[configLabelKey] : config[key];
110
+ }
111
+ export { ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent };
@@ -0,0 +1,5 @@
1
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
2
+ import * as React from 'react';
3
+ declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
+ export { Checkbox };
5
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/ui/checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,QAAA,MAAM,QAAQ,iKAgBb,CAAC;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
3
+ import { Check } from 'lucide-react';
4
+ import * as React from 'react';
5
+ import { cn } from '../../lib/utils';
6
+ const Checkbox = React.forwardRef(({ className, value, ...props }, ref) => (_jsx(CheckboxPrimitive.Root, { ref: ref, checked: !!value, className: cn('peer h-4 w-4 shrink-0 rounded-sm border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-background-primary data-[state=checked]:text-primary-foreground', className), ...props, children: _jsx(CheckboxPrimitive.Indicator, { className: cn('flex items-center justify-center text-current'), children: _jsx(Check, { className: 'h-4 w-4' }) }) })));
7
+ Checkbox.displayName = CheckboxPrimitive.Root.displayName;
8
+ export { Checkbox };
@@ -0,0 +1,6 @@
1
+ import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
2
+ declare const Collapsible: import("react").ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & import("react").RefAttributes<HTMLDivElement>>;
3
+ declare const CollapsibleTrigger: import("react").ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
4
+ declare const CollapsibleContent: import("react").ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleContentProps & import("react").RefAttributes<HTMLDivElement>>;
5
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent };
6
+ //# sourceMappingURL=collapsible.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collapsible.d.ts","sourceRoot":"","sources":["../../../src/components/ui/collapsible.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AAEpE,QAAA,MAAM,WAAW,kIAA4B,CAAC;AAE9C,QAAA,MAAM,kBAAkB,4IAA0C,CAAC;AAEnE,QAAA,MAAM,kBAAkB,yIAA0C,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
2
+ const Collapsible = CollapsiblePrimitive.Root;
3
+ const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;
4
+ const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;
5
+ export { Collapsible, CollapsibleTrigger, CollapsibleContent };
@@ -0,0 +1,81 @@
1
+ import type { DialogProps } from '@radix-ui/react-dialog';
2
+ import * as React from 'react';
3
+ declare const Command: React.ForwardRefExoticComponent<Omit<{
4
+ children?: React.ReactNode;
5
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
6
+ ref?: React.Ref<HTMLDivElement>;
7
+ } & {
8
+ asChild?: boolean;
9
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
10
+ label?: string;
11
+ shouldFilter?: boolean;
12
+ filter?: (value: string, search: string, keywords?: string[]) => number;
13
+ defaultValue?: string;
14
+ value?: string;
15
+ onValueChange?: (value: string) => void;
16
+ loop?: boolean;
17
+ disablePointerSelection?: boolean;
18
+ vimBindings?: boolean;
19
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
20
+ declare const CommandDialog: ({ children, ...props }: DialogProps) => import("react/jsx-runtime").JSX.Element;
21
+ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>> & {
22
+ ref?: React.Ref<HTMLInputElement>;
23
+ } & {
24
+ asChild?: boolean;
25
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "value" | "type"> & {
26
+ value?: string;
27
+ onValueChange?: (search: string) => void;
28
+ } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
29
+ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
30
+ children?: React.ReactNode;
31
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
32
+ ref?: React.Ref<HTMLDivElement>;
33
+ } & {
34
+ asChild?: boolean;
35
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
36
+ label?: string;
37
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
38
+ declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
39
+ children?: React.ReactNode;
40
+ } & Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
41
+ ref?: React.Ref<HTMLDivElement>;
42
+ } & {
43
+ asChild?: boolean;
44
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
45
+ declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
46
+ children?: React.ReactNode;
47
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
48
+ ref?: React.Ref<HTMLDivElement>;
49
+ } & {
50
+ asChild?: boolean;
51
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "value" | "heading"> & {
52
+ heading?: React.ReactNode;
53
+ value?: string;
54
+ forceMount?: boolean;
55
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
56
+ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
57
+ ref?: React.Ref<HTMLDivElement>;
58
+ } & {
59
+ asChild?: boolean;
60
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
61
+ alwaysRender?: boolean;
62
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
63
+ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
64
+ children?: React.ReactNode;
65
+ } & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
66
+ ref?: React.Ref<HTMLDivElement>;
67
+ } & {
68
+ asChild?: boolean;
69
+ }, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "onSelect" | "disabled" | "value"> & {
70
+ disabled?: boolean;
71
+ onSelect?: (value: string) => void;
72
+ value?: string;
73
+ keywords?: string[];
74
+ forceMount?: boolean;
75
+ } & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
76
+ declare const CommandShortcut: {
77
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
78
+ displayName: string;
79
+ };
80
+ export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
81
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/components/ui/command.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;sFAQZ,CAAC;AAGF,QAAA,MAAM,aAAa,GAAI,wBAAwB,WAAW,4CAUzD,CAAC;AAEF,QAAA,MAAM,YAAY;;;;;;;0FAcjB,CAAC;AAIF,QAAA,MAAM,WAAW;;;;;;;;sFAIhB,CAAC;AAIF,QAAA,MAAM,YAAY;;;;;;uJAEjB,CAAC;AAIF,QAAA,MAAM,YAAY;;;;;;;;;;sFAWjB,CAAC;AAIF,QAAA,MAAM,gBAAgB;;;;;;sFAGoH,CAAC;AAG3I,QAAA,MAAM,WAAW;;;;;;;;;;;;sFAWhB,CAAC;AAIF,QAAA,MAAM,eAAe;8BAA6B,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;;CAEtF,CAAC;AAGF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Command as CommandPrimitive } from 'cmdk';
3
+ import { Search } from 'lucide-react';
4
+ import * as React from 'react';
5
+ import { cn } from '@/lib/utils';
6
+ import { Dialog, DialogContent } from './dialog';
7
+ const Command = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive, { ref: ref, className: cn('flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground', className), ...props })));
8
+ Command.displayName = CommandPrimitive.displayName;
9
+ const CommandDialog = ({ children, ...props }) => {
10
+ return (_jsx(Dialog, { ...props, children: _jsx(DialogContent, { className: 'overflow-hidden p-0 shadow-lg', children: _jsx(Command, { className: '[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5', children: children }) }) }));
11
+ };
12
+ const CommandInput = React.forwardRef(({ className, ...props }, ref) => (_jsxs("div", { className: 'flex items-center border-b px-3', "cmdk-input-wrapper": '', children: [_jsx(Search, { className: 'mr-2 h-4 w-4 shrink-0 opacity-50' }), _jsx(CommandPrimitive.Input, { ref: ref, className: cn('flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50', className), ...props })] })));
13
+ CommandInput.displayName = CommandPrimitive.Input.displayName;
14
+ const CommandList = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.List, { ref: ref, className: cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className), ...props })));
15
+ CommandList.displayName = CommandPrimitive.List.displayName;
16
+ const CommandEmpty = React.forwardRef((props, ref) => _jsx(CommandPrimitive.Empty, { ref: ref, className: 'py-6 text-center text-sm', ...props }));
17
+ CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
18
+ const CommandGroup = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Group, { ref: ref, className: cn('overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground', className), ...props })));
19
+ CommandGroup.displayName = CommandPrimitive.Group.displayName;
20
+ const CommandSeparator = React.forwardRef(({ className, ...props }, ref) => _jsx(CommandPrimitive.Separator, { ref: ref, className: cn('-mx-1 h-px bg-border', className), ...props }));
21
+ CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
22
+ const CommandItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Item, { ref: ref, className: cn("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", className), ...props })));
23
+ CommandItem.displayName = CommandPrimitive.Item.displayName;
24
+ const CommandShortcut = ({ className, ...props }) => {
25
+ return _jsx("span", { className: cn('ml-auto text-xs tracking-widest text-muted-foreground', className), ...props });
26
+ };
27
+ CommandShortcut.displayName = 'CommandShortcut';
28
+ export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut };
@@ -0,0 +1,28 @@
1
+ import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
2
+ import * as React from 'react';
3
+ declare const ContextMenu: React.FC<ContextMenuPrimitive.ContextMenuProps>;
4
+ declare const ContextMenuTrigger: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuTriggerProps & React.RefAttributes<HTMLSpanElement>>;
5
+ declare const ContextMenuGroup: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
6
+ declare const ContextMenuPortal: React.FC<ContextMenuPrimitive.ContextMenuPortalProps>;
7
+ declare const ContextMenuSub: React.FC<ContextMenuPrimitive.ContextMenuSubProps>;
8
+ declare const ContextMenuRadioGroup: React.ForwardRefExoticComponent<ContextMenuPrimitive.ContextMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
9
+ declare const ContextMenuSubTrigger: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
10
+ inset?: boolean;
11
+ } & React.RefAttributes<HTMLDivElement>>;
12
+ declare const ContextMenuSubContent: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ declare const ContextMenuContent: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
14
+ declare const ContextMenuItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
15
+ inset?: boolean;
16
+ } & React.RefAttributes<HTMLDivElement>>;
17
+ declare const ContextMenuCheckboxItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
18
+ declare const ContextMenuRadioItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
+ declare const ContextMenuLabel: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
20
+ inset?: boolean;
21
+ } & React.RefAttributes<HTMLDivElement>>;
22
+ declare const ContextMenuSeparator: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
+ declare const ContextMenuShortcut: {
24
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, };
28
+ //# sourceMappingURL=context-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-menu.d.ts","sourceRoot":"","sources":["../../../src/components/ui/context-menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AAErE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,WAAW,iDAA4B,CAAC;AAE9C,QAAA,MAAM,kBAAkB,sHAA+B,CAAC;AAExD,QAAA,MAAM,gBAAgB,mHAA6B,CAAC;AAEpD,QAAA,MAAM,iBAAiB,uDAA8B,CAAC;AAEtD,QAAA,MAAM,cAAc,oDAA2B,CAAC;AAEhD,QAAA,MAAM,qBAAqB,wHAAkC,CAAC;AAE9D,QAAA,MAAM,qBAAqB;YAGjB,OAAO;wCAef,CAAC;AAGH,QAAA,MAAM,qBAAqB,2KAYzB,CAAC;AAGH,QAAA,MAAM,kBAAkB,wKActB,CAAC;AAGH,QAAA,MAAM,eAAe;YAGX,OAAO;wCAYf,CAAC;AAGH,QAAA,MAAM,uBAAuB,6KAoB3B,CAAC;AAGH,QAAA,MAAM,oBAAoB,0KAmBxB,CAAC;AAGH,QAAA,MAAM,gBAAgB;YAGZ,OAAO;wCAQf,CAAC;AAGH,QAAA,MAAM,oBAAoB,0KAGyH,CAAC;AAGpJ,QAAA,MAAM,mBAAmB;8BAA6B,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;;CAE1F,CAAC;AAGF,OAAO,EACN,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,GACrB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as ContextMenuPrimitive from '@radix-ui/react-context-menu';
3
+ import { Check, ChevronRight, Circle } from 'lucide-react';
4
+ import * as React from 'react';
5
+ import { cn } from '@/lib/utils';
6
+ const ContextMenu = ContextMenuPrimitive.Root;
7
+ const ContextMenuTrigger = ContextMenuPrimitive.Trigger;
8
+ const ContextMenuGroup = ContextMenuPrimitive.Group;
9
+ const ContextMenuPortal = ContextMenuPrimitive.Portal;
10
+ const ContextMenuSub = ContextMenuPrimitive.Sub;
11
+ const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
12
+ const ContextMenuSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => (_jsxs(ContextMenuPrimitive.SubTrigger, { ref: ref, className: cn('flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground', inset && 'pl-8', className), ...props, children: [children, _jsx(ChevronRight, { className: 'ml-auto h-4 w-4' })] })));
13
+ ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
14
+ const ContextMenuSubContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(ContextMenuPrimitive.SubContent, { ref: ref, className: cn('z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', className), ...props })));
15
+ ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
16
+ const ContextMenuContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(ContextMenuPrimitive.Portal, { children: _jsx(ContextMenuPrimitive.Content, { ref: ref, className: cn('z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', className), ...props }) })));
17
+ ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
18
+ const ContextMenuItem = React.forwardRef(({ className, inset, ...props }, ref) => (_jsx(ContextMenuPrimitive.Item, { ref: ref, className: cn('relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', inset && 'pl-8', className), ...props })));
19
+ ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
20
+ const ContextMenuCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => (_jsxs(ContextMenuPrimitive.CheckboxItem, { ref: ref, className: cn('relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), checked: checked, ...props, children: [_jsx("span", { className: 'absolute left-2 flex h-3.5 w-3.5 items-center justify-center', children: _jsx(ContextMenuPrimitive.ItemIndicator, { children: _jsx(Check, { className: 'h-4 w-4' }) }) }), children] })));
21
+ ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
22
+ const ContextMenuRadioItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(ContextMenuPrimitive.RadioItem, { ref: ref, className: cn('relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [_jsx("span", { className: 'absolute left-2 flex h-3.5 w-3.5 items-center justify-center', children: _jsx(ContextMenuPrimitive.ItemIndicator, { children: _jsx(Circle, { className: 'h-2 w-2 fill-current' }) }) }), children] })));
23
+ ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
24
+ const ContextMenuLabel = React.forwardRef(({ className, inset, ...props }, ref) => (_jsx(ContextMenuPrimitive.Label, { ref: ref, className: cn('px-2 py-1.5 text-sm font-semibold text-foreground', inset && 'pl-8', className), ...props })));
25
+ ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
26
+ const ContextMenuSeparator = React.forwardRef(({ className, ...props }, ref) => _jsx(ContextMenuPrimitive.Separator, { ref: ref, className: cn('-mx-1 my-1 h-px bg-border', className), ...props }));
27
+ ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName;
28
+ const ContextMenuShortcut = ({ className, ...props }) => {
29
+ return _jsx("span", { className: cn('ml-auto text-xs tracking-widest text-muted-foreground', className), ...props });
30
+ };
31
+ ContextMenuShortcut.displayName = 'ContextMenuShortcut';
32
+ export { ContextMenu, ContextMenuTrigger, ContextMenuContent, ContextMenuItem, ContextMenuCheckboxItem, ContextMenuRadioItem, ContextMenuLabel, ContextMenuSeparator, ContextMenuShortcut, ContextMenuGroup, ContextMenuPortal, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuRadioGroup, };
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { DayPicker } from 'react-day-picker';
3
+ export type CalendarProps = React.ComponentProps<typeof DayPicker>;
4
+ interface CalendarFormProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ onDateSelected: (selectedDateProps: Date | null) => void;
6
+ selectedDateProps?: Date | null;
7
+ startYear?: number;
8
+ endYear?: number;
9
+ }
10
+ declare const DatePicker: React.ForwardRefExoticComponent<CalendarFormProps & React.RefAttributes<HTMLDivElement>>;
11
+ export { DatePicker };
12
+ //# sourceMappingURL=date-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/custom/date-picker.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMlD,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,CAAC;AAEnE,UAAU,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACvE,cAAc,EAAE,CAAC,iBAAiB,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,QAAA,MAAM,UAAU,0FA0Ef,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getMonth, getYear, setMonth, setYear } from 'date-fns';
3
+ import { ptBR } from 'date-fns/locale';
4
+ import { Calendar as CalendarIcon } from 'lucide-react';
5
+ import React, { useState } from 'react';
6
+ import { cn } from '../../../lib/utils';
7
+ import { Calendar as CalendarComponent } from '../calendar';
8
+ import { Popover, PopoverContent, PopoverTrigger } from '../popover';
9
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../select';
10
+ const DatePicker = React.forwardRef(({ className, onDateSelected, selectedDateProps, startYear = getYear(new Date()) - 100, endYear = getYear(new Date()) + 100, ...props }, ref) => {
11
+ const [selectedDate, setSelectedDate] = useState(null);
12
+ const [isPopoverOpen, setIsPopoverOpen] = useState(false);
13
+ const months = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio', 'Junho', 'Julho', 'Agosto', 'Setembro', 'Outubro', 'Novembro', 'Dezembro'];
14
+ const years = Array.from({ length: endYear - startYear + 1 }, (_, i) => startYear + i);
15
+ const handleMonthChange = (month) => {
16
+ if (selectedDate) {
17
+ const newDate = setMonth(selectedDate, months.indexOf(month));
18
+ setSelectedDate(newDate);
19
+ }
20
+ };
21
+ const handleYearChange = (year) => {
22
+ if (selectedDate) {
23
+ const newDate = setYear(selectedDate, parseInt(year, 10));
24
+ setSelectedDate(newDate);
25
+ }
26
+ };
27
+ const handleDateChange = (selectedDate) => {
28
+ const newDate = selectedDate || null;
29
+ setSelectedDate(newDate);
30
+ setIsPopoverOpen(false);
31
+ onDateSelected(newDate);
32
+ };
33
+ return (_jsx("div", { className: cn('gap-2', className), ref: ref, ...props, children: _jsxs(Popover, { open: isPopoverOpen, onOpenChange: setIsPopoverOpen, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(CalendarIcon, { size: 16, className: 'cursor-pointer text-gray-500', onClick: () => setIsPopoverOpen(true) }) }), _jsxs(PopoverContent, { className: 'w-auto p-0 flex flex-col justify-center', align: 'start', children: [_jsxs("div", { className: 'flex justify-between pt-5 px-5', children: [_jsxs(Select, { onValueChange: handleMonthChange, value: months[getMonth(selectedDate || new Date())], children: [_jsx(SelectTrigger, { className: 'w-[100px]', children: _jsx(SelectValue, { placeholder: 'Month' }) }), _jsx(SelectContent, { children: months.map((month) => (_jsx(SelectItem, { value: month, children: month }, month))) })] }), _jsxs(Select, { onValueChange: handleYearChange, value: getYear(selectedDate || new Date()).toString(), children: [_jsx(SelectTrigger, { className: 'w-[100px]', children: _jsx(SelectValue, { placeholder: 'Year' }) }), _jsx(SelectContent, { children: years.map((year) => (_jsx(SelectItem, { value: year.toString(), children: year }, year))) })] })] }), _jsx(CalendarComponent, { mode: 'single', locale: ptBR, onSelect: handleDateChange, className: 'bg-white text-black', month: selectedDate || undefined })] })] }) }));
34
+ });
35
+ export { DatePicker };
@@ -0,0 +1,13 @@
1
+ interface Props {
2
+ control: any;
3
+ name: string;
4
+ label: string;
5
+ subLabel?: string;
6
+ helpText?: JSX.Element;
7
+ className?: string;
8
+ disabled?: boolean;
9
+ onCheckedChange?: (checked: boolean) => void;
10
+ }
11
+ export declare const FormInputCheckbox: React.FC<Props>;
12
+ export default FormInputCheckbox;
13
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/custom/form/checkbox.tsx"],"names":[],"mappings":"AAMA,UAAU,KAAK;IACd,OAAO,EAAE,GAAG,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmC7C,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Checkbox } from '../../checkbox';
3
+ import * as FormComponents from '../../form';
4
+ import { formHelpText } from './form-help-text';
5
+ import { formLabel } from './form-label';
6
+ import { formMessage } from './form-message';
7
+ export const FormInputCheckbox = ({ control, name, label, helpText, className, disabled, onCheckedChange }) => {
8
+ const { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;
9
+ return (_jsx(FormField, { control: control, name: name, render: ({ field }) => (_jsxs(FormItem, { className: className, children: [_jsxs("div", { className: 'flex items-center gap-2', children: [_jsx(FormControl, { children: _jsx(Checkbox, { value: field.value, className: `${field.value
10
+ ? 'bg-purple-700 border border-purple-900 text-white rounded-[3px]'
11
+ : 'bg-white border border-black text-black'}`, onCheckedChange: (checked) => {
12
+ field?.onChange?.(checked);
13
+ onCheckedChange?.(checked);
14
+ }, disabled: disabled }) }), _jsxs("div", { className: 'flex h-full items-center space-x-1.5', children: [label && formLabel(FormLabel, label), helpText && formHelpText(helpText)] })] }), formMessage(FormMessage)] })) }));
15
+ };
16
+ export default FormInputCheckbox;
@@ -0,0 +1,15 @@
1
+ interface Props {
2
+ control: any;
3
+ id?: string;
4
+ name: string;
5
+ label: string;
6
+ subLabel?: string;
7
+ helpText?: JSX.Element;
8
+ placeholder?: string;
9
+ className?: string;
10
+ disabled?: boolean;
11
+ required?: boolean;
12
+ }
13
+ export declare const FormInputColor: React.FC<Props>;
14
+ export default FormInputColor;
15
+ //# sourceMappingURL=color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/custom/form/color.tsx"],"names":[],"mappings":"AAcA,UAAU,KAAK;IACd,OAAO,EAAE,GAAG,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiH1C,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Paintbrush } from 'lucide-react';
3
+ import { useState } from 'react';
4
+ import { HexColorPicker } from 'react-colorful';
5
+ import { cn } from '../../../../lib/utils';
6
+ import { Button } from '../../button';
7
+ import * as FormComponents from '../../form';
8
+ import { Input } from '../../input';
9
+ import { Label } from '../../label';
10
+ import { Popover, PopoverContent, PopoverTrigger } from '../../popover';
11
+ import { formHelpText } from './form-help-text';
12
+ import { formLabelAndSubLabel } from './form-label';
13
+ import { formMessage } from './form-message';
14
+ import { hexToRgb, rgbToHex } from './utils';
15
+ export const FormInputColor = ({ control, name, label, subLabel, helpText, placeholder, className, disabled, required }) => {
16
+ const { FormField, FormItem, FormLabel, FormControl, FormMessage } = FormComponents;
17
+ const DEFAULT_COLOR = '#000000';
18
+ const [currentColor, setCurrentColor] = useState(DEFAULT_COLOR);
19
+ const rgb = hexToRgb(currentColor) || { r: 0, g: 0, b: 0 };
20
+ const handleColorChange = (newColor, onChange) => {
21
+ onChange?.(newColor);
22
+ setCurrentColor(newColor);
23
+ };
24
+ const handleHexChange = (hex, onChange) => {
25
+ if (/^#[0-9A-Fa-f]{6}$/.test(hex)) {
26
+ handleColorChange(hex, onChange);
27
+ }
28
+ else {
29
+ setCurrentColor(hex);
30
+ }
31
+ };
32
+ const handleRgbChange = (key, value, onChange) => {
33
+ const numValue = Number.parseInt(value, 10);
34
+ if (!Number.isNaN(numValue) && numValue >= 0 && numValue <= 255) {
35
+ const newRgb = { ...rgb, [key]: numValue };
36
+ handleColorChange(rgbToHex(newRgb), onChange);
37
+ }
38
+ };
39
+ return (_jsx(FormField, { control: control, name: name, render: ({ field, formState }) => (_jsxs(FormItem, { className: className, children: [_jsxs("div", { className: 'flex items-center space-x-1.5', children: [label && formLabelAndSubLabel(FormLabel, label, subLabel, required), helpText && formHelpText(helpText)] }), _jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsx(FormControl, { children: _jsx(Button, { type: 'button', variant: 'outline', className: cn('w-[240px] justify-start text-left font-normal', !field.value && 'text-zinc-500', className), disabled: disabled || formState.isSubmitting, children: _jsxs("div", { className: 'w-full flex items-center gap-2', children: [field.value ? (_jsx("div", { className: 'h-4 w-4 rounded !bg-center !bg-cover transition-all border', style: { backgroundColor: field.value } })) : (_jsx(Paintbrush, { className: 'h-4 w-4' })), _jsx("div", { className: 'truncate flex-1 text-sm', children: field.value ? field.value : placeholder || 'Selecione uma cor' })] }) }) }) }), _jsx(PopoverContent, { className: cn('w-80', className), children: _jsxs("div", { className: 'flex flex-col gap-4', children: [_jsx("section", { className: '[&_.react-colorful]:w-auto', children: _jsx(HexColorPicker, { color: field.value ?? DEFAULT_COLOR, onChange: (newColor) => handleColorChange(newColor, field.onChange) }) }), _jsxs("div", { className: 'flex gap-2', children: [_jsxs("div", { className: 'flex flex-col gap-1', children: [_jsx(Label, { children: "Hex" }), _jsx(Input, { value: currentColor, onChange: (e) => handleHexChange(e.target.value, field.onChange), maxLength: 7 })] }), _jsxs("div", { className: 'flex gap-2', children: [_jsxs("div", { className: 'flex flex-col gap-1', children: [_jsx(Label, { children: "R" }), _jsx(Input, { value: rgb.r, onChange: (e) => handleRgbChange('r', e.target.value, field.onChange), className: 'w-14' })] }), _jsxs("div", { className: 'flex flex-col gap-1', children: [_jsx(Label, { children: "G" }), _jsx(Input, { value: rgb.g, onChange: (e) => handleRgbChange('g', e.target.value, field.onChange), className: 'w-14' })] }), _jsxs("div", { className: 'flex flex-col gap-1', children: [_jsx(Label, { children: "B" }), _jsx(Input, { value: rgb.b, onChange: (e) => handleRgbChange('b', e.target.value, field.onChange), className: 'w-14' })] })] })] })] }) })] }), formMessage(FormMessage)] })) }));
40
+ };
41
+ export default FormInputColor;
@@ -0,0 +1,39 @@
1
+ export interface ComboboxOption {
2
+ value: string | undefined;
3
+ icon?: React.ReactNode | undefined;
4
+ title: string;
5
+ subTitle?: string;
6
+ className?: string;
7
+ }
8
+ interface Props {
9
+ control: any;
10
+ variant?: 'outline' | 'ghost' | 'link' | 'default' | 'secondary' | 'destructive';
11
+ name: string;
12
+ label?: string;
13
+ subLabel?: string;
14
+ helpText?: JSX.Element;
15
+ placeholder?: string;
16
+ placeholderSearch?: string;
17
+ className?: string;
18
+ disabled?: boolean;
19
+ required?: boolean;
20
+ options: ComboboxOption[];
21
+ selectedOption?: ComboboxOption;
22
+ iconLeft?: React.ReactNode | null;
23
+ iconRight?: React.ReactNode | null;
24
+ addEmptyOption?: boolean;
25
+ canUnselect?: boolean;
26
+ closePopUpOnChange?: boolean;
27
+ runInternalSearch?: boolean;
28
+ disabledSearch?: boolean;
29
+ onChange?: (option: ComboboxOption | undefined) => void;
30
+ onSearch?: (searchString: string) => void;
31
+ footerAction?: {
32
+ label: string;
33
+ icon?: React.ReactNode;
34
+ onClick: () => void;
35
+ };
36
+ }
37
+ export declare const FormCombobox: React.FC<Props>;
38
+ export default FormCombobox;
39
+ //# sourceMappingURL=combobox.d.ts.map