@greatapps/common 1.1.257 → 1.1.259

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 (301) hide show
  1. package/dist/components/account/AccountModals.mjs.map +1 -1
  2. package/dist/components/account/ConfigurationsMyAccountModal.mjs +2 -2
  3. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -1
  4. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
  5. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -1
  6. package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
  7. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -1
  8. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
  9. package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -1
  10. package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -1
  11. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
  12. package/dist/components/account/sections/ChangeEmailModal.mjs.map +1 -1
  13. package/dist/components/account/sections/ChangePasswordSection.mjs.map +1 -1
  14. package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -1
  15. package/dist/components/account/sections/MyProfileSection.mjs.map +1 -1
  16. package/dist/components/account/sections/PreferencesSection.mjs.map +1 -1
  17. package/dist/components/account/sections/SecuritySection.mjs.map +1 -1
  18. package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
  19. package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
  20. package/dist/components/handlers/SearchParamsHandler.mjs.map +1 -1
  21. package/dist/components/layouts/AppMobileNavBar.mjs +1 -1
  22. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  23. package/dist/components/layouts/AppNavBar.mjs.map +1 -1
  24. package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -1
  25. package/dist/components/layouts/NavBar.mjs.map +1 -1
  26. package/dist/components/layouts/NotificationsPopover.mjs.map +1 -1
  27. package/dist/components/layouts/ProfilePopover.mjs.map +1 -1
  28. package/dist/components/layouts/UsersSelectorPopover.mjs +1 -1
  29. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
  30. package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
  31. package/dist/components/modals/ModalManager.mjs.map +1 -1
  32. package/dist/components/modals/Modals.mjs.map +1 -1
  33. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  34. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  35. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  36. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  37. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  38. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  39. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  40. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  41. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  42. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  43. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  44. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  45. package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
  46. package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
  47. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  48. package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
  49. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  50. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  51. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  52. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  53. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  54. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  55. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  56. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  57. package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
  58. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  59. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  60. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  61. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  62. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  63. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  64. package/dist/components/ui/form/FormField.mjs.map +1 -1
  65. package/dist/components/ui/form/Input.mjs.map +1 -1
  66. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  67. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  68. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  69. package/dist/components/ui/form/Select.mjs +1 -1
  70. package/dist/components/ui/form/Select.mjs.map +1 -1
  71. package/dist/components/ui/form/Switch.mjs.map +1 -1
  72. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  73. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  74. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  75. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  76. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  77. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  78. package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
  79. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  80. package/dist/hooks/useDebounce.mjs.map +1 -1
  81. package/dist/hooks/useDebounceState.mjs.map +1 -1
  82. package/dist/hooks/useDebouncedEffect.mjs.map +1 -1
  83. package/dist/index.mjs.map +1 -1
  84. package/dist/infra/utils/clsx.mjs.map +1 -1
  85. package/dist/infra/utils/parser.mjs.map +1 -1
  86. package/dist/infra/utils/percentage.mjs.map +1 -1
  87. package/dist/middleware.mjs.map +1 -1
  88. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  89. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  90. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  91. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  92. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  93. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  94. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  95. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  96. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  97. package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
  98. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  99. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  100. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  101. package/dist/modules/cards/actions/list-cards.action.mjs.map +1 -1
  102. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
  103. package/dist/modules/cards/services/cards.service.mjs.map +1 -1
  104. package/dist/modules/cards/types.mjs.map +1 -1
  105. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
  106. package/dist/modules/plans/actions/find-plan-by-id.action.mjs.map +1 -1
  107. package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
  108. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  109. package/dist/modules/plans/services/plans.service.mjs.map +1 -1
  110. package/dist/modules/plans/types/plan.type.mjs.map +1 -1
  111. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  112. package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
  113. package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
  114. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  115. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  116. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  117. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  118. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  119. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  120. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  121. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  122. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  123. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  124. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  125. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  126. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  127. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  128. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  129. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  130. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  131. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  132. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  133. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  134. package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
  135. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  136. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  137. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  138. package/dist/modules/users/services/messages.service.mjs.map +1 -1
  139. package/dist/modules/whitelabel/actions/find-whitelabel-styles.action.mjs.map +1 -1
  140. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  141. package/dist/modules/whitelabel/actions/revalidate-whitelabel-styles.action.mjs.map +1 -1
  142. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  143. package/dist/modules/whitelabel/services/whitelabel-styles.service.mjs.map +1 -1
  144. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  145. package/dist/store/useAccountModals.mjs.map +1 -1
  146. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  147. package/dist/store/useModalManager.mjs.map +1 -1
  148. package/dist/utils/countries.mjs.map +1 -1
  149. package/dist/utils/safeServerAction.mjs.map +1 -1
  150. package/dist/utils/withAction.mjs.map +1 -1
  151. package/package.json +89 -89
  152. package/src/components/account/AccountModals.tsx +17 -17
  153. package/src/components/account/ConfigurationsMyAccountModal.tsx +150 -150
  154. package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
  155. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +66 -66
  156. package/src/components/account/DeleteAccountModal.tsx +130 -130
  157. package/src/components/account/DisableTwoFactorAuthModal.tsx +86 -86
  158. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
  159. package/src/components/account/TwoFactorAuthModal.tsx +223 -223
  160. package/src/components/account/hooks/useChangePhoneForm.tsx +81 -81
  161. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
  162. package/src/components/account/sections/ChangeEmailModal.tsx +225 -225
  163. package/src/components/account/sections/ChangePasswordSection.tsx +64 -64
  164. package/src/components/account/sections/ChangePhoneModal.tsx +231 -231
  165. package/src/components/account/sections/MyProfileSection.tsx +327 -327
  166. package/src/components/account/sections/PreferencesSection.tsx +273 -273
  167. package/src/components/account/sections/SecuritySection.tsx +160 -160
  168. package/src/components/embeds/CrispEmbed.tsx +101 -101
  169. package/src/components/embeds/FrillEmbed.tsx +119 -119
  170. package/src/components/handlers/SearchParamsHandler.tsx +61 -61
  171. package/src/components/layouts/AppMobileNavBar.tsx +118 -118
  172. package/src/components/layouts/AppNavBar.tsx +51 -51
  173. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  174. package/src/components/layouts/NavBar.tsx +120 -120
  175. package/src/components/layouts/NotificationsPopover.tsx +115 -115
  176. package/src/components/layouts/ProfilePopover.tsx +164 -164
  177. package/src/components/layouts/UsersSelectorPopover.tsx +238 -238
  178. package/src/components/modals/BuyCreditsModal.tsx +301 -301
  179. package/src/components/modals/ModalManager.tsx +29 -29
  180. package/src/components/modals/Modals.tsx +26 -26
  181. package/src/components/navigation/CancelledSubscriptionBanner.tsx +69 -69
  182. package/src/components/navigation/NavItemsContext.ts +20 -20
  183. package/src/components/navigation/ProjectSelectorPopover.tsx +157 -157
  184. package/src/components/navigation/shells/TabsMobileShell.tsx +72 -72
  185. package/src/components/navigation/subcomponents/ProjectSelector.tsx +156 -156
  186. package/src/components/pages/notifications/Notifications.tsx +160 -160
  187. package/src/components/ui/buttons/Button.tsx +57 -57
  188. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  189. package/src/components/ui/buttons/CopyButton.tsx +54 -54
  190. package/src/components/ui/data-display/Accordion.tsx +81 -81
  191. package/src/components/ui/data-display/Badge.tsx +47 -47
  192. package/src/components/ui/data-display/Card.tsx +93 -93
  193. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  194. package/src/components/ui/data-display/CardItem.tsx +75 -75
  195. package/src/components/ui/data-display/Pagination.tsx +126 -126
  196. package/src/components/ui/data-display/PaymentInfoCard.tsx +186 -186
  197. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  198. package/src/components/ui/data-display/Separator.tsx +29 -29
  199. package/src/components/ui/data-display/Table.tsx +117 -117
  200. package/src/components/ui/data-display/Tabs.tsx +67 -67
  201. package/src/components/ui/feedback/CircularProgress.tsx +75 -75
  202. package/src/components/ui/feedback/DefaultCircularProgress.tsx +61 -61
  203. package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
  204. package/src/components/ui/feedback/Progress.tsx +40 -40
  205. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  206. package/src/components/ui/feedback/Toast.tsx +101 -101
  207. package/src/components/ui/form/Calendar.tsx +228 -228
  208. package/src/components/ui/form/Checkbox.tsx +31 -31
  209. package/src/components/ui/form/ComboboxField.tsx +154 -154
  210. package/src/components/ui/form/DatePicker.tsx +97 -97
  211. package/src/components/ui/form/DateRangePicker.tsx +108 -108
  212. package/src/components/ui/form/FormField.tsx +131 -131
  213. package/src/components/ui/form/Input.tsx +20 -20
  214. package/src/components/ui/form/InputOtp.tsx +80 -80
  215. package/src/components/ui/form/PhoneInput.tsx +205 -205
  216. package/src/components/ui/form/RadioGroup.tsx +45 -45
  217. package/src/components/ui/form/Select.tsx +200 -200
  218. package/src/components/ui/form/Switch.tsx +32 -32
  219. package/src/components/ui/form/Textarea.tsx +19 -19
  220. package/src/components/ui/overlay/Command.tsx +185 -185
  221. package/src/components/ui/overlay/Dialog.tsx +151 -151
  222. package/src/components/ui/overlay/Popover.tsx +49 -49
  223. package/src/components/ui/overlay/Sheet.tsx +166 -166
  224. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  225. package/src/components/widgets/notifications/NotificationCard.tsx +68 -68
  226. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  227. package/src/hooks/useDebounce.ts +26 -26
  228. package/src/hooks/useDebounceState.ts +11 -11
  229. package/src/hooks/useDebouncedEffect.ts +69 -69
  230. package/src/index.ts +376 -376
  231. package/src/infra/utils/clsx.ts +6 -6
  232. package/src/infra/utils/parser.ts +52 -52
  233. package/src/infra/utils/percentage.ts +42 -42
  234. package/src/middleware.ts +4 -4
  235. package/src/modules/accounts/actions/account-management.action.ts +91 -91
  236. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  237. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  238. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  239. package/src/modules/accounts/hooks/current-account.hook.tsx +22 -22
  240. package/src/modules/accounts/hooks/useAccountManagement.ts +85 -85
  241. package/src/modules/accounts/hooks/useCurrencies.ts +15 -15
  242. package/src/modules/accounts/hooks/useTimezones.ts +15 -15
  243. package/src/modules/accounts/services/account.service.ts +236 -236
  244. package/src/modules/accounts/types.ts +214 -214
  245. package/src/modules/auth/actions/validate-session.action.ts +56 -56
  246. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  247. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  248. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  249. package/src/modules/cards/actions/list-cards.action.ts +8 -8
  250. package/src/modules/cards/hooks/cards.hook.ts +14 -14
  251. package/src/modules/cards/services/cards.service.ts +32 -32
  252. package/src/modules/cards/types.ts +32 -32
  253. package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
  254. package/src/modules/plans/actions/find-plan-by-id.action.ts +8 -8
  255. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +17 -17
  256. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +13 -13
  257. package/src/modules/plans/services/plans.service.ts +36 -36
  258. package/src/modules/plans/types/plan.type.ts +21 -21
  259. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  260. package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
  261. package/src/modules/projects/actions/list-available-users.action.ts +9 -9
  262. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  263. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  264. package/src/modules/projects/hooks/add-project-user.hook.ts +69 -69
  265. package/src/modules/projects/hooks/list-all-account-users.hook.ts +34 -34
  266. package/src/modules/projects/hooks/list-available-users.hook.ts +33 -33
  267. package/src/modules/projects/hooks/list-project-users.hook.ts +33 -33
  268. package/src/modules/projects/hooks/remove-project-user.hook.ts +69 -69
  269. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  270. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  271. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +26 -26
  272. package/src/modules/subscriptions/constants/query-keys.constants.ts +1 -1
  273. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  274. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +19 -19
  275. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +16 -16
  276. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +25 -25
  277. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  278. package/src/modules/subscriptions/types/calculate-subscription.type.ts +75 -75
  279. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  280. package/src/modules/subscriptions/utils/periodicity.ts +52 -52
  281. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  282. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  283. package/src/modules/users/action/list-messages.action.ts +12 -12
  284. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  285. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  286. package/src/modules/users/hooks/messages.hook.ts +60 -60
  287. package/src/modules/users/services/messages.service.ts +48 -48
  288. package/src/modules/whitelabel/actions/find-whitelabel-styles.action.ts +14 -14
  289. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  290. package/src/modules/whitelabel/actions/revalidate-whitelabel-styles.action.ts +10 -10
  291. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  292. package/src/modules/whitelabel/schema.ts +83 -83
  293. package/src/modules/whitelabel/services/whitelabel-styles.service.ts +129 -129
  294. package/src/modules/whitelabel/styles-schema.ts +37 -37
  295. package/src/providers/whitelabel.provider.tsx +54 -54
  296. package/src/store/useAccountModals.ts +55 -55
  297. package/src/store/useBuyCreditsModal.ts +25 -25
  298. package/src/store/useModalManager.ts +104 -104
  299. package/src/utils/countries.ts +224 -224
  300. package/src/utils/safeServerAction.ts +21 -21
  301. package/src/utils/withAction.ts +13 -13
@@ -1,81 +1,81 @@
1
- 'use client';
2
-
3
- "use client"
4
-
5
- import * as React from "react"
6
- import * as AccordionPrimitive from "@radix-ui/react-accordion"
7
- import { IconChevronDown } from '@tabler/icons-react'
8
- import { cn } from "../../../infra/utils/clsx"
9
-
10
- function Accordion({
11
- ...props
12
- }: React.ComponentProps<typeof AccordionPrimitive.Root>) {
13
- return <AccordionPrimitive.Root data-slot="accordion" {...props} />
14
- }
15
-
16
- function AccordionItem({
17
- className,
18
- children,
19
- ...props
20
- }: React.ComponentProps<typeof AccordionPrimitive.Item>) {
21
- const itemRef = React.useRef<HTMLDivElement>(null);
22
-
23
- return (
24
- <AccordionPrimitive.Item
25
- ref={itemRef}
26
- data-slot="accordion-item"
27
- className={cn("cursor-pointer border rounded-lg p-5", className)}
28
- onClick={(e) => {
29
- // Evita abrir/fechar quando o clique já é no Trigger
30
- if ((e.target as HTMLElement).closest("[data-slot='accordion-trigger']")) return;
31
-
32
- // Procura o trigger interno e clica nele
33
- const trigger = itemRef.current?.querySelector("[data-slot='accordion-trigger']") as HTMLElement | null;
34
- trigger?.click();
35
- }}
36
- {...props}
37
- >
38
- {children}
39
- </AccordionPrimitive.Item>
40
- );
41
- }
42
-
43
- function AccordionTrigger({
44
- className,
45
- children,
46
- ...props
47
- }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {
48
- return (
49
- <AccordionPrimitive.Header className="flex">
50
- <AccordionPrimitive.Trigger
51
- data-slot="accordion-trigger"
52
- className={cn(
53
- "cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
54
- className
55
- )}
56
- {...props}
57
- >
58
- {children}
59
- <IconChevronDown className="size-5! text-gray-950 pointer-events-none shrink-0 translate-y-0.5 transition-transform duration-200" />
60
- </AccordionPrimitive.Trigger>
61
- </AccordionPrimitive.Header>
62
- )
63
- }
64
-
65
- function AccordionContent({
66
- className,
67
- children,
68
- ...props
69
- }: React.ComponentProps<typeof AccordionPrimitive.Content>) {
70
- return (
71
- <AccordionPrimitive.Content
72
- data-slot="accordion-content"
73
- className="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"
74
- {...props}
75
- >
76
- <div className={cn("pt-3 paragraph-small-regular text-gray-500", className)}>{children}</div>
77
- </AccordionPrimitive.Content>
78
- )
79
- }
80
-
81
- export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
1
+ 'use client';
2
+
3
+ "use client"
4
+
5
+ import * as React from "react"
6
+ import * as AccordionPrimitive from "@radix-ui/react-accordion"
7
+ import { IconChevronDown } from '@tabler/icons-react'
8
+ import { cn } from "../../../infra/utils/clsx"
9
+
10
+ function Accordion({
11
+ ...props
12
+ }: React.ComponentProps<typeof AccordionPrimitive.Root>) {
13
+ return <AccordionPrimitive.Root data-slot="accordion" {...props} />
14
+ }
15
+
16
+ function AccordionItem({
17
+ className,
18
+ children,
19
+ ...props
20
+ }: React.ComponentProps<typeof AccordionPrimitive.Item>) {
21
+ const itemRef = React.useRef<HTMLDivElement>(null);
22
+
23
+ return (
24
+ <AccordionPrimitive.Item
25
+ ref={itemRef}
26
+ data-slot="accordion-item"
27
+ className={cn("cursor-pointer border rounded-lg p-5", className)}
28
+ onClick={(e) => {
29
+ // Evita abrir/fechar quando o clique já é no Trigger
30
+ if ((e.target as HTMLElement).closest("[data-slot='accordion-trigger']")) return;
31
+
32
+ // Procura o trigger interno e clica nele
33
+ const trigger = itemRef.current?.querySelector("[data-slot='accordion-trigger']") as HTMLElement | null;
34
+ trigger?.click();
35
+ }}
36
+ {...props}
37
+ >
38
+ {children}
39
+ </AccordionPrimitive.Item>
40
+ );
41
+ }
42
+
43
+ function AccordionTrigger({
44
+ className,
45
+ children,
46
+ ...props
47
+ }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {
48
+ return (
49
+ <AccordionPrimitive.Header className="flex">
50
+ <AccordionPrimitive.Trigger
51
+ data-slot="accordion-trigger"
52
+ className={cn(
53
+ "cursor-pointer focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",
54
+ className
55
+ )}
56
+ {...props}
57
+ >
58
+ {children}
59
+ <IconChevronDown className="size-5! text-gray-950 pointer-events-none shrink-0 translate-y-0.5 transition-transform duration-200" />
60
+ </AccordionPrimitive.Trigger>
61
+ </AccordionPrimitive.Header>
62
+ )
63
+ }
64
+
65
+ function AccordionContent({
66
+ className,
67
+ children,
68
+ ...props
69
+ }: React.ComponentProps<typeof AccordionPrimitive.Content>) {
70
+ return (
71
+ <AccordionPrimitive.Content
72
+ data-slot="accordion-content"
73
+ className="data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm"
74
+ {...props}
75
+ >
76
+ <div className={cn("pt-3 paragraph-small-regular text-gray-500", className)}>{children}</div>
77
+ </AccordionPrimitive.Content>
78
+ )
79
+ }
80
+
81
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent }
@@ -1,47 +1,47 @@
1
- 'use client';
2
-
3
- import * as React from "react"
4
- import { Slot } from "@radix-ui/react-slot"
5
- import { cva, type VariantProps } from "class-variance-authority"
6
- import { cn } from "../../../infra/utils/clsx"
7
-
8
- const badgeVariants = cva(
9
- "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
10
- {
11
- variants: {
12
- variant: {
13
- default:
14
- "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
15
- secondary:
16
- "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
17
- destructive:
18
- "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
19
- outline:
20
- "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
21
- },
22
- },
23
- defaultVariants: {
24
- variant: "default",
25
- },
26
- }
27
- )
28
-
29
- function Badge({
30
- className,
31
- variant,
32
- asChild = false,
33
- ...props
34
- }: React.ComponentProps<"span"> &
35
- VariantProps<typeof badgeVariants> & { asChild?: boolean }) {
36
- const Comp = asChild ? Slot : "span"
37
-
38
- return (
39
- <Comp
40
- data-slot="badge"
41
- className={cn(badgeVariants({ variant }), className)}
42
- {...props}
43
- />
44
- )
45
- }
46
-
47
- export { Badge, badgeVariants }
1
+ 'use client';
2
+
3
+ import * as React from "react"
4
+ import { Slot } from "@radix-ui/react-slot"
5
+ import { cva, type VariantProps } from "class-variance-authority"
6
+ import { cn } from "../../../infra/utils/clsx"
7
+
8
+ const badgeVariants = cva(
9
+ "inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",
10
+ {
11
+ variants: {
12
+ variant: {
13
+ default:
14
+ "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
15
+ secondary:
16
+ "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
17
+ destructive:
18
+ "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
19
+ outline:
20
+ "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
21
+ },
22
+ },
23
+ defaultVariants: {
24
+ variant: "default",
25
+ },
26
+ }
27
+ )
28
+
29
+ function Badge({
30
+ className,
31
+ variant,
32
+ asChild = false,
33
+ ...props
34
+ }: React.ComponentProps<"span"> &
35
+ VariantProps<typeof badgeVariants> & { asChild?: boolean }) {
36
+ const Comp = asChild ? Slot : "span"
37
+
38
+ return (
39
+ <Comp
40
+ data-slot="badge"
41
+ className={cn(badgeVariants({ variant }), className)}
42
+ {...props}
43
+ />
44
+ )
45
+ }
46
+
47
+ export { Badge, badgeVariants }
@@ -1,93 +1,93 @@
1
- 'use client';
2
-
3
- import * as React from "react";
4
- import { cn } from "../../../infra/utils/clsx";
5
-
6
- function Card({ className, ...props }: React.ComponentProps<"div">) {
7
- return (
8
- <div
9
- data-slot="card"
10
- className={cn(
11
- "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
12
- className,
13
- )}
14
- {...props}
15
- />
16
- );
17
- }
18
-
19
- function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
20
- return (
21
- <div
22
- data-slot="card-header"
23
- className={cn(
24
- "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
25
- className,
26
- )}
27
- {...props}
28
- />
29
- );
30
- }
31
-
32
- function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
33
- return (
34
- <div
35
- data-slot="card-title"
36
- className={cn("leading-none font-semibold", className)}
37
- {...props}
38
- />
39
- );
40
- }
41
-
42
- function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
43
- return (
44
- <div
45
- data-slot="card-description"
46
- className={cn("text-muted-foreground text-sm", className)}
47
- {...props}
48
- />
49
- );
50
- }
51
-
52
- function CardAction({ className, ...props }: React.ComponentProps<"div">) {
53
- return (
54
- <div
55
- data-slot="card-action"
56
- className={cn(
57
- "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
58
- className,
59
- )}
60
- {...props}
61
- />
62
- );
63
- }
64
-
65
- function CardContent({ className, ...props }: React.ComponentProps<"div">) {
66
- return (
67
- <div
68
- data-slot="card-content"
69
- className={cn("px-6", className)}
70
- {...props}
71
- />
72
- );
73
- }
74
-
75
- function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
76
- return (
77
- <div
78
- data-slot="card-footer"
79
- className={cn("flex items-center px-6 [.border-t]:pt-6", className)}
80
- {...props}
81
- />
82
- );
83
- }
84
-
85
- export {
86
- Card,
87
- CardHeader,
88
- CardFooter,
89
- CardTitle,
90
- CardAction,
91
- CardDescription,
92
- CardContent,
93
- };
1
+ 'use client';
2
+
3
+ import * as React from "react";
4
+ import { cn } from "../../../infra/utils/clsx";
5
+
6
+ function Card({ className, ...props }: React.ComponentProps<"div">) {
7
+ return (
8
+ <div
9
+ data-slot="card"
10
+ className={cn(
11
+ "bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",
12
+ className,
13
+ )}
14
+ {...props}
15
+ />
16
+ );
17
+ }
18
+
19
+ function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
20
+ return (
21
+ <div
22
+ data-slot="card-header"
23
+ className={cn(
24
+ "@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",
25
+ className,
26
+ )}
27
+ {...props}
28
+ />
29
+ );
30
+ }
31
+
32
+ function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
33
+ return (
34
+ <div
35
+ data-slot="card-title"
36
+ className={cn("leading-none font-semibold", className)}
37
+ {...props}
38
+ />
39
+ );
40
+ }
41
+
42
+ function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
43
+ return (
44
+ <div
45
+ data-slot="card-description"
46
+ className={cn("text-muted-foreground text-sm", className)}
47
+ {...props}
48
+ />
49
+ );
50
+ }
51
+
52
+ function CardAction({ className, ...props }: React.ComponentProps<"div">) {
53
+ return (
54
+ <div
55
+ data-slot="card-action"
56
+ className={cn(
57
+ "col-start-2 row-span-2 row-start-1 self-start justify-self-end",
58
+ className,
59
+ )}
60
+ {...props}
61
+ />
62
+ );
63
+ }
64
+
65
+ function CardContent({ className, ...props }: React.ComponentProps<"div">) {
66
+ return (
67
+ <div
68
+ data-slot="card-content"
69
+ className={cn("px-6", className)}
70
+ {...props}
71
+ />
72
+ );
73
+ }
74
+
75
+ function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
76
+ return (
77
+ <div
78
+ data-slot="card-footer"
79
+ className={cn("flex items-center px-6 [.border-t]:pt-6", className)}
80
+ {...props}
81
+ />
82
+ );
83
+ }
84
+
85
+ export {
86
+ Card,
87
+ CardHeader,
88
+ CardFooter,
89
+ CardTitle,
90
+ CardAction,
91
+ CardDescription,
92
+ CardContent,
93
+ };