orphos 0.53.2 → 0.53.3

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.
package/dist/avatar.js CHANGED
@@ -20,7 +20,7 @@ function AvatarImage({ className, ...props }) {
20
20
  function AvatarFallback({ className, ...props }) {
21
21
  return /*#__PURE__*/ jsx(Avatar.Fallback, {
22
22
  "data-slot": "avatar-fallback",
23
- className: cn("flex size-full items-center justify-center rounded-full bg-background-element-hover text-foreground-subtle text-sm group-data-[size=sm]/avatar:text-xs", className),
23
+ className: cn("flex size-full items-center justify-center rounded-full bg-background-element-hover text-foreground-subtle text-small group-data-[size=sm]/avatar:text-micro", className),
24
24
  ...props
25
25
  });
26
26
  }
@@ -34,14 +34,14 @@ function AvatarBadge({ className, ...props }) {
34
34
  function AvatarGroup({ className, ...props }) {
35
35
  return /*#__PURE__*/ jsx("div", {
36
36
  "data-slot": "avatar-group",
37
- className: cn("group/avatar-group -space-x-2 flex *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background", className),
37
+ className: cn("group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background", className),
38
38
  ...props
39
39
  });
40
40
  }
41
41
  function AvatarGroupCount({ className, ...props }) {
42
42
  return /*#__PURE__*/ jsx("div", {
43
43
  "data-slot": "avatar-group-count",
44
- className: cn("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-background-element-active text-foreground-subtle text-sm ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3", className),
44
+ className: cn("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-background-element-active text-foreground-subtle text-small ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3", className),
45
45
  ...props
46
46
  });
47
47
  }
package/dist/badge.js CHANGED
@@ -3,7 +3,7 @@ import { useRender } from "@base-ui/react/use-render";
3
3
  import { cva } from "cva";
4
4
  import { cn } from "./utils.js";
5
5
  const badgeVariants = cva({
6
- base: "group/badge inline-flex h-5 w-fit shrink-0 items-center gap-1 overflow-hidden whitespace-nowrap rounded-md border px-1.5 py-px font-medium text-[11px] transition-all focus-visible:outline-2 focus-visible:outline-offset-2 has-data-[icon=inline-end]:pr-1.25 has-data-[icon=inline-start]:pl-1.25 [&>svg]:pointer-events-none [&_svg]:size-3!",
6
+ base: "group/badge inline-flex h-5 w-fit shrink-0 items-center gap-1 overflow-hidden whitespace-nowrap rounded-md border px-1.5 py-px text-micro transition-all focus-visible:outline-2 focus-visible:outline-offset-2 has-data-[icon=inline-end]:pr-1.25 has-data-[icon=inline-start]:pl-1.25 [&>svg]:pointer-events-none [&_svg]:size-3!",
7
7
  variants: {
8
8
  variant: {
9
9
  default: "border-border-subtle bg-background-element text-foreground-subtle [a]:hover:bg-background-element-hover",
package/dist/button.js CHANGED
@@ -3,7 +3,7 @@ import { Button } from "@base-ui/react/button";
3
3
  import { cva } from "cva";
4
4
  import { cn } from "./utils.js";
5
5
  const buttonVariants = cva({
6
- base: "group/button inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-md border border-transparent bg-clip-padding font-medium text-sm transition-all focus-visible:outline-2 focus-visible:outline-offset-2 active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
6
+ base: "group/button inline-flex shrink-0 select-none items-center justify-center gap-2 whitespace-nowrap rounded-md border border-transparent bg-clip-padding font-medium text-small transition-all focus-visible:outline-2 focus-visible:outline-offset-2 active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
7
7
  variants: {
8
8
  variant: {
9
9
  default: "border-border-subtle bg-background-element text-foreground hover:bg-background-element-hover",
@@ -13,7 +13,7 @@ const buttonVariants = cva({
13
13
  danger: "bg-danger text-danger-foreground hover:bg-danger-hover"
14
14
  },
15
15
  size: {
16
- sm: "h-7 px-2.5 text-[13px]",
16
+ sm: "h-7 px-2.5",
17
17
  md: "h-8.5 px-3",
18
18
  lg: "h-10 px-4",
19
19
  icon: "size-8.5",
package/dist/card.js CHANGED
@@ -4,7 +4,7 @@ function Card({ className, size = "default", ...props }) {
4
4
  return /*#__PURE__*/ jsx("div", {
5
5
  "data-slot": "card",
6
6
  "data-size": size,
7
- className: cn("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-background-element py-4 text-foreground text-sm ring-1 ring-border-subtle has-[>img:first-child]:pt-0 has-data-[slot=card-footer]:pb-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl", className),
7
+ className: cn("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-background-element py-4 text-foreground text-small ring-1 ring-border-subtle has-[>img:first-child]:pt-0 has-data-[slot=card-footer]:pb-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl", className),
8
8
  ...props
9
9
  });
10
10
  }
@@ -18,14 +18,14 @@ function CardHeader({ className, ...props }) {
18
18
  function CardTitle({ className, ...props }) {
19
19
  return /*#__PURE__*/ jsx("div", {
20
20
  "data-slot": "card-title",
21
- className: cn("font-medium text-base leading-snug tracking-tight group-data-[size=sm]/card:text-sm", className),
21
+ className: cn("font-medium text-regular leading-snug tracking-tight group-data-[size=sm]/card:text-small", className),
22
22
  ...props
23
23
  });
24
24
  }
25
25
  function CardDescription({ className, ...props }) {
26
26
  return /*#__PURE__*/ jsx("div", {
27
27
  "data-slot": "card-description",
28
- className: cn("text-foreground-subtle text-sm", className),
28
+ className: cn("text-foreground-subtle text-small", className),
29
29
  ...props
30
30
  });
31
31
  }
@@ -43,7 +43,7 @@ function ContextMenuSubTrigger({ className, inset, children, ...props }) {
43
43
  return /*#__PURE__*/ jsxs(ContextMenu.SubmenuTrigger, {
44
44
  "data-slot": "context-menu-sub-trigger",
45
45
  "data-inset": inset,
46
- className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-0.75 pl-2.5 text-foreground text-sm outline-hidden data-highlighted:bg-background-element-hover data-popup-open:bg-background-element-hover data-inset:pl-8.5 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-foreground-subtle [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
46
+ className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-0.75 pl-2.5 text-foreground text-small outline-hidden data-highlighted:bg-background-element-hover data-popup-open:bg-background-element-hover data-inset:pl-8.5 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-foreground-subtle [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
47
47
  ...props,
48
48
  children: [
49
49
  children,
@@ -82,14 +82,14 @@ function ContextMenuItem({ className, inset, variant = "default", ...props }) {
82
82
  "data-slot": "context-menu-item",
83
83
  "data-inset": inset,
84
84
  "data-variant": variant,
85
- className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm px-2.5 py-1.5 text-foreground text-sm outline-hidden data-[variant=danger]:data-highlighted:bg-danger-subtle data-[variant=danger]:data-highlighted:text-danger data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-inset:pl-8.5 data-[variant=danger]:text-danger data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-foreground-subtle [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=danger]:*:[svg]:text-danger!", className),
85
+ className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm px-2.5 py-1.5 text-foreground text-small outline-hidden data-[variant=danger]:data-highlighted:bg-danger-subtle data-[variant=danger]:data-highlighted:text-danger data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-inset:pl-8.5 data-[variant=danger]:text-danger data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-foreground-subtle [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=danger]:*:[svg]:text-danger!", className),
86
86
  ...props
87
87
  });
88
88
  }
89
89
  function ContextMenuCheckboxItem({ className, children, checked, ...props }) {
90
90
  return /*#__PURE__*/ jsxs(ContextMenu.CheckboxItem, {
91
91
  "data-slot": "context-menu-checkbox-item",
92
- className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2.5 pl-8.5 text-foreground text-sm outline-hidden data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
92
+ className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2.5 pl-8.5 text-foreground text-small outline-hidden data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
93
93
  checked: checked,
94
94
  ...props,
95
95
  children: [
@@ -108,7 +108,7 @@ function ContextMenuCheckboxItem({ className, children, checked, ...props }) {
108
108
  function ContextMenuRadioItem({ className, children, ...props }) {
109
109
  return /*#__PURE__*/ jsxs(ContextMenu.RadioItem, {
110
110
  "data-slot": "context-menu-radio-item",
111
- className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2.5 pl-8 text-foreground text-sm outline-hidden data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
111
+ className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2.5 pl-8 text-foreground text-small outline-hidden data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
112
112
  ...props,
113
113
  children: [
114
114
  /*#__PURE__*/ jsx("span", {
@@ -127,7 +127,7 @@ function ContextMenuLabel({ className, inset, ...props }) {
127
127
  return /*#__PURE__*/ jsx(ContextMenu.GroupLabel, {
128
128
  "data-slot": "context-menu-label",
129
129
  "data-inset": inset,
130
- className: cn("px-2 py-1.5 font-medium text-foreground-subtle text-xs data-inset:pl-8", className),
130
+ className: cn("px-2 py-1.5 font-medium text-foreground-subtle text-micro data-inset:pl-8", className),
131
131
  ...props
132
132
  });
133
133
  }
@@ -141,7 +141,7 @@ function ContextMenuSeparator({ className, ...props }) {
141
141
  function ContextMenuShortcut({ className, ...props }) {
142
142
  return /*#__PURE__*/ jsx("span", {
143
143
  "data-slot": "context-menu-shortcut",
144
- className: cn("-mr-0.75 ml-auto text-foreground-subtle text-xs tracking-widest", className),
144
+ className: cn("-mr-0.75 ml-auto text-foreground-subtle text-micro tracking-widest", className),
145
145
  ...props
146
146
  });
147
147
  }
package/dist/dialog.js CHANGED
@@ -92,14 +92,14 @@ function DialogFooter({ className, children, showCloseButton = false, ...props }
92
92
  function DialogTitle({ className, ...props }) {
93
93
  return /*#__PURE__*/ jsx(Dialog.Title, {
94
94
  "data-slot": "dialog-title",
95
- className: cn("font-medium text-base leading-none", className),
95
+ className: cn("font-medium text-regular leading-none", className),
96
96
  ...props
97
97
  });
98
98
  }
99
99
  function DialogDescription({ className, ...props }) {
100
100
  return /*#__PURE__*/ jsx(Dialog.Description, {
101
101
  "data-slot": "dialog-description",
102
- className: cn("text-foreground-subtle text-sm *:[a]:text-info *:[a]:underline *:[a]:decoration-info-border *:[a]:underline-offset-3 *:[a]:hover:decoration-info", className),
102
+ className: cn("text-foreground-subtle text-small *:[a]:text-info *:[a]:underline *:[a]:decoration-info-border *:[a]:underline-offset-3 *:[a]:hover:decoration-info", className),
103
103
  ...props
104
104
  });
105
105
  }
@@ -44,7 +44,7 @@ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
44
44
  return /*#__PURE__*/ jsxs(Menu.SubmenuTrigger, {
45
45
  "data-slot": "dropdown-menu-sub-trigger",
46
46
  "data-inset": inset,
47
- className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-0.75 pl-2.5 text-foreground text-sm outline-hidden data-highlighted:bg-background-element-hover data-popup-open:bg-background-element-hover data-inset:pl-8.5 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-foreground-subtle [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
47
+ className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-0.75 pl-2.5 text-foreground text-small outline-hidden data-highlighted:bg-background-element-hover data-popup-open:bg-background-element-hover data-inset:pl-8.5 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-foreground-subtle [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
48
48
  ...props,
49
49
  children: [
50
50
  children,
@@ -83,14 +83,14 @@ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
83
83
  "data-slot": "dropdown-menu-item",
84
84
  "data-inset": inset,
85
85
  "data-variant": variant,
86
- className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm px-2.5 py-1.5 text-foreground text-sm outline-hidden data-[variant=danger]:data-highlighted:bg-danger-subtle data-[variant=danger]:data-highlighted:text-danger data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-inset:pl-8.5 data-[variant=danger]:text-danger data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-foreground-subtle [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=danger]:*:[svg]:text-danger!", className),
86
+ className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm px-2.5 py-1.5 text-foreground text-small outline-hidden data-[variant=danger]:data-highlighted:bg-danger-subtle data-[variant=danger]:data-highlighted:text-danger data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-inset:pl-8.5 data-[variant=danger]:text-danger data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-foreground-subtle [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=danger]:*:[svg]:text-danger!", className),
87
87
  ...props
88
88
  });
89
89
  }
90
90
  function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
91
91
  return /*#__PURE__*/ jsxs(Menu.CheckboxItem, {
92
92
  "data-slot": "dropdown-menu-checkbox-item",
93
- className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2.5 pl-8.5 text-foreground text-sm outline-hidden data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
93
+ className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2.5 pl-8.5 text-foreground text-small outline-hidden data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
94
94
  checked: checked,
95
95
  ...props,
96
96
  children: [
@@ -109,7 +109,7 @@ function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
109
109
  function DropdownMenuRadioItem({ className, children, ...props }) {
110
110
  return /*#__PURE__*/ jsxs(Menu.RadioItem, {
111
111
  "data-slot": "dropdown-menu-radio-item",
112
- className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2.5 pl-8 text-foreground text-sm outline-hidden data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
112
+ className: cn("relative flex h-7.5 cursor-default select-none items-center gap-2 rounded-sm py-1.5 pr-2.5 pl-8 text-foreground text-small outline-hidden data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
113
113
  ...props,
114
114
  children: [
115
115
  /*#__PURE__*/ jsx("span", {
@@ -128,7 +128,7 @@ function DropdownMenuLabel({ className, inset, ...props }) {
128
128
  return /*#__PURE__*/ jsx(Menu.GroupLabel, {
129
129
  "data-slot": "dropdown-menu-label",
130
130
  "data-inset": inset,
131
- className: cn("px-2 py-1.5 font-medium text-foreground-subtle text-xs data-inset:pl-8", className),
131
+ className: cn("px-2 py-1.5 font-medium text-foreground-subtle text-micro data-inset:pl-8", className),
132
132
  ...props
133
133
  });
134
134
  }
@@ -142,7 +142,7 @@ function DropdownMenuSeparator({ className, ...props }) {
142
142
  function DropdownMenuShortcut({ className, ...props }) {
143
143
  return /*#__PURE__*/ jsx("span", {
144
144
  "data-slot": "dropdown-menu-shortcut",
145
- className: cn("-mr-0.75 ml-auto text-foreground-subtle text-xs tracking-widest", className),
145
+ className: cn("-mr-0.75 ml-auto text-foreground-subtle text-micro tracking-widest", className),
146
146
  ...props
147
147
  });
148
148
  }
package/dist/empty.js CHANGED
@@ -41,21 +41,21 @@ function EmptyMedia({ className, variant = "default", ...props }) {
41
41
  function EmptyTitle({ className, ...props }) {
42
42
  return /*#__PURE__*/ jsx("div", {
43
43
  "data-slot": "empty-title",
44
- className: cn("font-medium text-sm tracking-tight", className),
44
+ className: cn("font-medium text-small tracking-tight", className),
45
45
  ...props
46
46
  });
47
47
  }
48
48
  function EmptyDescription({ className, ...props }) {
49
49
  return /*#__PURE__*/ jsx("p", {
50
50
  "data-slot": "empty-description",
51
- className: cn("text-foreground-subtle text-sm/relaxed *:[a]:text-info *:[a]:underline *:[a]:decoration-info-border *:[a]:underline-offset-3 *:[a]:hover:decoration-info", className),
51
+ className: cn("text-foreground-subtle text-small/relaxed *:[a]:text-info *:[a]:underline *:[a]:decoration-info-border *:[a]:underline-offset-3 *:[a]:hover:decoration-info", className),
52
52
  ...props
53
53
  });
54
54
  }
55
55
  function EmptyContent({ className, ...props }) {
56
56
  return /*#__PURE__*/ jsx("div", {
57
57
  "data-slot": "empty-content",
58
- className: cn("flex w-full min-w-0 max-w-sm flex-col items-center gap-2 text-balance text-sm", className),
58
+ className: cn("flex w-full min-w-0 max-w-sm flex-col items-center gap-2 text-balance text-small", className),
59
59
  ...props
60
60
  });
61
61
  }
package/dist/field.js CHANGED
@@ -15,7 +15,7 @@ function FieldLegend({ className, variant = "legend", ...props }) {
15
15
  return /*#__PURE__*/ jsx("legend", {
16
16
  "data-slot": "field-legend",
17
17
  "data-variant": variant,
18
- className: cn("font-medium", "mb-1", "data-[variant=legend]:text-base", "data-[variant=label]:text-sm", className),
18
+ className: cn("font-medium", "mb-1", "data-[variant=legend]:text-regular", "data-[variant=label]:text-small", className),
19
19
  ...props
20
20
  });
21
21
  }
@@ -77,14 +77,14 @@ function FieldLabel({ className, ...props }) {
77
77
  function FieldTitle({ className, ...props }) {
78
78
  return /*#__PURE__*/ jsx("div", {
79
79
  "data-slot": "field-label",
80
- className: cn("flex w-fit items-center gap-2 font-medium text-sm leading-snug group-data-[disabled=true]/field:opacity-50", className),
80
+ className: cn("flex w-fit items-center gap-2 font-medium text-small leading-snug group-data-[disabled=true]/field:opacity-50", className),
81
81
  ...props
82
82
  });
83
83
  }
84
84
  function FieldDescription({ className, ...props }) {
85
85
  return /*#__PURE__*/ jsx("p", {
86
86
  "data-slot": "field-description",
87
- className: cn("text-left text-foreground-subtle text-sm leading-normal", "group-has-data-[orientation=horizontal]/field:text-balance", "nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1", "*:[a]:text-info *:[a]:underline *:[a]:decoration-info-border *:[a]:underline-offset-3 *:[a]:hover:decoration-info", className),
87
+ className: cn("text-left text-foreground-subtle text-small leading-normal", "group-has-data-[orientation=horizontal]/field:text-balance", "nth-last-2:-mt-1 last:mt-0 [[data-variant=legend]+&]:-mt-1", "*:[a]:text-info *:[a]:underline *:[a]:decoration-info-border *:[a]:underline-offset-3 *:[a]:hover:decoration-info", className),
88
88
  ...props
89
89
  });
90
90
  }
@@ -92,7 +92,7 @@ function FieldSeparator({ children, className, ...props }) {
92
92
  return /*#__PURE__*/ jsxs("div", {
93
93
  "data-slot": "field-separator",
94
94
  "data-content": !!children,
95
- className: cn("relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2", className),
95
+ className: cn("relative -my-2 h-5 text-small group-data-[variant=outline]/field-group:-mb-2", className),
96
96
  ...props,
97
97
  children: [
98
98
  /*#__PURE__*/ jsx(Separator, {
@@ -131,7 +131,7 @@ function FieldError({ className, children, errors, ...props }) {
131
131
  return /*#__PURE__*/ jsx("div", {
132
132
  role: "alert",
133
133
  "data-slot": "field-error",
134
- className: cn("font-normal text-danger text-xs", className),
134
+ className: cn("font-normal text-danger text-micro", className),
135
135
  ...props,
136
136
  children: content
137
137
  });
@@ -9,12 +9,12 @@ function InputGroup({ className, ...props }) {
9
9
  return /*#__PURE__*/ jsx("div", {
10
10
  "data-slot": "input-group",
11
11
  role: "group",
12
- className: cn("group/input-group relative flex w-full items-center rounded-md border bg-background-element transition-[color,box-shadow]", "h-8.5 min-w-0 has-[>textarea]:h-auto", "has-[>[data-align=inline-start]]:[&>input]:pl-2", "in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:outline-none has-[>[data-align=inline-end]]:[&>input]:pr-2", "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3", "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3", "has-[[data-slot=input-group-control]:focus-visible]:outline-2 has-[[data-slot=input-group-control]:focus-visible]:-outline-offset-1", "has-[[data-slot][aria-invalid=true]]:outline-2 has-[[data-slot][aria-invalid=true]]:outline-danger has-[[data-slot][aria-invalid=true]]:outline-offset-1", className),
12
+ className: cn("group/input-group relative flex w-full items-center rounded-md border border-border-subtle bg-background-element transition-[color,box-shadow]", "h-8.5 min-w-0 has-[>textarea]:h-auto", "has-[>[data-align=inline-start]]:[&>input]:pl-2", "in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:outline-none has-[>[data-align=inline-end]]:[&>input]:pr-2", "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3", "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3", "has-[[data-slot=input-group-control]:focus-visible]:outline-2 has-[[data-slot=input-group-control]:focus-visible]:-outline-offset-1", "has-[[data-slot][aria-invalid=true]]:outline-2 has-[[data-slot][aria-invalid=true]]:outline-danger has-[[data-slot][aria-invalid=true]]:outline-offset-1", className),
13
13
  ...props
14
14
  });
15
15
  }
16
16
  const inputGroupAddonVariants = cva({
17
- base: "flex h-auto cursor-text select-none items-center justify-center gap-2 py-1.5 font-medium text-foreground-subtle text-sm group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-3px)] [&>svg:not([class*='size-'])]:size-4",
17
+ base: "flex h-auto cursor-text select-none items-center justify-center gap-2 py-1.5 font-medium text-foreground-subtle text-small group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-3px)] [&>svg:not([class*='size-'])]:size-4",
18
18
  variants: {
19
19
  align: {
20
20
  "inline-start": "order-first pl-2.5 has-[>button]:ml-[-0.35rem] has-[>kbd]:-ml-1 has-[>svg]:pl-2",
@@ -43,7 +43,7 @@ function InputGroupAddon({ className, align = "inline-start", ...props }) {
43
43
  });
44
44
  }
45
45
  const inputGroupButtonVariants = cva({
46
- base: "flex items-center gap-2 text-sm shadow-none",
46
+ base: "flex items-center gap-2 text-small shadow-none",
47
47
  variants: {
48
48
  size: {
49
49
  xs: "h-6 gap-1 rounded-sm px-2 has-[>svg]:px-2 [&>svg:not([class*='size-'])]:size-3.5",
@@ -69,7 +69,7 @@ function InputGroupButton({ className, type = "button", variant = "default", siz
69
69
  }
70
70
  function InputGroupText({ className, ...props }) {
71
71
  return /*#__PURE__*/ jsx("span", {
72
- className: cn("flex items-center gap-2 text-foreground-subtle text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none", className),
72
+ className: cn("flex items-center gap-2 text-foreground-subtle text-small [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none", className),
73
73
  ...props
74
74
  });
75
75
  }
package/dist/input.js CHANGED
@@ -5,7 +5,7 @@ import { cva } from "cva";
5
5
  import { useId, useState } from "react";
6
6
  import { cn } from "./utils.js";
7
7
  const inputVariants = cva({
8
- base: "no-drag flex h-8.5 w-full min-w-0 items-center rounded-md border bg-background-element px-2.5 py-1 text-foreground text-sm -outline-offset-1 transition-colors placeholder:text-foreground-subtle placeholder:text-sm focus-visible:outline-2 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:outline-2 aria-invalid:outline-danger",
8
+ base: "no-drag flex h-8.5 w-full min-w-0 items-center rounded-md border bg-background-element px-2.5 py-1 text-foreground text-regular -outline-offset-1 transition-colors placeholder:text-foreground-subtle placeholder:text-regular focus-visible:outline-2 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:outline-2 aria-invalid:outline-danger",
9
9
  variants: {
10
10
  variant: {
11
11
  default: "",
package/dist/kbd.js CHANGED
@@ -3,7 +3,7 @@ import { cn } from "./utils.js";
3
3
  function Kbd({ className, ...props }) {
4
4
  return /*#__PURE__*/ jsx("kbd", {
5
5
  "data-slot": "kbd",
6
- className: cn("pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 rounded-sm bg-background-element-hover px-1 font-medium font-sans text-foreground-subtle text-xs", "[&_svg:not([class*='size-'])]:size-3", "in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background", className),
6
+ className: cn("pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 rounded-sm bg-background-element-hover px-1 font-medium font-sans text-foreground-subtle text-micro", "[&_svg:not([class*='size-'])]:size-3", "in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background", className),
7
7
  ...props
8
8
  });
9
9
  }
package/dist/label.js CHANGED
@@ -3,7 +3,7 @@ import { cn } from "./utils.js";
3
3
  function Label({ className, ...props }) {
4
4
  return /*#__PURE__*/ jsx("label", {
5
5
  "data-slot": "label",
6
- className: cn("flex items-center gap-2 font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50", className),
6
+ className: cn("flex items-center gap-2 font-medium text-small leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50", className),
7
7
  ...props
8
8
  });
9
9
  }
package/dist/popover.js CHANGED
@@ -40,7 +40,7 @@ function PopoverClose({ ...props }) {
40
40
  function PopoverHeader({ className, ...props }) {
41
41
  return /*#__PURE__*/ jsx("div", {
42
42
  "data-slot": "popover-header",
43
- className: cn("flex flex-col gap-0.5 text-sm", className),
43
+ className: cn("flex flex-col gap-0.5 text-small", className),
44
44
  ...props
45
45
  });
46
46
  }
package/dist/select.js CHANGED
@@ -7,7 +7,7 @@ const select_Select = Select.Root;
7
7
  function SelectTrigger({ className, size = "default", children, ...props }) {
8
8
  return /*#__PURE__*/ jsxs(Select.Trigger, {
9
9
  "data-size": size,
10
- className: cn("flex h-8.5 w-fit items-center justify-between gap-2 whitespace-nowrap rounded-md border bg-background-element px-2.5 py-2 text-sm -outline-offset-1 transition-colors focus-visible:outline-2 aria-invalid:outline-2 aria-invalid:outline-danger data-disabled:pointer-events-none data-[size=sm]:h-7 data-disabled:cursor-not-allowed data-placeholder:text-foreground-subtle data-disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
10
+ className: cn("flex h-8.5 w-fit items-center justify-between gap-2 whitespace-nowrap rounded-md border bg-background-element px-2.5 py-2 text-small -outline-offset-1 transition-colors focus-visible:outline-2 aria-invalid:outline-2 aria-invalid:outline-danger data-disabled:pointer-events-none data-[size=sm]:h-7 data-disabled:cursor-not-allowed data-placeholder:text-foreground-subtle data-disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", className),
11
11
  "data-slot": "select-trigger",
12
12
  ...props,
13
13
  children: [
@@ -53,13 +53,13 @@ function SelectContent({ className, children, side = "bottom", sideOffset = 4, a
53
53
  }
54
54
  function SelectLabel({ className, ...props }) {
55
55
  return /*#__PURE__*/ jsx(Select.GroupLabel, {
56
- className: cn("px-2 py-1 text-foreground-subtle text-xs", className),
56
+ className: cn("px-2 py-1 text-foreground-subtle text-micro", className),
57
57
  ...props
58
58
  });
59
59
  }
60
60
  function SelectItem({ className, children, ...props }) {
61
61
  return /*#__PURE__*/ jsxs(Select.Item, {
62
- className: cn("relative flex h-7.5 w-full cursor-default select-none items-center gap-2 rounded-sm px-2.5 py-1.5 text-foreground text-sm outline-none data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-foreground-subtle [&_svg]:pointer-events-none [&_svg]:shrink-0 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className),
62
+ className: cn("relative flex h-7.5 w-full cursor-default select-none items-center gap-2 rounded-sm px-2.5 py-1.5 text-foreground text-small outline-none data-disabled:pointer-events-none data-highlighted:bg-background-element-hover data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-foreground-subtle [&_svg]:pointer-events-none [&_svg]:shrink-0 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className),
63
63
  ...props,
64
64
  children: [
65
65
  /*#__PURE__*/ jsx(Select.ItemText, {
package/dist/sidebar.js CHANGED
@@ -118,7 +118,7 @@ function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas"
118
118
  style: {
119
119
  width: SIDEBAR_WIDTH_MOBILE
120
120
  },
121
- className: cn("fixed z-50 flex w-(--sidebar-width) flex-col gap-4 border-r-border-subtle/50 border-l-border-subtle/50 bg-background-element bg-clip-padding text-sm transition duration-200 ease-in-out data-[side=left]:data-ending-style:-translate-x-10 data-[side=left]:data-starting-style:-translate-x-10 data-[side=right]:data-ending-style:translate-x-10 data-[side=right]:data-starting-style:translate-x-10 data-[side=bottom]:data-ending-style:translate-y-10 data-[side=bottom]:data-starting-style:translate-y-10 data-[side=top]:data-ending-style:-translate-y-10 data-[side=top]:data-starting-style:-translate-y-10 data-[side=bottom]:inset-x-0 data-[side=top]:inset-x-0 data-[side=left]:inset-y-0 data-[side=right]:inset-y-0 data-[side=top]:top-0 data-[side=right]:right-0 data-[side=bottom]:bottom-0 data-[side=left]:left-0 data-[side=bottom]:h-auto data-[side=left]:h-full data-[side=right]:h-full data-[side=top]:h-auto data-[side=left]:w-3/4 data-[side=right]:w-3/4 data-[side=bottom]:border-t data-[side=left]:border-r data-[side=top]:border-b data-[side=right]:border-l data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", className),
121
+ className: cn("fixed z-50 flex w-(--sidebar-width) flex-col gap-4 border-r-border-subtle border-l-border-subtle bg-background-element bg-clip-padding text-smalltransition duration-200 ease-in-out data-[side=left]:data-ending-style:-translate-x-10 data-[side=left]:data-starting-style:-translate-x-10 data-[side=right]:data-ending-style:translate-x-10 data-[side=right]:data-starting-style:translate-x-10 data-[side=bottom]:data-ending-style:translate-y-10 data-[side=bottom]:data-starting-style:translate-y-10 data-[side=top]:data-ending-style:-translate-y-10 data-[side=top]:data-starting-style:-translate-y-10 data-[side=bottom]:inset-x-0 data-[side=top]:inset-x-0 data-[side=left]:inset-y-0 data-[side=right]:inset-y-0 data-[side=top]:top-0 data-[side=right]:right-0 data-[side=bottom]:bottom-0 data-[side=left]:left-0 data-[side=bottom]:h-auto data-[side=left]:h-full data-[side=right]:h-full data-[side=top]:h-auto data-[side=left]:w-3/4 data-[side=right]:w-3/4 data-[side=bottom]:border-t data-[side=left]:border-r data-[side=top]:border-b data-[side=right]:border-l data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", className),
122
122
  children: [
123
123
  /*#__PURE__*/ jsx(Dialog.Title, {
124
124
  className: "sr-only",
@@ -152,12 +152,12 @@ function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas"
152
152
  /*#__PURE__*/ jsx("div", {
153
153
  "data-slot": "sidebar-container",
154
154
  "data-side": side,
155
- className: cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=right]:right-0 data-[side=left]:left-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] md:flex", "floating" === variant || "inset" === variant ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "border-r-border-subtle/50 border-l-border-subtle/50 group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l", className),
155
+ className: cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=right]:right-0 data-[side=left]:left-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] md:flex", "floating" === variant || "inset" === variant ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "border-r-border-subtle border-l-border-subtle group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l", className),
156
156
  ...props,
157
157
  children: /*#__PURE__*/ jsx("div", {
158
158
  "data-sidebar": "sidebar",
159
159
  "data-slot": "sidebar-inner",
160
- className: "flex size-full flex-col bg-background-subtle group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-border-subtle/50",
160
+ className: "flex size-full flex-col bg-background-subtle group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-border-subtle",
161
161
  children: children
162
162
  })
163
163
  })
@@ -195,7 +195,7 @@ function SidebarRail({ className, ...props }) {
195
195
  tabIndex: -1,
196
196
  onClick: toggleSidebar,
197
197
  title: "Toggle Sidebar",
198
- className: cn("absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear after:absolute after:inset-y-0 after:start-1/2 after:w-0.5 hover:after:bg-border-subtle/50 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "group-data-[collapsible=offcanvas]:translate-x-0 hover:group-data-[collapsible=offcanvas]:bg-background-subtle group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className),
198
+ className: cn("absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear after:absolute after:inset-y-0 after:start-1/2 after:w-0.5 hover:after:bg-border-subtle group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex ltr:-translate-x-1/2 rtl:-translate-x-1/2", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "group-data-[collapsible=offcanvas]:translate-x-0 hover:group-data-[collapsible=offcanvas]:bg-background-subtle group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className),
199
199
  ...props
200
200
  });
201
201
  }
@@ -258,7 +258,7 @@ function SidebarGroupLabel({ className, render, ...props }) {
258
258
  return useRender({
259
259
  defaultTagName: "div",
260
260
  props: mergeProps({
261
- className: cn("text-foreground/70 ring-focus-ring h-8 rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 flex shrink-0 items-center outline-hidden [&>svg]:shrink-0", className)
261
+ className: cn("text-foreground/70 ring-focus-ring h-8 rounded-md px-2 text-micro font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 flex shrink-0 items-center outline-hidden [&>svg]:shrink-0", className)
262
262
  }, props),
263
263
  render,
264
264
  state: {
@@ -284,7 +284,7 @@ function SidebarGroupContent({ className, ...props }) {
284
284
  return /*#__PURE__*/ jsx("div", {
285
285
  "data-slot": "sidebar-group-content",
286
286
  "data-sidebar": "group-content",
287
- className: cn("w-full text-sm", className),
287
+ className: cn("w-full text-small", className),
288
288
  ...props
289
289
  });
290
290
  }
@@ -305,16 +305,16 @@ function SidebarMenuItem({ className, ...props }) {
305
305
  });
306
306
  }
307
307
  const sidebarMenuButtonVariants = cva({
308
- base: "peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-foreground-subtle text-sm hover:bg-background-element-hover hover:text-foreground focus-visible:outline-2 active:bg-background-element-active active:text-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-background-element-hover data-active:font-medium data-active:text-foreground data-open:hover:bg-background-element-hover data-open:hover:text-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&_svg]:size-4 [&_svg]:shrink-0",
308
+ base: "peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-foreground-subtle text-small hover:bg-background-element-hover hover:text-foreground focus-visible:outline-2 active:bg-background-element-active active:text-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-active:bg-background-element-hover data-active:font-medium data-active:text-foreground data-open:hover:bg-background-element-hover data-open:hover:text-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&_svg]:size-4 [&_svg]:shrink-0",
309
309
  variants: {
310
310
  variant: {
311
311
  default: "hover:bg-background-element-hover hover:text-foreground",
312
312
  outline: "bg-transparent shadow-[0_0_0_1px_var(--border-subtle)] hover:bg-background-element-hover hover:text-foreground hover:shadow-[0_0_0_1px_var(--background-element-hover)]"
313
313
  },
314
314
  size: {
315
- default: "h-8 text-sm",
316
- sm: "h-7 text-xs",
317
- lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
315
+ default: "h-8 text-small",
316
+ sm: "h-7",
317
+ lg: "h-12 text-small group-data-[collapsible=icon]:p-0!"
318
318
  }
319
319
  },
320
320
  defaultVariants: {
@@ -375,7 +375,7 @@ function SidebarMenuBadge({ className, ...props }) {
375
375
  return /*#__PURE__*/ jsx("div", {
376
376
  "data-slot": "sidebar-menu-badge",
377
377
  "data-sidebar": "menu-badge",
378
- className: cn("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 font-medium text-foreground text-xs tabular-nums peer-hover/menu-button:text-foreground group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 peer-data-active/menu-button:text-foreground", className),
378
+ className: cn("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 font-medium text-foreground text-micro tabular-nums peer-hover/menu-button:text-foreground group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 peer-data-active/menu-button:text-foreground", className),
379
379
  ...props
380
380
  });
381
381
  }
@@ -421,7 +421,7 @@ function SidebarMenuSubButton({ render, size = "md", isActive = false, className
421
421
  return useRender({
422
422
  defaultTagName: "a",
423
423
  props: mergeProps({
424
- className: cn("text-foreground hover:bg-background-element-hover hover:text-foreground active:bg-background-element-active active:text-foreground [&>svg]:text-foreground data-active:bg-background-element-active data-active:text-foreground h-7 gap-2 rounded-md px-2 focus-visible:outline-2 data-[size=md]:text-sm data-[size=sm]:text-xs [&>svg]:size-4 flex min-w-0 -translate-x-px items-center overflow-hidden outline-hidden group-data-[collapsible=icon]:hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0", className)
424
+ className: cn("text-foreground hover:bg-background-element-hover hover:text-foreground active:bg-background-element-active active:text-foreground [&>svg]:text-foreground data-active:bg-background-element-active data-active:text-foreground h-7 gap-2 rounded-md px-2 focus-visible:outline-2 data-[size=md]:text-small data-[size=sm]:text-micro [&>svg]:size-4 flex min-w-0 -translate-x-px items-center overflow-hidden outline-hidden group-data-[collapsible=icon]:hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0", className)
425
425
  }, props),
426
426
  render,
427
427
  state: {
package/dist/tabs.js CHANGED
@@ -26,7 +26,7 @@ function TabsList({ className, children, ...props }) {
26
26
  function TabsTrigger({ className, ...props }) {
27
27
  return /*#__PURE__*/ jsx(Tabs.Tab, {
28
28
  "data-slot": "tabs-trigger",
29
- className: cn("flex flex-1 shrink-0 cursor-default items-center justify-center whitespace-nowrap rounded-md border border-transparent font-medium text-foreground-subtle text-sm transition-[color,background-color,box-shadow] focus-visible:outline-2 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", "hover:text-foreground data-selected:text-foreground", "gap-1.5 px-[calc(--spacing(2.5)-1px)] py-[calc(--spacing(1.5)-1px)]", "data-[orientation=vertical]:w-full data-[orientation=vertical]:justify-start", className),
29
+ className: cn("flex flex-1 shrink-0 cursor-default items-center justify-center whitespace-nowrap rounded-md border border-transparent font-medium text-foreground-subtle text-small transition-[color,background-color,box-shadow] focus-visible:outline-2 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0", "hover:text-foreground data-selected:text-foreground", "gap-1.5 px-[calc(--spacing(2.5)-1px)] py-[calc(--spacing(1.5)-1px)]", "data-[orientation=vertical]:w-full data-[orientation=vertical]:justify-start", className),
30
30
  ...props
31
31
  });
32
32
  }
package/dist/textarea.js CHANGED
@@ -3,7 +3,7 @@ import { cn } from "./utils.js";
3
3
  function Textarea({ className, ...props }) {
4
4
  return /*#__PURE__*/ jsx("textarea", {
5
5
  "data-slot": "textarea",
6
- className: cn("scrollbar-hide field-sizing-content flex min-h-16 w-full overflow-y-auto rounded-md border bg-background-element px-2.5 pt-2 pb-6 text-sm leading-normal transition-[color,box-shadow] placeholder:text-foreground-subtle placeholder:text-sm focus-visible:outline-2 focus-visible:-outline-offset-1 disabled:cursor-not-allowed disabled:resize-none disabled:opacity-50 aria-invalid:outline aria-invalid:outline-danger", className),
6
+ className: cn("scrollbar-hide field-sizing-content flex min-h-16 w-full overflow-y-auto rounded-md border bg-background-element px-2.5 pt-2 pb-6 text-regular leading-normal transition-[color,box-shadow] placeholder:text-foreground-subtle placeholder:text-regular focus-visible:outline-2 focus-visible:-outline-offset-1 disabled:cursor-not-allowed disabled:resize-none disabled:opacity-50 aria-invalid:outline aria-invalid:outline-danger", className),
7
7
  ...props
8
8
  });
9
9
  }
package/dist/toast.js CHANGED
@@ -48,9 +48,9 @@ function ToastList({ position = "bottom-right" }) {
48
48
  "right",
49
49
  isTop ? "up" : "down"
50
50
  ],
51
- className: cn("absolute z-[calc(9999-var(--toast-index))] h-(--toast-calc-height) w-full select-none rounded-md border bg-background-element bg-clip-padding p-3 text-foreground shadow-lg [transition:transform_.5s_cubic-bezier(.22,1,.36,1),opacity_.5s,height_.15s] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-md)-1px)]", "data-[position*=right]:right-0 data-[position*=right]:left-auto", "data-[position*=left]:right-auto data-[position*=left]:left-0", "data-[position*=center]:right-0 data-[position*=center]:left-0", "data-[position*=top]:top-0 data-[position*=top]:bottom-auto data-[position*=top]:origin-top", "data-[position*=bottom]:top-auto data-[position*=bottom]:bottom-0 data-[position*=bottom]:origin-bottom", "after:absolute after:left-0 after:h-[calc(var(--toast-gap)+1px)] after:w-full", "data-[position*=top]:after:top-full", "data-[position*=bottom]:after:bottom-full", "[--toast-calc-height:var(--toast-frontmost-height,var(--toast-height))] [--toast-gap:--spacing(3)] [--toast-peek:--spacing(3)] [--toast-scale:calc(max(0,1-(var(--toast-index)*.1)))] [--toast-shrink:calc(1-var(--toast-scale))]", "data-[position*=top]:[--toast-calc-offset-y:calc(var(--toast-offset-y)+var(--toast-index)*var(--toast-gap)+var(--toast-swipe-movement-y))]", "data-[position*=bottom]:[--toast-calc-offset-y:calc(var(--toast-offset-y)*-1+var(--toast-index)*var(--toast-gap)*-1+var(--toast-swipe-movement-y))]", "data-[position*=top]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)+(var(--toast-index)*var(--toast-peek))+(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]", "data-[position*=bottom]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--toast-peek))-(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]", "data-limited:opacity-0", "data-expanded:h-(--toast-height)", "data-[position]:data-expanded:[transform:translateX(var(--toast-swipe-movement-x))_translateY(var(--toast-calc-offset-y))]", "data-[position*=top]:data-starting-style:[transform:translateY(calc(-100%-var(--toast-inset)))]", "data-[position*=bottom]:data-starting-style:[transform:translateY(calc(100%+var(--toast-inset)))]", "data-ending-style:opacity-0", "data-ending-style:not-data-limited:not-data-swipe-direction:[transform:translateY(calc(100%+var(--toast-inset)))]", "data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]", "data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]", "data-expanded:data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-expanded:data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-expanded:data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]", "data-expanded:data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]"),
51
+ className: cn("absolute z-[calc(9999-var(--toast-index))] h-(--toast-calc-height) w-full select-none rounded-md border border-border-subtle bg-background-element bg-clip-padding p-3 text-foreground shadow-lg [transition:transform_.5s_cubic-bezier(.22,1,.36,1),opacity_.5s,height_.15s] before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-md)-1px)]", "data-[position*=right]:right-0 data-[position*=right]:left-auto", "data-[position*=left]:right-auto data-[position*=left]:left-0", "data-[position*=center]:right-0 data-[position*=center]:left-0", "data-[position*=top]:top-0 data-[position*=top]:bottom-auto data-[position*=top]:origin-top", "data-[position*=bottom]:top-auto data-[position*=bottom]:bottom-0 data-[position*=bottom]:origin-bottom", "after:absolute after:left-0 after:h-[calc(var(--toast-gap)+1px)] after:w-full", "data-[position*=top]:after:top-full", "data-[position*=bottom]:after:bottom-full", "[--toast-calc-height:var(--toast-frontmost-height,var(--toast-height))] [--toast-gap:--spacing(3)] [--toast-peek:--spacing(3)] [--toast-scale:calc(max(0,1-(var(--toast-index)*.1)))] [--toast-shrink:calc(1-var(--toast-scale))]", "data-[position*=top]:[--toast-calc-offset-y:calc(var(--toast-offset-y)+var(--toast-index)*var(--toast-gap)+var(--toast-swipe-movement-y))]", "data-[position*=bottom]:[--toast-calc-offset-y:calc(var(--toast-offset-y)*-1+var(--toast-index)*var(--toast-gap)*-1+var(--toast-swipe-movement-y))]", "data-[position*=top]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)+(var(--toast-index)*var(--toast-peek))+(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]", "data-[position*=bottom]:[transform:translateX(var(--toast-swipe-movement-x))_translateY(calc(var(--toast-swipe-movement-y)-(var(--toast-index)*var(--toast-peek))-(var(--toast-shrink)*var(--toast-calc-height))))_scale(var(--toast-scale))]", "data-limited:opacity-0", "data-expanded:h-(--toast-height)", "data-[position]:data-expanded:[transform:translateX(var(--toast-swipe-movement-x))_translateY(var(--toast-calc-offset-y))]", "data-[position*=top]:data-starting-style:[transform:translateY(calc(-100%-var(--toast-inset)))]", "data-[position*=bottom]:data-starting-style:[transform:translateY(calc(100%+var(--toast-inset)))]", "data-ending-style:opacity-0", "data-ending-style:not-data-limited:not-data-swipe-direction:[transform:translateY(calc(100%+var(--toast-inset)))]", "data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]", "data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]", "data-expanded:data-ending-style:data-[swipe-direction=left]:[transform:translateX(calc(var(--toast-swipe-movement-x)-100%-var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-expanded:data-ending-style:data-[swipe-direction=right]:[transform:translateX(calc(var(--toast-swipe-movement-x)+100%+var(--toast-inset)))_translateY(var(--toast-calc-offset-y))]", "data-expanded:data-ending-style:data-[swipe-direction=up]:[transform:translateY(calc(var(--toast-swipe-movement-y)-100%-var(--toast-inset)))]", "data-expanded:data-ending-style:data-[swipe-direction=down]:[transform:translateY(calc(var(--toast-swipe-movement-y)+100%+var(--toast-inset)))]"),
52
52
  children: /*#__PURE__*/ jsxs(Toast.Content, {
53
- className: "flex items-center justify-between gap-1.5 overflow-hidden text-sm transition-opacity duration-250 data-behind:pointer-events-none data-expanded:pointer-events-auto data-behind:opacity-0 data-expanded:opacity-100",
53
+ className: "flex items-center justify-between gap-1.5 overflow-hidden text-small! transition-opacity duration-250 data-behind:pointer-events-none data-expanded:pointer-events-auto data-behind:opacity-0 data-expanded:opacity-100",
54
54
  children: [
55
55
  /*#__PURE__*/ jsxs("div", {
56
56
  className: "flex gap-2",
@@ -66,11 +66,11 @@ function ToastList({ position = "bottom-right" }) {
66
66
  className: "flex flex-col gap-0.5",
67
67
  children: [
68
68
  /*#__PURE__*/ jsx(Toast.Title, {
69
- className: "font-semibold text-foreground text-sm",
69
+ className: "font-semibold text-foreground text-small",
70
70
  "data-slot": "toast-title"
71
71
  }),
72
72
  /*#__PURE__*/ jsx(Toast.Description, {
73
- className: "text-foreground-subtle text-sm",
73
+ className: "text-foreground-subtle text-small",
74
74
  "data-slot": "toast-description"
75
75
  })
76
76
  ]
package/dist/toggle.js CHANGED
@@ -4,7 +4,7 @@ import { Toggle } from "@base-ui/react/toggle";
4
4
  import { cva } from "cva";
5
5
  import { cn } from "./utils.js";
6
6
  const toggleVariants = cva({
7
- base: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md border border-transparent font-medium text-foreground text-sm transition-[color,box-shadow] hover:bg-background-element-hover focus-visible:outline-2 focus-visible:outline-offset-2 active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 aria-invalid:outline-2 aria-invalid:outline-danger aria-invalid:outline-offset-2 data-pressed:bg-background-element-active data-pressed:text-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
7
+ base: "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md border border-transparent font-medium text-foreground text-small transition-[color,box-shadow] hover:bg-background-element-hover focus-visible:outline-2 focus-visible:outline-offset-2 active:scale-[0.97] disabled:pointer-events-none disabled:opacity-50 aria-invalid:outline-2 aria-invalid:outline-danger aria-invalid:outline-offset-2 data-pressed:bg-background-element-active data-pressed:text-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
8
8
  variants: {
9
9
  variant: {
10
10
  default: "border-border-subtle bg-background-element hover:bg-background-element-hover",
package/dist/tooltip.js CHANGED
@@ -38,7 +38,7 @@ function TooltipContent({ className, children, align, side, sideOffset = 10, ...
38
38
  side: side,
39
39
  children: /*#__PURE__*/ jsxs(Tooltip.Popup, {
40
40
  "data-slot": "tooltip-content",
41
- className: cn("z-100 w-fit origin-(--transform-origin) text-balance rounded-md bg-foreground px-2 py-1 text-background text-xs transition-[transform,scale,opacity] data-[ending-style]:scale-90 data-[starting-style]:scale-90 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 data-[instant]:duration-0", className),
41
+ className: cn("z-100 w-fit origin-(--transform-origin) text-balance rounded-md bg-foreground px-2 py-1 text-background text-mini transition-[transform,scale,opacity] data-[ending-style]:scale-90 data-[starting-style]:scale-90 data-[ending-style]:opacity-0 data-[starting-style]:opacity-0 data-[instant]:duration-0", className),
42
42
  ...props,
43
43
  children: [
44
44
  children,
package/dist/utils.js CHANGED
@@ -1,5 +1,22 @@
1
1
  import { cx } from "cva";
2
- import { twMerge } from "tailwind-merge";
2
+ import { extendTailwindMerge } from "tailwind-merge";
3
+ const twMerge = extendTailwindMerge({
4
+ extend: {
5
+ theme: {
6
+ text: [
7
+ "micro",
8
+ "mini",
9
+ "small",
10
+ "regular",
11
+ "large",
12
+ "title1",
13
+ "title2",
14
+ "title3",
15
+ "title4"
16
+ ]
17
+ }
18
+ }
19
+ });
3
20
  function cn(...inputs) {
4
21
  return twMerge(cx(inputs));
5
22
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orphos",
3
- "version": "0.53.2",
3
+ "version": "0.53.3",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "exports": {
package/theme.css CHANGED
@@ -6,15 +6,9 @@
6
6
 
7
7
  :root {
8
8
  /* Base border radius */
9
- --radius: 6px;
10
-
9
+ --radius: 0.375rem;
11
10
  --color-white: oklch(1 0 0);
12
11
  --color-black: oklch(0 0 0);
13
-
14
- font-synthesis: none;
15
- text-rendering: optimizeLegibility;
16
- -webkit-font-smoothing: antialiased;
17
- -moz-osx-font-smoothing: grayscale;
18
12
  }
19
13
 
20
14
  /* Theme */
@@ -28,8 +22,17 @@
28
22
  "Helvetica Neue", sans-serif;
29
23
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", "Menlo", monospace;
30
24
 
31
- /* Colors */
25
+ --text-micro: 0.6875rem;
26
+ --text-mini: 0.75rem;
27
+ --text-small: 0.8125rem;
28
+ --text-regular: 0.9375rem;
29
+ --text-large: 1.125rem;
30
+ --text-title1: 2rem;
31
+ --text-title2: 1.5rem;
32
+ --text-title3: 1.25rem;
33
+ --text-title4: 1.125rem;
32
34
 
35
+ /* Colors */
33
36
  --color-focus-ring: var(--blue-8);
34
37
 
35
38
  --color-background: var(--background);
@@ -82,26 +85,6 @@
82
85
  --radius-xs: calc(var(--radius) - 4px);
83
86
  }
84
87
 
85
- @utility container {
86
- margin-inline: auto;
87
- padding-inline: 1.5rem;
88
- @media (width >= theme(--breakpoint-xs)) {
89
- max-width: none;
90
- }
91
- @media (width >= 1400px) {
92
- max-width: 1400px;
93
- }
94
- }
95
-
96
- @utility no-scrollbar {
97
- -ms-overflow-style: none;
98
- scrollbar-width: none;
99
-
100
- &::-webkit-scrollbar {
101
- display: none;
102
- }
103
- }
104
-
105
88
  @layer base {
106
89
  * {
107
90
  @apply border-border-subtle outline-focus-ring;
@@ -117,12 +100,15 @@
117
100
  }
118
101
 
119
102
  body {
120
- @apply scroll-smooth min-w-[320px] text-base font-sans;
121
- font-feature-settings:
122
- "liga" 1,
123
- "calt" 1; /* fix for Chrome */
124
- font-synthesis-weight: none;
125
- text-rendering: optimizeLegibility;
103
+ @apply scroll-smooth min-w-[320px] leading-normal text-regular font-sans;
104
+ -moz-osx-font-smoothing: grayscale;
105
+ -webkit-font-smoothing: antialiased;
106
+ text-rendering: optimizelegibility;
107
+ -moz-text-size-adjust: none;
108
+ -ms-text-size-adjust: none;
109
+ -o-text-size-adjust: none;
110
+ -webkit-text-size-adjust: 100%;
111
+ font-feature-settings: "calt"; /* fix for Chrome */
126
112
  }
127
113
 
128
114
  textarea::-webkit-resizer {
@@ -152,9 +138,7 @@
152
138
  --prose-blockquote-border-color: var(--tomato-9);
153
139
 
154
140
  color: var(--prose-color);
155
- font-size: var(--text-base);
156
- line-height: 1.75;
157
- white-space: normal;
141
+ @apply leading-[1.7] whitespace-normal text-regular;
158
142
 
159
143
  /* Spacing between elements */
160
144
  *:where(:not(.not-prose, .not-prose *))
@@ -164,36 +148,36 @@
164
148
 
165
149
  /* Headings */
166
150
  h1:where(:not(.not-prose, .not-prose *)) {
167
- font-size: 1.75rem;
151
+ font-size: var(--text-title1);
168
152
  line-height: 1.25;
169
153
  letter-spacing: -0.025em;
170
154
  color: var(--prose-heading-color);
171
- font-weight: var(--font-weight-semibold);
155
+ font-weight: var(--font-weight-medium);
172
156
  margin-top: calc(var(--spacing) * 16);
173
157
  }
174
158
 
175
159
  h2:where(:not(.not-prose, .not-prose *)) {
176
- font-size: 1.5rem;
160
+ font-size: var(--text-title2);
177
161
  line-height: 1.35;
178
162
  letter-spacing: -0.025em;
179
163
  color: var(--prose-heading-color);
180
- font-weight: var(--font-weight-semibold);
164
+ font-weight: var(--font-weight-medium);
181
165
  margin-top: calc(var(--spacing) * 14);
182
166
  }
183
167
 
184
168
  h3:where(:not(.not-prose, .not-prose *)) {
185
- font-size: 1.25rem;
169
+ font-size: var(--text-title3);
186
170
  line-height: 1.4;
187
171
  color: var(--prose-heading-color);
188
- font-weight: var(--font-weight-semibold);
172
+ font-weight: var(--font-weight-medium);
189
173
  margin-top: calc(var(--spacing) * 12);
190
174
  }
191
175
 
192
176
  h4:where(:not(.not-prose, .not-prose *)) {
193
- font-size: var(--text-base);
177
+ font-size: var(--text-large);
194
178
  line-height: 1.5;
195
179
  color: var(--prose-heading-color);
196
- font-weight: var(--font-weight-semibold);
180
+ font-weight: var(--font-weight-medium);
197
181
  margin-top: calc(var(--spacing) * 10);
198
182
  }
199
183
 
@@ -282,7 +266,7 @@
282
266
  font-variant-ligatures: none;
283
267
  font-family: var(--font-mono);
284
268
  font-weight: var(--font-weight-medium);
285
- font-size: 0.875em;
269
+ font-size: var(--text-small);
286
270
  color: var(--prose-code-color);
287
271
  background-color: var(--background-element-hover);
288
272
  padding: 0.125rem 0.375rem;
@@ -290,7 +274,7 @@
290
274
  }
291
275
 
292
276
  :is(h2, h3, h4) code:where(:not(.not-prose, .not-prose *)) {
293
- font-weight: var(--font-weight-semibold);
277
+ font-weight: var(--font-weight-medium);
294
278
  }
295
279
 
296
280
  /* Remove backticks from inline code */
@@ -310,7 +294,7 @@
310
294
  background-color: transparent;
311
295
  padding: 0;
312
296
  border-radius: 0;
313
- font-size: var(--text-sm);
297
+ font-size: var(--text-small);
314
298
  line-height: 1.75;
315
299
  }
316
300
 
@@ -324,7 +308,7 @@
324
308
  table-layout: auto;
325
309
  margin-top: calc(var(--spacing) * 8);
326
310
  margin-bottom: calc(var(--spacing) * 8);
327
- font-size: var(--text-sm);
311
+ font-size: var(--text-small);
328
312
  line-height: 1.5;
329
313
  }
330
314
 
@@ -403,7 +387,7 @@
403
387
  figcaption:where(:not(.not-prose, .not-prose *)) {
404
388
  margin-top: calc(var(--spacing) * 3);
405
389
  text-align: center;
406
- font-size: var(--text-sm);
390
+ font-size: var(--text-small);
407
391
  font-style: italic;
408
392
  color: var(--prose-color);
409
393
  }
@@ -415,6 +399,10 @@
415
399
  border-radius: var(--radius-lg);
416
400
  }
417
401
 
402
+ kbd:where(:not(.not-prose, .not-prose *)) {
403
+ @apply pointer-events-none inline-flex h-5 w-fit min-w-5 select-none items-center justify-center gap-1 rounded-sm bg-background-element-hover px-1 font-medium font-sans text-foreground-subtle text-small;
404
+ }
405
+
418
406
  /* First and last child margin reset */
419
407
  :first-child:where(:not(.not-prose, .not-prose *)) {
420
408
  margin-top: 0;
@@ -425,3 +413,23 @@
425
413
  }
426
414
  }
427
415
  }
416
+
417
+ @utility container {
418
+ margin-inline: auto;
419
+ padding-inline: 1.5rem;
420
+ @media (width >= theme(--breakpoint-xs)) {
421
+ max-width: none;
422
+ }
423
+ @media (width >= 1400px) {
424
+ max-width: 1400px;
425
+ }
426
+ }
427
+
428
+ @utility no-scrollbar {
429
+ -ms-overflow-style: none;
430
+ scrollbar-width: none;
431
+
432
+ &::-webkit-scrollbar {
433
+ display: none;
434
+ }
435
+ }