fulldev-ui 0.12.0 → 0.13.0

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 (130) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/package.json +24 -20
  3. package/public/r/accordion.json +1 -1
  4. package/public/r/alert-dialog.json +1 -1
  5. package/public/r/aspect-ratio.json +23 -0
  6. package/public/r/attachment.json +66 -0
  7. package/public/r/button-group.json +41 -0
  8. package/public/r/carousel.json +8 -8
  9. package/public/r/collapsible.json +1 -1
  10. package/public/r/combobox.json +4 -4
  11. package/public/r/command.json +2 -2
  12. package/public/r/components.json +8 -0
  13. package/public/r/dialog.json +1 -1
  14. package/public/r/doc-1.json +1 -1
  15. package/public/r/drawer.json +109 -0
  16. package/public/r/dropdown-menu.json +1 -1
  17. package/public/r/hover-card.json +2 -2
  18. package/public/r/init.json +1 -1
  19. package/public/r/navigation-menu.json +2 -2
  20. package/public/r/pagination.json +59 -0
  21. package/public/r/popover.json +1 -1
  22. package/public/r/radio-group.json +1 -1
  23. package/public/r/registry.json +414 -24
  24. package/public/r/resizable.json +36 -0
  25. package/public/r/reviews-3.json +1 -1
  26. package/public/r/select.json +1 -1
  27. package/public/r/sheet.json +1 -1
  28. package/public/r/sidebar.json +1 -1
  29. package/public/r/slider.json +2 -2
  30. package/public/r/switch.json +1 -1
  31. package/public/r/tabs.json +1 -1
  32. package/public/r/toast.json +80 -0
  33. package/public/r/toggle-group.json +34 -0
  34. package/public/r/toggle.json +1 -1
  35. package/public/r/tooltip.json +1 -1
  36. package/public/r/typography.json +21 -16
  37. package/registry/init/global.css +2 -0
  38. package/registry.json +375 -24
  39. package/src/components/blocks/doc-1.astro +76 -0
  40. package/src/components/blocks/reviews-3.astro +1 -1
  41. package/src/components/ui/aspect-ratio/aspect-ratio.astro +25 -0
  42. package/src/components/ui/aspect-ratio/index.ts +1 -0
  43. package/src/components/ui/attachment/attachment-action.astro +20 -0
  44. package/src/components/ui/attachment/attachment-actions.astro +20 -0
  45. package/src/components/ui/attachment/attachment-content.astro +20 -0
  46. package/src/components/ui/attachment/attachment-description.astro +20 -0
  47. package/src/components/ui/attachment/attachment-group.astro +20 -0
  48. package/src/components/ui/attachment/attachment-media.astro +36 -0
  49. package/src/components/ui/attachment/attachment-title.astro +20 -0
  50. package/src/components/ui/attachment/attachment-trigger.astro +24 -0
  51. package/src/components/ui/attachment/attachment.astro +52 -0
  52. package/src/components/ui/attachment/index.ts +9 -0
  53. package/src/components/ui/button-group/button-group-separator.astro +29 -0
  54. package/src/components/ui/button-group/button-group-text.astro +20 -0
  55. package/src/components/ui/button-group/button-group-variants.ts +20 -0
  56. package/src/components/ui/button-group/button-group.astro +30 -0
  57. package/src/components/ui/button-group/index.ts +7 -0
  58. package/src/components/ui/carousel/carousel-content.astro +11 -13
  59. package/src/components/ui/carousel/carousel-item.astro +2 -5
  60. package/src/components/ui/carousel/carousel-next.astro +0 -3
  61. package/src/components/ui/carousel/carousel-previous.astro +0 -3
  62. package/src/components/ui/carousel/carousel.astro +19 -219
  63. package/src/components/ui/carousel/index.ts +1 -5
  64. package/src/components/ui/combobox/combobox-input.astro +11 -4
  65. package/src/components/ui/combobox/combobox-trigger.astro +7 -7
  66. package/src/components/ui/drawer/drawer-close.astro +13 -0
  67. package/src/components/ui/drawer/drawer-content.astro +43 -0
  68. package/src/components/ui/drawer/drawer-description.astro +17 -0
  69. package/src/components/ui/drawer/drawer-footer.astro +17 -0
  70. package/src/components/ui/drawer/drawer-header.astro +17 -0
  71. package/src/components/ui/drawer/drawer-indent-background.astro +11 -0
  72. package/src/components/ui/drawer/drawer-indent.astro +11 -0
  73. package/src/components/ui/drawer/drawer-overlay.astro +21 -0
  74. package/src/components/ui/drawer/drawer-popup.astro +36 -0
  75. package/src/components/ui/drawer/drawer-portal.astro +27 -0
  76. package/src/components/ui/drawer/drawer-provider.astro +11 -0
  77. package/src/components/ui/drawer/drawer-swipe-handle.astro +20 -0
  78. package/src/components/ui/drawer/drawer-title.astro +17 -0
  79. package/src/components/ui/drawer/drawer-trigger.astro +21 -0
  80. package/src/components/ui/drawer/drawer-viewport.astro +21 -0
  81. package/src/components/ui/drawer/drawer-virtual-keyboard-provider.astro +11 -0
  82. package/src/components/ui/drawer/drawer.astro +60 -0
  83. package/src/components/ui/drawer/index.ts +28 -0
  84. package/src/components/ui/navigation-menu/navigation-menu.astro +2 -2
  85. package/src/components/ui/pagination/index.ts +7 -0
  86. package/src/components/ui/pagination/pagination-content.astro +17 -0
  87. package/src/components/ui/pagination/pagination-ellipsis.astro +22 -0
  88. package/src/components/ui/pagination/pagination-item.astro +11 -0
  89. package/src/components/ui/pagination/pagination-link.astro +41 -0
  90. package/src/components/ui/pagination/pagination-next.astro +27 -0
  91. package/src/components/ui/pagination/pagination-previous.astro +27 -0
  92. package/src/components/ui/pagination/pagination.astro +19 -0
  93. package/src/components/ui/resizable/index.ts +4 -0
  94. package/src/components/ui/resizable/resizable-handle.astro +32 -0
  95. package/src/components/ui/resizable/resizable-panel.astro +36 -0
  96. package/src/components/ui/resizable/resizable.astro +43 -0
  97. package/src/components/ui/slider/slider.astro +1 -1
  98. package/src/components/ui/toast/index.ts +26 -0
  99. package/src/components/ui/toast/toast-action.astro +25 -0
  100. package/src/components/ui/toast/toast-close.astro +27 -0
  101. package/src/components/ui/toast/toast-content.astro +20 -0
  102. package/src/components/ui/toast/toast-description.astro +18 -0
  103. package/src/components/ui/toast/toast-icon.astro +37 -0
  104. package/src/components/ui/toast/toast-item.astro +28 -0
  105. package/src/components/ui/toast/toast-template.astro +11 -0
  106. package/src/components/ui/toast/toast-title.astro +17 -0
  107. package/src/components/ui/toast/toast-viewport.astro +20 -0
  108. package/src/components/ui/toast/toast.astro +51 -0
  109. package/src/components/ui/toast/toaster.astro +37 -0
  110. package/src/components/ui/toggle-group/index.ts +2 -0
  111. package/src/components/ui/toggle-group/toggle-group-item.astro +44 -0
  112. package/src/components/ui/toggle-group/toggle-group.astro +74 -0
  113. package/src/components/ui/typography/typeset.css +441 -0
  114. package/src/components/ui/typography/typography-a.astro +13 -22
  115. package/src/components/ui/typography/typography-blockquote.astro +4 -23
  116. package/src/components/ui/typography/typography-h1.astro +13 -26
  117. package/src/components/ui/typography/typography-h2.astro +13 -31
  118. package/src/components/ui/typography/typography-h3.astro +9 -26
  119. package/src/components/ui/typography/typography-h4.astro +9 -26
  120. package/src/components/ui/typography/typography-inline-code.astro +8 -27
  121. package/src/components/ui/typography/typography-lead.astro +4 -26
  122. package/src/components/ui/typography/typography-list-item.astro +4 -24
  123. package/src/components/ui/typography/typography-list.astro +10 -40
  124. package/src/components/ui/typography/typography-p.astro +9 -28
  125. package/src/components/ui/typography/typography-table-cell.astro +9 -40
  126. package/src/components/ui/typography/typography-table-head.astro +9 -35
  127. package/src/components/ui/typography/typography-table-row.astro +4 -23
  128. package/src/components/ui/typography/typography-table.astro +8 -28
  129. package/src/components/ui/typography/typography.astro +10 -283
  130. package/src/styles/global.css +2 -0
@@ -9,29 +9,20 @@ type Props = HTMLAttributes<"a"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-sm" : size === "lg" ? "text-lg" : "text-base"
12
15
  ---
13
16
 
14
- <a data-slot="typography-a" data-size={size} class={cn(className)} {...props}>
17
+ <a
18
+ data-slot="typography-a"
19
+ data-size={size}
20
+ class={cn(
21
+ "text-primary font-medium underline underline-offset-4",
22
+ sizeClass,
23
+ className
24
+ )}
25
+ {...props}
26
+ >
15
27
  <slot />
16
28
  </a>
17
-
18
- <style is:global>
19
- @reference "@/styles/global.css";
20
-
21
- [data-slot="typography-a"],
22
- [data-slot="typography"] > a:not([data-slot]) {
23
- @apply text-primary font-medium underline underline-offset-4;
24
- }
25
-
26
- [data-slot="typography-a"][data-size="sm"] {
27
- @apply text-sm;
28
- }
29
-
30
- [data-slot="typography-a"][data-size="default"] {
31
- @apply text-base;
32
- }
33
-
34
- [data-slot="typography-a"][data-size="lg"] {
35
- @apply text-lg;
36
- }
37
- </style>
@@ -9,35 +9,16 @@ type Props = HTMLAttributes<"blockquote"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-sm" : size === "lg" ? "text-lg" : "text-base"
12
15
  ---
13
16
 
14
17
  <blockquote
15
18
  data-slot="typography-blockquote"
16
19
  data-size={size}
17
- class={cn(className)}
20
+ class={cn("mt-6 border-l-2 pl-6 italic", sizeClass, className)}
18
21
  {...props}
19
22
  >
20
23
  <slot />
21
24
  </blockquote>
22
-
23
- <style is:global>
24
- @reference "@/styles/global.css";
25
-
26
- [data-slot="typography-blockquote"],
27
- [data-slot="typography"] > blockquote {
28
- @apply mt-6 border-l-2 pl-6 italic;
29
- }
30
-
31
- [data-slot="typography-blockquote"][data-size="sm"] {
32
- @apply text-sm;
33
- }
34
-
35
- [data-slot="typography-blockquote"][data-size="default"],
36
- [data-slot="typography"] > blockquote {
37
- @apply text-base;
38
- }
39
-
40
- [data-slot="typography-blockquote"][data-size="lg"] {
41
- @apply text-lg;
42
- }
43
- </style>
@@ -9,33 +9,20 @@ type Props = HTMLAttributes<"h1"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-3xl" : size === "lg" ? "text-5xl" : "text-4xl"
12
15
  ---
13
16
 
14
- <h1 data-slot="typography-h1" data-size={size} class={cn(className)} {...props}>
17
+ <h1
18
+ data-slot="typography-h1"
19
+ data-size={size}
20
+ class={cn(
21
+ "scroll-m-20 font-semibold tracking-tight text-balance",
22
+ sizeClass,
23
+ className
24
+ )}
25
+ {...props}
26
+ >
15
27
  <slot />
16
28
  </h1>
17
-
18
- <style is:global>
19
- @reference "@/styles/global.css";
20
-
21
- [data-slot="typography-h1"],
22
- [data-slot="typography"] > h1 {
23
- @apply scroll-m-20 font-semibold tracking-tight text-balance;
24
- }
25
-
26
- [data-slot="typography-h1"][data-size="sm"],
27
- [data-slot="typography"][data-size="sm"] > h1 {
28
- @apply text-3xl;
29
- }
30
-
31
- [data-slot="typography-h1"][data-size="default"],
32
- [data-slot="typography"] > h1,
33
- [data-slot="typography"][data-size="default"] > h1 {
34
- @apply text-4xl;
35
- }
36
-
37
- [data-slot="typography-h1"][data-size="lg"],
38
- [data-slot="typography"][data-size="lg"] > h1 {
39
- @apply text-5xl;
40
- }
41
- </style>
@@ -9,38 +9,20 @@ type Props = HTMLAttributes<"h2"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-2xl" : size === "lg" ? "text-4xl" : "text-3xl"
12
15
  ---
13
16
 
14
- <h2 data-slot="typography-h2" data-size={size} class={cn(className)} {...props}>
17
+ <h2
18
+ data-slot="typography-h2"
19
+ data-size={size}
20
+ class={cn(
21
+ "scroll-m-20 font-semibold tracking-tight first:mt-0",
22
+ sizeClass,
23
+ className
24
+ )}
25
+ {...props}
26
+ >
15
27
  <slot />
16
28
  </h2>
17
-
18
- <style is:global>
19
- @reference "@/styles/global.css";
20
-
21
- [data-slot="typography-h2"],
22
- [data-slot="typography"] > h2 {
23
- @apply scroll-m-20 font-semibold tracking-tight;
24
- }
25
-
26
- [data-slot="typography-h2"][data-size="sm"],
27
- [data-slot="typography"][data-size="sm"] > h2 {
28
- @apply text-2xl;
29
- }
30
-
31
- [data-slot="typography-h2"][data-size="default"],
32
- [data-slot="typography"] > h2,
33
- [data-slot="typography"][data-size="default"] > h2 {
34
- @apply text-3xl;
35
- }
36
-
37
- [data-slot="typography-h2"][data-size="lg"],
38
- [data-slot="typography"][data-size="lg"] > h2 {
39
- @apply text-4xl;
40
- }
41
-
42
- [data-slot="typography-h2"]:first-child,
43
- [data-slot="typography"] > h2:first-child {
44
- @apply mt-0;
45
- }
46
- </style>
@@ -9,33 +9,16 @@ type Props = HTMLAttributes<"h3"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-xl" : size === "lg" ? "text-3xl" : "text-2xl"
12
15
  ---
13
16
 
14
- <h3 data-slot="typography-h3" data-size={size} class={cn(className)} {...props}>
17
+ <h3
18
+ data-slot="typography-h3"
19
+ data-size={size}
20
+ class={cn("scroll-m-20 font-semibold tracking-tight", sizeClass, className)}
21
+ {...props}
22
+ >
15
23
  <slot />
16
24
  </h3>
17
-
18
- <style is:global>
19
- @reference "@/styles/global.css";
20
-
21
- [data-slot="typography-h3"],
22
- [data-slot="typography"] > h3 {
23
- @apply scroll-m-20 font-semibold tracking-tight;
24
- }
25
-
26
- [data-slot="typography-h3"][data-size="sm"],
27
- [data-slot="typography"][data-size="sm"] > h3 {
28
- @apply text-xl;
29
- }
30
-
31
- [data-slot="typography-h3"][data-size="default"],
32
- [data-slot="typography"] > h3,
33
- [data-slot="typography"][data-size="default"] > h3 {
34
- @apply text-2xl;
35
- }
36
-
37
- [data-slot="typography-h3"][data-size="lg"],
38
- [data-slot="typography"][data-size="lg"] > h3 {
39
- @apply text-3xl;
40
- }
41
- </style>
@@ -9,33 +9,16 @@ type Props = HTMLAttributes<"h4"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-lg" : size === "lg" ? "text-2xl" : "text-xl"
12
15
  ---
13
16
 
14
- <h4 data-slot="typography-h4" data-size={size} class={cn(className)} {...props}>
17
+ <h4
18
+ data-slot="typography-h4"
19
+ data-size={size}
20
+ class={cn("scroll-m-20 font-semibold tracking-tight", sizeClass, className)}
21
+ {...props}
22
+ >
15
23
  <slot />
16
24
  </h4>
17
-
18
- <style is:global>
19
- @reference "@/styles/global.css";
20
-
21
- [data-slot="typography-h4"],
22
- [data-slot="typography"] > h4 {
23
- @apply scroll-m-20 font-semibold tracking-tight;
24
- }
25
-
26
- [data-slot="typography-h4"][data-size="sm"],
27
- [data-slot="typography"][data-size="sm"] > h4 {
28
- @apply text-lg;
29
- }
30
-
31
- [data-slot="typography-h4"][data-size="default"],
32
- [data-slot="typography"] > h4,
33
- [data-slot="typography"][data-size="default"] > h4 {
34
- @apply text-xl;
35
- }
36
-
37
- [data-slot="typography-h4"][data-size="lg"],
38
- [data-slot="typography"][data-size="lg"] > h4 {
39
- @apply text-2xl;
40
- }
41
- </style>
@@ -9,39 +9,20 @@ type Props = HTMLAttributes<"code"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-xs" : size === "lg" ? "text-base" : "text-sm"
12
15
  ---
13
16
 
14
17
  <code
15
18
  data-slot="typography-inline-code"
16
19
  data-size={size}
17
- class={cn(className)}
20
+ class={cn(
21
+ "bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono font-semibold",
22
+ sizeClass,
23
+ className
24
+ )}
18
25
  {...props}
19
26
  >
20
27
  <slot />
21
28
  </code>
22
-
23
- <style is:global>
24
- @reference "@/styles/global.css";
25
-
26
- [data-slot="typography-inline-code"],
27
- [data-slot="typography"] :not(pre) > code {
28
- @apply bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono font-semibold;
29
- }
30
-
31
- [data-slot="typography-inline-code"][data-size="sm"] {
32
- @apply text-xs;
33
- }
34
-
35
- [data-slot="typography-inline-code"][data-size="default"],
36
- [data-slot="typography"] :not(pre) > code {
37
- @apply text-sm;
38
- }
39
-
40
- [data-slot="typography-inline-code"][data-size="lg"] {
41
- @apply text-base;
42
- }
43
-
44
- [data-slot="typography"] > table :not(pre) > code {
45
- @apply rounded-md text-sm leading-5 font-normal;
46
- }
47
- </style>
@@ -9,38 +9,16 @@ type Props = HTMLAttributes<"p"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-base" : size === "lg" ? "text-xl" : "text-lg"
12
15
  ---
13
16
 
14
17
  <p
15
18
  data-slot="typography-lead"
16
19
  data-size={size}
17
- class={cn(className)}
20
+ class={cn("text-muted-foreground", sizeClass, className)}
18
21
  {...props}
19
22
  >
20
23
  <slot />
21
24
  </p>
22
-
23
- <style is:global>
24
- @reference "@/styles/global.css";
25
-
26
- [data-slot="typography-lead"] {
27
- @apply text-muted-foreground;
28
- }
29
-
30
- [data-slot="typography-lead"][data-size="sm"],
31
- [data-slot="typography"][data-size="sm"] > [data-slot="typography-lead"] {
32
- @apply text-base;
33
- }
34
-
35
- [data-slot="typography-lead"][data-size="default"],
36
- [data-slot="typography"] > [data-slot="typography-lead"],
37
- [data-slot="typography"][data-size="default"]
38
- > [data-slot="typography-lead"] {
39
- @apply text-lg;
40
- }
41
-
42
- [data-slot="typography-lead"][data-size="lg"],
43
- [data-slot="typography"][data-size="lg"] > [data-slot="typography-lead"] {
44
- @apply text-xl;
45
- }
46
- </style>
@@ -9,36 +9,16 @@ type Props = HTMLAttributes<"li"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-sm" : size === "lg" ? "text-lg" : "text-base"
12
15
  ---
13
16
 
14
17
  <li
15
18
  data-slot="typography-list-item"
16
19
  data-size={size}
17
- class={cn(className)}
20
+ class={cn("mt-2", sizeClass, className)}
18
21
  {...props}
19
22
  >
20
23
  <slot />
21
24
  </li>
22
-
23
- <style is:global>
24
- @reference "@/styles/global.css";
25
-
26
- [data-slot="typography-list-item"],
27
- [data-slot="typography-list"] > li,
28
- [data-slot="typography"] > ul > li,
29
- [data-slot="typography"] > ol > li {
30
- @apply mt-2;
31
- }
32
-
33
- [data-slot="typography-list-item"][data-size="sm"] {
34
- @apply text-sm;
35
- }
36
-
37
- [data-slot="typography-list-item"][data-size="default"] {
38
- @apply text-base;
39
- }
40
-
41
- [data-slot="typography-list-item"][data-size="lg"] {
42
- @apply text-lg;
43
- }
44
- </style>
@@ -1,5 +1,5 @@
1
1
  ---
2
- import type { HTMLTag, Polymorphic } from "astro/types"
2
+ import type { Polymorphic } from "astro/types"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
@@ -12,52 +12,22 @@ const {
12
12
  size = "default",
13
13
  ...props
14
14
  } = Astro.props
15
+
16
+ const sizeClass =
17
+ size === "sm" ? "text-sm" : size === "lg" ? "text-lg" : "text-base"
15
18
  ---
16
19
 
17
20
  <Tag
18
21
  data-slot="typography-list"
19
22
  data-size={size}
20
23
  data-ordered={Tag === "ol" ? "" : undefined}
21
- class={cn(className)}
24
+ class={cn(
25
+ "my-6 ml-6",
26
+ Tag === "ol" ? "list-decimal" : "list-disc",
27
+ sizeClass,
28
+ className
29
+ )}
22
30
  {...props}
23
31
  >
24
32
  <slot />
25
33
  </Tag>
26
-
27
- <style is:global>
28
- @reference "@/styles/global.css";
29
-
30
- [data-slot="typography-list"],
31
- [data-slot="typography"] > ul,
32
- [data-slot="typography"] > ol {
33
- @apply my-6 ml-6;
34
- }
35
-
36
- [data-slot="typography-list"][data-size="sm"] {
37
- @apply text-sm;
38
- }
39
-
40
- [data-slot="typography-list"][data-size="default"],
41
- [data-slot="typography"] > ul,
42
- [data-slot="typography"] > ol {
43
- @apply text-base;
44
- }
45
-
46
- [data-slot="typography-list"][data-size="lg"] {
47
- @apply text-lg;
48
- }
49
-
50
- [data-slot="typography-list"]:not([data-ordered]),
51
- [data-slot="typography"] > ul {
52
- @apply list-disc;
53
- }
54
-
55
- [data-slot="typography-list"][data-ordered],
56
- [data-slot="typography"] > ol {
57
- @apply list-decimal;
58
- }
59
-
60
- [data-slot="typography-list"] > li {
61
- @apply mt-2;
62
- }
63
- </style>
@@ -9,35 +9,16 @@ type Props = HTMLAttributes<"p"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-sm" : size === "lg" ? "text-lg" : "text-base"
12
15
  ---
13
16
 
14
- <p data-slot="typography-p" data-size={size} class={cn(className)} {...props}>
17
+ <p
18
+ data-slot="typography-p"
19
+ data-size={size}
20
+ class={cn("leading-7 [&:not(:first-child)]:mt-6", sizeClass, className)}
21
+ {...props}
22
+ >
15
23
  <slot />
16
24
  </p>
17
-
18
- <style is:global>
19
- @reference "@/styles/global.css";
20
-
21
- [data-slot="typography-p"],
22
- [data-slot="typography"] > p {
23
- @apply leading-7;
24
- }
25
-
26
- [data-slot="typography-p"][data-size="sm"] {
27
- @apply text-sm;
28
- }
29
-
30
- [data-slot="typography-p"][data-size="default"],
31
- [data-slot="typography"] > p {
32
- @apply text-base;
33
- }
34
-
35
- [data-slot="typography-p"][data-size="lg"] {
36
- @apply text-lg;
37
- }
38
-
39
- [data-slot="typography-p"]:not(:first-child),
40
- [data-slot="typography"] > p:not(:first-child) {
41
- @apply mt-6;
42
- }
43
- </style>
@@ -9,52 +9,21 @@ type Props = HTMLAttributes<"td"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-sm" : size === "lg" ? "text-lg" : "text-base"
12
15
  ---
13
16
 
14
17
  <td
15
18
  data-slot="typography-table-cell"
16
19
  data-size={size}
17
- class={cn(className)}
20
+ class={cn(
21
+ "border-border border-t px-4 py-3 text-left align-middle",
22
+ "[&[align=center]]:text-center [&[align=right]]:text-right",
23
+ sizeClass,
24
+ className
25
+ )}
18
26
  {...props}
19
27
  >
20
28
  <slot />
21
29
  </td>
22
-
23
- <style is:global>
24
- @reference "@/styles/global.css";
25
-
26
- [data-slot="typography-table-cell"],
27
- [data-slot="typography-table"] td,
28
- [data-slot="typography"] > table td {
29
- @apply border-border border-t px-4 py-3 text-left align-middle;
30
- }
31
-
32
- [data-slot="typography-table-cell"][data-size="sm"] {
33
- @apply text-sm;
34
- }
35
-
36
- [data-slot="typography-table-cell"][data-size="default"] {
37
- @apply text-base;
38
- }
39
-
40
- [data-slot="typography-table-cell"][data-size="lg"] {
41
- @apply text-lg;
42
- }
43
-
44
- [data-slot="typography-table"] tbody tr:last-child td,
45
- [data-slot="typography"] > table tbody tr:last-child td {
46
- @apply border-b-0;
47
- }
48
-
49
- [data-slot="typography-table-cell"][align="center"],
50
- [data-slot="typography-table"] td[align="center"],
51
- [data-slot="typography"] > table td[align="center"] {
52
- @apply text-center;
53
- }
54
-
55
- [data-slot="typography-table-cell"][align="right"],
56
- [data-slot="typography-table"] td[align="right"],
57
- [data-slot="typography"] > table td[align="right"] {
58
- @apply text-right;
59
- }
60
- </style>
@@ -9,47 +9,21 @@ type Props = HTMLAttributes<"th"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-sm" : size === "lg" ? "text-lg" : "text-base"
12
15
  ---
13
16
 
14
17
  <th
15
18
  data-slot="typography-table-head"
16
19
  data-size={size}
17
- class={cn(className)}
20
+ class={cn(
21
+ "border-border border-b px-4 py-3 text-left font-semibold",
22
+ "[&[align=center]]:text-center [&[align=right]]:text-right",
23
+ sizeClass,
24
+ className
25
+ )}
18
26
  {...props}
19
27
  >
20
28
  <slot />
21
29
  </th>
22
-
23
- <style is:global>
24
- @reference "@/styles/global.css";
25
-
26
- [data-slot="typography-table-head"],
27
- [data-slot="typography-table"] th,
28
- [data-slot="typography"] > table th {
29
- @apply border-border border-b px-4 py-3 text-left font-semibold;
30
- }
31
-
32
- [data-slot="typography-table-head"][data-size="sm"] {
33
- @apply text-sm;
34
- }
35
-
36
- [data-slot="typography-table-head"][data-size="default"] {
37
- @apply text-base;
38
- }
39
-
40
- [data-slot="typography-table-head"][data-size="lg"] {
41
- @apply text-lg;
42
- }
43
-
44
- [data-slot="typography-table-head"][align="center"],
45
- [data-slot="typography-table"] th[align="center"],
46
- [data-slot="typography"] > table th[align="center"] {
47
- @apply text-center;
48
- }
49
-
50
- [data-slot="typography-table-head"][align="right"],
51
- [data-slot="typography-table"] th[align="right"],
52
- [data-slot="typography"] > table th[align="right"] {
53
- @apply text-right;
54
- }
55
- </style>
@@ -9,35 +9,16 @@ type Props = HTMLAttributes<"tr"> & {
9
9
  }
10
10
 
11
11
  const { class: className, size = "default", ...props } = Astro.props
12
+
13
+ const sizeClass =
14
+ size === "sm" ? "text-sm" : size === "lg" ? "text-lg" : "text-base"
12
15
  ---
13
16
 
14
17
  <tr
15
18
  data-slot="typography-table-row"
16
19
  data-size={size}
17
- class={cn(className)}
20
+ class={cn("even:bg-muted m-0 border-t p-0", sizeClass, className)}
18
21
  {...props}
19
22
  >
20
23
  <slot />
21
24
  </tr>
22
-
23
- <style is:global>
24
- @reference "@/styles/global.css";
25
-
26
- [data-slot="typography-table-row"],
27
- [data-slot="typography-table"] tr,
28
- [data-slot="typography"] > table tr {
29
- @apply even:bg-muted m-0 border-t p-0;
30
- }
31
-
32
- [data-slot="typography-table-row"][data-size="sm"] {
33
- @apply text-sm;
34
- }
35
-
36
- [data-slot="typography-table-row"][data-size="default"] {
37
- @apply text-base;
38
- }
39
-
40
- [data-slot="typography-table-row"][data-size="lg"] {
41
- @apply text-lg;
42
- }
43
- </style>