fulldev-ui 0.9.3 → 0.10.1

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 (269) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +100 -16
  3. package/package.json +3 -2
  4. package/public/r/accordion.json +4 -6
  5. package/public/r/alert-dialog.json +3 -3
  6. package/public/r/alert.json +0 -5
  7. package/public/r/article-1.json +1 -1
  8. package/public/r/article-2.json +1 -1
  9. package/public/r/articles-1.json +1 -1
  10. package/public/r/articles-2.json +1 -1
  11. package/public/r/articles-3.json +1 -1
  12. package/public/r/avatar.json +1 -16
  13. package/public/r/badge.json +1 -1
  14. package/public/r/banner-1.json +5 -3
  15. package/public/r/banner-2.json +1 -1
  16. package/public/r/banner.json +5 -3
  17. package/public/r/blocks-1.json +6 -3
  18. package/public/r/breadcrumb.json +4 -4
  19. package/public/r/button.json +1 -1
  20. package/public/r/card.json +4 -4
  21. package/public/r/carousel.json +5 -5
  22. package/public/r/checkbox.json +1 -1
  23. package/public/r/combobox.json +8 -8
  24. package/public/r/command.json +6 -6
  25. package/public/r/components.json +1 -7
  26. package/public/r/contact-1.json +4 -2
  27. package/public/r/contact-2.json +4 -2
  28. package/public/r/contact-3.json +11 -3
  29. package/public/r/content-1.json +11 -3
  30. package/public/r/content-2.json +11 -3
  31. package/public/r/content-3.json +7 -1
  32. package/public/r/content-4.json +11 -3
  33. package/public/r/cta-2.json +7 -1
  34. package/public/r/cta-4.json +7 -1
  35. package/public/r/cta-5.json +11 -3
  36. package/public/r/cta-6.json +7 -1
  37. package/public/r/dialog.json +7 -7
  38. package/public/r/doc-1.json +6 -3
  39. package/public/r/dropdown-menu.json +9 -11
  40. package/public/r/features-1.json +5 -3
  41. package/public/r/features-2.json +5 -3
  42. package/public/r/features-4.json +5 -3
  43. package/public/r/features-5.json +4 -2
  44. package/public/r/field.json +2 -7
  45. package/public/r/footer-1.json +5 -3
  46. package/public/r/footer-2.json +5 -3
  47. package/public/r/footer-3.json +5 -3
  48. package/public/r/header-1.json +1 -1
  49. package/public/r/header.json +3 -0
  50. package/public/r/hero-13.json +1 -1
  51. package/public/r/hero-4.json +5 -3
  52. package/public/r/hero-5.json +5 -3
  53. package/public/r/hero-6.json +5 -3
  54. package/public/r/hero-7.json +5 -3
  55. package/public/r/hero-8.json +1 -1
  56. package/public/r/hero-9.json +5 -3
  57. package/public/r/hover-card.json +4 -3
  58. package/public/r/icon.json +1 -1
  59. package/public/r/input-group.json +1 -1
  60. package/public/r/item.json +2 -20
  61. package/public/r/kbd.json +2 -2
  62. package/public/r/layout.json +4 -7
  63. package/public/r/links-2.json +5 -3
  64. package/public/r/marquee.json +1 -1
  65. package/public/r/native-select.json +3 -3
  66. package/public/r/navigation-menu.json +8 -10
  67. package/public/r/page.json +17 -0
  68. package/public/r/popover.json +1 -1
  69. package/public/r/pricing-1.json +5 -3
  70. package/public/r/pricing-2.json +5 -3
  71. package/public/r/pricing-3.json +5 -3
  72. package/public/r/products-1.json +1 -1
  73. package/public/r/products-4.json +1 -1
  74. package/public/r/products-5.json +1 -1
  75. package/public/r/radio-group.json +1 -1
  76. package/public/r/rating.json +3 -3
  77. package/public/r/registry.json +186 -450
  78. package/public/r/reviews-1.json +5 -3
  79. package/public/r/reviews-2.json +5 -3
  80. package/public/r/reviews-3.json +5 -3
  81. package/public/r/reviews-4.json +1 -1
  82. package/public/r/reviews-5.json +5 -3
  83. package/public/r/select.json +6 -8
  84. package/public/r/services-1.json +11 -3
  85. package/public/r/services-2.json +7 -1
  86. package/public/r/services-3.json +7 -1
  87. package/public/r/services-4.json +11 -3
  88. package/public/r/services-5.json +5 -3
  89. package/public/r/services-6.json +11 -3
  90. package/public/r/services-7.json +11 -3
  91. package/public/r/sheet.json +7 -4
  92. package/public/r/sidebar-1.json +4 -2
  93. package/public/r/sidebar.json +10 -7
  94. package/public/r/slider.json +1 -1
  95. package/public/r/spinner.json +3 -3
  96. package/public/r/switch.json +1 -1
  97. package/public/r/tabs.json +1 -1
  98. package/public/r/theme-toggle.json +5 -3
  99. package/public/r/toggle.json +1 -1
  100. package/public/r/tooltip.json +1 -1
  101. package/public/r/typography.json +16 -16
  102. package/public/r/video.json +1 -1
  103. package/registry.json +186 -450
  104. package/src/components/blocks/article-1.astro +1 -1
  105. package/src/components/blocks/article-2.astro +1 -1
  106. package/src/components/blocks/articles-1.astro +1 -1
  107. package/src/components/blocks/articles-2.astro +2 -2
  108. package/src/components/blocks/articles-3.astro +1 -1
  109. package/src/components/blocks/banner-1.astro +3 -5
  110. package/src/components/blocks/banner-2.astro +1 -1
  111. package/src/components/blocks/blocks-1.astro +25 -37
  112. package/src/components/blocks/contact-3.astro +4 -3
  113. package/src/components/blocks/content-1.astro +5 -4
  114. package/src/components/blocks/content-2.astro +6 -5
  115. package/src/components/blocks/content-3.astro +9 -2
  116. package/src/components/blocks/content-4.astro +6 -5
  117. package/src/components/blocks/cta-2.astro +4 -3
  118. package/src/components/blocks/cta-4.astro +3 -2
  119. package/src/components/blocks/cta-5.astro +6 -5
  120. package/src/components/blocks/cta-6.astro +4 -3
  121. package/src/components/blocks/doc-1.astro +28 -56
  122. package/src/components/blocks/features-1.astro +3 -1
  123. package/src/components/blocks/features-2.astro +4 -2
  124. package/src/components/blocks/features-4.astro +3 -1
  125. package/src/components/blocks/footer-1.astro +26 -12
  126. package/src/components/blocks/footer-2.astro +24 -12
  127. package/src/components/blocks/footer-3.astro +26 -12
  128. package/src/components/blocks/header-1.astro +2 -3
  129. package/src/components/blocks/hero-13.astro +1 -1
  130. package/src/components/blocks/hero-4.astro +2 -2
  131. package/src/components/blocks/hero-5.astro +3 -3
  132. package/src/components/blocks/hero-6.astro +3 -3
  133. package/src/components/blocks/hero-7.astro +3 -3
  134. package/src/components/blocks/hero-8.astro +1 -1
  135. package/src/components/blocks/hero-9.astro +2 -2
  136. package/src/components/blocks/links-2.astro +3 -5
  137. package/src/components/blocks/pricing-1.astro +3 -2
  138. package/src/components/blocks/pricing-2.astro +3 -2
  139. package/src/components/blocks/pricing-3.astro +3 -2
  140. package/src/components/blocks/products-1.astro +1 -1
  141. package/src/components/blocks/products-4.astro +2 -2
  142. package/src/components/blocks/products-5.astro +4 -4
  143. package/src/components/blocks/reviews-1.astro +2 -2
  144. package/src/components/blocks/reviews-2.astro +2 -2
  145. package/src/components/blocks/reviews-3.astro +2 -2
  146. package/src/components/blocks/reviews-4.astro +4 -4
  147. package/src/components/blocks/reviews-5.astro +16 -25
  148. package/src/components/blocks/services-1.astro +7 -9
  149. package/src/components/blocks/services-2.astro +5 -4
  150. package/src/components/blocks/services-3.astro +6 -5
  151. package/src/components/blocks/services-4.astro +7 -9
  152. package/src/components/blocks/services-5.astro +3 -4
  153. package/src/components/blocks/services-6.astro +7 -6
  154. package/src/components/blocks/services-7.astro +7 -9
  155. package/src/components/blocks/sidebar-1.astro +42 -97
  156. package/src/components/ui/accordion/accordion-content.astro +2 -1
  157. package/src/components/ui/accordion/accordion-trigger.astro +7 -8
  158. package/src/components/ui/alert-dialog/alert-dialog-content.astro +1 -1
  159. package/src/components/ui/alert-dialog/alert-dialog-overlay.astro +1 -1
  160. package/src/components/ui/alert-dialog/alert-dialog.astro +23 -3
  161. package/src/components/ui/avatar/avatar.astro +1 -1
  162. package/src/components/ui/badge/badge.astro +1 -0
  163. package/src/components/ui/banner/banner-container.astro +3 -3
  164. package/src/components/ui/breadcrumb/breadcrumb-ellipsis.astro +2 -2
  165. package/src/components/ui/breadcrumb/breadcrumb-separator.astro +2 -2
  166. package/src/components/ui/button/button-variants.ts +8 -7
  167. package/src/components/ui/card/card-content.astro +1 -1
  168. package/src/components/ui/card/card-footer.astro +1 -1
  169. package/src/components/ui/card/card-header.astro +1 -1
  170. package/src/components/ui/card/card.astro +1 -1
  171. package/src/components/ui/carousel/carousel-next.astro +3 -3
  172. package/src/components/ui/carousel/carousel-previous.astro +3 -3
  173. package/src/components/ui/checkbox/checkbox.astro +1 -1
  174. package/src/components/ui/combobox/combobox-input.astro +2 -2
  175. package/src/components/ui/combobox/combobox-item.astro +4 -4
  176. package/src/components/ui/combobox/combobox-list.astro +1 -1
  177. package/src/components/ui/combobox/combobox-trigger.astro +2 -5
  178. package/src/components/ui/combobox/combobox.astro +3 -0
  179. package/src/components/ui/command/command-dialog.astro +10 -10
  180. package/src/components/ui/command/command-input.astro +2 -2
  181. package/src/components/ui/command/command-item.astro +4 -5
  182. package/src/components/ui/dialog/dialog-close.astro +2 -2
  183. package/src/components/ui/dialog/dialog-content.astro +3 -3
  184. package/src/components/ui/dialog/dialog-overlay.astro +1 -1
  185. package/src/components/ui/dialog/dialog.astro +26 -3
  186. package/src/components/ui/dropdown-menu/dropdown-menu-checkbox-item.astro +4 -5
  187. package/src/components/ui/dropdown-menu/dropdown-menu-content.astro +4 -4
  188. package/src/components/ui/dropdown-menu/dropdown-menu-item.astro +1 -1
  189. package/src/components/ui/dropdown-menu/dropdown-menu-label.astro +1 -1
  190. package/src/components/ui/dropdown-menu/dropdown-menu-radio-item.astro +4 -5
  191. package/src/components/ui/dropdown-menu/dropdown-menu-shortcut.astro +1 -1
  192. package/src/components/ui/dropdown-menu/dropdown-menu.astro +3 -0
  193. package/src/components/ui/field/field-label.astro +1 -1
  194. package/src/components/ui/field/field-title.astro +1 -1
  195. package/src/components/ui/hover-card/hover-card-content.astro +4 -4
  196. package/src/components/ui/hover-card/hover-card.astro +8 -5
  197. package/src/components/ui/icon/icon.astro +8 -17
  198. package/src/components/ui/input-group/input-group-button.astro +0 -1
  199. package/src/components/ui/item/item-media.astro +1 -1
  200. package/src/components/ui/item/item.astro +0 -18
  201. package/src/components/ui/kbd/kbd-group.astro +1 -1
  202. package/src/components/ui/kbd/kbd.astro +1 -1
  203. package/src/components/ui/layout/layout-body.astro +1 -1
  204. package/src/components/ui/layout/layout-head.astro +3 -2
  205. package/src/components/ui/layout/layout-main.astro +1 -1
  206. package/src/components/ui/layout/layout.astro +4 -0
  207. package/src/components/ui/marquee/marquee.astro +50 -69
  208. package/src/components/ui/native-select/native-select.astro +2 -3
  209. package/src/components/ui/navigation-menu/navigation-menu-content.astro +3 -1
  210. package/src/components/ui/navigation-menu/navigation-menu-indicator.astro +2 -1
  211. package/src/components/ui/navigation-menu/navigation-menu-list.astro +1 -1
  212. package/src/components/ui/navigation-menu/navigation-menu-positioner.astro +2 -0
  213. package/src/components/ui/navigation-menu/navigation-menu-trigger.astro +2 -3
  214. package/src/components/ui/navigation-menu/navigation-menu.astro +1 -1
  215. package/src/components/ui/popover/popover-content.astro +1 -1
  216. package/src/components/ui/radio-group/radio-group-item.astro +3 -3
  217. package/src/components/ui/rating/rating.astro +3 -3
  218. package/src/components/ui/select/select-content.astro +1 -1
  219. package/src/components/ui/select/select-item.astro +4 -4
  220. package/src/components/ui/select/select-trigger.astro +3 -6
  221. package/src/components/ui/select/select.astro +6 -0
  222. package/src/components/ui/sheet/sheet-content.astro +6 -7
  223. package/src/components/ui/sheet/sheet.astro +1 -89
  224. package/src/components/ui/sidebar/sidebar-menu-button.astro +13 -11
  225. package/src/components/ui/sidebar/sidebar-menu-sub-button.astro +10 -8
  226. package/src/components/ui/sidebar/sidebar-provider.astro +37 -15
  227. package/src/components/ui/sidebar/sidebar-rail.astro +1 -1
  228. package/src/components/ui/sidebar/sidebar-trigger.astro +3 -3
  229. package/src/components/ui/sidebar/sidebar.astro +1 -2
  230. package/src/components/ui/slider/slider.astro +8 -6
  231. package/src/components/ui/spinner/spinner.astro +4 -4
  232. package/src/components/ui/switch/switch.astro +5 -3
  233. package/src/components/ui/tabs/tabs-content.astro +2 -1
  234. package/src/components/ui/theme-toggle/theme-toggle.astro +4 -3
  235. package/src/components/ui/toggle/toggle.astro +2 -0
  236. package/src/components/ui/tooltip/tooltip-content.astro +1 -1
  237. package/src/components/ui/typography/typography-a.astro +19 -4
  238. package/src/components/ui/typography/typography-blockquote.astro +26 -6
  239. package/src/components/ui/typography/typography-h1.astro +7 -9
  240. package/src/components/ui/typography/typography-h2.astro +12 -9
  241. package/src/components/ui/typography/typography-h3.astro +7 -9
  242. package/src/components/ui/typography/typography-h4.astro +7 -9
  243. package/src/components/ui/typography/typography-inline-code.astro +28 -12
  244. package/src/components/ui/typography/typography-lead.astro +29 -4
  245. package/src/components/ui/typography/typography-list-item.astro +25 -9
  246. package/src/components/ui/typography/typography-list.astro +29 -11
  247. package/src/components/ui/typography/typography-p.astro +26 -6
  248. package/src/components/ui/typography/typography-table-cell.astro +32 -13
  249. package/src/components/ui/typography/typography-table-head.astro +27 -13
  250. package/src/components/ui/typography/typography-table-row.astro +23 -13
  251. package/src/components/ui/typography/typography-table.astro +29 -20
  252. package/src/components/ui/typography/typography.astro +172 -46
  253. package/src/components/ui/video/video.astro +11 -27
  254. package/src/styles/global.css +2 -15
  255. package/public/r/beta-repo-setup.json +0 -125
  256. package/public/r/blocks.json +0 -91
  257. package/public/r/content-5.json +0 -17
  258. package/public/r/content-6.json +0 -17
  259. package/public/r/gradient.json +0 -17
  260. package/public/r/init.json +0 -23
  261. package/public/r/tile.json +0 -27
  262. package/src/components/blocks/content-5.astro +0 -115
  263. package/src/components/blocks/content-6.astro +0 -91
  264. package/src/components/ui/gradient/gradient.astro +0 -45
  265. package/src/components/ui/gradient/index.ts +0 -1
  266. package/src/components/ui/tile/index.ts +0 -3
  267. package/src/components/ui/tile/tile-content.astro +0 -17
  268. package/src/components/ui/tile/tile-group.astro +0 -76
  269. package/src/components/ui/tile/tile.astro +0 -46
@@ -3,12 +3,20 @@ import type { HTMLAttributes } from "astro/types"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
- type Props = HTMLAttributes<"code">
6
+ type Size = "sm" | "default" | "lg"
7
+ type Props = HTMLAttributes<"code"> & {
8
+ size?: Size
9
+ }
7
10
 
8
- const { class: className, ...props } = Astro.props
11
+ const { class: className, size = "default", ...props } = Astro.props
9
12
  ---
10
13
 
11
- <code data-slot="typography-inline-code" class={cn(className)} {...props}>
14
+ <code
15
+ data-slot="typography-inline-code"
16
+ data-size={size}
17
+ class={cn(className)}
18
+ {...props}
19
+ >
12
20
  <slot />
13
21
  </code>
14
22
 
@@ -16,16 +24,24 @@ const { class: className, ...props } = Astro.props
16
24
  @reference "@/styles/global.css";
17
25
 
18
26
  [data-slot="typography-inline-code"],
19
- [data-slot="typography"]
20
- :not(pre)
21
- > code:not(.no-typography):not(.no-typography *) {
22
- @apply bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono text-sm;
27
+ [data-slot="typography"] :not(pre) > code {
28
+ @apply bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono font-semibold;
23
29
  }
24
30
 
25
- [data-slot="typography"]
26
- table:not(.no-typography):not(.no-typography *)
27
- :not(pre)
28
- > code:not(.no-typography):not(.no-typography *) {
29
- @apply rounded-md text-sm leading-5;
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;
30
46
  }
31
47
  </style>
@@ -3,12 +3,20 @@ import type { HTMLAttributes } from "astro/types"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
- type Props = HTMLAttributes<"p">
6
+ type Size = "sm" | "default" | "lg"
7
+ type Props = HTMLAttributes<"p"> & {
8
+ size?: Size
9
+ }
7
10
 
8
- const { class: className, ...props } = Astro.props
11
+ const { class: className, size = "default", ...props } = Astro.props
9
12
  ---
10
13
 
11
- <p data-slot="typography-lead" class={cn(className)} {...props}>
14
+ <p
15
+ data-slot="typography-lead"
16
+ data-size={size}
17
+ class={cn(className)}
18
+ {...props}
19
+ >
12
20
  <slot />
13
21
  </p>
14
22
 
@@ -16,6 +24,23 @@ const { class: className, ...props } = Astro.props
16
24
  @reference "@/styles/global.css";
17
25
 
18
26
  [data-slot="typography-lead"] {
19
- @apply text-muted-foreground text-lg;
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;
20
45
  }
21
46
  </style>
@@ -3,12 +3,20 @@ import type { HTMLAttributes } from "astro/types"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
- type Props = HTMLAttributes<"li">
6
+ type Size = "sm" | "default" | "lg"
7
+ type Props = HTMLAttributes<"li"> & {
8
+ size?: Size
9
+ }
7
10
 
8
- const { class: className, ...props } = Astro.props
11
+ const { class: className, size = "default", ...props } = Astro.props
9
12
  ---
10
13
 
11
- <li data-slot="typography-list-item" class={cn(className)} {...props}>
14
+ <li
15
+ data-slot="typography-list-item"
16
+ data-size={size}
17
+ class={cn(className)}
18
+ {...props}
19
+ >
12
20
  <slot />
13
21
  </li>
14
22
 
@@ -17,12 +25,20 @@ const { class: className, ...props } = Astro.props
17
25
 
18
26
  [data-slot="typography-list-item"],
19
27
  [data-slot="typography-list"] > li,
20
- [data-slot="typography"]
21
- ul:not(.no-typography):not(.no-typography *)
22
- > li:not(.no-typography):not(.no-typography *),
23
- [data-slot="typography"]
24
- ol:not(.no-typography):not(.no-typography *)
25
- > li:not(.no-typography):not(.no-typography *) {
28
+ [data-slot="typography"] > ul > li,
29
+ [data-slot="typography"] > ol > li {
26
30
  @apply mt-2;
27
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
+ }
28
44
  </style>
@@ -1,18 +1,22 @@
1
1
  ---
2
- import type { HTMLAttributes } from "astro/types"
2
+ import type { HTMLTag, Polymorphic } from "astro/types"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
- type Props = HTMLAttributes<"ul"> &
7
- HTMLAttributes<"ol"> & {
8
- as?: "ul" | "ol"
9
- }
6
+ type Size = "sm" | "default" | "lg"
7
+ type Props<Tag extends "ul" | "ol"> = Polymorphic<{ as: Tag; size?: Size }>
10
8
 
11
- const { as: Tag = "ul", class: className, ...props } = Astro.props
9
+ const {
10
+ as: Tag = "ul",
11
+ class: className,
12
+ size = "default",
13
+ ...props
14
+ } = Astro.props
12
15
  ---
13
16
 
14
17
  <Tag
15
18
  data-slot="typography-list"
19
+ data-size={size}
16
20
  data-ordered={Tag === "ol" ? "" : undefined}
17
21
  class={cn(className)}
18
22
  {...props}
@@ -24,18 +28,32 @@ const { as: Tag = "ul", class: className, ...props } = Astro.props
24
28
  @reference "@/styles/global.css";
25
29
 
26
30
  [data-slot="typography-list"],
27
- [data-slot="typography"] ul:not(.no-typography):not(.no-typography *),
28
- [data-slot="typography"] ol:not(.no-typography):not(.no-typography *) {
29
- @apply ml-6 text-base;
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;
30
48
  }
31
49
 
32
50
  [data-slot="typography-list"]:not([data-ordered]),
33
- [data-slot="typography"] ul:not(.no-typography):not(.no-typography *) {
51
+ [data-slot="typography"] > ul {
34
52
  @apply list-disc;
35
53
  }
36
54
 
37
55
  [data-slot="typography-list"][data-ordered],
38
- [data-slot="typography"] ol:not(.no-typography):not(.no-typography *) {
56
+ [data-slot="typography"] > ol {
39
57
  @apply list-decimal;
40
58
  }
41
59
 
@@ -3,12 +3,15 @@ import type { HTMLAttributes } from "astro/types"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
- type Props = HTMLAttributes<"p">
6
+ type Size = "sm" | "default" | "lg"
7
+ type Props = HTMLAttributes<"p"> & {
8
+ size?: Size
9
+ }
7
10
 
8
- const { class: className, ...props } = Astro.props
11
+ const { class: className, size = "default", ...props } = Astro.props
9
12
  ---
10
13
 
11
- <p data-slot="typography-p" class={cn(className)} {...props}>
14
+ <p data-slot="typography-p" data-size={size} class={cn(className)} {...props}>
12
15
  <slot />
13
16
  </p>
14
17
 
@@ -16,8 +19,25 @@ const { class: className, ...props } = Astro.props
16
19
  @reference "@/styles/global.css";
17
20
 
18
21
  [data-slot="typography-p"],
19
- [data-slot="typography"]
20
- p:not([data-slot]):not(.no-typography):not(.no-typography *) {
21
- @apply text-base leading-7;
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;
22
42
  }
23
43
  </style>
@@ -3,12 +3,20 @@ import type { HTMLAttributes } from "astro/types"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
- type Props = HTMLAttributes<"td">
6
+ type Size = "sm" | "default" | "lg"
7
+ type Props = HTMLAttributes<"td"> & {
8
+ size?: Size
9
+ }
7
10
 
8
- const { class: className, ...props } = Astro.props
11
+ const { class: className, size = "default", ...props } = Astro.props
9
12
  ---
10
13
 
11
- <td data-slot="typography-table-cell" class={cn(className)} {...props}>
14
+ <td
15
+ data-slot="typography-table-cell"
16
+ data-size={size}
17
+ class={cn(className)}
18
+ {...props}
19
+ >
12
20
  <slot />
13
21
  </td>
14
22
 
@@ -17,25 +25,36 @@ const { class: className, ...props } = Astro.props
17
25
 
18
26
  [data-slot="typography-table-cell"],
19
27
  [data-slot="typography-table"] td,
20
- [data-slot="typography"]
21
- table:not(.no-typography):not(.no-typography *)
22
- td:not(.no-typography):not(.no-typography *) {
23
- @apply p-2 text-left align-middle text-sm whitespace-nowrap;
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;
24
47
  }
25
48
 
26
49
  [data-slot="typography-table-cell"][align="center"],
27
50
  [data-slot="typography-table"] td[align="center"],
28
- [data-slot="typography"]
29
- table:not(.no-typography):not(.no-typography *)
30
- td:not(.no-typography):not(.no-typography *)[align="center"] {
51
+ [data-slot="typography"] > table td[align="center"] {
31
52
  @apply text-center;
32
53
  }
33
54
 
34
55
  [data-slot="typography-table-cell"][align="right"],
35
56
  [data-slot="typography-table"] td[align="right"],
36
- [data-slot="typography"]
37
- table:not(.no-typography):not(.no-typography *)
38
- td:not(.no-typography):not(.no-typography *)[align="right"] {
57
+ [data-slot="typography"] > table td[align="right"] {
39
58
  @apply text-right;
40
59
  }
41
60
  </style>
@@ -3,12 +3,20 @@ import type { HTMLAttributes } from "astro/types"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
- type Props = HTMLAttributes<"th">
6
+ type Size = "sm" | "default" | "lg"
7
+ type Props = HTMLAttributes<"th"> & {
8
+ size?: Size
9
+ }
7
10
 
8
- const { class: className, ...props } = Astro.props
11
+ const { class: className, size = "default", ...props } = Astro.props
9
12
  ---
10
13
 
11
- <th data-slot="typography-table-head" class={cn(className)} {...props}>
14
+ <th
15
+ data-slot="typography-table-head"
16
+ data-size={size}
17
+ class={cn(className)}
18
+ {...props}
19
+ >
12
20
  <slot />
13
21
  </th>
14
22
 
@@ -17,25 +25,31 @@ const { class: className, ...props } = Astro.props
17
25
 
18
26
  [data-slot="typography-table-head"],
19
27
  [data-slot="typography-table"] th,
20
- [data-slot="typography"]
21
- table:not(.no-typography):not(.no-typography *)
22
- th:not(.no-typography):not(.no-typography *) {
23
- @apply text-foreground h-10 px-2 text-left align-middle text-sm font-medium whitespace-nowrap;
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;
24
42
  }
25
43
 
26
44
  [data-slot="typography-table-head"][align="center"],
27
45
  [data-slot="typography-table"] th[align="center"],
28
- [data-slot="typography"]
29
- table:not(.no-typography):not(.no-typography *)
30
- th:not(.no-typography):not(.no-typography *)[align="center"] {
46
+ [data-slot="typography"] > table th[align="center"] {
31
47
  @apply text-center;
32
48
  }
33
49
 
34
50
  [data-slot="typography-table-head"][align="right"],
35
51
  [data-slot="typography-table"] th[align="right"],
36
- [data-slot="typography"]
37
- table:not(.no-typography):not(.no-typography *)
38
- th:not(.no-typography):not(.no-typography *)[align="right"] {
52
+ [data-slot="typography"] > table th[align="right"] {
39
53
  @apply text-right;
40
54
  }
41
55
  </style>
@@ -3,12 +3,20 @@ import type { HTMLAttributes } from "astro/types"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
- type Props = HTMLAttributes<"tr">
6
+ type Size = "sm" | "default" | "lg"
7
+ type Props = HTMLAttributes<"tr"> & {
8
+ size?: Size
9
+ }
7
10
 
8
- const { class: className, ...props } = Astro.props
11
+ const { class: className, size = "default", ...props } = Astro.props
9
12
  ---
10
13
 
11
- <tr data-slot="typography-table-row" class={cn(className)} {...props}>
14
+ <tr
15
+ data-slot="typography-table-row"
16
+ data-size={size}
17
+ class={cn(className)}
18
+ {...props}
19
+ >
12
20
  <slot />
13
21
  </tr>
14
22
 
@@ -17,17 +25,19 @@ const { class: className, ...props } = Astro.props
17
25
 
18
26
  [data-slot="typography-table-row"],
19
27
  [data-slot="typography-table"] tr,
20
- [data-slot="typography"]
21
- table:not(.no-typography):not(.no-typography *)
22
- tr:not(.no-typography):not(.no-typography *) {
23
- @apply border-b transition-colors;
28
+ [data-slot="typography"] > table tr {
29
+ @apply even:bg-muted m-0 border-t p-0;
24
30
  }
25
31
 
26
- [data-slot="typography-table"] tbody tr:last-child,
27
- [data-slot="typography"]
28
- table:not(.no-typography):not(.no-typography *)
29
- tbody
30
- tr:not(.no-typography):not(.no-typography *):last-child {
31
- @apply border-b-0;
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;
32
42
  }
33
43
  </style>
@@ -3,15 +3,31 @@ import type { HTMLAttributes } from "astro/types"
3
3
 
4
4
  import { cn } from "@/lib/utils"
5
5
 
6
+ type Size = "sm" | "default" | "lg"
6
7
  type Props = HTMLAttributes<"table"> & {
7
8
  containerClass?: string
9
+ size?: Size
8
10
  }
9
11
 
10
- const { class: className, containerClass, ...props } = Astro.props
12
+ const {
13
+ class: className,
14
+ containerClass,
15
+ size = "default",
16
+ ...props
17
+ } = Astro.props
11
18
  ---
12
19
 
13
- <div data-slot="typography-table-container" class={cn(containerClass)}>
14
- <table data-slot="typography-table" class={cn(className)} {...props}>
20
+ <div
21
+ data-slot="typography-table-container"
22
+ data-size={size}
23
+ class={cn(containerClass)}
24
+ >
25
+ <table
26
+ data-slot="typography-table"
27
+ data-size={size}
28
+ class={cn(className)}
29
+ {...props}
30
+ >
15
31
  <slot />
16
32
  </table>
17
33
  </div>
@@ -20,31 +36,24 @@ const { class: className, containerClass, ...props } = Astro.props
20
36
  @reference "@/styles/global.css";
21
37
 
22
38
  [data-slot="typography-table-container"] {
23
- @apply border-border w-full overflow-x-auto rounded-xl border;
39
+ @apply border-border my-6 w-full overflow-y-auto rounded-xl border;
24
40
  }
25
41
 
26
42
  [data-slot="typography-table"],
27
- [data-slot="typography"] table:not(.no-typography):not(.no-typography *) {
28
- @apply w-full caption-bottom;
43
+ [data-slot="typography"] > table {
44
+ @apply w-full border-collapse;
29
45
  }
30
46
 
31
- [data-slot="typography"] table:not(.no-typography):not(.no-typography *) {
32
- @apply border-border overflow-x-auto rounded-xl border;
33
- border-spacing: 0;
47
+ [data-slot="typography-table"][data-size="sm"] {
48
+ @apply text-sm;
34
49
  }
35
50
 
36
- [data-slot="typography"]
37
- table:not(.no-typography):not(.no-typography *)
38
- thead,
39
- [data-slot="typography"]
40
- table:not(.no-typography):not(.no-typography *)
41
- tbody,
42
- [data-slot="typography"] table:not(.no-typography):not(.no-typography *) tr {
43
- @apply w-full;
51
+ [data-slot="typography-table"][data-size="default"],
52
+ [data-slot="typography"] > table {
53
+ @apply text-base;
44
54
  }
45
55
 
46
- [data-slot="typography-table"],
47
- [data-slot="typography"] table:not(.no-typography):not(.no-typography *) {
48
- @apply text-sm;
56
+ [data-slot="typography-table"][data-size="lg"] {
57
+ @apply text-lg;
49
58
  }
50
59
  </style>