fulldev-ui 0.9.2 → 0.10.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 (255) 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 +3 -5
  5. package/public/r/alert-dialog.json +1 -1
  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 -6
  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 +6 -6
  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 +2 -2
  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 +6 -8
  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 -440
  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 +6 -3
  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/theme-toggle.json +5 -3
  98. package/public/r/tooltip.json +1 -1
  99. package/public/r/typography.json +16 -16
  100. package/public/r/video.json +1 -1
  101. package/registry.json +186 -440
  102. package/src/components/blocks/article-1.astro +1 -1
  103. package/src/components/blocks/article-2.astro +1 -1
  104. package/src/components/blocks/articles-1.astro +1 -1
  105. package/src/components/blocks/articles-2.astro +2 -2
  106. package/src/components/blocks/articles-3.astro +1 -1
  107. package/src/components/blocks/banner-1.astro +3 -5
  108. package/src/components/blocks/banner-2.astro +1 -1
  109. package/src/components/blocks/blocks-1.astro +25 -37
  110. package/src/components/blocks/contact-3.astro +4 -3
  111. package/src/components/blocks/content-1.astro +5 -4
  112. package/src/components/blocks/content-2.astro +6 -5
  113. package/src/components/blocks/content-3.astro +9 -2
  114. package/src/components/blocks/content-4.astro +6 -5
  115. package/src/components/blocks/cta-2.astro +4 -3
  116. package/src/components/blocks/cta-4.astro +3 -2
  117. package/src/components/blocks/cta-5.astro +6 -5
  118. package/src/components/blocks/cta-6.astro +4 -3
  119. package/src/components/blocks/doc-1.astro +28 -56
  120. package/src/components/blocks/features-1.astro +3 -1
  121. package/src/components/blocks/features-2.astro +4 -2
  122. package/src/components/blocks/features-4.astro +3 -1
  123. package/src/components/blocks/footer-1.astro +26 -12
  124. package/src/components/blocks/footer-2.astro +24 -12
  125. package/src/components/blocks/footer-3.astro +26 -12
  126. package/src/components/blocks/header-1.astro +2 -3
  127. package/src/components/blocks/hero-13.astro +1 -1
  128. package/src/components/blocks/hero-4.astro +2 -2
  129. package/src/components/blocks/hero-5.astro +3 -3
  130. package/src/components/blocks/hero-6.astro +3 -3
  131. package/src/components/blocks/hero-7.astro +3 -3
  132. package/src/components/blocks/hero-8.astro +1 -1
  133. package/src/components/blocks/hero-9.astro +2 -2
  134. package/src/components/blocks/links-2.astro +3 -5
  135. package/src/components/blocks/pricing-1.astro +3 -2
  136. package/src/components/blocks/pricing-2.astro +3 -2
  137. package/src/components/blocks/pricing-3.astro +3 -2
  138. package/src/components/blocks/products-1.astro +1 -1
  139. package/src/components/blocks/products-4.astro +2 -2
  140. package/src/components/blocks/products-5.astro +4 -4
  141. package/src/components/blocks/reviews-1.astro +2 -2
  142. package/src/components/blocks/reviews-2.astro +2 -2
  143. package/src/components/blocks/reviews-3.astro +2 -2
  144. package/src/components/blocks/reviews-4.astro +4 -4
  145. package/src/components/blocks/reviews-5.astro +16 -25
  146. package/src/components/blocks/services-1.astro +7 -9
  147. package/src/components/blocks/services-2.astro +5 -4
  148. package/src/components/blocks/services-3.astro +6 -5
  149. package/src/components/blocks/services-4.astro +7 -9
  150. package/src/components/blocks/services-5.astro +3 -4
  151. package/src/components/blocks/services-6.astro +7 -6
  152. package/src/components/blocks/services-7.astro +7 -9
  153. package/src/components/blocks/sidebar-1.astro +42 -97
  154. package/src/components/ui/accordion/accordion-trigger.astro +7 -8
  155. package/src/components/ui/alert-dialog/alert-dialog.astro +23 -3
  156. package/src/components/ui/avatar/avatar.astro +1 -1
  157. package/src/components/ui/badge/badge.astro +1 -0
  158. package/src/components/ui/banner/banner-container.astro +3 -3
  159. package/src/components/ui/breadcrumb/breadcrumb-ellipsis.astro +2 -2
  160. package/src/components/ui/breadcrumb/breadcrumb-separator.astro +2 -2
  161. package/src/components/ui/button/button-variants.ts +8 -7
  162. package/src/components/ui/card/card-content.astro +1 -1
  163. package/src/components/ui/card/card-footer.astro +1 -1
  164. package/src/components/ui/card/card-header.astro +1 -1
  165. package/src/components/ui/card/card.astro +1 -1
  166. package/src/components/ui/carousel/carousel-next.astro +3 -3
  167. package/src/components/ui/carousel/carousel-previous.astro +3 -3
  168. package/src/components/ui/checkbox/checkbox.astro +1 -1
  169. package/src/components/ui/combobox/combobox-input.astro +2 -2
  170. package/src/components/ui/combobox/combobox-item.astro +4 -4
  171. package/src/components/ui/combobox/combobox-list.astro +1 -1
  172. package/src/components/ui/combobox/combobox-trigger.astro +2 -5
  173. package/src/components/ui/combobox/combobox.astro +3 -0
  174. package/src/components/ui/command/command-dialog.astro +10 -10
  175. package/src/components/ui/command/command-input.astro +2 -2
  176. package/src/components/ui/command/command-item.astro +4 -5
  177. package/src/components/ui/dialog/dialog-close.astro +2 -2
  178. package/src/components/ui/dialog/dialog-content.astro +2 -2
  179. package/src/components/ui/dialog/dialog.astro +26 -3
  180. package/src/components/ui/dropdown-menu/dropdown-menu-checkbox-item.astro +4 -5
  181. package/src/components/ui/dropdown-menu/dropdown-menu-content.astro +4 -4
  182. package/src/components/ui/dropdown-menu/dropdown-menu-item.astro +1 -1
  183. package/src/components/ui/dropdown-menu/dropdown-menu-label.astro +1 -1
  184. package/src/components/ui/dropdown-menu/dropdown-menu-radio-item.astro +4 -5
  185. package/src/components/ui/dropdown-menu/dropdown-menu-shortcut.astro +1 -1
  186. package/src/components/ui/dropdown-menu/dropdown-menu.astro +3 -0
  187. package/src/components/ui/field/field-label.astro +1 -1
  188. package/src/components/ui/field/field-title.astro +1 -1
  189. package/src/components/ui/hover-card/hover-card-content.astro +4 -4
  190. package/src/components/ui/hover-card/hover-card.astro +2 -2
  191. package/src/components/ui/icon/icon.astro +7 -10
  192. package/src/components/ui/input-group/input-group-button.astro +0 -1
  193. package/src/components/ui/item/item-media.astro +1 -1
  194. package/src/components/ui/item/item.astro +0 -18
  195. package/src/components/ui/kbd/kbd-group.astro +1 -1
  196. package/src/components/ui/kbd/kbd.astro +1 -1
  197. package/src/components/ui/layout/layout-body.astro +1 -1
  198. package/src/components/ui/layout/layout-head.astro +3 -2
  199. package/src/components/ui/layout/layout-main.astro +1 -1
  200. package/src/components/ui/layout/layout.astro +4 -0
  201. package/src/components/ui/marquee/marquee.astro +49 -68
  202. package/src/components/ui/native-select/native-select.astro +2 -3
  203. package/src/components/ui/navigation-menu/navigation-menu-content.astro +1 -1
  204. package/src/components/ui/navigation-menu/navigation-menu-list.astro +1 -1
  205. package/src/components/ui/navigation-menu/navigation-menu-trigger.astro +2 -3
  206. package/src/components/ui/navigation-menu/navigation-menu.astro +1 -1
  207. package/src/components/ui/popover/popover-content.astro +1 -1
  208. package/src/components/ui/radio-group/radio-group-item.astro +3 -3
  209. package/src/components/ui/rating/rating.astro +3 -3
  210. package/src/components/ui/select/select-content.astro +1 -1
  211. package/src/components/ui/select/select-item.astro +4 -4
  212. package/src/components/ui/select/select-trigger.astro +3 -6
  213. package/src/components/ui/select/select.astro +6 -0
  214. package/src/components/ui/sheet/sheet-content.astro +4 -5
  215. package/src/components/ui/sidebar/sidebar-menu-button.astro +13 -10
  216. package/src/components/ui/sidebar/sidebar-menu-sub-button.astro +10 -8
  217. package/src/components/ui/sidebar/sidebar-provider.astro +1 -13
  218. package/src/components/ui/sidebar/sidebar-rail.astro +1 -1
  219. package/src/components/ui/sidebar/sidebar-trigger.astro +3 -3
  220. package/src/components/ui/sidebar/sidebar.astro +1 -1
  221. package/src/components/ui/slider/slider.astro +6 -4
  222. package/src/components/ui/spinner/spinner.astro +4 -4
  223. package/src/components/ui/switch/switch.astro +1 -1
  224. package/src/components/ui/theme-toggle/theme-toggle.astro +4 -3
  225. package/src/components/ui/tooltip/tooltip-content.astro +1 -1
  226. package/src/components/ui/typography/typography-a.astro +19 -4
  227. package/src/components/ui/typography/typography-blockquote.astro +26 -6
  228. package/src/components/ui/typography/typography-h1.astro +7 -9
  229. package/src/components/ui/typography/typography-h2.astro +12 -9
  230. package/src/components/ui/typography/typography-h3.astro +7 -9
  231. package/src/components/ui/typography/typography-h4.astro +7 -9
  232. package/src/components/ui/typography/typography-inline-code.astro +28 -12
  233. package/src/components/ui/typography/typography-lead.astro +29 -4
  234. package/src/components/ui/typography/typography-list-item.astro +25 -9
  235. package/src/components/ui/typography/typography-list.astro +29 -11
  236. package/src/components/ui/typography/typography-p.astro +26 -6
  237. package/src/components/ui/typography/typography-table-cell.astro +32 -13
  238. package/src/components/ui/typography/typography-table-head.astro +27 -13
  239. package/src/components/ui/typography/typography-table-row.astro +23 -13
  240. package/src/components/ui/typography/typography-table.astro +29 -20
  241. package/src/components/ui/typography/typography.astro +172 -46
  242. package/src/components/ui/video/video.astro +11 -27
  243. package/src/styles/global.css +2 -15
  244. package/public/r/beta-repo-setup.json +0 -131
  245. package/public/r/blocks.json +0 -91
  246. package/public/r/content-5.json +0 -17
  247. package/public/r/content-6.json +0 -17
  248. package/public/r/init.json +0 -23
  249. package/public/r/tile.json +0 -27
  250. package/src/components/blocks/content-5.astro +0 -115
  251. package/src/components/blocks/content-6.astro +0 -91
  252. package/src/components/ui/tile/index.ts +0 -3
  253. package/src/components/ui/tile/tile-content.astro +0 -17
  254. package/src/components/ui/tile/tile-group.astro +0 -76
  255. package/src/components/ui/tile/tile.astro +0 -46
@@ -4,82 +4,82 @@
4
4
  "files": [
5
5
  {
6
6
  "path": "src/components/ui/typography/typography.astro",
7
- "content": "---\nimport type { HTMLTag, Polymorphic } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props<Tag extends HTMLTag> = Polymorphic<{\n as: Tag\n size?: \"sm\" | \"default\" | \"lg\"\n}>\n\nconst {\n as: Tag = \"div\",\n class: className,\n size = \"default\",\n ...props\n} = Astro.props\n---\n\n<Tag\n data-slot=\"typography\"\n data-size={size}\n class={cn(\"text-foreground text-base\", className)}\n {...props}\n>\n <slot />\n</Tag>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography\"]\n > :is(\n p,\n blockquote,\n ul,\n ol,\n table,\n [data-slot=\"typography-lead\"],\n [data-slot=\"typography-p\"],\n [data-slot=\"typography-blockquote\"],\n [data-slot=\"typography-list\"],\n [data-slot=\"typography-table-container\"],\n div,\n section,\n article,\n aside,\n nav,\n figure,\n details,\n .docs-code-block,\n pre,\n small,\n dl,\n img,\n picture,\n video,\n iframe\n ):not(:first-child) {\n @apply mt-6;\n }\n\n [data-slot=\"typography\"]\n > :is(h2, [data-slot=\"typography-h2\"]):not(:first-child) {\n @apply mt-10;\n }\n\n [data-slot=\"typography\"]\n > :is(h3, h4, [data-slot=\"typography-h3\"], [data-slot=\"typography-h4\"]):not(\n :first-child\n ) {\n @apply mt-8;\n }\n\n [data-slot=\"typography\"]\n > :is(\n h1,\n h2,\n h3,\n h4,\n [data-slot=\"typography-h1\"],\n [data-slot=\"typography-h2\"],\n [data-slot=\"typography-h3\"],\n [data-slot=\"typography-h4\"]\n )\n + :is(\n p,\n blockquote,\n ul,\n ol,\n table,\n [data-slot=\"typography-lead\"],\n [data-slot=\"typography-p\"],\n [data-slot=\"typography-blockquote\"],\n [data-slot=\"typography-list\"],\n [data-slot=\"typography-table-container\"],\n div,\n section,\n article,\n aside,\n nav,\n figure,\n details,\n .docs-code-block,\n pre,\n small,\n dl,\n img,\n picture,\n video,\n iframe\n ) {\n @apply mt-4;\n }\n\n [data-slot=\"typography\"] > hr {\n @apply border-border my-8;\n }\n\n [data-slot=\"typography\"] > pre {\n @apply border-border bg-muted/60 overflow-x-auto rounded-xl border p-4 text-sm;\n }\n\n [data-slot=\"typography\"] > .docs-code-block {\n @apply border-border bg-muted/60 relative overflow-hidden rounded-xl border;\n }\n\n [data-slot=\"typography\"] > .docs-code-block > pre,\n [data-slot=\"typography\"] > .docs-code-block > pre.astro-code {\n @apply m-0 rounded-none border-0 bg-transparent! p-4 pr-14 text-sm leading-(--text-sm--line-height);\n font-family: var(--font-mono);\n }\n\n [data-slot=\"typography\"] > .docs-code-block > pre.astro-code code {\n @apply text-sm leading-(--text-sm--line-height) text-(--shiki-light,var(--foreground))!;\n }\n\n .dark [data-slot=\"typography\"] > .docs-code-block > pre.astro-code code {\n @apply text-(--shiki-dark,var(--foreground))!;\n }\n\n .dark\n [data-slot=\"typography\"]\n > .docs-code-block\n > pre.astro-code\n span[style*=\"--shiki-dark\"] {\n @apply font-(--shiki-dark-font-weight,inherit)! text-(--shiki-dark)! [font-style:var(--shiki-dark-font-style,inherit)]! [text-decoration:var(--shiki-dark-text-decoration,inherit)]!;\n }\n\n [data-slot=\"typography\"] > .docs-code-block > .docs-code-copy {\n @apply border-border bg-background text-muted-foreground hover:bg-accent hover:text-accent-foreground absolute top-3 right-3 z-10 inline-flex size-8 items-center justify-center rounded-md border shadow-sm transition-colors;\n }\n\n [data-slot=\"typography\"] > .docs-code-block svg {\n @apply size-4;\n }\n\n [data-slot=\"typography\"] > small {\n @apply block leading-none font-medium;\n }\n\n [data-slot=\"typography\"] > small {\n @apply text-sm;\n }\n\n [data-slot=\"typography\"] > pre.astro-code {\n @apply border-border bg-muted/60! rounded-xl border p-4 text-sm leading-(--text-sm--line-height);\n }\n\n [data-slot=\"typography\"] > pre.astro-code code {\n @apply text-inherit!;\n }\n\n .dark [data-slot=\"typography\"] > pre.astro-code {\n @apply text-(--shiki-dark,var(--foreground))!;\n }\n\n .dark [data-slot=\"typography\"] > pre.astro-code span[style*=\"--shiki-dark\"] {\n @apply font-(--shiki-dark-font-weight,inherit)! text-(--shiki-dark)! [font-style:var(--shiki-dark-font-style,inherit)]! [text-decoration:var(--shiki-dark-text-decoration,inherit)]!;\n }\n</style>\n",
7
+ "content": "---\nimport type { HTMLTag, Polymorphic } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props<Tag extends HTMLTag> = Polymorphic<{ as: Tag; size?: Size }>\n\nconst {\n as: Tag = \"div\",\n class: className,\n size = \"default\",\n ...props\n} = Astro.props\n---\n\n<Tag\n data-slot=\"typography\"\n data-size={size}\n class={cn(\"text-foreground text-base\", className)}\n {...props}\n>\n <slot />\n</Tag>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography\"]\n > :is(\n [data-slot=\"typography-lead\"],\n [data-slot=\"typography-table-container\"],\n div,\n section,\n article,\n aside,\n nav,\n figure,\n details,\n pre,\n small,\n dl,\n img,\n picture,\n video,\n iframe\n ):not(:first-child) {\n @apply mt-6;\n }\n\n [data-slot=\"typography\"] > h1 {\n @apply scroll-m-20 text-4xl font-semibold tracking-tight text-balance;\n }\n\n [data-slot=\"typography\"] > h2 {\n @apply scroll-m-20 text-3xl font-semibold tracking-tight;\n }\n\n [data-slot=\"typography\"] > h2:first-child {\n @apply mt-0;\n }\n\n [data-slot=\"typography\"] > h2:not(:first-child) {\n @apply mt-10;\n }\n\n [data-slot=\"typography\"] > h3 {\n @apply scroll-m-20 text-2xl font-semibold tracking-tight;\n }\n\n [data-slot=\"typography\"] > h3:not(:first-child) {\n @apply mt-8;\n }\n\n [data-slot=\"typography\"] > h4 {\n @apply scroll-m-20 text-xl font-semibold tracking-tight;\n }\n\n [data-slot=\"typography\"] > h4:not(:first-child) {\n @apply mt-8;\n }\n\n [data-slot=\"typography\"]\n > :is(h1, h2, h3, h4)\n + :is(\n [data-slot=\"typography-lead\"],\n [data-slot=\"typography-table-container\"],\n div,\n section,\n article,\n aside,\n nav,\n figure,\n details,\n p,\n blockquote,\n pre,\n ul,\n ol,\n table,\n small,\n dl,\n img,\n picture,\n video,\n iframe\n ) {\n @apply mt-4;\n }\n\n [data-slot=\"typography\"] > p {\n @apply text-base leading-7;\n }\n\n [data-slot=\"typography\"] > p:not(:first-child) {\n @apply mt-6;\n }\n\n [data-slot=\"typography\"]\n > :is(h1, h2, h3, h4)\n + :is(p, [data-slot=\"typography-lead\"]):not(:first-child) {\n @apply mt-4;\n }\n\n [data-slot=\"typography\"] > a:not([data-slot]),\n [data-slot=\"typography\"]\n > :is(p, blockquote, ul, ol, dl, table)\n a:not([data-slot]) {\n @apply text-primary font-medium underline underline-offset-4;\n }\n\n [data-slot=\"typography\"] > blockquote {\n @apply mt-6 border-l-2 pl-6 text-base italic;\n }\n\n [data-slot=\"typography\"] > hr {\n @apply border-border my-8;\n }\n\n [data-slot=\"typography\"] > pre {\n @apply border-border bg-muted/60 overflow-x-auto rounded-xl border p-4 text-sm;\n }\n\n [data-slot=\"typography\"] > .docs-code-block {\n @apply border-border bg-muted/60 relative overflow-hidden rounded-xl border;\n }\n\n [data-slot=\"typography\"] > .docs-code-block > pre,\n [data-slot=\"typography\"] > .docs-code-block > pre.astro-code {\n @apply m-0 rounded-none border-0 !bg-transparent p-4 pr-14 text-sm leading-[var(--text-sm--line-height)];\n font-family: var(--font-mono);\n }\n\n [data-slot=\"typography\"] > .docs-code-block > pre.astro-code code {\n @apply text-sm leading-[var(--text-sm--line-height)] !text-[var(--shiki-light,var(--foreground))];\n }\n\n .dark [data-slot=\"typography\"] > .docs-code-block > pre.astro-code code {\n @apply !text-[var(--shiki-dark,var(--foreground))];\n }\n\n .dark\n [data-slot=\"typography\"]\n > .docs-code-block\n > pre.astro-code\n span[style*=\"--shiki-dark\"] {\n @apply ![font-weight:var(--shiki-dark-font-weight,inherit)] !text-[var(--shiki-dark)] ![font-style:var(--shiki-dark-font-style,inherit)] ![text-decoration:var(--shiki-dark-text-decoration,inherit)];\n }\n\n [data-slot=\"typography\"] > .docs-code-block > .docs-code-copy {\n @apply border-border bg-background text-muted-foreground hover:bg-accent hover:text-accent-foreground absolute top-3 right-3 z-10 inline-flex size-8 items-center justify-center rounded-md border shadow-sm transition-colors;\n }\n\n [data-slot=\"typography\"] > .docs-code-block svg {\n @apply size-4;\n }\n\n [data-slot=\"typography\"] > ul,\n [data-slot=\"typography\"] > ol {\n @apply my-6 ml-6 text-base;\n }\n\n [data-slot=\"typography\"] > ul {\n @apply list-disc;\n }\n\n [data-slot=\"typography\"] > ol {\n @apply list-decimal;\n }\n\n [data-slot=\"typography\"] > ul > li,\n [data-slot=\"typography\"] > ol > li {\n @apply mt-2;\n }\n\n [data-slot=\"typography\"] > [data-slot=\"typography-lead\"] {\n @apply text-muted-foreground;\n }\n\n [data-slot=\"typography\"][data-size=\"sm\"] > [data-slot=\"typography-lead\"] {\n @apply text-base;\n }\n\n [data-slot=\"typography\"] > [data-slot=\"typography-lead\"],\n [data-slot=\"typography\"][data-size=\"default\"]\n > [data-slot=\"typography-lead\"] {\n @apply text-lg;\n }\n\n [data-slot=\"typography\"][data-size=\"lg\"] > [data-slot=\"typography-lead\"] {\n @apply text-xl;\n }\n\n [data-slot=\"typography\"] > small {\n @apply block leading-none font-medium;\n }\n\n [data-slot=\"typography\"] > small {\n @apply text-sm;\n }\n\n [data-slot=\"typography\"] > table {\n @apply border-border my-6 block w-full overflow-x-auto rounded-lg border;\n border-collapse: separate;\n border-spacing: 0;\n }\n\n [data-slot=\"typography\"] > table th,\n [data-slot=\"typography\"] > table td {\n @apply border-border border-b px-4 py-2 text-left align-top whitespace-nowrap;\n }\n\n [data-slot=\"typography\"] > table th {\n @apply text-foreground bg-muted/40 font-medium;\n }\n\n [data-slot=\"typography\"] > table tr:last-child td {\n @apply border-b-0;\n }\n\n [data-slot=\"typography\"] > table thead,\n [data-slot=\"typography\"] > table tbody,\n [data-slot=\"typography\"] > table tr {\n @apply w-full;\n }\n\n [data-slot=\"typography\"] > table tr {\n @apply grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)_minmax(0,1fr)];\n }\n\n [data-slot=\"typography\"] > table tr {\n @apply even:bg-muted/40 m-0 border-t p-0 first:border-t-0;\n }\n\n [data-slot=\"typography\"] > table th {\n @apply border-r px-4 py-2 text-left font-bold last:border-r-0;\n }\n\n [data-slot=\"typography\"] > table th[align=\"center\"] {\n @apply text-center;\n }\n\n [data-slot=\"typography\"] > table th[align=\"right\"] {\n @apply text-right;\n }\n\n [data-slot=\"typography\"] > table td {\n @apply border-r px-4 py-2 text-left last:border-r-0;\n }\n\n [data-slot=\"typography\"] > table td[align=\"center\"] {\n @apply text-center;\n }\n\n [data-slot=\"typography\"] > table td[align=\"right\"] {\n @apply text-right;\n }\n\n [data-slot=\"typography\"] > table tbody tr:last-child td {\n @apply border-b-0;\n }\n\n [data-slot=\"typography\"] :not(pre) > code {\n @apply bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono text-sm font-semibold;\n }\n\n [data-slot=\"typography\"] > table :not(pre) > code {\n @apply rounded-md text-sm leading-5 font-normal;\n }\n\n [data-slot=\"typography\"] > pre.astro-code {\n @apply border-border !bg-muted/60 rounded-xl border p-4 text-sm leading-[var(--text-sm--line-height)];\n }\n\n [data-slot=\"typography\"] > pre.astro-code code {\n @apply !text-inherit;\n }\n\n .dark [data-slot=\"typography\"] > pre.astro-code {\n @apply !text-[var(--shiki-dark,var(--foreground))];\n }\n\n .dark [data-slot=\"typography\"] > pre.astro-code span[style*=\"--shiki-dark\"] {\n @apply ![font-weight:var(--shiki-dark-font-weight,inherit)] !text-[var(--shiki-dark)] ![font-style:var(--shiki-dark-font-style,inherit)] ![text-decoration:var(--shiki-dark-text-decoration,inherit)];\n }\n</style>\n",
8
8
  "type": "registry:ui"
9
9
  },
10
10
  {
11
11
  "path": "src/components/ui/typography/typography-a.astro",
12
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"a\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<a data-slot=\"typography-a\" class={cn(className)} {...props}>\n <slot />\n</a>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-a\"],\n [data-slot=\"typography\"] a:not(.no-typography):not(.no-typography *) {\n @apply text-primary font-medium underline underline-offset-4;\n }\n</style>\n",
12
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"a\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<a data-slot=\"typography-a\" data-size={size} class={cn(className)} {...props}>\n <slot />\n</a>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-a\"],\n [data-slot=\"typography\"] > a:not([data-slot]) {\n @apply text-primary font-medium underline underline-offset-4;\n }\n\n [data-slot=\"typography-a\"][data-size=\"sm\"] {\n @apply text-sm;\n }\n\n [data-slot=\"typography-a\"][data-size=\"default\"] {\n @apply text-base;\n }\n\n [data-slot=\"typography-a\"][data-size=\"lg\"] {\n @apply text-lg;\n }\n</style>\n",
13
13
  "type": "registry:ui"
14
14
  },
15
15
  {
16
16
  "path": "src/components/ui/typography/typography-blockquote.astro",
17
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"blockquote\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<blockquote data-slot=\"typography-blockquote\" class={cn(className)} {...props}>\n <slot />\n</blockquote>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-blockquote\"],\n [data-slot=\"typography\"]\n blockquote:not(.no-typography):not(.no-typography *) {\n @apply border-l-2 pl-6 text-base italic;\n }\n</style>\n",
17
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"blockquote\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<blockquote\n data-slot=\"typography-blockquote\"\n data-size={size}\n class={cn(className)}\n {...props}\n>\n <slot />\n</blockquote>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-blockquote\"],\n [data-slot=\"typography\"] > blockquote {\n @apply mt-6 border-l-2 pl-6 italic;\n }\n\n [data-slot=\"typography-blockquote\"][data-size=\"sm\"] {\n @apply text-sm;\n }\n\n [data-slot=\"typography-blockquote\"][data-size=\"default\"],\n [data-slot=\"typography\"] > blockquote {\n @apply text-base;\n }\n\n [data-slot=\"typography-blockquote\"][data-size=\"lg\"] {\n @apply text-lg;\n }\n</style>\n",
18
18
  "type": "registry:ui"
19
19
  },
20
20
  {
21
21
  "path": "src/components/ui/typography/typography-h1.astro",
22
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"h1\"> & {\n size?: \"sm\" | \"default\" | \"lg\"\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<h1 data-slot=\"typography-h1\" data-size={size} class={cn(className)} {...props}>\n <slot />\n</h1>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-h1\"],\n [data-slot=\"typography\"] h1:not(.no-typography):not(.no-typography *) {\n @apply scroll-m-20 font-semibold tracking-tight text-balance;\n }\n\n [data-slot=\"typography-h1\"][data-size=\"sm\"],\n [data-slot=\"typography\"][data-size=\"sm\"]\n h1:not(.no-typography):not(.no-typography *) {\n @apply text-3xl;\n }\n\n [data-slot=\"typography-h1\"][data-size=\"default\"],\n [data-slot=\"typography\"] h1:not(.no-typography):not(.no-typography *),\n [data-slot=\"typography\"][data-size=\"default\"]\n h1:not(.no-typography):not(.no-typography *) {\n @apply text-4xl;\n }\n\n [data-slot=\"typography-h1\"][data-size=\"lg\"],\n [data-slot=\"typography\"][data-size=\"lg\"]\n h1:not(.no-typography):not(.no-typography *) {\n @apply text-5xl;\n }\n</style>\n",
22
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"h1\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<h1 data-slot=\"typography-h1\" data-size={size} class={cn(className)} {...props}>\n <slot />\n</h1>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-h1\"],\n [data-slot=\"typography\"] > h1 {\n @apply scroll-m-20 font-semibold tracking-tight text-balance;\n }\n\n [data-slot=\"typography-h1\"][data-size=\"sm\"],\n [data-slot=\"typography\"][data-size=\"sm\"] > h1 {\n @apply text-3xl;\n }\n\n [data-slot=\"typography-h1\"][data-size=\"default\"],\n [data-slot=\"typography\"] > h1,\n [data-slot=\"typography\"][data-size=\"default\"] > h1 {\n @apply text-4xl;\n }\n\n [data-slot=\"typography-h1\"][data-size=\"lg\"],\n [data-slot=\"typography\"][data-size=\"lg\"] > h1 {\n @apply text-5xl;\n }\n</style>\n",
23
23
  "type": "registry:ui"
24
24
  },
25
25
  {
26
26
  "path": "src/components/ui/typography/typography-h2.astro",
27
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"h2\"> & {\n size?: \"sm\" | \"default\" | \"lg\"\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<h2 data-slot=\"typography-h2\" data-size={size} class={cn(className)} {...props}>\n <slot />\n</h2>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-h2\"],\n [data-slot=\"typography\"] h2:not(.no-typography):not(.no-typography *) {\n @apply scroll-m-20 font-semibold tracking-tight;\n }\n\n [data-slot=\"typography-h2\"][data-size=\"sm\"],\n [data-slot=\"typography\"][data-size=\"sm\"]\n h2:not(.no-typography):not(.no-typography *) {\n @apply text-2xl;\n }\n\n [data-slot=\"typography-h2\"][data-size=\"default\"],\n [data-slot=\"typography\"] h2:not(.no-typography):not(.no-typography *),\n [data-slot=\"typography\"][data-size=\"default\"]\n h2:not(.no-typography):not(.no-typography *) {\n @apply text-3xl;\n }\n\n [data-slot=\"typography-h2\"][data-size=\"lg\"],\n [data-slot=\"typography\"][data-size=\"lg\"]\n h2:not(.no-typography):not(.no-typography *) {\n @apply text-4xl;\n }\n</style>\n",
27
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"h2\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<h2 data-slot=\"typography-h2\" data-size={size} class={cn(className)} {...props}>\n <slot />\n</h2>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-h2\"],\n [data-slot=\"typography\"] > h2 {\n @apply scroll-m-20 font-semibold tracking-tight;\n }\n\n [data-slot=\"typography-h2\"][data-size=\"sm\"],\n [data-slot=\"typography\"][data-size=\"sm\"] > h2 {\n @apply text-2xl;\n }\n\n [data-slot=\"typography-h2\"][data-size=\"default\"],\n [data-slot=\"typography\"] > h2,\n [data-slot=\"typography\"][data-size=\"default\"] > h2 {\n @apply text-3xl;\n }\n\n [data-slot=\"typography-h2\"][data-size=\"lg\"],\n [data-slot=\"typography\"][data-size=\"lg\"] > h2 {\n @apply text-4xl;\n }\n\n [data-slot=\"typography-h2\"]:first-child,\n [data-slot=\"typography\"] > h2:first-child {\n @apply mt-0;\n }\n</style>\n",
28
28
  "type": "registry:ui"
29
29
  },
30
30
  {
31
31
  "path": "src/components/ui/typography/typography-h3.astro",
32
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"h3\"> & {\n size?: \"sm\" | \"default\" | \"lg\"\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<h3 data-slot=\"typography-h3\" data-size={size} class={cn(className)} {...props}>\n <slot />\n</h3>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-h3\"],\n [data-slot=\"typography\"] h3:not(.no-typography):not(.no-typography *) {\n @apply scroll-m-20 font-semibold tracking-tight;\n }\n\n [data-slot=\"typography-h3\"][data-size=\"sm\"],\n [data-slot=\"typography\"][data-size=\"sm\"]\n h3:not(.no-typography):not(.no-typography *) {\n @apply text-xl;\n }\n\n [data-slot=\"typography-h3\"][data-size=\"default\"],\n [data-slot=\"typography\"] h3:not(.no-typography):not(.no-typography *),\n [data-slot=\"typography\"][data-size=\"default\"]\n h3:not(.no-typography):not(.no-typography *) {\n @apply text-2xl;\n }\n\n [data-slot=\"typography-h3\"][data-size=\"lg\"],\n [data-slot=\"typography\"][data-size=\"lg\"]\n h3:not(.no-typography):not(.no-typography *) {\n @apply text-3xl;\n }\n</style>\n",
32
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"h3\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<h3 data-slot=\"typography-h3\" data-size={size} class={cn(className)} {...props}>\n <slot />\n</h3>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-h3\"],\n [data-slot=\"typography\"] > h3 {\n @apply scroll-m-20 font-semibold tracking-tight;\n }\n\n [data-slot=\"typography-h3\"][data-size=\"sm\"],\n [data-slot=\"typography\"][data-size=\"sm\"] > h3 {\n @apply text-xl;\n }\n\n [data-slot=\"typography-h3\"][data-size=\"default\"],\n [data-slot=\"typography\"] > h3,\n [data-slot=\"typography\"][data-size=\"default\"] > h3 {\n @apply text-2xl;\n }\n\n [data-slot=\"typography-h3\"][data-size=\"lg\"],\n [data-slot=\"typography\"][data-size=\"lg\"] > h3 {\n @apply text-3xl;\n }\n</style>\n",
33
33
  "type": "registry:ui"
34
34
  },
35
35
  {
36
36
  "path": "src/components/ui/typography/typography-h4.astro",
37
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"h4\"> & {\n size?: \"sm\" | \"default\" | \"lg\"\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<h4 data-slot=\"typography-h4\" data-size={size} class={cn(className)} {...props}>\n <slot />\n</h4>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-h4\"],\n [data-slot=\"typography\"] h4:not(.no-typography):not(.no-typography *) {\n @apply scroll-m-20 font-semibold tracking-tight;\n }\n\n [data-slot=\"typography-h4\"][data-size=\"sm\"],\n [data-slot=\"typography\"][data-size=\"sm\"]\n h4:not(.no-typography):not(.no-typography *) {\n @apply text-lg;\n }\n\n [data-slot=\"typography-h4\"][data-size=\"default\"],\n [data-slot=\"typography\"] h4:not(.no-typography):not(.no-typography *),\n [data-slot=\"typography\"][data-size=\"default\"]\n h4:not(.no-typography):not(.no-typography *) {\n @apply text-xl;\n }\n\n [data-slot=\"typography-h4\"][data-size=\"lg\"],\n [data-slot=\"typography\"][data-size=\"lg\"]\n h4:not(.no-typography):not(.no-typography *) {\n @apply text-2xl;\n }\n</style>\n",
37
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"h4\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<h4 data-slot=\"typography-h4\" data-size={size} class={cn(className)} {...props}>\n <slot />\n</h4>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-h4\"],\n [data-slot=\"typography\"] > h4 {\n @apply scroll-m-20 font-semibold tracking-tight;\n }\n\n [data-slot=\"typography-h4\"][data-size=\"sm\"],\n [data-slot=\"typography\"][data-size=\"sm\"] > h4 {\n @apply text-lg;\n }\n\n [data-slot=\"typography-h4\"][data-size=\"default\"],\n [data-slot=\"typography\"] > h4,\n [data-slot=\"typography\"][data-size=\"default\"] > h4 {\n @apply text-xl;\n }\n\n [data-slot=\"typography-h4\"][data-size=\"lg\"],\n [data-slot=\"typography\"][data-size=\"lg\"] > h4 {\n @apply text-2xl;\n }\n</style>\n",
38
38
  "type": "registry:ui"
39
39
  },
40
40
  {
41
41
  "path": "src/components/ui/typography/typography-inline-code.astro",
42
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"code\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<code data-slot=\"typography-inline-code\" class={cn(className)} {...props}>\n <slot />\n</code>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-inline-code\"],\n [data-slot=\"typography\"]\n :not(pre)\n > code:not(.no-typography):not(.no-typography *) {\n @apply bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono text-sm;\n }\n\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n :not(pre)\n > code:not(.no-typography):not(.no-typography *) {\n @apply rounded-md text-sm leading-5;\n }\n</style>\n",
42
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"code\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<code\n data-slot=\"typography-inline-code\"\n data-size={size}\n class={cn(className)}\n {...props}\n>\n <slot />\n</code>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-inline-code\"],\n [data-slot=\"typography\"] :not(pre) > code {\n @apply bg-muted relative rounded px-[0.3rem] py-[0.2rem] font-mono font-semibold;\n }\n\n [data-slot=\"typography-inline-code\"][data-size=\"sm\"] {\n @apply text-xs;\n }\n\n [data-slot=\"typography-inline-code\"][data-size=\"default\"],\n [data-slot=\"typography\"] :not(pre) > code {\n @apply text-sm;\n }\n\n [data-slot=\"typography-inline-code\"][data-size=\"lg\"] {\n @apply text-base;\n }\n\n [data-slot=\"typography\"] > table :not(pre) > code {\n @apply rounded-md text-sm leading-5 font-normal;\n }\n</style>\n",
43
43
  "type": "registry:ui"
44
44
  },
45
45
  {
46
46
  "path": "src/components/ui/typography/typography-lead.astro",
47
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"p\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<p data-slot=\"typography-lead\" class={cn(className)} {...props}>\n <slot />\n</p>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-lead\"] {\n @apply text-muted-foreground text-lg;\n }\n</style>\n",
47
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"p\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<p\n data-slot=\"typography-lead\"\n data-size={size}\n class={cn(className)}\n {...props}\n>\n <slot />\n</p>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-lead\"] {\n @apply text-muted-foreground;\n }\n\n [data-slot=\"typography-lead\"][data-size=\"sm\"],\n [data-slot=\"typography\"][data-size=\"sm\"] > [data-slot=\"typography-lead\"] {\n @apply text-base;\n }\n\n [data-slot=\"typography-lead\"][data-size=\"default\"],\n [data-slot=\"typography\"] > [data-slot=\"typography-lead\"],\n [data-slot=\"typography\"][data-size=\"default\"]\n > [data-slot=\"typography-lead\"] {\n @apply text-lg;\n }\n\n [data-slot=\"typography-lead\"][data-size=\"lg\"],\n [data-slot=\"typography\"][data-size=\"lg\"] > [data-slot=\"typography-lead\"] {\n @apply text-xl;\n }\n</style>\n",
48
48
  "type": "registry:ui"
49
49
  },
50
50
  {
51
51
  "path": "src/components/ui/typography/typography-list.astro",
52
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"ul\"> &\n HTMLAttributes<\"ol\"> & {\n as?: \"ul\" | \"ol\"\n }\n\nconst { as: Tag = \"ul\", class: className, ...props } = Astro.props\n---\n\n<Tag\n data-slot=\"typography-list\"\n data-ordered={Tag === \"ol\" ? \"\" : undefined}\n class={cn(className)}\n {...props}\n>\n <slot />\n</Tag>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-list\"],\n [data-slot=\"typography\"] ul:not(.no-typography):not(.no-typography *),\n [data-slot=\"typography\"] ol:not(.no-typography):not(.no-typography *) {\n @apply ml-6 text-base;\n }\n\n [data-slot=\"typography-list\"]:not([data-ordered]),\n [data-slot=\"typography\"] ul:not(.no-typography):not(.no-typography *) {\n @apply list-disc;\n }\n\n [data-slot=\"typography-list\"][data-ordered],\n [data-slot=\"typography\"] ol:not(.no-typography):not(.no-typography *) {\n @apply list-decimal;\n }\n\n [data-slot=\"typography-list\"] > li {\n @apply mt-2;\n }\n</style>\n",
52
+ "content": "---\nimport type { HTMLTag, Polymorphic } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props<Tag extends \"ul\" | \"ol\"> = Polymorphic<{ as: Tag; size?: Size }>\n\nconst {\n as: Tag = \"ul\",\n class: className,\n size = \"default\",\n ...props\n} = Astro.props\n---\n\n<Tag\n data-slot=\"typography-list\"\n data-size={size}\n data-ordered={Tag === \"ol\" ? \"\" : undefined}\n class={cn(className)}\n {...props}\n>\n <slot />\n</Tag>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-list\"],\n [data-slot=\"typography\"] > ul,\n [data-slot=\"typography\"] > ol {\n @apply my-6 ml-6;\n }\n\n [data-slot=\"typography-list\"][data-size=\"sm\"] {\n @apply text-sm;\n }\n\n [data-slot=\"typography-list\"][data-size=\"default\"],\n [data-slot=\"typography\"] > ul,\n [data-slot=\"typography\"] > ol {\n @apply text-base;\n }\n\n [data-slot=\"typography-list\"][data-size=\"lg\"] {\n @apply text-lg;\n }\n\n [data-slot=\"typography-list\"]:not([data-ordered]),\n [data-slot=\"typography\"] > ul {\n @apply list-disc;\n }\n\n [data-slot=\"typography-list\"][data-ordered],\n [data-slot=\"typography\"] > ol {\n @apply list-decimal;\n }\n\n [data-slot=\"typography-list\"] > li {\n @apply mt-2;\n }\n</style>\n",
53
53
  "type": "registry:ui"
54
54
  },
55
55
  {
56
56
  "path": "src/components/ui/typography/typography-list-item.astro",
57
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"li\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<li data-slot=\"typography-list-item\" class={cn(className)} {...props}>\n <slot />\n</li>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-list-item\"],\n [data-slot=\"typography-list\"] > li,\n [data-slot=\"typography\"]\n ul:not(.no-typography):not(.no-typography *)\n > li:not(.no-typography):not(.no-typography *),\n [data-slot=\"typography\"]\n ol:not(.no-typography):not(.no-typography *)\n > li:not(.no-typography):not(.no-typography *) {\n @apply mt-2;\n }\n</style>\n",
57
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"li\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<li\n data-slot=\"typography-list-item\"\n data-size={size}\n class={cn(className)}\n {...props}\n>\n <slot />\n</li>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-list-item\"],\n [data-slot=\"typography-list\"] > li,\n [data-slot=\"typography\"] > ul > li,\n [data-slot=\"typography\"] > ol > li {\n @apply mt-2;\n }\n\n [data-slot=\"typography-list-item\"][data-size=\"sm\"] {\n @apply text-sm;\n }\n\n [data-slot=\"typography-list-item\"][data-size=\"default\"] {\n @apply text-base;\n }\n\n [data-slot=\"typography-list-item\"][data-size=\"lg\"] {\n @apply text-lg;\n }\n</style>\n",
58
58
  "type": "registry:ui"
59
59
  },
60
60
  {
61
61
  "path": "src/components/ui/typography/typography-p.astro",
62
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"p\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<p data-slot=\"typography-p\" class={cn(className)} {...props}>\n <slot />\n</p>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-p\"],\n [data-slot=\"typography\"]\n p:not([data-slot]):not(.no-typography):not(.no-typography *) {\n @apply text-base leading-7;\n }\n</style>\n",
62
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"p\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<p data-slot=\"typography-p\" data-size={size} class={cn(className)} {...props}>\n <slot />\n</p>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-p\"],\n [data-slot=\"typography\"] > p {\n @apply leading-7;\n }\n\n [data-slot=\"typography-p\"][data-size=\"sm\"] {\n @apply text-sm;\n }\n\n [data-slot=\"typography-p\"][data-size=\"default\"],\n [data-slot=\"typography\"] > p {\n @apply text-base;\n }\n\n [data-slot=\"typography-p\"][data-size=\"lg\"] {\n @apply text-lg;\n }\n\n [data-slot=\"typography-p\"]:not(:first-child),\n [data-slot=\"typography\"] > p:not(:first-child) {\n @apply mt-6;\n }\n</style>\n",
63
63
  "type": "registry:ui"
64
64
  },
65
65
  {
66
66
  "path": "src/components/ui/typography/typography-table.astro",
67
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"table\"> & {\n containerClass?: string\n}\n\nconst { class: className, containerClass, ...props } = Astro.props\n---\n\n<div data-slot=\"typography-table-container\" class={cn(containerClass)}>\n <table data-slot=\"typography-table\" class={cn(className)} {...props}>\n <slot />\n </table>\n</div>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-table-container\"] {\n @apply border-border w-full overflow-x-auto rounded-xl border;\n }\n\n [data-slot=\"typography-table\"],\n [data-slot=\"typography\"] table:not(.no-typography):not(.no-typography *) {\n @apply w-full caption-bottom;\n }\n\n [data-slot=\"typography\"] table:not(.no-typography):not(.no-typography *) {\n @apply border-border overflow-x-auto rounded-xl border;\n border-spacing: 0;\n }\n\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n thead,\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n tbody,\n [data-slot=\"typography\"] table:not(.no-typography):not(.no-typography *) tr {\n @apply w-full;\n }\n\n [data-slot=\"typography-table\"],\n [data-slot=\"typography\"] table:not(.no-typography):not(.no-typography *) {\n @apply text-sm;\n }\n</style>\n",
67
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"table\"> & {\n containerClass?: string\n size?: Size\n}\n\nconst {\n class: className,\n containerClass,\n size = \"default\",\n ...props\n} = Astro.props\n---\n\n<div\n data-slot=\"typography-table-container\"\n data-size={size}\n class={cn(containerClass)}\n>\n <table\n data-slot=\"typography-table\"\n data-size={size}\n class={cn(className)}\n {...props}\n >\n <slot />\n </table>\n</div>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-table-container\"] {\n @apply border-border my-6 w-full overflow-y-auto rounded-xl border;\n }\n\n [data-slot=\"typography-table\"],\n [data-slot=\"typography\"] > table {\n @apply w-full border-collapse;\n }\n\n [data-slot=\"typography-table\"][data-size=\"sm\"] {\n @apply text-sm;\n }\n\n [data-slot=\"typography-table\"][data-size=\"default\"],\n [data-slot=\"typography\"] > table {\n @apply text-base;\n }\n\n [data-slot=\"typography-table\"][data-size=\"lg\"] {\n @apply text-lg;\n }\n</style>\n",
68
68
  "type": "registry:ui"
69
69
  },
70
70
  {
71
71
  "path": "src/components/ui/typography/typography-table-row.astro",
72
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"tr\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<tr data-slot=\"typography-table-row\" class={cn(className)} {...props}>\n <slot />\n</tr>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-table-row\"],\n [data-slot=\"typography-table\"] tr,\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n tr:not(.no-typography):not(.no-typography *) {\n @apply border-b transition-colors;\n }\n\n [data-slot=\"typography-table\"] tbody tr:last-child,\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n tbody\n tr:not(.no-typography):not(.no-typography *):last-child {\n @apply border-b-0;\n }\n</style>\n",
72
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"tr\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<tr\n data-slot=\"typography-table-row\"\n data-size={size}\n class={cn(className)}\n {...props}\n>\n <slot />\n</tr>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-table-row\"],\n [data-slot=\"typography-table\"] tr,\n [data-slot=\"typography\"] > table tr {\n @apply even:bg-muted m-0 border-t p-0;\n }\n\n [data-slot=\"typography-table-row\"][data-size=\"sm\"] {\n @apply text-sm;\n }\n\n [data-slot=\"typography-table-row\"][data-size=\"default\"] {\n @apply text-base;\n }\n\n [data-slot=\"typography-table-row\"][data-size=\"lg\"] {\n @apply text-lg;\n }\n</style>\n",
73
73
  "type": "registry:ui"
74
74
  },
75
75
  {
76
76
  "path": "src/components/ui/typography/typography-table-head.astro",
77
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"th\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<th data-slot=\"typography-table-head\" class={cn(className)} {...props}>\n <slot />\n</th>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-table-head\"],\n [data-slot=\"typography-table\"] th,\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n th:not(.no-typography):not(.no-typography *) {\n @apply text-foreground h-10 px-2 text-left align-middle text-sm font-medium whitespace-nowrap;\n }\n\n [data-slot=\"typography-table-head\"][align=\"center\"],\n [data-slot=\"typography-table\"] th[align=\"center\"],\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n th:not(.no-typography):not(.no-typography *)[align=\"center\"] {\n @apply text-center;\n }\n\n [data-slot=\"typography-table-head\"][align=\"right\"],\n [data-slot=\"typography-table\"] th[align=\"right\"],\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n th:not(.no-typography):not(.no-typography *)[align=\"right\"] {\n @apply text-right;\n }\n</style>\n",
77
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"th\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<th\n data-slot=\"typography-table-head\"\n data-size={size}\n class={cn(className)}\n {...props}\n>\n <slot />\n</th>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-table-head\"],\n [data-slot=\"typography-table\"] th,\n [data-slot=\"typography\"] > table th {\n @apply border-border border-b px-4 py-3 text-left font-semibold;\n }\n\n [data-slot=\"typography-table-head\"][data-size=\"sm\"] {\n @apply text-sm;\n }\n\n [data-slot=\"typography-table-head\"][data-size=\"default\"] {\n @apply text-base;\n }\n\n [data-slot=\"typography-table-head\"][data-size=\"lg\"] {\n @apply text-lg;\n }\n\n [data-slot=\"typography-table-head\"][align=\"center\"],\n [data-slot=\"typography-table\"] th[align=\"center\"],\n [data-slot=\"typography\"] > table th[align=\"center\"] {\n @apply text-center;\n }\n\n [data-slot=\"typography-table-head\"][align=\"right\"],\n [data-slot=\"typography-table\"] th[align=\"right\"],\n [data-slot=\"typography\"] > table th[align=\"right\"] {\n @apply text-right;\n }\n</style>\n",
78
78
  "type": "registry:ui"
79
79
  },
80
80
  {
81
81
  "path": "src/components/ui/typography/typography-table-cell.astro",
82
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = HTMLAttributes<\"td\">\n\nconst { class: className, ...props } = Astro.props\n---\n\n<td data-slot=\"typography-table-cell\" class={cn(className)} {...props}>\n <slot />\n</td>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-table-cell\"],\n [data-slot=\"typography-table\"] td,\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n td:not(.no-typography):not(.no-typography *) {\n @apply p-2 text-left align-middle text-sm whitespace-nowrap;\n }\n\n [data-slot=\"typography-table-cell\"][align=\"center\"],\n [data-slot=\"typography-table\"] td[align=\"center\"],\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n td:not(.no-typography):not(.no-typography *)[align=\"center\"] {\n @apply text-center;\n }\n\n [data-slot=\"typography-table-cell\"][align=\"right\"],\n [data-slot=\"typography-table\"] td[align=\"right\"],\n [data-slot=\"typography\"]\n table:not(.no-typography):not(.no-typography *)\n td:not(.no-typography):not(.no-typography *)[align=\"right\"] {\n @apply text-right;\n }\n</style>\n",
82
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Size = \"sm\" | \"default\" | \"lg\"\ntype Props = HTMLAttributes<\"td\"> & {\n size?: Size\n}\n\nconst { class: className, size = \"default\", ...props } = Astro.props\n---\n\n<td\n data-slot=\"typography-table-cell\"\n data-size={size}\n class={cn(className)}\n {...props}\n>\n <slot />\n</td>\n\n<style is:global>\n @reference \"@/styles/global.css\";\n\n [data-slot=\"typography-table-cell\"],\n [data-slot=\"typography-table\"] td,\n [data-slot=\"typography\"] > table td {\n @apply border-border border-t px-4 py-3 text-left align-middle;\n }\n\n [data-slot=\"typography-table-cell\"][data-size=\"sm\"] {\n @apply text-sm;\n }\n\n [data-slot=\"typography-table-cell\"][data-size=\"default\"] {\n @apply text-base;\n }\n\n [data-slot=\"typography-table-cell\"][data-size=\"lg\"] {\n @apply text-lg;\n }\n\n [data-slot=\"typography-table\"] tbody tr:last-child td,\n [data-slot=\"typography\"] > table tbody tr:last-child td {\n @apply border-b-0;\n }\n\n [data-slot=\"typography-table-cell\"][align=\"center\"],\n [data-slot=\"typography-table\"] td[align=\"center\"],\n [data-slot=\"typography\"] > table td[align=\"center\"] {\n @apply text-center;\n }\n\n [data-slot=\"typography-table-cell\"][align=\"right\"],\n [data-slot=\"typography-table\"] td[align=\"right\"],\n [data-slot=\"typography\"] > table td[align=\"right\"] {\n @apply text-right;\n }\n</style>\n",
83
83
  "type": "registry:ui"
84
84
  },
85
85
  {
@@ -4,7 +4,7 @@
4
4
  "files": [
5
5
  {
6
6
  "path": "src/components/ui/video/video.astro",
7
- "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = Omit<HTMLAttributes<\"iframe\">, \"src\"> & {\n src?: string\n title?: string\n}\n\nconst {\n class: className,\n src,\n title = \"Embedded video\",\n ...props\n} = Astro.props\n\nconst getVideoId = (value?: string) => {\n if (!value) return undefined\n\n try {\n const url = new URL(value)\n const host = url.hostname.replace(/^www\\./, \"\")\n\n if (host === \"youtube.com\" && url.pathname === \"/watch\") {\n return url.searchParams.get(\"v\") ?? undefined\n }\n\n if (host === \"youtube.com\" && url.pathname.startsWith(\"/shorts/\")) {\n return url.pathname.split(\"/\")[2]\n }\n\n if (host === \"youtu.be\") {\n return url.pathname.slice(1)\n }\n } catch {\n return undefined\n }\n}\n\nconst videoId = getVideoId(src)\nconst embedSrc = videoId\n ? `https://www.youtube-nocookie.com/embed/${videoId}`\n : undefined\nconst thumbnailSrc = videoId\n ? `https://i.ytimg.com/vi/${videoId}/hqdefault.jpg`\n : undefined\nconst srcdoc =\n embedSrc && thumbnailSrc\n ? `<style>*{box-sizing:border-box}html,body{height:100%;margin:0}body{display:grid;place-items:center;background:#000;font-family:system-ui,sans-serif}a{position:absolute;inset:0;display:grid;place-items:center;color:white;text-decoration:none}img{width:100%;height:100%;object-fit:cover}span{position:absolute;display:grid;place-items:center;width:4.5rem;height:3.25rem;border-radius:1rem;background:rgb(0 0 0 / .72);box-shadow:0 10px 30px rgb(0 0 0 / .25);transition:background .15s ease}span:before{content:\"\";margin-left:.25rem;border-top:.7rem solid transparent;border-bottom:.7rem solid transparent;border-left:1.1rem solid currentColor}a:hover span{background:#ff0033}</style><a href=\"${embedSrc}?autoplay=1\" aria-label=\"Play video\"><img src=\"${thumbnailSrc}\" alt=\"\" /><span></span></a>`\n : undefined\nconst isShort = src?.includes(\"/shorts/\")\n---\n\n{\n embedSrc && (\n <iframe\n src={embedSrc}\n srcdoc={srcdoc}\n title={title}\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n allowfullscreen\n loading=\"lazy\"\n referrerpolicy=\"strict-origin-when-cross-origin\"\n class={cn(\n \"bg-muted w-full rounded-lg border\",\n isShort ? \"aspect-9/16 max-w-xs\" : \"aspect-video\",\n className\n )}\n {...props}\n />\n )\n}\n",
7
+ "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype Props = Omit<HTMLAttributes<\"div\">, \"src\"> & {\n src?: string\n}\n\nconst { class: className, src, ...props } = Astro.props\n\nconst getEmbedSrc = (value?: string) => {\n if (!value) return undefined\n\n try {\n const url = new URL(value)\n const host = url.hostname.replace(/^www\\./, \"\")\n\n if (host === \"youtube.com\" && url.pathname === \"/watch\") {\n const id = url.searchParams.get(\"v\")\n return id ? `https://www.youtube.com/embed/${id}` : undefined\n }\n\n if (host === \"youtube.com\" && url.pathname.startsWith(\"/shorts/\")) {\n const id = url.pathname.split(\"/\")[2]\n return id ? `https://www.youtube.com/embed/${id}` : undefined\n }\n\n if (host === \"youtu.be\") {\n const id = url.pathname.slice(1)\n return id ? `https://www.youtube.com/embed/${id}` : undefined\n }\n } catch {\n return undefined\n }\n}\n\nconst embedSrc = getEmbedSrc(src)\nconst isShort = src?.includes(\"/shorts/\")\n---\n\n{\n embedSrc && (\n <iframe\n src={embedSrc}\n title=\"Embedded video\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\"\n allowfullscreen\n class={cn(\n \"bg-muted w-full rounded-lg border\",\n isShort ? \"aspect-9/16 max-w-xs\" : \"aspect-video\",\n className\n )}\n {...props}\n />\n )\n}\n",
8
8
  "type": "registry:ui"
9
9
  },
10
10
  {