@greatapps/common 1.1.155 → 1.1.157

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 (162) hide show
  1. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
  2. package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
  3. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
  4. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
  5. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  6. package/dist/components/layouts/AppNavBar.mjs.map +1 -1
  7. package/dist/components/layouts/NavBar.mjs.map +1 -1
  8. package/dist/components/navigation/AppNavigation.mjs +3 -1
  9. package/dist/components/navigation/AppNavigation.mjs.map +1 -1
  10. package/dist/components/navigation/CancelledSubscriptionBanner.mjs +59 -0
  11. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -0
  12. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  13. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  14. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  15. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  16. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  17. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  18. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  19. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  20. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  21. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  22. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  23. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  24. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  25. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  26. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  27. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  28. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  29. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  30. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  31. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  32. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  33. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  34. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  35. package/dist/components/ui/form/Input.mjs.map +1 -1
  36. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  37. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  38. package/dist/components/ui/form/Select.mjs +1 -1
  39. package/dist/components/ui/form/Select.mjs.map +1 -1
  40. package/dist/components/ui/form/Switch.mjs.map +1 -1
  41. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  42. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  43. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  44. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  45. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  46. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  47. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  48. package/dist/index.mjs +2 -0
  49. package/dist/index.mjs.map +1 -1
  50. package/dist/middleware.mjs.map +1 -1
  51. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  52. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  53. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  54. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  55. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  56. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  57. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  58. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  59. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  60. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  61. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  62. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
  63. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  64. package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
  65. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  66. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  67. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  68. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  69. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  70. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  71. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  72. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  73. package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
  74. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  75. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  76. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  77. package/dist/modules/whitelabel/actions/find-whitelabel-styles.action.mjs.map +1 -1
  78. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  79. package/dist/modules/whitelabel/services/whitelabel-styles.service.mjs.map +1 -1
  80. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  81. package/dist/utils/safeServerAction.mjs.map +1 -1
  82. package/dist/utils/withAction.mjs.map +1 -1
  83. package/package.json +90 -89
  84. package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
  85. package/src/components/account/DeleteAccountModal.tsx +130 -130
  86. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
  87. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
  88. package/src/components/layouts/AppMobileNavBar.tsx +125 -125
  89. package/src/components/layouts/AppNavBar.tsx +57 -57
  90. package/src/components/layouts/NavBar.tsx +112 -112
  91. package/src/components/navigation/AppNavigation.tsx +4 -1
  92. package/src/components/navigation/CancelledSubscriptionBanner.tsx +69 -0
  93. package/src/components/navigation/NavItemsContext.ts +20 -20
  94. package/src/components/navigation/shells/TabsMobileShell.tsx +72 -72
  95. package/src/components/pages/notifications/Notifications.tsx +160 -160
  96. package/src/components/ui/buttons/Button.tsx +57 -57
  97. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  98. package/src/components/ui/buttons/CopyButton.tsx +54 -54
  99. package/src/components/ui/data-display/Accordion.tsx +81 -81
  100. package/src/components/ui/data-display/Badge.tsx +47 -47
  101. package/src/components/ui/data-display/Card.tsx +93 -93
  102. package/src/components/ui/data-display/Pagination.tsx +126 -126
  103. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  104. package/src/components/ui/data-display/Separator.tsx +29 -29
  105. package/src/components/ui/data-display/Table.tsx +117 -117
  106. package/src/components/ui/data-display/Tabs.tsx +67 -67
  107. package/src/components/ui/feedback/CircularProgress.tsx +75 -75
  108. package/src/components/ui/feedback/DefaultCircularProgress.tsx +53 -53
  109. package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
  110. package/src/components/ui/feedback/Progress.tsx +40 -40
  111. package/src/components/ui/feedback/Toast.tsx +101 -101
  112. package/src/components/ui/form/Calendar.tsx +228 -228
  113. package/src/components/ui/form/Checkbox.tsx +31 -31
  114. package/src/components/ui/form/DatePicker.tsx +97 -97
  115. package/src/components/ui/form/DateRangePicker.tsx +108 -108
  116. package/src/components/ui/form/Input.tsx +20 -20
  117. package/src/components/ui/form/InputOtp.tsx +80 -80
  118. package/src/components/ui/form/RadioGroup.tsx +45 -45
  119. package/src/components/ui/form/Select.tsx +200 -200
  120. package/src/components/ui/form/Switch.tsx +32 -32
  121. package/src/components/ui/form/Textarea.tsx +19 -19
  122. package/src/components/ui/overlay/Command.tsx +185 -185
  123. package/src/components/ui/overlay/Dialog.tsx +151 -151
  124. package/src/components/ui/overlay/Popover.tsx +49 -49
  125. package/src/components/ui/overlay/Sheet.tsx +159 -159
  126. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  127. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  128. package/src/index.ts +348 -347
  129. package/src/middleware.ts +4 -4
  130. package/src/modules/accounts/actions/account-management.action.ts +90 -90
  131. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  132. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  133. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  134. package/src/modules/accounts/hooks/current-account.hook.tsx +22 -22
  135. package/src/modules/accounts/hooks/useAccountManagement.ts +85 -85
  136. package/src/modules/accounts/hooks/useCurrencies.ts +15 -15
  137. package/src/modules/accounts/hooks/useTimezones.ts +15 -15
  138. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  139. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  140. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  141. package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
  142. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  143. package/src/modules/projects/actions/list-available-users.action.ts +9 -9
  144. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  145. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  146. package/src/modules/projects/hooks/list-available-users.hook.ts +33 -33
  147. package/src/modules/projects/hooks/list-project-users.hook.ts +33 -33
  148. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  149. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +19 -19
  150. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +17 -17
  151. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  152. package/src/modules/users/action/list-messages.action.ts +12 -12
  153. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  154. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  155. package/src/modules/users/hooks/messages.hook.ts +60 -60
  156. package/src/modules/whitelabel/actions/find-whitelabel-styles.action.ts +14 -14
  157. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  158. package/src/modules/whitelabel/services/whitelabel-styles.service.ts +98 -98
  159. package/src/modules/whitelabel/styles-schema.ts +37 -37
  160. package/src/providers/whitelabel.provider.tsx +46 -46
  161. package/src/utils/safeServerAction.ts +21 -21
  162. package/src/utils/withAction.ts +13 -13
@@ -1,126 +1,126 @@
1
- 'use client';
2
-
3
- import * as React from "react"
4
- import {
5
- ChevronLeftIcon,
6
- ChevronRightIcon,
7
- MoreHorizontalIcon,
8
- } from "lucide-react"
9
- import { cn } from "../../../infra/utils/clsx"
10
- import { Button, buttonVariants } from "../buttons/Button"
11
-
12
- function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
13
- return (
14
- <nav
15
- role="navigation"
16
- aria-label="pagination"
17
- data-slot="pagination"
18
- className={cn("mx-auto flex w-full justify-center", className)}
19
- {...props}
20
- />
21
- )
22
- }
23
-
24
- function PaginationContent({
25
- className,
26
- ...props
27
- }: React.ComponentProps<"ul">) {
28
- return (
29
- <ul
30
- data-slot="pagination-content"
31
- className={cn("flex flex-row items-center gap-1.5", className)}
32
- {...props}
33
- />
34
- )
35
- }
36
-
37
- function PaginationItem({ ...props }: React.ComponentProps<"li">) {
38
- return <li data-slot="pagination-item" {...props} />
39
- }
40
-
41
- type PaginationLinkProps = {
42
- isActive?: boolean
43
- } & Pick<React.ComponentProps<typeof Button>, "size"> &
44
- React.ComponentProps<"a">
45
-
46
- function PaginationLink({
47
- className,
48
- isActive,
49
- size = "icon-sm",
50
- ...props
51
- }: PaginationLinkProps) {
52
- return (
53
- <a
54
- aria-current={isActive ? "page" : undefined}
55
- data-slot="pagination-link"
56
- data-active={isActive}
57
- className={cn(
58
- buttonVariants({
59
- variant: isActive ? "secondary" : "ghost",
60
- size,
61
- }),
62
- className
63
- )}
64
- {...props}
65
- />
66
- )
67
- }
68
-
69
- function PaginationPrevious({
70
- className,
71
- ...props
72
- }: React.ComponentProps<typeof PaginationLink>) {
73
- return (
74
- <PaginationLink
75
- aria-label="Go to previous page"
76
- size="default"
77
- className={cn("gap-1 size-8 sm:pl-2.5", className)}
78
- {...props}
79
- >
80
- <ChevronLeftIcon />
81
- </PaginationLink>
82
- )
83
- }
84
-
85
- function PaginationNext({
86
- className,
87
- ...props
88
- }: React.ComponentProps<typeof PaginationLink>) {
89
- return (
90
- <PaginationLink
91
- aria-label="Go to next page"
92
- size="default"
93
- className={cn("gap-1 size-8 sm:pr-2.5", className)}
94
- {...props}
95
- >
96
- <ChevronRightIcon />
97
- </PaginationLink>
98
- )
99
- }
100
-
101
- function PaginationEllipsis({
102
- className,
103
- ...props
104
- }: React.ComponentProps<"span">) {
105
- return (
106
- <span
107
- aria-hidden
108
- data-slot="pagination-ellipsis"
109
- className={cn("flex size-9 items-center justify-center", className)}
110
- {...props}
111
- >
112
- <MoreHorizontalIcon className="size-4 mt-1.5" />
113
- <span className="sr-only">More pages</span>
114
- </span>
115
- )
116
- }
117
-
118
- export {
119
- Pagination,
120
- PaginationContent,
121
- PaginationLink,
122
- PaginationItem,
123
- PaginationPrevious,
124
- PaginationNext,
125
- PaginationEllipsis,
126
- }
1
+ 'use client';
2
+
3
+ import * as React from "react"
4
+ import {
5
+ ChevronLeftIcon,
6
+ ChevronRightIcon,
7
+ MoreHorizontalIcon,
8
+ } from "lucide-react"
9
+ import { cn } from "../../../infra/utils/clsx"
10
+ import { Button, buttonVariants } from "../buttons/Button"
11
+
12
+ function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
13
+ return (
14
+ <nav
15
+ role="navigation"
16
+ aria-label="pagination"
17
+ data-slot="pagination"
18
+ className={cn("mx-auto flex w-full justify-center", className)}
19
+ {...props}
20
+ />
21
+ )
22
+ }
23
+
24
+ function PaginationContent({
25
+ className,
26
+ ...props
27
+ }: React.ComponentProps<"ul">) {
28
+ return (
29
+ <ul
30
+ data-slot="pagination-content"
31
+ className={cn("flex flex-row items-center gap-1.5", className)}
32
+ {...props}
33
+ />
34
+ )
35
+ }
36
+
37
+ function PaginationItem({ ...props }: React.ComponentProps<"li">) {
38
+ return <li data-slot="pagination-item" {...props} />
39
+ }
40
+
41
+ type PaginationLinkProps = {
42
+ isActive?: boolean
43
+ } & Pick<React.ComponentProps<typeof Button>, "size"> &
44
+ React.ComponentProps<"a">
45
+
46
+ function PaginationLink({
47
+ className,
48
+ isActive,
49
+ size = "icon-sm",
50
+ ...props
51
+ }: PaginationLinkProps) {
52
+ return (
53
+ <a
54
+ aria-current={isActive ? "page" : undefined}
55
+ data-slot="pagination-link"
56
+ data-active={isActive}
57
+ className={cn(
58
+ buttonVariants({
59
+ variant: isActive ? "secondary" : "ghost",
60
+ size,
61
+ }),
62
+ className
63
+ )}
64
+ {...props}
65
+ />
66
+ )
67
+ }
68
+
69
+ function PaginationPrevious({
70
+ className,
71
+ ...props
72
+ }: React.ComponentProps<typeof PaginationLink>) {
73
+ return (
74
+ <PaginationLink
75
+ aria-label="Go to previous page"
76
+ size="default"
77
+ className={cn("gap-1 size-8 sm:pl-2.5", className)}
78
+ {...props}
79
+ >
80
+ <ChevronLeftIcon />
81
+ </PaginationLink>
82
+ )
83
+ }
84
+
85
+ function PaginationNext({
86
+ className,
87
+ ...props
88
+ }: React.ComponentProps<typeof PaginationLink>) {
89
+ return (
90
+ <PaginationLink
91
+ aria-label="Go to next page"
92
+ size="default"
93
+ className={cn("gap-1 size-8 sm:pr-2.5", className)}
94
+ {...props}
95
+ >
96
+ <ChevronRightIcon />
97
+ </PaginationLink>
98
+ )
99
+ }
100
+
101
+ function PaginationEllipsis({
102
+ className,
103
+ ...props
104
+ }: React.ComponentProps<"span">) {
105
+ return (
106
+ <span
107
+ aria-hidden
108
+ data-slot="pagination-ellipsis"
109
+ className={cn("flex size-9 items-center justify-center", className)}
110
+ {...props}
111
+ >
112
+ <MoreHorizontalIcon className="size-4 mt-1.5" />
113
+ <span className="sr-only">More pages</span>
114
+ </span>
115
+ )
116
+ }
117
+
118
+ export {
119
+ Pagination,
120
+ PaginationContent,
121
+ PaginationLink,
122
+ PaginationItem,
123
+ PaginationPrevious,
124
+ PaginationNext,
125
+ PaginationEllipsis,
126
+ }
@@ -1,59 +1,59 @@
1
- 'use client';
2
-
3
- "use client"
4
-
5
- import * as React from "react"
6
- import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area"
7
- import { cn } from "../../../infra/utils/clsx"
8
-
9
- function ScrollArea({
10
- className,
11
- children,
12
- ...props
13
- }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {
14
- return (
15
- <ScrollAreaPrimitive.Root
16
- data-slot="scroll-area"
17
- className={cn("relative", className)}
18
- {...props}
19
- >
20
- <ScrollAreaPrimitive.Viewport
21
- data-slot="scroll-area-viewport"
22
- className="focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1"
23
- >
24
- {children}
25
- </ScrollAreaPrimitive.Viewport>
26
- <ScrollBar />
27
- <ScrollAreaPrimitive.Corner />
28
- </ScrollAreaPrimitive.Root>
29
- )
30
- }
31
-
32
- function ScrollBar({
33
- className,
34
- orientation = "vertical",
35
- ...props
36
- }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {
37
- return (
38
- <ScrollAreaPrimitive.ScrollAreaScrollbar
39
- data-slot="scroll-area-scrollbar"
40
- orientation={orientation}
41
- className={cn(
42
- "flex touch-none p-px transition-colors select-none",
43
- orientation === "vertical" &&
44
- "h-full w-2.5 border-l border-l-transparent",
45
- orientation === "horizontal" &&
46
- "h-2.5 flex-col border-t border-t-transparent",
47
- className
48
- )}
49
- {...props}
50
- >
51
- <ScrollAreaPrimitive.ScrollAreaThumb
52
- data-slot="scroll-area-thumb"
53
- className="bg-border relative flex-1 rounded-full"
54
- />
55
- </ScrollAreaPrimitive.ScrollAreaScrollbar>
56
- )
57
- }
58
-
59
- export { ScrollArea, ScrollBar }
1
+ 'use client';
2
+
3
+ "use client"
4
+
5
+ import * as React from "react"
6
+ import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area"
7
+ import { cn } from "../../../infra/utils/clsx"
8
+
9
+ function ScrollArea({
10
+ className,
11
+ children,
12
+ ...props
13
+ }: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {
14
+ return (
15
+ <ScrollAreaPrimitive.Root
16
+ data-slot="scroll-area"
17
+ className={cn("relative", className)}
18
+ {...props}
19
+ >
20
+ <ScrollAreaPrimitive.Viewport
21
+ data-slot="scroll-area-viewport"
22
+ className="focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1"
23
+ >
24
+ {children}
25
+ </ScrollAreaPrimitive.Viewport>
26
+ <ScrollBar />
27
+ <ScrollAreaPrimitive.Corner />
28
+ </ScrollAreaPrimitive.Root>
29
+ )
30
+ }
31
+
32
+ function ScrollBar({
33
+ className,
34
+ orientation = "vertical",
35
+ ...props
36
+ }: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {
37
+ return (
38
+ <ScrollAreaPrimitive.ScrollAreaScrollbar
39
+ data-slot="scroll-area-scrollbar"
40
+ orientation={orientation}
41
+ className={cn(
42
+ "flex touch-none p-px transition-colors select-none",
43
+ orientation === "vertical" &&
44
+ "h-full w-2.5 border-l border-l-transparent",
45
+ orientation === "horizontal" &&
46
+ "h-2.5 flex-col border-t border-t-transparent",
47
+ className
48
+ )}
49
+ {...props}
50
+ >
51
+ <ScrollAreaPrimitive.ScrollAreaThumb
52
+ data-slot="scroll-area-thumb"
53
+ className="bg-border relative flex-1 rounded-full"
54
+ />
55
+ </ScrollAreaPrimitive.ScrollAreaScrollbar>
56
+ )
57
+ }
58
+
59
+ export { ScrollArea, ScrollBar }
@@ -1,29 +1,29 @@
1
- 'use client';
2
-
3
- "use client"
4
-
5
- import * as React from "react"
6
- import * as SeparatorPrimitive from "@radix-ui/react-separator"
7
- import { cn } from "../../../infra/utils/clsx"
8
-
9
- function Separator({
10
- className,
11
- orientation = "horizontal",
12
- decorative = true,
13
- ...props
14
- }: React.ComponentProps<typeof SeparatorPrimitive.Root>) {
15
- return (
16
- <SeparatorPrimitive.Root
17
- data-slot="separator"
18
- decorative={decorative}
19
- orientation={orientation}
20
- className={cn(
21
- "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
22
- className
23
- )}
24
- {...props}
25
- />
26
- )
27
- }
28
-
29
- export { Separator }
1
+ 'use client';
2
+
3
+ "use client"
4
+
5
+ import * as React from "react"
6
+ import * as SeparatorPrimitive from "@radix-ui/react-separator"
7
+ import { cn } from "../../../infra/utils/clsx"
8
+
9
+ function Separator({
10
+ className,
11
+ orientation = "horizontal",
12
+ decorative = true,
13
+ ...props
14
+ }: React.ComponentProps<typeof SeparatorPrimitive.Root>) {
15
+ return (
16
+ <SeparatorPrimitive.Root
17
+ data-slot="separator"
18
+ decorative={decorative}
19
+ orientation={orientation}
20
+ className={cn(
21
+ "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
22
+ className
23
+ )}
24
+ {...props}
25
+ />
26
+ )
27
+ }
28
+
29
+ export { Separator }
@@ -1,117 +1,117 @@
1
- 'use client';
2
-
3
- "use client"
4
-
5
- import * as React from "react"
6
- import { cn } from "../../../infra/utils/clsx"
7
-
8
- function Table({ className, ...props }: React.ComponentProps<"table">) {
9
- return (
10
- <div
11
- data-slot="table-container"
12
- className="relative w-full overflow-x-auto"
13
- >
14
- <table
15
- data-slot="table"
16
- className={cn("w-full caption-bottom text-sm", className)}
17
- {...props}
18
- />
19
- </div>
20
- )
21
- }
22
-
23
- function TableHeader({ className, ...props }: React.ComponentProps<"thead">) {
24
- return (
25
- <thead
26
- data-slot="table-header"
27
- className={cn("[&_tr]:border-b", className)}
28
- {...props}
29
- />
30
- )
31
- }
32
-
33
- function TableBody({ className, ...props }: React.ComponentProps<"tbody">) {
34
- return (
35
- <tbody
36
- data-slot="table-body"
37
- className={cn("[&_tr:last-child]:border-0", className)}
38
- {...props}
39
- />
40
- )
41
- }
42
-
43
- function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) {
44
- return (
45
- <tfoot
46
- data-slot="table-footer"
47
- className={cn(
48
- "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
49
- className
50
- )}
51
- {...props}
52
- />
53
- )
54
- }
55
-
56
- function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
57
- return (
58
- <tr
59
- data-slot="table-row"
60
- className={cn(
61
- "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
62
- className
63
- )}
64
- {...props}
65
- />
66
- )
67
- }
68
-
69
- function TableHead({ className, ...props }: React.ComponentProps<"th">) {
70
- return (
71
- <th
72
- data-slot="table-head"
73
- className={cn(
74
- "text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
75
- className
76
- )}
77
- {...props}
78
- />
79
- )
80
- }
81
-
82
- function TableCell({ className, ...props }: React.ComponentProps<"td">) {
83
- return (
84
- <td
85
- data-slot="table-cell"
86
- className={cn(
87
- "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
88
- className
89
- )}
90
- {...props}
91
- />
92
- )
93
- }
94
-
95
- function TableCaption({
96
- className,
97
- ...props
98
- }: React.ComponentProps<"caption">) {
99
- return (
100
- <caption
101
- data-slot="table-caption"
102
- className={cn("text-muted-foreground mt-4 text-sm", className)}
103
- {...props}
104
- />
105
- )
106
- }
107
-
108
- export {
109
- Table,
110
- TableHeader,
111
- TableBody,
112
- TableFooter,
113
- TableHead,
114
- TableRow,
115
- TableCell,
116
- TableCaption,
117
- }
1
+ 'use client';
2
+
3
+ "use client"
4
+
5
+ import * as React from "react"
6
+ import { cn } from "../../../infra/utils/clsx"
7
+
8
+ function Table({ className, ...props }: React.ComponentProps<"table">) {
9
+ return (
10
+ <div
11
+ data-slot="table-container"
12
+ className="relative w-full overflow-x-auto"
13
+ >
14
+ <table
15
+ data-slot="table"
16
+ className={cn("w-full caption-bottom text-sm", className)}
17
+ {...props}
18
+ />
19
+ </div>
20
+ )
21
+ }
22
+
23
+ function TableHeader({ className, ...props }: React.ComponentProps<"thead">) {
24
+ return (
25
+ <thead
26
+ data-slot="table-header"
27
+ className={cn("[&_tr]:border-b", className)}
28
+ {...props}
29
+ />
30
+ )
31
+ }
32
+
33
+ function TableBody({ className, ...props }: React.ComponentProps<"tbody">) {
34
+ return (
35
+ <tbody
36
+ data-slot="table-body"
37
+ className={cn("[&_tr:last-child]:border-0", className)}
38
+ {...props}
39
+ />
40
+ )
41
+ }
42
+
43
+ function TableFooter({ className, ...props }: React.ComponentProps<"tfoot">) {
44
+ return (
45
+ <tfoot
46
+ data-slot="table-footer"
47
+ className={cn(
48
+ "bg-muted/50 border-t font-medium [&>tr]:last:border-b-0",
49
+ className
50
+ )}
51
+ {...props}
52
+ />
53
+ )
54
+ }
55
+
56
+ function TableRow({ className, ...props }: React.ComponentProps<"tr">) {
57
+ return (
58
+ <tr
59
+ data-slot="table-row"
60
+ className={cn(
61
+ "hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",
62
+ className
63
+ )}
64
+ {...props}
65
+ />
66
+ )
67
+ }
68
+
69
+ function TableHead({ className, ...props }: React.ComponentProps<"th">) {
70
+ return (
71
+ <th
72
+ data-slot="table-head"
73
+ className={cn(
74
+ "text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
75
+ className
76
+ )}
77
+ {...props}
78
+ />
79
+ )
80
+ }
81
+
82
+ function TableCell({ className, ...props }: React.ComponentProps<"td">) {
83
+ return (
84
+ <td
85
+ data-slot="table-cell"
86
+ className={cn(
87
+ "p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",
88
+ className
89
+ )}
90
+ {...props}
91
+ />
92
+ )
93
+ }
94
+
95
+ function TableCaption({
96
+ className,
97
+ ...props
98
+ }: React.ComponentProps<"caption">) {
99
+ return (
100
+ <caption
101
+ data-slot="table-caption"
102
+ className={cn("text-muted-foreground mt-4 text-sm", className)}
103
+ {...props}
104
+ />
105
+ )
106
+ }
107
+
108
+ export {
109
+ Table,
110
+ TableHeader,
111
+ TableBody,
112
+ TableFooter,
113
+ TableHead,
114
+ TableRow,
115
+ TableCell,
116
+ TableCaption,
117
+ }