@greatapps/common 1.1.516 → 1.1.517

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 (407) hide show
  1. package/dist/components/account/ConfigurationsMyAccountModal.mjs +1 -1
  2. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -1
  3. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
  4. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -1
  5. package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
  6. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -1
  7. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
  8. package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -1
  9. package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -1
  10. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
  11. package/dist/components/account/sections/ChangeEmailModal.mjs.map +1 -1
  12. package/dist/components/account/sections/ChangePasswordSection.mjs.map +1 -1
  13. package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -1
  14. package/dist/components/account/sections/MyProfileSection.mjs.map +1 -1
  15. package/dist/components/account/sections/PreferencesSection.mjs.map +1 -1
  16. package/dist/components/account/sections/SecuritySection.mjs.map +1 -1
  17. package/dist/components/account/sections/TokenSection.mjs.map +1 -1
  18. package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
  19. package/dist/components/embeds/EmbedWidgets.mjs.map +1 -1
  20. package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
  21. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  22. package/dist/components/layouts/AppNavBar.mjs.map +1 -1
  23. package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -1
  24. package/dist/components/layouts/NavBar.mjs.map +1 -1
  25. package/dist/components/layouts/NotificationsPopover.mjs.map +1 -1
  26. package/dist/components/layouts/ProfilePopover.mjs.map +1 -1
  27. package/dist/components/layouts/SideBarNavigation.mjs.map +1 -1
  28. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
  29. package/dist/components/layouts/WhitelabelCodes.mjs.map +1 -1
  30. package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
  31. package/dist/components/modals/PaidPlanRequiredModal.mjs.map +1 -1
  32. package/dist/components/modals/cards/AddCardModal.mjs.map +1 -1
  33. package/dist/components/modals/cards/CardFormFields.mjs.map +1 -1
  34. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  35. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  36. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  37. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  38. package/dist/components/navigation/subcomponents/BottomLinks.mjs.map +1 -1
  39. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  40. package/dist/components/pages/NotFoundPage.mjs.map +1 -1
  41. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  42. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  43. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  44. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  45. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  46. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  47. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  48. package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
  49. package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
  50. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  51. package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
  52. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  53. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  54. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  55. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  56. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  57. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  58. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  59. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  60. package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
  61. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  62. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  63. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  64. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  65. package/dist/components/ui/form/DatePicker.mjs +2 -2
  66. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  67. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  68. package/dist/components/ui/form/FormField.mjs.map +1 -1
  69. package/dist/components/ui/form/Input.mjs.map +1 -1
  70. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  71. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  72. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  73. package/dist/components/ui/form/Select.mjs +1 -1
  74. package/dist/components/ui/form/Select.mjs.map +1 -1
  75. package/dist/components/ui/form/Switch.mjs.map +1 -1
  76. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  77. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  78. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  79. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  80. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  81. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  82. package/dist/components/widgets/ImageUpload/ImageCropModal.mjs.map +1 -1
  83. package/dist/components/widgets/ImageUpload/ImageTooSmallModal.mjs.map +1 -1
  84. package/dist/components/widgets/ImageUpload/ImageUpload.mjs.map +1 -1
  85. package/dist/components/widgets/ImageUpload/index.mjs.map +1 -1
  86. package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
  87. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  88. package/dist/hooks/useAuthQueryKey.mjs.map +1 -1
  89. package/dist/index.mjs.map +1 -1
  90. package/dist/infra/utils/array.mjs.map +1 -1
  91. package/dist/infra/utils/date.mjs.map +1 -1
  92. package/dist/middleware.mjs.map +1 -1
  93. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  94. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  95. package/dist/modules/accounts/actions/get-account-token.action.mjs.map +1 -1
  96. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  97. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  98. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  99. package/dist/modules/accounts/hooks/use-account-token.hook.mjs.map +1 -1
  100. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  101. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  102. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  103. package/dist/modules/accounts/hooks/useViaCep.mjs.map +1 -1
  104. package/dist/modules/accounts/services/account-token.service.mjs.map +1 -1
  105. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  106. package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
  107. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  108. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  109. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  110. package/dist/modules/auth/hooks/useManagementPermissions.mjs.map +1 -1
  111. package/dist/modules/auth/hooks/useUserQuery.mjs.map +1 -1
  112. package/dist/modules/auth/utils/assert-management-permission.mjs.map +1 -1
  113. package/dist/modules/auth/utils/assert-management-subscription.mjs.map +1 -1
  114. package/dist/modules/auth/utils/assert-paid-subscription.mjs.map +1 -1
  115. package/dist/modules/auth/utils/assert-subscription-addon.mjs.map +1 -1
  116. package/dist/modules/auth/utils/build-wl-override.mjs.map +1 -1
  117. package/dist/modules/cards/actions/create-card.action.mjs.map +1 -1
  118. package/dist/modules/cards/actions/delete-card.action.mjs.map +1 -1
  119. package/dist/modules/cards/actions/find-card-by-id.action.mjs.map +1 -1
  120. package/dist/modules/cards/actions/list-cards.action.mjs.map +1 -1
  121. package/dist/modules/cards/actions/set-default-card.action.mjs.map +1 -1
  122. package/dist/modules/cards/hooks/card-by-id.hook.mjs.map +1 -1
  123. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
  124. package/dist/modules/cards/hooks/create-card.hook.mjs.map +1 -1
  125. package/dist/modules/cards/hooks/delete-card.hook.mjs.map +1 -1
  126. package/dist/modules/cards/hooks/set-default-card.hook.mjs.map +1 -1
  127. package/dist/modules/cards/services/cards.service.mjs.map +1 -1
  128. package/dist/modules/cards/types.mjs.map +1 -1
  129. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
  130. package/dist/modules/ia-credits/hooks/ia-credits.hook.mjs.map +1 -1
  131. package/dist/modules/images/actions/process-image.action.mjs.map +1 -1
  132. package/dist/modules/images/constants/image.constants.mjs.map +1 -1
  133. package/dist/modules/images/hooks/use-image-upload.hook.mjs.map +1 -1
  134. package/dist/modules/images/services/image-processing.service.mjs.map +1 -1
  135. package/dist/modules/images/utils/base64.mjs.map +1 -1
  136. package/dist/modules/images/utils/compress-image.mjs.map +1 -1
  137. package/dist/modules/images/utils/crop-image.mjs.map +1 -1
  138. package/dist/modules/images/utils/validate-image.mjs.map +1 -1
  139. package/dist/modules/plans/actions/find-plan-by-id.action.mjs.map +1 -1
  140. package/dist/modules/plans/actions/list-plans.action.mjs.map +1 -1
  141. package/dist/modules/plans/hooks/list-plans.hook.mjs.map +1 -1
  142. package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
  143. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  144. package/dist/modules/plans/services/plans.service.mjs.map +1 -1
  145. package/dist/modules/plans/types/plan.type.mjs.map +1 -1
  146. package/dist/modules/plans/utils/map-api-plan-to-ui.mjs.map +1 -1
  147. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  148. package/dist/modules/projects/actions/create-project.action.mjs.map +1 -1
  149. package/dist/modules/projects/actions/delete-project.action.mjs.map +1 -1
  150. package/dist/modules/projects/actions/find-project.action.mjs.map +1 -1
  151. package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
  152. package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
  153. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  154. package/dist/modules/projects/actions/list-projects.action.mjs.map +1 -1
  155. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  156. package/dist/modules/projects/actions/update-project.action.mjs.map +1 -1
  157. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  158. package/dist/modules/projects/hooks/create-project.hook.mjs.map +1 -1
  159. package/dist/modules/projects/hooks/delete-project.hook.mjs.map +1 -1
  160. package/dist/modules/projects/hooks/find-project.hook.mjs.map +1 -1
  161. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  162. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  163. package/dist/modules/projects/hooks/list-infinite-projects.hook.mjs.map +1 -1
  164. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  165. package/dist/modules/projects/hooks/list-projects.hook.mjs.map +1 -1
  166. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  167. package/dist/modules/projects/hooks/update-project.hook.mjs.map +1 -1
  168. package/dist/modules/projects/services/projects.service.mjs.map +1 -1
  169. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  170. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  171. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  172. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  173. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  174. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  175. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  176. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  177. package/dist/modules/subscriptions/hooks/use-cancelled-subscription-guard.mjs.map +1 -1
  178. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  179. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  180. package/dist/modules/subscriptions/utils/has-subscription-expired.mjs.map +1 -1
  181. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  182. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  183. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  184. package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
  185. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  186. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  187. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  188. package/dist/modules/users/services/messages.service.mjs.map +1 -1
  189. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  190. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  191. package/dist/modules/whitelabel/utils/normalize-hostname.mjs.map +1 -1
  192. package/dist/providers/auth.provider.mjs.map +1 -1
  193. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  194. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  195. package/dist/store/useDesktopSidebarStore.mjs.map +1 -1
  196. package/dist/store/useMdSidebarStore.mjs.map +1 -1
  197. package/dist/store/usePaidPlanRequiredModal.mjs.map +1 -1
  198. package/dist/utils/constants/br-states.mjs.map +1 -1
  199. package/dist/utils/countries.mjs.map +1 -1
  200. package/dist/utils/format/currency.mjs.map +1 -1
  201. package/dist/utils/safeServerAction.mjs.map +1 -1
  202. package/dist/utils/withAction.mjs.map +1 -1
  203. package/package.json +92 -92
  204. package/src/components/account/ConfigurationsMyAccountModal.tsx +161 -161
  205. package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
  206. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +66 -66
  207. package/src/components/account/DeleteAccountModal.tsx +130 -130
  208. package/src/components/account/DisableTwoFactorAuthModal.tsx +86 -86
  209. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
  210. package/src/components/account/TwoFactorAuthModal.tsx +215 -215
  211. package/src/components/account/hooks/useChangePhoneForm.tsx +107 -107
  212. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
  213. package/src/components/account/sections/ChangeEmailModal.tsx +227 -227
  214. package/src/components/account/sections/ChangePasswordSection.tsx +64 -64
  215. package/src/components/account/sections/ChangePhoneModal.tsx +247 -247
  216. package/src/components/account/sections/MyProfileSection.tsx +328 -328
  217. package/src/components/account/sections/PreferencesSection.tsx +248 -248
  218. package/src/components/account/sections/SecuritySection.tsx +46 -46
  219. package/src/components/account/sections/TokenSection.tsx +64 -64
  220. package/src/components/embeds/CrispEmbed.tsx +156 -156
  221. package/src/components/embeds/EmbedWidgets.tsx +50 -50
  222. package/src/components/embeds/FrillEmbed.tsx +129 -129
  223. package/src/components/layouts/AppMobileNavBar.tsx +80 -80
  224. package/src/components/layouts/AppNavBar.tsx +40 -40
  225. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  226. package/src/components/layouts/NavBar.tsx +175 -175
  227. package/src/components/layouts/NotificationsPopover.tsx +118 -118
  228. package/src/components/layouts/ProfilePopover.tsx +176 -176
  229. package/src/components/layouts/SideBarNavigation.tsx +65 -65
  230. package/src/components/layouts/UsersSelectorPopover.tsx +234 -234
  231. package/src/components/layouts/WhitelabelCodes.tsx +59 -59
  232. package/src/components/modals/BuyCreditsModal.tsx +354 -354
  233. package/src/components/modals/PaidPlanRequiredModal.tsx +57 -57
  234. package/src/components/modals/cards/AddCardModal.tsx +265 -265
  235. package/src/components/modals/cards/CardFormFields.tsx +348 -348
  236. package/src/components/navigation/CancelledSubscriptionBanner.tsx +64 -64
  237. package/src/components/navigation/NavItemsContext.ts +20 -20
  238. package/src/components/navigation/ProjectSelectorPopover.tsx +178 -178
  239. package/src/components/navigation/shells/TabsMobileShell.tsx +74 -74
  240. package/src/components/navigation/subcomponents/BottomLinks.tsx +37 -37
  241. package/src/components/navigation/subcomponents/ProjectSelector.tsx +182 -182
  242. package/src/components/pages/NotFoundPage.tsx +67 -67
  243. package/src/components/pages/notifications/Notifications.tsx +187 -187
  244. package/src/components/ui/buttons/Button.tsx +62 -62
  245. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  246. package/src/components/ui/buttons/CopyButton.tsx +54 -54
  247. package/src/components/ui/data-display/Accordion.tsx +81 -81
  248. package/src/components/ui/data-display/Badge.tsx +47 -47
  249. package/src/components/ui/data-display/Card.tsx +93 -93
  250. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  251. package/src/components/ui/data-display/CardItem.tsx +75 -75
  252. package/src/components/ui/data-display/Pagination.tsx +126 -126
  253. package/src/components/ui/data-display/PaymentInfoCard.tsx +192 -192
  254. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  255. package/src/components/ui/data-display/Separator.tsx +29 -29
  256. package/src/components/ui/data-display/Table.tsx +117 -117
  257. package/src/components/ui/data-display/Tabs.tsx +67 -67
  258. package/src/components/ui/feedback/CircularProgress.tsx +75 -75
  259. package/src/components/ui/feedback/DefaultCircularProgress.tsx +65 -65
  260. package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
  261. package/src/components/ui/feedback/Progress.tsx +40 -40
  262. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  263. package/src/components/ui/feedback/Toast.tsx +104 -104
  264. package/src/components/ui/form/Calendar.tsx +228 -228
  265. package/src/components/ui/form/Checkbox.tsx +31 -31
  266. package/src/components/ui/form/ComboboxField.tsx +154 -154
  267. package/src/components/ui/form/DatePicker.tsx +98 -97
  268. package/src/components/ui/form/DateRangePicker.tsx +108 -108
  269. package/src/components/ui/form/FormField.tsx +133 -133
  270. package/src/components/ui/form/Input.tsx +20 -20
  271. package/src/components/ui/form/InputOtp.tsx +80 -80
  272. package/src/components/ui/form/PhoneInput.tsx +208 -208
  273. package/src/components/ui/form/RadioGroup.tsx +45 -45
  274. package/src/components/ui/form/Select.tsx +200 -200
  275. package/src/components/ui/form/Switch.tsx +32 -32
  276. package/src/components/ui/form/Textarea.tsx +19 -19
  277. package/src/components/ui/overlay/Command.tsx +185 -185
  278. package/src/components/ui/overlay/Dialog.tsx +153 -153
  279. package/src/components/ui/overlay/Popover.tsx +49 -49
  280. package/src/components/ui/overlay/Sheet.tsx +170 -170
  281. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  282. package/src/components/widgets/ImageUpload/ImageCropModal.tsx +254 -254
  283. package/src/components/widgets/ImageUpload/ImageTooSmallModal.tsx +61 -61
  284. package/src/components/widgets/ImageUpload/ImageUpload.tsx +126 -126
  285. package/src/components/widgets/ImageUpload/index.ts +3 -3
  286. package/src/components/widgets/notifications/NotificationCard.tsx +73 -73
  287. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  288. package/src/hooks/useAuthQueryKey.ts +32 -32
  289. package/src/index.ts +506 -506
  290. package/src/infra/utils/array.ts +54 -54
  291. package/src/infra/utils/date.ts +18 -18
  292. package/src/middleware.ts +4 -4
  293. package/src/modules/accounts/actions/account-management.action.ts +107 -107
  294. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  295. package/src/modules/accounts/actions/get-account-token.action.ts +8 -8
  296. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  297. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  298. package/src/modules/accounts/hooks/current-account.hook.tsx +26 -26
  299. package/src/modules/accounts/hooks/use-account-token.hook.tsx +14 -14
  300. package/src/modules/accounts/hooks/useAccountManagement.ts +94 -94
  301. package/src/modules/accounts/hooks/useCurrencies.ts +18 -18
  302. package/src/modules/accounts/hooks/useTimezones.ts +18 -18
  303. package/src/modules/accounts/hooks/useViaCep.ts +25 -25
  304. package/src/modules/accounts/services/account-token.service.ts +52 -52
  305. package/src/modules/accounts/services/account.service.ts +239 -239
  306. package/src/modules/accounts/types.ts +225 -225
  307. package/src/modules/auth/actions/validate-session.action.ts +56 -56
  308. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  309. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  310. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  311. package/src/modules/auth/hooks/useManagementPermissions.ts +45 -45
  312. package/src/modules/auth/hooks/useUserQuery.ts +75 -75
  313. package/src/modules/auth/types/management-permission.type.ts +7 -7
  314. package/src/modules/auth/utils/assert-management-permission.ts +46 -46
  315. package/src/modules/auth/utils/assert-management-subscription.ts +35 -35
  316. package/src/modules/auth/utils/assert-paid-subscription.ts +43 -43
  317. package/src/modules/auth/utils/assert-subscription-addon.ts +42 -42
  318. package/src/modules/auth/utils/build-wl-override.ts +43 -43
  319. package/src/modules/cards/actions/create-card.action.ts +9 -9
  320. package/src/modules/cards/actions/delete-card.action.ts +8 -8
  321. package/src/modules/cards/actions/find-card-by-id.action.ts +8 -8
  322. package/src/modules/cards/actions/list-cards.action.ts +8 -8
  323. package/src/modules/cards/actions/set-default-card.action.ts +8 -8
  324. package/src/modules/cards/hooks/card-by-id.hook.ts +21 -21
  325. package/src/modules/cards/hooks/cards.hook.ts +23 -23
  326. package/src/modules/cards/hooks/create-card.hook.ts +30 -30
  327. package/src/modules/cards/hooks/delete-card.hook.ts +54 -54
  328. package/src/modules/cards/hooks/set-default-card.hook.ts +55 -55
  329. package/src/modules/cards/services/cards.service.ts +108 -108
  330. package/src/modules/cards/types.ts +42 -42
  331. package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
  332. package/src/modules/ia-credits/hooks/ia-credits.hook.ts +99 -99
  333. package/src/modules/images/actions/process-image.action.ts +40 -40
  334. package/src/modules/images/constants/image.constants.ts +11 -11
  335. package/src/modules/images/hooks/use-image-upload.hook.ts +172 -172
  336. package/src/modules/images/services/image-processing.service.ts +75 -75
  337. package/src/modules/images/types/image.type.ts +54 -54
  338. package/src/modules/images/utils/base64.ts +26 -26
  339. package/src/modules/images/utils/compress-image.ts +20 -20
  340. package/src/modules/images/utils/crop-image.ts +51 -51
  341. package/src/modules/images/utils/validate-image.ts +71 -71
  342. package/src/modules/plans/actions/find-plan-by-id.action.ts +8 -8
  343. package/src/modules/plans/actions/list-plans.action.ts +17 -17
  344. package/src/modules/plans/hooks/list-plans.hook.ts +24 -24
  345. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +14 -14
  346. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +38 -38
  347. package/src/modules/plans/services/plans.service.ts +133 -133
  348. package/src/modules/plans/types/plan.type.ts +67 -67
  349. package/src/modules/plans/utils/map-api-plan-to-ui.ts +98 -98
  350. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  351. package/src/modules/projects/actions/create-project.action.ts +9 -9
  352. package/src/modules/projects/actions/delete-project.action.ts +8 -8
  353. package/src/modules/projects/actions/find-project.action.ts +8 -8
  354. package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
  355. package/src/modules/projects/actions/list-available-users.action.ts +9 -9
  356. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  357. package/src/modules/projects/actions/list-projects.action.ts +16 -16
  358. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  359. package/src/modules/projects/actions/update-project.action.ts +9 -9
  360. package/src/modules/projects/hooks/add-project-user.hook.ts +72 -72
  361. package/src/modules/projects/hooks/create-project.hook.ts +88 -88
  362. package/src/modules/projects/hooks/delete-project.hook.ts +58 -58
  363. package/src/modules/projects/hooks/find-project.hook.ts +18 -18
  364. package/src/modules/projects/hooks/list-all-account-users.hook.ts +39 -39
  365. package/src/modules/projects/hooks/list-available-users.hook.ts +38 -38
  366. package/src/modules/projects/hooks/list-infinite-projects.hook.ts +43 -43
  367. package/src/modules/projects/hooks/list-project-users.hook.ts +38 -38
  368. package/src/modules/projects/hooks/list-projects.hook.ts +23 -23
  369. package/src/modules/projects/hooks/remove-project-user.hook.ts +72 -72
  370. package/src/modules/projects/hooks/update-project.hook.ts +86 -86
  371. package/src/modules/projects/services/projects.service.ts +144 -144
  372. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  373. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  374. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +14 -14
  375. package/src/modules/subscriptions/constants/query-keys.constants.ts +3 -3
  376. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  377. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +18 -18
  378. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +19 -19
  379. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +28 -28
  380. package/src/modules/subscriptions/hooks/use-cancelled-subscription-guard.ts +39 -39
  381. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  382. package/src/modules/subscriptions/types/calculate-subscription.type.ts +113 -113
  383. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  384. package/src/modules/subscriptions/utils/has-subscription-expired.ts +8 -8
  385. package/src/modules/subscriptions/utils/periodicity.ts +62 -62
  386. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  387. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  388. package/src/modules/users/action/list-messages.action.ts +26 -26
  389. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  390. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  391. package/src/modules/users/hooks/messages.hook.ts +67 -67
  392. package/src/modules/users/services/messages.service.ts +49 -49
  393. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  394. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  395. package/src/modules/whitelabel/schema.ts +84 -84
  396. package/src/modules/whitelabel/utils/normalize-hostname.ts +26 -26
  397. package/src/providers/auth.provider.tsx +162 -162
  398. package/src/providers/whitelabel.provider.tsx +59 -59
  399. package/src/store/useBuyCreditsModal.ts +21 -21
  400. package/src/store/useDesktopSidebarStore.ts +47 -47
  401. package/src/store/useMdSidebarStore.ts +34 -34
  402. package/src/store/usePaidPlanRequiredModal.ts +19 -19
  403. package/src/utils/constants/br-states.ts +29 -29
  404. package/src/utils/countries.ts +224 -224
  405. package/src/utils/format/currency.ts +15 -15
  406. package/src/utils/safeServerAction.ts +21 -21
  407. package/src/utils/withAction.ts +13 -13
@@ -1,185 +1,185 @@
1
- 'use client';
2
-
3
- "use client"
4
-
5
- import * as React from "react"
6
- import { Command as CommandPrimitive } from "cmdk"
7
- import { IconSearch } from '@tabler/icons-react';
8
- import {
9
- Dialog,
10
- DialogContent,
11
- DialogDescription,
12
- DialogHeader,
13
- DialogTitle,
14
- } from "./Dialog"
15
- import { cn } from "../../../infra/utils/clsx"
16
-
17
- function Command({
18
- className,
19
- ...props
20
- }: React.ComponentProps<typeof CommandPrimitive>) {
21
- return (
22
- <CommandPrimitive
23
- data-slot="command"
24
- className={cn(
25
- "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
26
- className
27
- )}
28
- {...props}
29
- />
30
- )
31
- }
32
-
33
- function CommandDialog({
34
- title = "Command Palette",
35
- description = "Search for a command to run...",
36
- children,
37
- className,
38
- showCloseButton = true,
39
- ...props
40
- }: React.ComponentProps<typeof Dialog> & {
41
- title?: string
42
- description?: string
43
- className?: string
44
- showCloseButton?: boolean
45
- }) {
46
- return (
47
- <Dialog {...props}>
48
- <DialogHeader className="sr-only">
49
- <DialogTitle>{title}</DialogTitle>
50
- <DialogDescription>{description}</DialogDescription>
51
- </DialogHeader>
52
- <DialogContent
53
- className={cn("overflow-hidden p-0", className)}
54
- showCloseButton={showCloseButton}
55
- >
56
- <Command className="[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[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">
57
- {children}
58
- </Command>
59
- </DialogContent>
60
- </Dialog>
61
- )
62
- }
63
-
64
- function CommandInput({
65
- className,
66
- ...props
67
- }: React.ComponentProps<typeof CommandPrimitive.Input>) {
68
- return (
69
- <div
70
- data-slot="command-input-wrapper"
71
- className="flex h-9 items-center gap-2 border-b px-3"
72
- >
73
- <IconSearch className="size-5 shrink-0 opacity-50" />
74
- <CommandPrimitive.Input
75
- data-slot="command-input"
76
- className={cn(
77
- "placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
78
- className
79
- )}
80
- {...props}
81
- />
82
- </div>
83
- )
84
- }
85
-
86
- function CommandList({
87
- className,
88
- ...props
89
- }: React.ComponentProps<typeof CommandPrimitive.List>) {
90
- return (
91
- <CommandPrimitive.List
92
- data-slot="command-list"
93
- className={cn(
94
- "max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
95
- className
96
- )}
97
- {...props}
98
- />
99
- )
100
- }
101
-
102
- function CommandEmpty({
103
- ...props
104
- }: React.ComponentProps<typeof CommandPrimitive.Empty>) {
105
- return (
106
- <CommandPrimitive.Empty
107
- data-slot="command-empty"
108
- className="py-6 text-center text-sm"
109
- {...props}
110
- />
111
- )
112
- }
113
-
114
- function CommandGroup({
115
- className,
116
- ...props
117
- }: React.ComponentProps<typeof CommandPrimitive.Group>) {
118
- return (
119
- <CommandPrimitive.Group
120
- data-slot="command-group"
121
- className={cn(
122
- "text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",
123
- className
124
- )}
125
- {...props}
126
- />
127
- )
128
- }
129
-
130
- function CommandSeparator({
131
- className,
132
- ...props
133
- }: React.ComponentProps<typeof CommandPrimitive.Separator>) {
134
- return (
135
- <CommandPrimitive.Separator
136
- data-slot="command-separator"
137
- className={cn("bg-border -mx-1 h-px", className)}
138
- {...props}
139
- />
140
- )
141
- }
142
-
143
- function CommandItem({
144
- className,
145
- ...props
146
- }: React.ComponentProps<typeof CommandPrimitive.Item>) {
147
- return (
148
- <CommandPrimitive.Item
149
- data-slot="command-item"
150
- className={cn(
151
- "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
152
- className
153
- )}
154
- {...props}
155
- />
156
- )
157
- }
158
-
159
- function CommandShortcut({
160
- className,
161
- ...props
162
- }: React.ComponentProps<"span">) {
163
- return (
164
- <span
165
- data-slot="command-shortcut"
166
- className={cn(
167
- "text-muted-foreground ml-auto text-xs tracking-widest",
168
- className
169
- )}
170
- {...props}
171
- />
172
- )
173
- }
174
-
175
- export {
176
- Command,
177
- CommandDialog,
178
- CommandInput,
179
- CommandList,
180
- CommandEmpty,
181
- CommandGroup,
182
- CommandItem,
183
- CommandShortcut,
184
- CommandSeparator,
185
- }
1
+ 'use client';
2
+
3
+ "use client"
4
+
5
+ import * as React from "react"
6
+ import { Command as CommandPrimitive } from "cmdk"
7
+ import { IconSearch } from '@tabler/icons-react';
8
+ import {
9
+ Dialog,
10
+ DialogContent,
11
+ DialogDescription,
12
+ DialogHeader,
13
+ DialogTitle,
14
+ } from "./Dialog"
15
+ import { cn } from "../../../infra/utils/clsx"
16
+
17
+ function Command({
18
+ className,
19
+ ...props
20
+ }: React.ComponentProps<typeof CommandPrimitive>) {
21
+ return (
22
+ <CommandPrimitive
23
+ data-slot="command"
24
+ className={cn(
25
+ "bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md",
26
+ className
27
+ )}
28
+ {...props}
29
+ />
30
+ )
31
+ }
32
+
33
+ function CommandDialog({
34
+ title = "Command Palette",
35
+ description = "Search for a command to run...",
36
+ children,
37
+ className,
38
+ showCloseButton = true,
39
+ ...props
40
+ }: React.ComponentProps<typeof Dialog> & {
41
+ title?: string
42
+ description?: string
43
+ className?: string
44
+ showCloseButton?: boolean
45
+ }) {
46
+ return (
47
+ <Dialog {...props}>
48
+ <DialogHeader className="sr-only">
49
+ <DialogTitle>{title}</DialogTitle>
50
+ <DialogDescription>{description}</DialogDescription>
51
+ </DialogHeader>
52
+ <DialogContent
53
+ className={cn("overflow-hidden p-0", className)}
54
+ showCloseButton={showCloseButton}
55
+ >
56
+ <Command className="[&_[cmdk-group-heading]]:text-muted-foreground **:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[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">
57
+ {children}
58
+ </Command>
59
+ </DialogContent>
60
+ </Dialog>
61
+ )
62
+ }
63
+
64
+ function CommandInput({
65
+ className,
66
+ ...props
67
+ }: React.ComponentProps<typeof CommandPrimitive.Input>) {
68
+ return (
69
+ <div
70
+ data-slot="command-input-wrapper"
71
+ className="flex h-9 items-center gap-2 border-b px-3"
72
+ >
73
+ <IconSearch className="size-5 shrink-0 opacity-50" />
74
+ <CommandPrimitive.Input
75
+ data-slot="command-input"
76
+ className={cn(
77
+ "placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
78
+ className
79
+ )}
80
+ {...props}
81
+ />
82
+ </div>
83
+ )
84
+ }
85
+
86
+ function CommandList({
87
+ className,
88
+ ...props
89
+ }: React.ComponentProps<typeof CommandPrimitive.List>) {
90
+ return (
91
+ <CommandPrimitive.List
92
+ data-slot="command-list"
93
+ className={cn(
94
+ "max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",
95
+ className
96
+ )}
97
+ {...props}
98
+ />
99
+ )
100
+ }
101
+
102
+ function CommandEmpty({
103
+ ...props
104
+ }: React.ComponentProps<typeof CommandPrimitive.Empty>) {
105
+ return (
106
+ <CommandPrimitive.Empty
107
+ data-slot="command-empty"
108
+ className="py-6 text-center text-sm"
109
+ {...props}
110
+ />
111
+ )
112
+ }
113
+
114
+ function CommandGroup({
115
+ className,
116
+ ...props
117
+ }: React.ComponentProps<typeof CommandPrimitive.Group>) {
118
+ return (
119
+ <CommandPrimitive.Group
120
+ data-slot="command-group"
121
+ className={cn(
122
+ "text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",
123
+ className
124
+ )}
125
+ {...props}
126
+ />
127
+ )
128
+ }
129
+
130
+ function CommandSeparator({
131
+ className,
132
+ ...props
133
+ }: React.ComponentProps<typeof CommandPrimitive.Separator>) {
134
+ return (
135
+ <CommandPrimitive.Separator
136
+ data-slot="command-separator"
137
+ className={cn("bg-border -mx-1 h-px", className)}
138
+ {...props}
139
+ />
140
+ )
141
+ }
142
+
143
+ function CommandItem({
144
+ className,
145
+ ...props
146
+ }: React.ComponentProps<typeof CommandPrimitive.Item>) {
147
+ return (
148
+ <CommandPrimitive.Item
149
+ data-slot="command-item"
150
+ className={cn(
151
+ "data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
152
+ className
153
+ )}
154
+ {...props}
155
+ />
156
+ )
157
+ }
158
+
159
+ function CommandShortcut({
160
+ className,
161
+ ...props
162
+ }: React.ComponentProps<"span">) {
163
+ return (
164
+ <span
165
+ data-slot="command-shortcut"
166
+ className={cn(
167
+ "text-muted-foreground ml-auto text-xs tracking-widest",
168
+ className
169
+ )}
170
+ {...props}
171
+ />
172
+ )
173
+ }
174
+
175
+ export {
176
+ Command,
177
+ CommandDialog,
178
+ CommandInput,
179
+ CommandList,
180
+ CommandEmpty,
181
+ CommandGroup,
182
+ CommandItem,
183
+ CommandShortcut,
184
+ CommandSeparator,
185
+ }
@@ -1,153 +1,153 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import * as DialogPrimitive from "@radix-ui/react-dialog";
5
- import { IconX } from '@tabler/icons-react';
6
- import { cn } from "../../../infra/utils/clsx";
7
-
8
- function Dialog({
9
- ...props
10
- }: React.ComponentProps<typeof DialogPrimitive.Root>) {
11
- return <DialogPrimitive.Root data-slot="dialog" {...props} />;
12
- }
13
-
14
- function DialogTrigger({
15
- ...props
16
- }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {
17
- return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />;
18
- }
19
-
20
- function DialogPortal({
21
- ...props
22
- }: React.ComponentProps<typeof DialogPrimitive.Portal>) {
23
- return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />;
24
- }
25
-
26
- function DialogClose({
27
- ...props
28
- }: React.ComponentProps<typeof DialogPrimitive.Close>) {
29
- return <DialogPrimitive.Close data-slot="dialog-close" {...props} />;
30
- }
31
-
32
- function DialogOverlay({
33
- className,
34
- ...props
35
- }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {
36
- return (
37
- <DialogPrimitive.Overlay
38
- data-slot="dialog-overlay"
39
- className={cn(
40
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-[1000] bg-black/50",
41
- className,
42
- )}
43
- {...props}
44
- />
45
- );
46
- }
47
-
48
- function DialogContent({
49
- className,
50
- children,
51
- showCloseButton = true,
52
- overlayClassName,
53
- hideOverlay = false,
54
- ...props
55
- }: React.ComponentProps<typeof DialogPrimitive.Content> & {
56
- showCloseButton?: boolean;
57
- overlayClassName?: string;
58
- hideOverlay?: boolean;
59
- }) {
60
- return (
61
- <DialogPortal data-slot="dialog-portal">
62
- {!hideOverlay && <DialogOverlay className={overlayClassName} />}
63
- <DialogPrimitive.Content
64
- data-slot="dialog-content"
65
- className={cn(
66
- "bg-background 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 fixed top-[50%] left-[50%] z-[1001] grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
67
- className,
68
- )}
69
- {...props}
70
- >
71
- {children}
72
- {showCloseButton && (
73
- <div className="absolute top-0.5 right-0">
74
- <div className="p-4">
75
- <DialogPrimitive.Close
76
- data-slot="dialog-close"
77
- className="hover:cursor-pointer flex size-8 items-center justify-center rounded-lg p-2 text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-950 focus:outline-none"
78
- >
79
- <IconX className="size-[18px]" />
80
- <span className="sr-only">Close</span>
81
- </DialogPrimitive.Close>
82
- </div>
83
- </div>
84
- )}
85
- </DialogPrimitive.Content>
86
- </DialogPortal>
87
- );
88
- }
89
-
90
- function DialogHeader({ className, ...props }: React.ComponentProps<"div">) {
91
- return (
92
- <div
93
- data-slot="dialog-header"
94
- className={cn(
95
- "p-5 flex flex-col gap-2 text-center sm:text-left",
96
- className,
97
- )}
98
- {...props}
99
- />
100
- );
101
- }
102
-
103
- function DialogFooter({ className, ...props }: React.ComponentProps<"div">) {
104
- return (
105
- <div
106
- data-slot="dialog-footer"
107
- className={cn(
108
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
109
- className,
110
- )}
111
- {...props}
112
- />
113
- );
114
- }
115
-
116
- function DialogTitle({
117
- className,
118
- ...props
119
- }: React.ComponentProps<typeof DialogPrimitive.Title>) {
120
- return (
121
- <DialogPrimitive.Title
122
- data-slot="dialog-title"
123
- className={cn("text-lg leading-none font-semibold", className)}
124
- {...props}
125
- />
126
- );
127
- }
128
-
129
- function DialogDescription({
130
- className,
131
- ...props
132
- }: React.ComponentProps<typeof DialogPrimitive.Description>) {
133
- return (
134
- <DialogPrimitive.Description
135
- data-slot="dialog-description"
136
- className={cn("text-muted-foreground text-sm", className)}
137
- {...props}
138
- />
139
- );
140
- }
141
-
142
- export {
143
- Dialog,
144
- DialogClose,
145
- DialogContent,
146
- DialogDescription,
147
- DialogFooter,
148
- DialogHeader,
149
- DialogOverlay,
150
- DialogPortal,
151
- DialogTitle,
152
- DialogTrigger,
153
- };
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import * as DialogPrimitive from "@radix-ui/react-dialog";
5
+ import { IconX } from '@tabler/icons-react';
6
+ import { cn } from "../../../infra/utils/clsx";
7
+
8
+ function Dialog({
9
+ ...props
10
+ }: React.ComponentProps<typeof DialogPrimitive.Root>) {
11
+ return <DialogPrimitive.Root data-slot="dialog" {...props} />;
12
+ }
13
+
14
+ function DialogTrigger({
15
+ ...props
16
+ }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {
17
+ return <DialogPrimitive.Trigger data-slot="dialog-trigger" {...props} />;
18
+ }
19
+
20
+ function DialogPortal({
21
+ ...props
22
+ }: React.ComponentProps<typeof DialogPrimitive.Portal>) {
23
+ return <DialogPrimitive.Portal data-slot="dialog-portal" {...props} />;
24
+ }
25
+
26
+ function DialogClose({
27
+ ...props
28
+ }: React.ComponentProps<typeof DialogPrimitive.Close>) {
29
+ return <DialogPrimitive.Close data-slot="dialog-close" {...props} />;
30
+ }
31
+
32
+ function DialogOverlay({
33
+ className,
34
+ ...props
35
+ }: React.ComponentProps<typeof DialogPrimitive.Overlay>) {
36
+ return (
37
+ <DialogPrimitive.Overlay
38
+ data-slot="dialog-overlay"
39
+ className={cn(
40
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-[1000] bg-black/50",
41
+ className,
42
+ )}
43
+ {...props}
44
+ />
45
+ );
46
+ }
47
+
48
+ function DialogContent({
49
+ className,
50
+ children,
51
+ showCloseButton = true,
52
+ overlayClassName,
53
+ hideOverlay = false,
54
+ ...props
55
+ }: React.ComponentProps<typeof DialogPrimitive.Content> & {
56
+ showCloseButton?: boolean;
57
+ overlayClassName?: string;
58
+ hideOverlay?: boolean;
59
+ }) {
60
+ return (
61
+ <DialogPortal data-slot="dialog-portal">
62
+ {!hideOverlay && <DialogOverlay className={overlayClassName} />}
63
+ <DialogPrimitive.Content
64
+ data-slot="dialog-content"
65
+ className={cn(
66
+ "bg-background 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 fixed top-[50%] left-[50%] z-[1001] grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
67
+ className,
68
+ )}
69
+ {...props}
70
+ >
71
+ {children}
72
+ {showCloseButton && (
73
+ <div className="absolute top-0.5 right-0">
74
+ <div className="p-4">
75
+ <DialogPrimitive.Close
76
+ data-slot="dialog-close"
77
+ className="hover:cursor-pointer flex size-8 items-center justify-center rounded-lg p-2 text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-950 focus:outline-none"
78
+ >
79
+ <IconX className="size-[18px]" />
80
+ <span className="sr-only">Close</span>
81
+ </DialogPrimitive.Close>
82
+ </div>
83
+ </div>
84
+ )}
85
+ </DialogPrimitive.Content>
86
+ </DialogPortal>
87
+ );
88
+ }
89
+
90
+ function DialogHeader({ className, ...props }: React.ComponentProps<"div">) {
91
+ return (
92
+ <div
93
+ data-slot="dialog-header"
94
+ className={cn(
95
+ "p-5 flex flex-col gap-2 text-center sm:text-left",
96
+ className,
97
+ )}
98
+ {...props}
99
+ />
100
+ );
101
+ }
102
+
103
+ function DialogFooter({ className, ...props }: React.ComponentProps<"div">) {
104
+ return (
105
+ <div
106
+ data-slot="dialog-footer"
107
+ className={cn(
108
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
109
+ className,
110
+ )}
111
+ {...props}
112
+ />
113
+ );
114
+ }
115
+
116
+ function DialogTitle({
117
+ className,
118
+ ...props
119
+ }: React.ComponentProps<typeof DialogPrimitive.Title>) {
120
+ return (
121
+ <DialogPrimitive.Title
122
+ data-slot="dialog-title"
123
+ className={cn("text-lg leading-none font-semibold", className)}
124
+ {...props}
125
+ />
126
+ );
127
+ }
128
+
129
+ function DialogDescription({
130
+ className,
131
+ ...props
132
+ }: React.ComponentProps<typeof DialogPrimitive.Description>) {
133
+ return (
134
+ <DialogPrimitive.Description
135
+ data-slot="dialog-description"
136
+ className={cn("text-muted-foreground text-sm", className)}
137
+ {...props}
138
+ />
139
+ );
140
+ }
141
+
142
+ export {
143
+ Dialog,
144
+ DialogClose,
145
+ DialogContent,
146
+ DialogDescription,
147
+ DialogFooter,
148
+ DialogHeader,
149
+ DialogOverlay,
150
+ DialogPortal,
151
+ DialogTitle,
152
+ DialogTrigger,
153
+ };