@greatapps/common 1.1.517 → 1.1.518

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 (412) 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/ClarityEmbed.mjs +55 -0
  19. package/dist/components/embeds/ClarityEmbed.mjs.map +1 -0
  20. package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
  21. package/dist/components/embeds/EmbedWidgets.mjs +3 -1
  22. package/dist/components/embeds/EmbedWidgets.mjs.map +1 -1
  23. package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
  24. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  25. package/dist/components/layouts/AppNavBar.mjs.map +1 -1
  26. package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -1
  27. package/dist/components/layouts/NavBar.mjs.map +1 -1
  28. package/dist/components/layouts/NotificationsPopover.mjs.map +1 -1
  29. package/dist/components/layouts/ProfilePopover.mjs.map +1 -1
  30. package/dist/components/layouts/SideBarNavigation.mjs.map +1 -1
  31. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
  32. package/dist/components/layouts/WhitelabelCodes.mjs.map +1 -1
  33. package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
  34. package/dist/components/modals/PaidPlanRequiredModal.mjs.map +1 -1
  35. package/dist/components/modals/cards/AddCardModal.mjs.map +1 -1
  36. package/dist/components/modals/cards/CardFormFields.mjs.map +1 -1
  37. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  38. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  39. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  40. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  41. package/dist/components/navigation/subcomponents/BottomLinks.mjs.map +1 -1
  42. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  43. package/dist/components/pages/NotFoundPage.mjs.map +1 -1
  44. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  45. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  46. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  47. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  48. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  49. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  50. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  51. package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
  52. package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
  53. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  54. package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
  55. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  56. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  57. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  58. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  59. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  60. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  61. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  62. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  63. package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
  64. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  65. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  66. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  67. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  68. package/dist/components/ui/form/DatePicker.mjs +2 -2
  69. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  70. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  71. package/dist/components/ui/form/FormField.mjs.map +1 -1
  72. package/dist/components/ui/form/Input.mjs.map +1 -1
  73. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  74. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  75. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  76. package/dist/components/ui/form/Select.mjs +1 -1
  77. package/dist/components/ui/form/Select.mjs.map +1 -1
  78. package/dist/components/ui/form/Switch.mjs.map +1 -1
  79. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  80. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  81. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  82. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  83. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  84. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  85. package/dist/components/widgets/ImageUpload/ImageCropModal.mjs.map +1 -1
  86. package/dist/components/widgets/ImageUpload/ImageTooSmallModal.mjs.map +1 -1
  87. package/dist/components/widgets/ImageUpload/ImageUpload.mjs.map +1 -1
  88. package/dist/components/widgets/ImageUpload/index.mjs.map +1 -1
  89. package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
  90. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  91. package/dist/hooks/useAuthQueryKey.mjs.map +1 -1
  92. package/dist/index.mjs +2 -0
  93. package/dist/index.mjs.map +1 -1
  94. package/dist/infra/utils/array.mjs.map +1 -1
  95. package/dist/infra/utils/date.mjs.map +1 -1
  96. package/dist/middleware.mjs.map +1 -1
  97. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  98. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  99. package/dist/modules/accounts/actions/get-account-token.action.mjs.map +1 -1
  100. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  101. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  102. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  103. package/dist/modules/accounts/hooks/use-account-token.hook.mjs.map +1 -1
  104. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  105. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  106. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  107. package/dist/modules/accounts/hooks/useViaCep.mjs.map +1 -1
  108. package/dist/modules/accounts/services/account-token.service.mjs.map +1 -1
  109. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  110. package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
  111. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  112. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  113. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  114. package/dist/modules/auth/hooks/useManagementPermissions.mjs.map +1 -1
  115. package/dist/modules/auth/hooks/useUserQuery.mjs.map +1 -1
  116. package/dist/modules/auth/utils/assert-management-permission.mjs.map +1 -1
  117. package/dist/modules/auth/utils/assert-management-subscription.mjs.map +1 -1
  118. package/dist/modules/auth/utils/assert-paid-subscription.mjs.map +1 -1
  119. package/dist/modules/auth/utils/assert-subscription-addon.mjs.map +1 -1
  120. package/dist/modules/auth/utils/build-wl-override.mjs.map +1 -1
  121. package/dist/modules/cards/actions/create-card.action.mjs.map +1 -1
  122. package/dist/modules/cards/actions/delete-card.action.mjs.map +1 -1
  123. package/dist/modules/cards/actions/find-card-by-id.action.mjs.map +1 -1
  124. package/dist/modules/cards/actions/list-cards.action.mjs.map +1 -1
  125. package/dist/modules/cards/actions/set-default-card.action.mjs.map +1 -1
  126. package/dist/modules/cards/hooks/card-by-id.hook.mjs.map +1 -1
  127. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
  128. package/dist/modules/cards/hooks/create-card.hook.mjs.map +1 -1
  129. package/dist/modules/cards/hooks/delete-card.hook.mjs.map +1 -1
  130. package/dist/modules/cards/hooks/set-default-card.hook.mjs.map +1 -1
  131. package/dist/modules/cards/services/cards.service.mjs.map +1 -1
  132. package/dist/modules/cards/types.mjs.map +1 -1
  133. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
  134. package/dist/modules/ia-credits/hooks/ia-credits.hook.mjs.map +1 -1
  135. package/dist/modules/images/actions/process-image.action.mjs.map +1 -1
  136. package/dist/modules/images/constants/image.constants.mjs.map +1 -1
  137. package/dist/modules/images/hooks/use-image-upload.hook.mjs.map +1 -1
  138. package/dist/modules/images/services/image-processing.service.mjs.map +1 -1
  139. package/dist/modules/images/utils/base64.mjs.map +1 -1
  140. package/dist/modules/images/utils/compress-image.mjs.map +1 -1
  141. package/dist/modules/images/utils/crop-image.mjs.map +1 -1
  142. package/dist/modules/images/utils/validate-image.mjs.map +1 -1
  143. package/dist/modules/plans/actions/find-plan-by-id.action.mjs.map +1 -1
  144. package/dist/modules/plans/actions/list-plans.action.mjs.map +1 -1
  145. package/dist/modules/plans/hooks/list-plans.hook.mjs.map +1 -1
  146. package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
  147. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  148. package/dist/modules/plans/services/plans.service.mjs.map +1 -1
  149. package/dist/modules/plans/types/plan.type.mjs.map +1 -1
  150. package/dist/modules/plans/utils/map-api-plan-to-ui.mjs.map +1 -1
  151. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  152. package/dist/modules/projects/actions/create-project.action.mjs.map +1 -1
  153. package/dist/modules/projects/actions/delete-project.action.mjs.map +1 -1
  154. package/dist/modules/projects/actions/find-project.action.mjs.map +1 -1
  155. package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
  156. package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
  157. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  158. package/dist/modules/projects/actions/list-projects.action.mjs.map +1 -1
  159. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  160. package/dist/modules/projects/actions/update-project.action.mjs.map +1 -1
  161. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  162. package/dist/modules/projects/hooks/create-project.hook.mjs.map +1 -1
  163. package/dist/modules/projects/hooks/delete-project.hook.mjs.map +1 -1
  164. package/dist/modules/projects/hooks/find-project.hook.mjs.map +1 -1
  165. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  166. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  167. package/dist/modules/projects/hooks/list-infinite-projects.hook.mjs.map +1 -1
  168. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  169. package/dist/modules/projects/hooks/list-projects.hook.mjs.map +1 -1
  170. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  171. package/dist/modules/projects/hooks/update-project.hook.mjs.map +1 -1
  172. package/dist/modules/projects/services/projects.service.mjs.map +1 -1
  173. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  174. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  175. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  176. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  177. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  178. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  179. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  180. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  181. package/dist/modules/subscriptions/hooks/use-cancelled-subscription-guard.mjs.map +1 -1
  182. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  183. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  184. package/dist/modules/subscriptions/utils/has-subscription-expired.mjs.map +1 -1
  185. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  186. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  187. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  188. package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
  189. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  190. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  191. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  192. package/dist/modules/users/services/messages.service.mjs.map +1 -1
  193. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  194. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  195. package/dist/modules/whitelabel/utils/normalize-hostname.mjs.map +1 -1
  196. package/dist/providers/auth.provider.mjs.map +1 -1
  197. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  198. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  199. package/dist/store/useDesktopSidebarStore.mjs.map +1 -1
  200. package/dist/store/useMdSidebarStore.mjs.map +1 -1
  201. package/dist/store/usePaidPlanRequiredModal.mjs.map +1 -1
  202. package/dist/utils/constants/br-states.mjs.map +1 -1
  203. package/dist/utils/countries.mjs.map +1 -1
  204. package/dist/utils/format/currency.mjs.map +1 -1
  205. package/dist/utils/safeServerAction.mjs.map +1 -1
  206. package/dist/utils/withAction.mjs.map +1 -1
  207. package/package.json +92 -92
  208. package/src/components/account/ConfigurationsMyAccountModal.tsx +161 -161
  209. package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
  210. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +66 -66
  211. package/src/components/account/DeleteAccountModal.tsx +130 -130
  212. package/src/components/account/DisableTwoFactorAuthModal.tsx +86 -86
  213. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
  214. package/src/components/account/TwoFactorAuthModal.tsx +215 -215
  215. package/src/components/account/hooks/useChangePhoneForm.tsx +107 -107
  216. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
  217. package/src/components/account/sections/ChangeEmailModal.tsx +227 -227
  218. package/src/components/account/sections/ChangePasswordSection.tsx +64 -64
  219. package/src/components/account/sections/ChangePhoneModal.tsx +247 -247
  220. package/src/components/account/sections/MyProfileSection.tsx +328 -328
  221. package/src/components/account/sections/PreferencesSection.tsx +248 -248
  222. package/src/components/account/sections/SecuritySection.tsx +46 -46
  223. package/src/components/account/sections/TokenSection.tsx +64 -64
  224. package/src/components/embeds/ClarityEmbed.tsx +70 -0
  225. package/src/components/embeds/CrispEmbed.tsx +156 -156
  226. package/src/components/embeds/EmbedWidgets.tsx +52 -50
  227. package/src/components/embeds/FrillEmbed.tsx +129 -129
  228. package/src/components/layouts/AppMobileNavBar.tsx +80 -80
  229. package/src/components/layouts/AppNavBar.tsx +40 -40
  230. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  231. package/src/components/layouts/NavBar.tsx +175 -175
  232. package/src/components/layouts/NotificationsPopover.tsx +118 -118
  233. package/src/components/layouts/ProfilePopover.tsx +176 -176
  234. package/src/components/layouts/SideBarNavigation.tsx +65 -65
  235. package/src/components/layouts/UsersSelectorPopover.tsx +234 -234
  236. package/src/components/layouts/WhitelabelCodes.tsx +59 -59
  237. package/src/components/modals/BuyCreditsModal.tsx +354 -354
  238. package/src/components/modals/PaidPlanRequiredModal.tsx +57 -57
  239. package/src/components/modals/cards/AddCardModal.tsx +265 -265
  240. package/src/components/modals/cards/CardFormFields.tsx +348 -348
  241. package/src/components/navigation/CancelledSubscriptionBanner.tsx +64 -64
  242. package/src/components/navigation/NavItemsContext.ts +20 -20
  243. package/src/components/navigation/ProjectSelectorPopover.tsx +178 -178
  244. package/src/components/navigation/shells/TabsMobileShell.tsx +74 -74
  245. package/src/components/navigation/subcomponents/BottomLinks.tsx +37 -37
  246. package/src/components/navigation/subcomponents/ProjectSelector.tsx +182 -182
  247. package/src/components/pages/NotFoundPage.tsx +67 -67
  248. package/src/components/pages/notifications/Notifications.tsx +187 -187
  249. package/src/components/ui/buttons/Button.tsx +62 -62
  250. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  251. package/src/components/ui/buttons/CopyButton.tsx +54 -54
  252. package/src/components/ui/data-display/Accordion.tsx +81 -81
  253. package/src/components/ui/data-display/Badge.tsx +47 -47
  254. package/src/components/ui/data-display/Card.tsx +93 -93
  255. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  256. package/src/components/ui/data-display/CardItem.tsx +75 -75
  257. package/src/components/ui/data-display/Pagination.tsx +126 -126
  258. package/src/components/ui/data-display/PaymentInfoCard.tsx +192 -192
  259. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  260. package/src/components/ui/data-display/Separator.tsx +29 -29
  261. package/src/components/ui/data-display/Table.tsx +117 -117
  262. package/src/components/ui/data-display/Tabs.tsx +67 -67
  263. package/src/components/ui/feedback/CircularProgress.tsx +75 -75
  264. package/src/components/ui/feedback/DefaultCircularProgress.tsx +65 -65
  265. package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
  266. package/src/components/ui/feedback/Progress.tsx +40 -40
  267. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  268. package/src/components/ui/feedback/Toast.tsx +104 -104
  269. package/src/components/ui/form/Calendar.tsx +228 -228
  270. package/src/components/ui/form/Checkbox.tsx +31 -31
  271. package/src/components/ui/form/ComboboxField.tsx +154 -154
  272. package/src/components/ui/form/DatePicker.tsx +97 -98
  273. package/src/components/ui/form/DateRangePicker.tsx +108 -108
  274. package/src/components/ui/form/FormField.tsx +133 -133
  275. package/src/components/ui/form/Input.tsx +20 -20
  276. package/src/components/ui/form/InputOtp.tsx +80 -80
  277. package/src/components/ui/form/PhoneInput.tsx +208 -208
  278. package/src/components/ui/form/RadioGroup.tsx +45 -45
  279. package/src/components/ui/form/Select.tsx +200 -200
  280. package/src/components/ui/form/Switch.tsx +32 -32
  281. package/src/components/ui/form/Textarea.tsx +19 -19
  282. package/src/components/ui/overlay/Command.tsx +185 -185
  283. package/src/components/ui/overlay/Dialog.tsx +153 -153
  284. package/src/components/ui/overlay/Popover.tsx +49 -49
  285. package/src/components/ui/overlay/Sheet.tsx +170 -170
  286. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  287. package/src/components/widgets/ImageUpload/ImageCropModal.tsx +254 -254
  288. package/src/components/widgets/ImageUpload/ImageTooSmallModal.tsx +61 -61
  289. package/src/components/widgets/ImageUpload/ImageUpload.tsx +126 -126
  290. package/src/components/widgets/ImageUpload/index.ts +3 -3
  291. package/src/components/widgets/notifications/NotificationCard.tsx +73 -73
  292. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  293. package/src/hooks/useAuthQueryKey.ts +32 -32
  294. package/src/index.ts +507 -506
  295. package/src/infra/utils/array.ts +54 -54
  296. package/src/infra/utils/date.ts +18 -18
  297. package/src/middleware.ts +4 -4
  298. package/src/modules/accounts/actions/account-management.action.ts +107 -107
  299. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  300. package/src/modules/accounts/actions/get-account-token.action.ts +8 -8
  301. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  302. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  303. package/src/modules/accounts/hooks/current-account.hook.tsx +26 -26
  304. package/src/modules/accounts/hooks/use-account-token.hook.tsx +14 -14
  305. package/src/modules/accounts/hooks/useAccountManagement.ts +94 -94
  306. package/src/modules/accounts/hooks/useCurrencies.ts +18 -18
  307. package/src/modules/accounts/hooks/useTimezones.ts +18 -18
  308. package/src/modules/accounts/hooks/useViaCep.ts +25 -25
  309. package/src/modules/accounts/services/account-token.service.ts +52 -52
  310. package/src/modules/accounts/services/account.service.ts +239 -239
  311. package/src/modules/accounts/types.ts +225 -225
  312. package/src/modules/auth/actions/validate-session.action.ts +56 -56
  313. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  314. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  315. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  316. package/src/modules/auth/hooks/useManagementPermissions.ts +45 -45
  317. package/src/modules/auth/hooks/useUserQuery.ts +75 -75
  318. package/src/modules/auth/types/management-permission.type.ts +7 -7
  319. package/src/modules/auth/utils/assert-management-permission.ts +46 -46
  320. package/src/modules/auth/utils/assert-management-subscription.ts +35 -35
  321. package/src/modules/auth/utils/assert-paid-subscription.ts +43 -43
  322. package/src/modules/auth/utils/assert-subscription-addon.ts +42 -42
  323. package/src/modules/auth/utils/build-wl-override.ts +43 -43
  324. package/src/modules/cards/actions/create-card.action.ts +9 -9
  325. package/src/modules/cards/actions/delete-card.action.ts +8 -8
  326. package/src/modules/cards/actions/find-card-by-id.action.ts +8 -8
  327. package/src/modules/cards/actions/list-cards.action.ts +8 -8
  328. package/src/modules/cards/actions/set-default-card.action.ts +8 -8
  329. package/src/modules/cards/hooks/card-by-id.hook.ts +21 -21
  330. package/src/modules/cards/hooks/cards.hook.ts +23 -23
  331. package/src/modules/cards/hooks/create-card.hook.ts +30 -30
  332. package/src/modules/cards/hooks/delete-card.hook.ts +54 -54
  333. package/src/modules/cards/hooks/set-default-card.hook.ts +55 -55
  334. package/src/modules/cards/services/cards.service.ts +108 -108
  335. package/src/modules/cards/types.ts +42 -42
  336. package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
  337. package/src/modules/ia-credits/hooks/ia-credits.hook.ts +99 -99
  338. package/src/modules/images/actions/process-image.action.ts +40 -40
  339. package/src/modules/images/constants/image.constants.ts +11 -11
  340. package/src/modules/images/hooks/use-image-upload.hook.ts +172 -172
  341. package/src/modules/images/services/image-processing.service.ts +75 -75
  342. package/src/modules/images/types/image.type.ts +54 -54
  343. package/src/modules/images/utils/base64.ts +26 -26
  344. package/src/modules/images/utils/compress-image.ts +20 -20
  345. package/src/modules/images/utils/crop-image.ts +51 -51
  346. package/src/modules/images/utils/validate-image.ts +71 -71
  347. package/src/modules/plans/actions/find-plan-by-id.action.ts +8 -8
  348. package/src/modules/plans/actions/list-plans.action.ts +17 -17
  349. package/src/modules/plans/hooks/list-plans.hook.ts +24 -24
  350. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +14 -14
  351. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +38 -38
  352. package/src/modules/plans/services/plans.service.ts +133 -133
  353. package/src/modules/plans/types/plan.type.ts +67 -67
  354. package/src/modules/plans/utils/map-api-plan-to-ui.ts +98 -98
  355. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  356. package/src/modules/projects/actions/create-project.action.ts +9 -9
  357. package/src/modules/projects/actions/delete-project.action.ts +8 -8
  358. package/src/modules/projects/actions/find-project.action.ts +8 -8
  359. package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
  360. package/src/modules/projects/actions/list-available-users.action.ts +9 -9
  361. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  362. package/src/modules/projects/actions/list-projects.action.ts +16 -16
  363. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  364. package/src/modules/projects/actions/update-project.action.ts +9 -9
  365. package/src/modules/projects/hooks/add-project-user.hook.ts +72 -72
  366. package/src/modules/projects/hooks/create-project.hook.ts +88 -88
  367. package/src/modules/projects/hooks/delete-project.hook.ts +58 -58
  368. package/src/modules/projects/hooks/find-project.hook.ts +18 -18
  369. package/src/modules/projects/hooks/list-all-account-users.hook.ts +39 -39
  370. package/src/modules/projects/hooks/list-available-users.hook.ts +38 -38
  371. package/src/modules/projects/hooks/list-infinite-projects.hook.ts +43 -43
  372. package/src/modules/projects/hooks/list-project-users.hook.ts +38 -38
  373. package/src/modules/projects/hooks/list-projects.hook.ts +23 -23
  374. package/src/modules/projects/hooks/remove-project-user.hook.ts +72 -72
  375. package/src/modules/projects/hooks/update-project.hook.ts +86 -86
  376. package/src/modules/projects/services/projects.service.ts +144 -144
  377. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  378. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  379. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +14 -14
  380. package/src/modules/subscriptions/constants/query-keys.constants.ts +3 -3
  381. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  382. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +18 -18
  383. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +19 -19
  384. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +28 -28
  385. package/src/modules/subscriptions/hooks/use-cancelled-subscription-guard.ts +39 -39
  386. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  387. package/src/modules/subscriptions/types/calculate-subscription.type.ts +113 -113
  388. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  389. package/src/modules/subscriptions/utils/has-subscription-expired.ts +8 -8
  390. package/src/modules/subscriptions/utils/periodicity.ts +62 -62
  391. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  392. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  393. package/src/modules/users/action/list-messages.action.ts +26 -26
  394. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  395. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  396. package/src/modules/users/hooks/messages.hook.ts +67 -67
  397. package/src/modules/users/services/messages.service.ts +49 -49
  398. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  399. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  400. package/src/modules/whitelabel/schema.ts +84 -84
  401. package/src/modules/whitelabel/utils/normalize-hostname.ts +26 -26
  402. package/src/providers/auth.provider.tsx +162 -162
  403. package/src/providers/whitelabel.provider.tsx +59 -59
  404. package/src/store/useBuyCreditsModal.ts +21 -21
  405. package/src/store/useDesktopSidebarStore.ts +47 -47
  406. package/src/store/useMdSidebarStore.ts +34 -34
  407. package/src/store/usePaidPlanRequiredModal.ts +19 -19
  408. package/src/utils/constants/br-states.ts +29 -29
  409. package/src/utils/countries.ts +224 -224
  410. package/src/utils/format/currency.ts +15 -15
  411. package/src/utils/safeServerAction.ts +21 -21
  412. 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
+ };