@rimelight/ui 0.0.4 → 0.0.6

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 (310) hide show
  1. package/package.json +36 -6
  2. package/src/components/BlogPost.astro +181 -0
  3. package/src/components/DynamicShowcase.astro +681 -0
  4. package/src/components/ExtendedCarousel.astro +107 -0
  5. package/src/components/Head.astro +150 -0
  6. package/src/components/LanguageSwitcher.astro +128 -0
  7. package/src/components/ProjectPost.astro +183 -0
  8. package/src/components/RLHead.astro +3 -0
  9. package/src/components/ThemeToggle.astro +30 -42
  10. package/src/components/astro/RLAButton.astro +85 -0
  11. package/src/components/astro/RLAHeader.astro +75 -0
  12. package/src/components/vue/RLVButton.vue +90 -0
  13. package/src/components/vue/RLVHeader.vue +78 -0
  14. package/src/composables/index.ts +1 -0
  15. package/src/composables/useUi.ts +27 -0
  16. package/src/config/index.ts +0 -2
  17. package/src/config/site.config.ts +1 -1
  18. package/src/env.d.ts +9 -42
  19. package/src/integrations/index.ts +2 -0
  20. package/src/integrations/ui.ts +87 -0
  21. package/src/themes/button.theme.ts +361 -0
  22. package/src/themes/header.theme.ts +33 -0
  23. package/src/themes/index.ts +13 -0
  24. package/src/utils/index.ts +3 -2
  25. package/i18n-data.json +0 -186
  26. package/src/components/accordion/Accordion.astro +0 -257
  27. package/src/components/accordion/AccordionContent.astro +0 -34
  28. package/src/components/accordion/AccordionItem.astro +0 -29
  29. package/src/components/accordion/AccordionTrigger.astro +0 -33
  30. package/src/components/alert/Alert.astro +0 -34
  31. package/src/components/alert/AlertDescription.astro +0 -15
  32. package/src/components/alert/AlertTitle.astro +0 -17
  33. package/src/components/alert-dialog/AlertDialog.astro +0 -275
  34. package/src/components/alert-dialog/AlertDialogAction.astro +0 -46
  35. package/src/components/alert-dialog/AlertDialogCancel.astro +0 -46
  36. package/src/components/alert-dialog/AlertDialogContent.astro +0 -52
  37. package/src/components/alert-dialog/AlertDialogDescription.astro +0 -18
  38. package/src/components/alert-dialog/AlertDialogFooter.astro +0 -16
  39. package/src/components/alert-dialog/AlertDialogHeader.astro +0 -14
  40. package/src/components/alert-dialog/AlertDialogTitle.astro +0 -20
  41. package/src/components/alert-dialog/AlertDialogTrigger.astro +0 -47
  42. package/src/components/aspect-ratio/AspectRatio.astro +0 -32
  43. package/src/components/avatar/Avatar.astro +0 -29
  44. package/src/components/avatar/AvatarFallback.astro +0 -18
  45. package/src/components/avatar/AvatarImage.astro +0 -66
  46. package/src/components/badge/Badge.astro +0 -57
  47. package/src/components/breadcrumb/Breadcrumb.astro +0 -12
  48. package/src/components/breadcrumb/BreadcrumbEllipsis.astro +0 -29
  49. package/src/components/breadcrumb/BreadcrumbItem.astro +0 -15
  50. package/src/components/breadcrumb/BreadcrumbLink.astro +0 -24
  51. package/src/components/breadcrumb/BreadcrumbList.astro +0 -17
  52. package/src/components/breadcrumb/BreadcrumbPage.astro +0 -22
  53. package/src/components/breadcrumb/BreadcrumbSeparator.astro +0 -24
  54. package/src/components/button/Button.astro +0 -58
  55. package/src/components/button-group/ButtonGroup.astro +0 -64
  56. package/src/components/button-group/ButtonGroupSeparator.astro +0 -20
  57. package/src/components/button-group/ButtonGroupText.astro +0 -19
  58. package/src/components/card/Card.astro +0 -36
  59. package/src/components/card/CardAction.astro +0 -16
  60. package/src/components/card/CardContent.astro +0 -16
  61. package/src/components/card/CardDescription.astro +0 -16
  62. package/src/components/card/CardFooter.astro +0 -16
  63. package/src/components/card/CardHeader.astro +0 -19
  64. package/src/components/card/CardTitle.astro +0 -16
  65. package/src/components/carousel/Carousel.astro +0 -55
  66. package/src/components/carousel/CarouselContent.astro +0 -26
  67. package/src/components/carousel/CarouselItem.astro +0 -26
  68. package/src/components/carousel/CarouselNext.astro +0 -39
  69. package/src/components/carousel/CarouselPrevious.astro +0 -41
  70. package/src/components/carousel/carousel-script.ts +0 -188
  71. package/src/components/carousel/index.ts +0 -1
  72. package/src/components/checkbox/Checkbox.astro +0 -133
  73. package/src/components/collapsible/Collapsible.astro +0 -161
  74. package/src/components/collapsible/CollapsibleContent.astro +0 -22
  75. package/src/components/collapsible/CollapsibleTrigger.astro +0 -44
  76. package/src/components/dialog/Dialog.astro +0 -389
  77. package/src/components/dialog/DialogClose.astro +0 -35
  78. package/src/components/dialog/DialogContent.astro +0 -78
  79. package/src/components/dialog/DialogDescription.astro +0 -14
  80. package/src/components/dialog/DialogFooter.astro +0 -14
  81. package/src/components/dialog/DialogHeader.astro +0 -14
  82. package/src/components/dialog/DialogTitle.astro +0 -18
  83. package/src/components/dialog/DialogTrigger.astro +0 -47
  84. package/src/components/dropdown/Dropdown.astro +0 -604
  85. package/src/components/dropdown/DropdownContent.astro +0 -118
  86. package/src/components/dropdown/DropdownItem.astro +0 -48
  87. package/src/components/dropdown/DropdownLabel.astro +0 -29
  88. package/src/components/dropdown/DropdownSeparator.astro +0 -21
  89. package/src/components/dropdown/DropdownShortcut.astro +0 -17
  90. package/src/components/dropdown/DropdownSub.astro +0 -15
  91. package/src/components/dropdown/DropdownSubContent.astro +0 -39
  92. package/src/components/dropdown/DropdownSubTrigger.astro +0 -34
  93. package/src/components/dropdown/DropdownTrigger.astro +0 -52
  94. package/src/components/dropzone/Dropzone.astro +0 -236
  95. package/src/components/dropzone/DropzoneFilesList.astro +0 -26
  96. package/src/components/dropzone/DropzoneLoadingIndicator.astro +0 -10
  97. package/src/components/dropzone/DropzoneUploadIndicator.astro +0 -10
  98. package/src/components/embeds/YoutubeEmbed.astro +0 -94
  99. package/src/components/hero/Hero.astro +0 -166
  100. package/src/components/icons/Flag.astro +0 -62
  101. package/src/components/image/ExtendedImage.astro +0 -46
  102. package/src/components/image/Image.astro +0 -25
  103. package/src/components/input/Input.astro +0 -27
  104. package/src/components/input-group/InputGroup.astro +0 -28
  105. package/src/components/input-group/InputGroupAddon.astro +0 -76
  106. package/src/components/input-group/InputGroupButton.astro +0 -36
  107. package/src/components/input-group/InputGroupInput.astro +0 -18
  108. package/src/components/input-group/InputGroupText.astro +0 -17
  109. package/src/components/input-group/InputGroupTextarea.astro +0 -22
  110. package/src/components/input-otp/InputOtp.astro +0 -352
  111. package/src/components/input-otp/InputOtpGroup.astro +0 -16
  112. package/src/components/input-otp/InputOtpSeparator.astro +0 -25
  113. package/src/components/input-otp/InputOtpSlot.astro +0 -50
  114. package/src/components/input-otp/InputOtpTypes.ts +0 -6
  115. package/src/components/item/Item.astro +0 -52
  116. package/src/components/item/ItemActions.astro +0 -16
  117. package/src/components/item/ItemContent.astro +0 -16
  118. package/src/components/item/ItemDescription.astro +0 -19
  119. package/src/components/item/ItemFooter.astro +0 -16
  120. package/src/components/item/ItemGroup.astro +0 -16
  121. package/src/components/item/ItemHeader.astro +0 -16
  122. package/src/components/item/ItemMedia.astro +0 -40
  123. package/src/components/item/ItemSeparator.astro +0 -23
  124. package/src/components/item/ItemTitle.astro +0 -16
  125. package/src/components/kbd/Kbd.astro +0 -21
  126. package/src/components/kbd/KbdGroup.astro +0 -16
  127. package/src/components/label/Label.astro +0 -24
  128. package/src/components/marquee/Marquee.astro +0 -73
  129. package/src/components/native-select/NativeSelect.astro +0 -68
  130. package/src/components/native-select/NativeSelectOptGroup.astro +0 -15
  131. package/src/components/native-select/NativeSelectOption.astro +0 -15
  132. package/src/components/pagination/Pagination.astro +0 -20
  133. package/src/components/pagination/PaginationContent.astro +0 -16
  134. package/src/components/pagination/PaginationEllipsis.astro +0 -37
  135. package/src/components/pagination/PaginationItem.astro +0 -16
  136. package/src/components/pagination/PaginationLink.astro +0 -27
  137. package/src/components/pagination/PaginationNext.astro +0 -33
  138. package/src/components/pagination/PaginationPrevious.astro +0 -33
  139. package/src/components/popover/Popover.astro +0 -717
  140. package/src/components/popover/PopoverContent.astro +0 -102
  141. package/src/components/popover/PopoverDescription.astro +0 -14
  142. package/src/components/popover/PopoverHeader.astro +0 -14
  143. package/src/components/popover/PopoverTitle.astro +0 -14
  144. package/src/components/popover/PopoverTrigger.astro +0 -51
  145. package/src/components/progress/Progress.astro +0 -154
  146. package/src/components/prose/Prose.astro +0 -619
  147. package/src/components/radio-group/RadioGroup.astro +0 -162
  148. package/src/components/radio-group/RadioGroupItem.astro +0 -133
  149. package/src/components/radio-group/RadioGroupTypes.ts +0 -6
  150. package/src/components/section/Section.astro +0 -167
  151. package/src/components/select/Select.astro +0 -752
  152. package/src/components/select/SelectContent.astro +0 -94
  153. package/src/components/select/SelectGroup.astro +0 -9
  154. package/src/components/select/SelectItem.astro +0 -51
  155. package/src/components/select/SelectLabel.astro +0 -14
  156. package/src/components/select/SelectSearch.astro +0 -49
  157. package/src/components/select/SelectSeparator.astro +0 -12
  158. package/src/components/select/SelectTrigger.astro +0 -56
  159. package/src/components/select/SelectTypes.ts +0 -13
  160. package/src/components/select/SelectValue.astro +0 -19
  161. package/src/components/separator/Separator.astro +0 -36
  162. package/src/components/sheet/Sheet.astro +0 -15
  163. package/src/components/sheet/SheetClose.astro +0 -15
  164. package/src/components/sheet/SheetContent.astro +0 -89
  165. package/src/components/sheet/SheetDescription.astro +0 -16
  166. package/src/components/sheet/SheetFooter.astro +0 -16
  167. package/src/components/sheet/SheetHeader.astro +0 -16
  168. package/src/components/sheet/SheetTitle.astro +0 -16
  169. package/src/components/sheet/SheetTrigger.astro +0 -15
  170. package/src/components/sidebar/Sidebar.astro +0 -231
  171. package/src/components/sidebar/SidebarContent.astro +0 -25
  172. package/src/components/sidebar/SidebarFooter.astro +0 -22
  173. package/src/components/sidebar/SidebarGroup.astro +0 -22
  174. package/src/components/sidebar/SidebarGroupContent.astro +0 -22
  175. package/src/components/sidebar/SidebarGroupLabel.astro +0 -53
  176. package/src/components/sidebar/SidebarHeader.astro +0 -22
  177. package/src/components/sidebar/SidebarInput.astro +0 -24
  178. package/src/components/sidebar/SidebarInset.astro +0 -22
  179. package/src/components/sidebar/SidebarMenu.astro +0 -22
  180. package/src/components/sidebar/SidebarMenuAction.astro +0 -63
  181. package/src/components/sidebar/SidebarMenuBadge.astro +0 -31
  182. package/src/components/sidebar/SidebarMenuButton.astro +0 -124
  183. package/src/components/sidebar/SidebarMenuItem.astro +0 -22
  184. package/src/components/sidebar/SidebarMenuSkeleton.astro +0 -43
  185. package/src/components/sidebar/SidebarMenuSub.astro +0 -25
  186. package/src/components/sidebar/SidebarMenuSubButton.astro +0 -52
  187. package/src/components/sidebar/SidebarMenuSubItem.astro +0 -17
  188. package/src/components/sidebar/SidebarProvider.astro +0 -215
  189. package/src/components/sidebar/SidebarRail.astro +0 -72
  190. package/src/components/sidebar/SidebarSeparator.astro +0 -25
  191. package/src/components/sidebar/SidebarTrigger.astro +0 -69
  192. package/src/components/skeleton/Skeleton.astro +0 -14
  193. package/src/components/slider/Slider.astro +0 -425
  194. package/src/components/spinner/Spinner.astro +0 -23
  195. package/src/components/switch/Switch.astro +0 -192
  196. package/src/components/switch/SwitchTypes.ts +0 -6
  197. package/src/components/table/Table.astro +0 -20
  198. package/src/components/table/TableBody.astro +0 -18
  199. package/src/components/table/TableCaption.astro +0 -18
  200. package/src/components/table/TableCell.astro +0 -18
  201. package/src/components/table/TableFoot.astro +0 -18
  202. package/src/components/table/TableHead.astro +0 -18
  203. package/src/components/table/TableHeader.astro +0 -18
  204. package/src/components/table/TableRow.astro +0 -17
  205. package/src/components/tabs/Tabs.astro +0 -270
  206. package/src/components/tabs/TabsContent.astro +0 -28
  207. package/src/components/tabs/TabsList.astro +0 -23
  208. package/src/components/tabs/TabsTrigger.astro +0 -34
  209. package/src/components/textarea/Textarea.astro +0 -31
  210. package/src/components/toast/ToastDescription.astro +0 -22
  211. package/src/components/toast/ToastItem.astro +0 -56
  212. package/src/components/toast/ToastTemplate.astro +0 -27
  213. package/src/components/toast/ToastTitle.astro +0 -59
  214. package/src/components/toast/Toaster.astro +0 -981
  215. package/src/components/toast/index.ts +0 -1
  216. package/src/components/toast/toast-manager.ts +0 -234
  217. package/src/components/toggle/Toggle.astro +0 -174
  218. package/src/components/toggle/ToggleTypes.ts +0 -14
  219. package/src/components/tooltip/Tooltip.astro +0 -422
  220. package/src/components/tooltip/TooltipContent.astro +0 -83
  221. package/src/components/tooltip/TooltipTrigger.astro +0 -13
  222. package/src/components/video/Video.astro +0 -121
  223. package/src/config/cookies.ts +0 -5
  224. package/src/config/links.ts +0 -4
  225. package/src/domain/cms/index.ts +0 -1
  226. package/src/domain/cms/types.ts +0 -20
  227. package/src/domain/i18n/constants.ts +0 -21
  228. package/src/domain/i18n/cookie-storage.ts +0 -13
  229. package/src/domain/i18n/country-to-locale-map.ts +0 -67
  230. package/src/domain/i18n/fallbacks.generated.ts +0 -230
  231. package/src/domain/i18n/fetcher.ts +0 -278
  232. package/src/domain/i18n/flags.ts +0 -16
  233. package/src/domain/i18n/format.ts +0 -90
  234. package/src/domain/i18n/index.ts +0 -10
  235. package/src/domain/i18n/middleware/i18n.ts +0 -161
  236. package/src/domain/i18n/resolve-locale.ts +0 -55
  237. package/src/domain/i18n/runtime-constants.ts +0 -14
  238. package/src/domain/i18n/schema.ts +0 -29
  239. package/src/domain/index.ts +0 -4
  240. package/src/domain/seo/constants.ts +0 -6
  241. package/src/domain/seo/index.ts +0 -3
  242. package/src/domain/seo/services/index.ts +0 -3
  243. package/src/domain/seo/services/llms.ts +0 -56
  244. package/src/domain/seo/services/robots.ts +0 -12
  245. package/src/domain/seo/services/sitemap.ts +0 -56
  246. package/src/domain/seo/utils.ts +0 -36
  247. package/src/domain/theme/constants.ts +0 -6
  248. package/src/domain/theme/index.ts +0 -2
  249. package/src/domain/theme/schema.ts +0 -10
  250. package/src/i18n.generated.d.ts +0 -202
  251. package/src/lib/component-preview.ts +0 -73
  252. package/src/lib/index.ts +0 -6
  253. package/src/lib/remark/remark-modified-time.ts +0 -13
  254. package/src/lib/showcase-preview-elements.ts +0 -408
  255. package/src/lib/showcase-renderer.ts +0 -218
  256. package/src/lib/showcase-utils.ts +0 -189
  257. package/src/lib/turnstile.ts +0 -35
  258. package/src/lib/utils/starwind/positioning.ts +0 -318
  259. package/src/locales/de/blog.json +0 -9
  260. package/src/locales/de/common.json +0 -19
  261. package/src/locales/de/errors.json +0 -6
  262. package/src/locales/de/home.json +0 -20
  263. package/src/locales/de/messages.json +0 -8
  264. package/src/locales/de/nav.json +0 -13
  265. package/src/locales/de/projects.json +0 -9
  266. package/src/locales/de/services.json +0 -43
  267. package/src/locales/en/blog.json +0 -9
  268. package/src/locales/en/chat.json +0 -29
  269. package/src/locales/en/common.json +0 -19
  270. package/src/locales/en/cookie_notice.json +0 -11
  271. package/src/locales/en/editor.json +0 -24
  272. package/src/locales/en/errors.json +0 -6
  273. package/src/locales/en/home.json +0 -20
  274. package/src/locales/en/messages.json +0 -8
  275. package/src/locales/en/nav.json +0 -13
  276. package/src/locales/en/projects.json +0 -9
  277. package/src/locales/en/services.json +0 -43
  278. package/src/locales/es/blog.json +0 -9
  279. package/src/locales/es/common.json +0 -19
  280. package/src/locales/es/errors.json +0 -6
  281. package/src/locales/es/home.json +0 -20
  282. package/src/locales/es/messages.json +0 -8
  283. package/src/locales/es/nav.json +0 -13
  284. package/src/locales/es/projects.json +0 -9
  285. package/src/locales/es/services.json +0 -43
  286. package/src/locales/ja/blog.json +0 -9
  287. package/src/locales/ja/common.json +0 -19
  288. package/src/locales/ja/errors.json +0 -6
  289. package/src/locales/ja/home.json +0 -20
  290. package/src/locales/ja/messages.json +0 -8
  291. package/src/locales/ja/nav.json +0 -13
  292. package/src/locales/ja/projects.json +0 -9
  293. package/src/locales/ja/services.json +0 -43
  294. package/src/locales/pt/blog.json +0 -9
  295. package/src/locales/pt/chat.json +0 -29
  296. package/src/locales/pt/common.json +0 -19
  297. package/src/locales/pt/cookie_notice.json +0 -11
  298. package/src/locales/pt/editor.json +0 -24
  299. package/src/locales/pt/errors.json +0 -6
  300. package/src/locales/pt/home.json +0 -20
  301. package/src/locales/pt/messages.json +0 -8
  302. package/src/locales/pt/nav.json +0 -13
  303. package/src/locales/pt/projects.json +0 -9
  304. package/src/locales/pt/services.json +0 -43
  305. package/src/utils/server/cookies.ts +0 -98
  306. package/src/utils/server/index.ts +0 -1
  307. package/src/utils/shared/index.ts +0 -3
  308. /package/src/utils/{shared/deep-merge.ts → deep-merge.ts} +0 -0
  309. /package/src/utils/{shared/embed.ts → embed.ts} +0 -0
  310. /package/src/utils/{shared/parse-boolean.ts → parse-boolean.ts} +0 -0
@@ -1,619 +0,0 @@
1
- ---
2
- import type { HTMLAttributes } from "astro/types";
3
- import { cv } from "css-variants";
4
-
5
- export const prose = cv({
6
- base: "sw-prose max-w-[65ch]",
7
- });
8
-
9
- type Props = HTMLAttributes<"div">;
10
-
11
- const { class: className, ...rest } = Astro.props;
12
- ---
13
-
14
- <div class:list={[prose(), className]} {...rest} data-slot="prose">
15
- <slot />
16
- </div>
17
-
18
- <style is:global>
19
- /* ==========================================================================
20
- * Starwind Prose - Typography styles for markdown content
21
- * Inspired by Tailwind Typography and Astro Starlight
22
- * ========================================================================== */
23
-
24
- /* **************************************************************************
25
- * CSS Custom Properties
26
- *
27
- * Sizing is em-based, so it scales with the inherited font-size.
28
- * Control overall size via Tailwind text utilities: text-sm md:text-base
29
- *
30
- * Override specific values using CSS variables (supports responsive):
31
- * class="[--prose-spacing:1.5em] md:[--prose-spacing:1.25em]"
32
- *
33
- * Or set on a parent element:
34
- * <div style="--prose-h1-size: 3em;"><Prose>...</Prose></div>
35
- * ************************************************************************** */
36
-
37
- .sw-prose {
38
- /* ===================
39
- * Typography & Spacing
40
- * =================== */
41
- --sw-prose-line-height: var(--prose-line-height, 1.6);
42
- --sw-prose-spacing: var(--prose-spacing, 1.25em);
43
- --sw-prose-heading-spacing: var(--prose-heading-spacing, 1.5em);
44
- --sw-prose-code-size: var(--prose-code-size, 0.875em);
45
- --sw-prose-list-indent: var(--prose-list-indent, 1.625em);
46
-
47
- /* ===================
48
- * Colors
49
- * =================== */
50
- --sw-prose-color: var(--prose-color, --alpha(var(--color-foreground) / 80%));
51
- --sw-prose-heading-color: var(--prose-heading-color, var(--color-foreground));
52
- --sw-prose-list-marker-color: var(--prose-list-marker-color, var(--color-muted-foreground));
53
-
54
- /* ===================
55
- * Headings
56
- * =================== */
57
- --sw-prose-heading-font: var(--prose-heading-font, var(--font-heading, inherit));
58
- --sw-prose-heading-weight: var(--prose-heading-weight, 600);
59
- --sw-prose-heading-line-height: var(--prose-heading-line-height, 1.25);
60
- --sw-prose-h1-size: var(--prose-h1-size, 2.25em);
61
- --sw-prose-h1-weight: var(--prose-h1-weight, var(--sw-prose-heading-weight));
62
- --sw-prose-h2-size: var(--prose-h2-size, 1.5em);
63
- --sw-prose-h2-weight: var(--prose-h2-weight, var(--sw-prose-heading-weight));
64
- --sw-prose-h3-size: var(--prose-h3-size, 1.25em);
65
- --sw-prose-h3-weight: var(--prose-h3-weight, var(--sw-prose-heading-weight));
66
- --sw-prose-h4-size: var(--prose-h4-size, 1em);
67
- --sw-prose-h4-weight: var(--prose-h4-weight, var(--sw-prose-heading-weight));
68
-
69
- /* ===================
70
- * Links
71
- * =================== */
72
- --sw-prose-link-color: var(--prose-link-color, var(--color-foreground));
73
- --sw-prose-link-decoration-color: var(
74
- --prose-link-decoration-color,
75
- var(--color-primary-accent)
76
- );
77
- --sw-prose-link-hover-color: var(--prose-link-hover-color, var(--color-primary-accent));
78
-
79
- /* ===================
80
- * Strong/Bold
81
- * =================== */
82
- --sw-prose-strong-color: var(--prose-strong-color, var(--color-foreground));
83
- --sw-prose-strong-weight: var(--prose-strong-weight, 600);
84
-
85
- /* ===================
86
- * Blockquote
87
- * =================== */
88
- --sw-prose-blockquote-color: var(--prose-blockquote-color, var(--color-foreground));
89
- --sw-prose-blockquote-border-color: var(--prose-blockquote-border-color, var(--color-border));
90
- --sw-prose-blockquote-border-width: var(--prose-blockquote-border-width, 4px);
91
-
92
- /* ===================
93
- * Inline Code
94
- * =================== */
95
- --sw-prose-code-bg: var(--prose-code-bg, var(--color-muted));
96
- --sw-prose-code-color: var(--prose-code-color, var(--color-foreground));
97
- --sw-prose-code-weight: var(--prose-code-weight, 500);
98
- --sw-prose-code-radius: var(--prose-code-radius, var(--radius-sm));
99
-
100
- /* ===================
101
- * Pre / Code Blocks
102
- * =================== */
103
- --sw-prose-pre-border-color: var(--prose-pre-border-color, var(--color-border));
104
- --sw-prose-pre-border-radius: var(--prose-pre-border-radius, var(--radius-md));
105
-
106
- /* ===================
107
- * Tables
108
- * =================== */
109
- --sw-prose-table-heading-color: var(--prose-table-heading-color, var(--color-foreground));
110
- --sw-prose-table-border-color: var(--prose-table-border-color, var(--color-border));
111
-
112
- /* ===================
113
- * Media (images, video, etc.)
114
- * =================== */
115
- --sw-prose-media-border-width: var(--prose-media-border-width, 0px);
116
- --sw-prose-media-border-color: var(--prose-media-border-color, var(--color-border));
117
- --sw-prose-media-border-radius: var(--prose-media-border-radius, 0);
118
-
119
- /* ===================
120
- * Mark/Highlight
121
- * =================== */
122
- --sw-prose-highlight-color: var(--prose-highlight-color, var(--color-foreground));
123
- --sw-prose-highlight-bg-color: var(
124
- --prose-highlight-bg-color,
125
- --alpha(var(--color-warning) / 30%)
126
- );
127
-
128
- /* ===================
129
- * Base styles
130
- * =================== */
131
- line-height: var(--sw-prose-line-height);
132
- color: var(--sw-prose-color);
133
- }
134
-
135
- /* Vertical rhythm - spacing between block elements */
136
- .sw-prose
137
- :not(a, strong, em, del, span, input, code, br, kbd)
138
- + :not(a, strong, em, del, span, input, code, br, kbd, :where(.not-sw-prose *)) {
139
- margin-top: var(--sw-prose-spacing);
140
- }
141
-
142
- /* Headings after non-headings have more spacing */
143
- .sw-prose
144
- :not(h1, h2, h3, h4, h5, h6)
145
- + :is(h1, h2, h3, h4, h5, h6):not(:where(.not-sw-prose *)) {
146
- margin-top: var(--sw-prose-heading-spacing);
147
- }
148
-
149
- /* First/last child margin reset */
150
- .sw-prose > :first-child:not(:where(.not-sw-prose *)) {
151
- margin-top: 0;
152
- }
153
- .sw-prose > :last-child:not(:where(.not-sw-prose *)) {
154
- margin-bottom: 0;
155
- }
156
-
157
- /* **************************************************************************
158
- * Headings
159
- * ************************************************************************** */
160
-
161
- .sw-prose :is(h1, h2, h3, h4, h5, h6):not(:where(.not-sw-prose *)) {
162
- color: var(--sw-prose-heading-color);
163
- font-family: var(--sw-prose-heading-font);
164
- font-weight: var(--sw-prose-heading-weight);
165
- line-height: var(--sw-prose-heading-line-height);
166
- }
167
-
168
- .sw-prose h1:not(:where(.not-sw-prose *)) {
169
- font-size: var(--sw-prose-h1-size);
170
- font-weight: var(--sw-prose-h1-weight);
171
- margin-bottom: 0.889em;
172
- }
173
-
174
- .sw-prose h2:not(:where(.not-sw-prose *)) {
175
- font-size: var(--sw-prose-h2-size);
176
- font-weight: var(--sw-prose-h2-weight);
177
- margin-bottom: 0.667em;
178
- }
179
-
180
- .sw-prose h3:not(:where(.not-sw-prose *)) {
181
- font-size: var(--sw-prose-h3-size);
182
- font-weight: var(--sw-prose-h3-weight);
183
- margin-bottom: 0.6em;
184
- }
185
-
186
- .sw-prose h4:not(:where(.not-sw-prose *)) {
187
- font-size: var(--sw-prose-h4-size);
188
- font-weight: var(--sw-prose-h4-weight);
189
- margin-bottom: 0.5em;
190
- }
191
-
192
- .sw-prose h5:not(:where(.not-sw-prose *)),
193
- .sw-prose h6:not(:where(.not-sw-prose *)) {
194
- font-size: inherit;
195
- font-weight: var(--sw-prose-heading-weight);
196
- margin-bottom: 0.5em;
197
- }
198
-
199
- /* Reset margin-top after headings */
200
- .sw-prose :is(h1, h2, h3, h4, h5, h6) + *:not(:where(.not-sw-prose *)) {
201
- margin-top: 0;
202
- }
203
-
204
- /* **************************************************************************
205
- * Paragraphs
206
- * ************************************************************************** */
207
-
208
- .sw-prose p:not(:where(.not-sw-prose *)) {
209
- margin-top: var(--sw-prose-spacing);
210
- margin-bottom: var(--sw-prose-spacing);
211
- }
212
-
213
- /* **************************************************************************
214
- * Links
215
- * ************************************************************************** */
216
-
217
- .sw-prose a:not(:where(.not-sw-prose *)) {
218
- color: var(--sw-prose-link-color);
219
- text-decoration: underline;
220
- text-decoration-color: var(--sw-prose-link-decoration-color);
221
- text-underline-offset: 0.15em;
222
- font-weight: 500;
223
- transition-property: color;
224
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
225
- transition-duration: var(--tw-duration, var(--default-transition-duration));
226
- }
227
-
228
- .sw-prose a:hover:not(:where(.not-sw-prose *)) {
229
- color: var(--sw-prose-link-hover-color);
230
- }
231
-
232
- /* **************************************************************************
233
- * Strong, Bold, Emphasis
234
- * ************************************************************************** */
235
-
236
- .sw-prose strong:not(:where(.not-sw-prose *)) {
237
- color: var(--sw-prose-strong-color);
238
- font-weight: var(--sw-prose-strong-weight);
239
- }
240
-
241
- .sw-prose :is(a, blockquote, thead th) strong:not(:where(.not-sw-prose *)) {
242
- color: inherit;
243
- }
244
-
245
- /* **************************************************************************
246
- * Lists
247
- * ************************************************************************** */
248
-
249
- .sw-prose :is(ul, ol):not(:where(.not-sw-prose *)) {
250
- padding-inline-start: var(--sw-prose-list-indent);
251
- margin-top: var(--sw-prose-spacing);
252
- margin-bottom: var(--sw-prose-spacing);
253
- }
254
-
255
- .sw-prose ul:not(:where(.not-sw-prose *)) {
256
- list-style-type: disc;
257
- }
258
-
259
- .sw-prose ol:not(:where(.not-sw-prose *)) {
260
- list-style-type: decimal;
261
- }
262
-
263
- .sw-prose li:not(:where(.not-sw-prose *)) {
264
- margin-top: 0.5em;
265
- margin-bottom: 0.5em;
266
- padding-inline-start: 0.375em;
267
- overflow-wrap: anywhere;
268
- }
269
-
270
- .sw-prose li + li:not(:where(.not-sw-prose *)) {
271
- margin-top: 0.25rem;
272
- }
273
-
274
- .sw-prose :is(ul, ol) :is(ul, ol):not(:where(.not-sw-prose *)) {
275
- margin-top: 0.75em;
276
- margin-bottom: 0.75em;
277
- }
278
-
279
- .sw-prose ol > li:not(:where(.not-sw-prose *))::marker {
280
- font-weight: 400;
281
- color: var(--sw-prose-list-marker-color);
282
- }
283
-
284
- .sw-prose ul > li:not(:where(.not-sw-prose *))::marker {
285
- color: var(--sw-prose-list-marker-color);
286
- }
287
-
288
- /* Definition lists */
289
- .sw-prose dl:not(:where(.not-sw-prose *)) {
290
- margin-top: var(--sw-prose-spacing);
291
- margin-bottom: var(--sw-prose-spacing);
292
- }
293
-
294
- .sw-prose dt:not(:where(.not-sw-prose *)) {
295
- color: var(--color-foreground);
296
- font-weight: 600;
297
- margin-top: var(--sw-prose-spacing);
298
- opacity: 1;
299
- }
300
-
301
- .sw-prose dd:not(:where(.not-sw-prose *)) {
302
- margin-top: 0.25rem;
303
- padding-inline-start: var(--sw-prose-list-indent);
304
- }
305
-
306
- .sw-prose dt + dt:not(:where(.not-sw-prose *)),
307
- .sw-prose dt + dd:not(:where(.not-sw-prose *)),
308
- .sw-prose dd + dd:not(:where(.not-sw-prose *)) {
309
- margin-top: 0.25rem;
310
- }
311
-
312
- /* **************************************************************************
313
- * Blockquotes
314
- * ************************************************************************** */
315
-
316
- .sw-prose blockquote:not(:where(.not-sw-prose *)) {
317
- font-style: italic;
318
- color: var(--sw-prose-blockquote-color);
319
- border-inline-start: var(--sw-prose-blockquote-border-width) solid
320
- var(--sw-prose-blockquote-border-color);
321
- padding-inline-start: 1rem;
322
- margin-top: var(--sw-prose-spacing);
323
- margin-bottom: var(--sw-prose-spacing);
324
- }
325
-
326
- .sw-prose blockquote p:first-of-type:not(:where(.not-sw-prose *))::before {
327
- content: open-quote;
328
- }
329
-
330
- .sw-prose blockquote p:last-of-type:not(:where(.not-sw-prose *))::after {
331
- content: close-quote;
332
- }
333
-
334
- /* **************************************************************************
335
- * Code (inline)
336
- * ************************************************************************** */
337
-
338
- .sw-prose code:not(:where(.not-sw-prose *)) {
339
- background-color: var(--sw-prose-code-bg);
340
- color: var(--sw-prose-code-color);
341
- font-size: var(--sw-prose-code-size);
342
- font-weight: var(--sw-prose-code-weight);
343
- /* padding: 0.125rem 0.375rem; */
344
- padding: calc(var(--spacing) / 2) calc(var(--spacing) * 1.25);
345
- border-radius: var(--sw-prose-code-radius);
346
- }
347
-
348
- .sw-prose :is(h1, h2, h3, h4, h5, h6) code:not(:where(.not-sw-prose *)) {
349
- font-size: inherit;
350
- }
351
-
352
- .sw-prose a code:not(:where(.not-sw-prose *)) {
353
- color: inherit;
354
- }
355
-
356
- /* **************************************************************************
357
- * Pre / Code blocks
358
- * ************************************************************************** */
359
-
360
- .sw-prose pre:not(:where(.not-sw-prose *)) {
361
- border: 1px solid var(--sw-prose-pre-border-color);
362
- border-radius: var(--sw-prose-pre-border-radius);
363
- padding: 0.75rem 1rem;
364
- font-size: var(--sw-prose-code-size);
365
- line-height: 1.714;
366
- overflow-x: auto;
367
- tab-size: 2;
368
- margin-top: var(--sw-prose-spacing);
369
- margin-bottom: var(--sw-prose-spacing);
370
- }
371
-
372
- .sw-prose pre code:not(:where(.not-sw-prose *)) {
373
- all: unset;
374
- font-family: var(--font-mono);
375
- }
376
-
377
- /* **************************************************************************
378
- * Horizontal Rules
379
- * ************************************************************************** */
380
-
381
- .sw-prose hr:not(:where(.not-sw-prose *)) {
382
- border: 0;
383
- border-top: 1px solid var(--color-border);
384
- margin-top: 3em;
385
- margin-bottom: 3em;
386
- }
387
-
388
- .sw-prose hr + *:not(:where(.not-sw-prose *)) {
389
- margin-top: 0;
390
- }
391
-
392
- /* **************************************************************************
393
- * Images and Media
394
- * ************************************************************************** */
395
-
396
- .sw-prose :is(img, picture, video, canvas, svg, iframe):not(:where(.not-sw-prose *)) {
397
- display: block;
398
- max-width: 100%;
399
- height: auto;
400
- border: var(--sw-prose-media-border-width) solid var(--sw-prose-media-border-color);
401
- border-radius: var(--sw-prose-media-border-radius);
402
- margin-top: var(--sw-prose-spacing);
403
- margin-bottom: var(--sw-prose-spacing);
404
- }
405
-
406
- .sw-prose picture > img:not(:where(.not-sw-prose *)) {
407
- margin-top: 0;
408
- margin-bottom: 0;
409
- }
410
-
411
- /* **************************************************************************
412
- * Figures and Captions
413
- * ************************************************************************** */
414
-
415
- .sw-prose figure:not(:where(.not-sw-prose *)) {
416
- margin-top: var(--sw-prose-spacing);
417
- margin-bottom: var(--sw-prose-spacing);
418
- }
419
-
420
- .sw-prose figure > *:not(:where(.not-sw-prose *)) {
421
- margin-top: 0;
422
- margin-bottom: 0;
423
- }
424
-
425
- .sw-prose figcaption:not(:where(.not-sw-prose *)) {
426
- color: var(--color-muted-foreground);
427
- font-size: var(--sw-prose-code-size);
428
- margin-top: 0.857em;
429
- }
430
-
431
- /* **************************************************************************
432
- * Tables
433
- * ************************************************************************** */
434
-
435
- .sw-prose table:not(:where(.not-sw-prose *)) {
436
- width: 100%;
437
- table-layout: auto;
438
- margin-top: var(--sw-prose-spacing);
439
- margin-bottom: var(--sw-prose-spacing);
440
- font-size: var(--sw-prose-code-size);
441
- line-height: 1.714;
442
- }
443
-
444
- .sw-prose thead:not(:where(.not-sw-prose *)) {
445
- border-bottom: 1px solid var(--sw-prose-table-border-color);
446
- }
447
-
448
- .sw-prose thead th:not(:where(.not-sw-prose *)) {
449
- color: var(--sw-prose-table-heading-color);
450
- font-weight: 600;
451
- vertical-align: bottom;
452
- padding-inline-end: 0.571em;
453
- padding-bottom: 0.571em;
454
- padding-inline-start: 0.571em;
455
- text-align: start;
456
- opacity: 1;
457
- }
458
-
459
- .sw-prose thead th:first-child:not(:where(.not-sw-prose *)) {
460
- padding-inline-start: 0;
461
- }
462
-
463
- .sw-prose thead th:last-child:not(:where(.not-sw-prose *)) {
464
- padding-inline-end: 0;
465
- }
466
-
467
- .sw-prose tbody tr:not(:where(.not-sw-prose *)) {
468
- border-bottom: 1px solid var(--sw-prose-table-border-color);
469
- }
470
-
471
- .sw-prose tbody tr:last-child:not(:where(.not-sw-prose *)) {
472
- border-bottom-width: 0;
473
- }
474
-
475
- .sw-prose :is(td, th):not(:where(.not-sw-prose *)) {
476
- vertical-align: baseline;
477
- padding: 0.571em;
478
- }
479
-
480
- .sw-prose :is(td:first-child, th:first-child):not(:where(.not-sw-prose *)) {
481
- padding-inline-start: 0;
482
- }
483
-
484
- .sw-prose :is(td:last-child, th:last-child):not(:where(.not-sw-prose *)) {
485
- padding-inline-end: 0;
486
- }
487
-
488
- .sw-prose tfoot:not(:where(.not-sw-prose *)) {
489
- border-top: 1px solid var(--sw-prose-table-border-color);
490
- }
491
-
492
- .sw-prose tfoot td:not(:where(.not-sw-prose *)) {
493
- vertical-align: top;
494
- }
495
-
496
- /* **************************************************************************
497
- * Keyboard Input
498
- * ************************************************************************** */
499
-
500
- .sw-prose kbd:not(:where(.not-sw-prose *)) {
501
- font-weight: 500;
502
- font-family: inherit;
503
- font-size: var(--sw-prose-code-size);
504
- width: fit-content;
505
- display: inline-flex;
506
- justify-content: center;
507
- align-items: center;
508
- gap: var(--spacing);
509
- min-width: calc(var(--spacing) * 5);
510
- color: var(--color-muted-foreground);
511
- background-color: var(--color-muted);
512
- padding: calc(var(--spacing) / 2) calc(var(--spacing) * 1.25);
513
- border-radius: var(--radius-sm);
514
- /* box-shadow:
515
- 0 0 0 1px color-mix(in srgb, var(--color-foreground) 10%, transparent),
516
- 0 2px 0 color-mix(in srgb, var(--color-foreground) 10%, transparent); */
517
- }
518
-
519
- /* **************************************************************************
520
- * Details / Summary (Starlight-inspired)
521
- * ************************************************************************** */
522
-
523
- .sw-prose details:not(:where(.not-sw-prose *)) {
524
- --sw-details-border-color: var(--color-border);
525
- --sw-details-border-color-hover: var(--color-primary-accent);
526
-
527
- border-inline-start: 2px solid var(--sw-details-border-color);
528
- padding-inline-start: 1rem;
529
- margin-top: var(--sw-prose-spacing);
530
- margin-bottom: var(--sw-prose-spacing);
531
- transition-property: border-color;
532
- transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
533
- transition-duration: var(--tw-duration, var(--default-transition-duration));
534
- }
535
-
536
- .sw-prose details:not([open]):hover:not(:where(.not-sw-prose *)),
537
- .sw-prose details:has(> summary:hover):not(:where(.not-sw-prose *)) {
538
- border-color: var(--sw-details-border-color-hover);
539
- }
540
-
541
- .sw-prose summary:not(:where(.not-sw-prose *)) {
542
- color: var(--color-foreground);
543
- cursor: pointer;
544
- display: block;
545
- font-weight: 600;
546
- margin-inline-start: -0.5rem;
547
- padding-inline-start: 0.5rem;
548
- opacity: 1;
549
- }
550
-
551
- .sw-prose details[open] > summary:not(:where(.not-sw-prose *)) {
552
- margin-bottom: 1rem;
553
- }
554
-
555
- /* Summary marker styles */
556
- .sw-prose summary:not(:where(.not-sw-prose *))::marker,
557
- .sw-prose summary:not(:where(.not-sw-prose *))::-webkit-details-marker {
558
- display: none;
559
- }
560
-
561
- .sw-prose summary:not(:where(.not-sw-prose *))::before {
562
- --sw-details-marker-size: 1.25rem;
563
-
564
- background-color: currentColor;
565
- content: "";
566
- display: inline-block;
567
- height: var(--sw-details-marker-size);
568
- width: var(--sw-details-marker-size);
569
- margin-inline: calc((var(--sw-details-marker-size) / 4) * -1) 0.25rem;
570
- vertical-align: middle;
571
- -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");
572
- mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");
573
- -webkit-mask-repeat: no-repeat;
574
- mask-repeat: no-repeat;
575
- }
576
-
577
- @media (prefers-reduced-motion: no-preference) {
578
- .sw-prose summary:not(:where(.not-sw-prose *))::before {
579
- transition: transform 0.2s ease-in-out;
580
- }
581
- }
582
-
583
- .sw-prose details[open] > summary:not(:where(.not-sw-prose *))::before {
584
- transform: rotateZ(90deg);
585
- }
586
-
587
- [dir="rtl"] .sw-prose summary:not(:where(.not-sw-prose *))::before,
588
- .sw-prose [dir="rtl"] summary:not(:where(.not-sw-prose *))::before {
589
- transform: rotateZ(180deg);
590
- }
591
-
592
- /* Summary with only a paragraph (MDX) */
593
- .sw-prose summary:not(:where(.not-sw-prose *)) p:only-child {
594
- display: inline;
595
- }
596
-
597
- /* **************************************************************************
598
- * Miscellaneous
599
- * ************************************************************************** */
600
-
601
- /* Abbreviations */
602
- .sw-prose abbr[title]:not(:where(.not-sw-prose *)) {
603
- text-decoration: underline dotted;
604
- cursor: help;
605
- }
606
-
607
- /* Mark/Highlight */
608
- .sw-prose mark:not(:where(.not-sw-prose *)) {
609
- background-color: var(--sw-prose-highlight-bg-color);
610
- color: var(--sw-prose-highlight-color);
611
- padding: calc(var(--spacing) / 2) var(--spacing);
612
- border-radius: calc(var(--radius) / 4);
613
- }
614
-
615
- /* Subscript and Superscript */
616
- .sw-prose :is(sub, sup):not(:where(.not-sw-prose *)) {
617
- font-size: 0.75em;
618
- }
619
- </style>