feat: add oxlint with correctness defaults (#22682)

This commit is contained in:
Kit Langton
2026-04-15 20:45:19 -04:00
committed by GitHub
parent a554fad232
commit 3d6f90cb53
57 changed files with 165 additions and 122 deletions

View File

@@ -15,7 +15,7 @@ function AccordionRoot(props: AccordionProps) {
{...rest}
data-component="accordion"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
/>
@@ -29,7 +29,7 @@ function AccordionItem(props: AccordionItemProps) {
{...rest}
data-slot="accordion-item"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
/>
@@ -43,7 +43,7 @@ function AccordionHeader(props: ParentProps<AccordionHeaderProps>) {
{...rest}
data-slot="accordion-header"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>
@@ -59,7 +59,7 @@ function AccordionTrigger(props: ParentProps<AccordionTriggerProps>) {
{...rest}
data-slot="accordion-trigger"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>
@@ -75,7 +75,7 @@ function AccordionContent(props: ParentProps<AccordionContentProps>) {
{...rest}
data-slot="accordion-content"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>

View File

@@ -77,7 +77,7 @@ export const AppIcon: Component<AppIconProps> = (props) => {
alt={local.alt ?? ""}
draggable={local.draggable ?? false}
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
/>

View File

@@ -38,7 +38,7 @@ export function Avatar(props: AvatarProps) {
data-size={split.size || "normal"}
data-has-image={src ? "" : undefined}
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
style={{

View File

@@ -20,7 +20,7 @@ export function Button(props: ButtonProps) {
data-variant={split.variant || "secondary"}
data-icon={split.icon}
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>

View File

@@ -53,7 +53,7 @@ export function Card(props: CardProps) {
data-variant={variant()}
style={mix(split.style, accent())}
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>
@@ -76,7 +76,7 @@ export function CardTitle(props: CardTitleProps) {
{...rest}
data-slot="card-title"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>
@@ -97,7 +97,7 @@ export function CardDescription(props: ComponentProps<"div">) {
{...rest}
data-slot="card-description"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>
@@ -113,7 +113,7 @@ export function CardActions(props: ComponentProps<"div">) {
{...rest}
data-slot="card-actions"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>

View File

@@ -15,7 +15,7 @@ function CollapsibleRoot(props: CollapsibleProps) {
data-component="collapsible"
data-variant={local.variant || "normal"}
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
{...others}

View File

@@ -33,7 +33,7 @@ function ContextMenuTrigger(props: ParentProps<ContextMenuTriggerProps>) {
{...rest}
data-slot="context-menu-trigger"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -49,7 +49,7 @@ function ContextMenuIcon(props: ParentProps<ContextMenuIconProps>) {
{...rest}
data-slot="context-menu-icon"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -69,7 +69,7 @@ function ContextMenuContent(props: ParentProps<ContextMenuContentProps>) {
{...rest}
data-component="context-menu-content"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -85,7 +85,7 @@ function ContextMenuArrow(props: ContextMenuArrowProps) {
{...rest}
data-slot="context-menu-arrow"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
/>
@@ -99,7 +99,7 @@ function ContextMenuSeparator(props: ContextMenuSeparatorProps) {
{...rest}
data-slot="context-menu-separator"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
/>
@@ -113,7 +113,7 @@ function ContextMenuGroup(props: ParentProps<ContextMenuGroupProps>) {
{...rest}
data-slot="context-menu-group"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -129,7 +129,7 @@ function ContextMenuGroupLabel(props: ParentProps<ContextMenuGroupLabelProps>) {
{...rest}
data-slot="context-menu-group-label"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -145,7 +145,7 @@ function ContextMenuItem(props: ParentProps<ContextMenuItemProps>) {
{...rest}
data-slot="context-menu-item"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -161,7 +161,7 @@ function ContextMenuItemLabel(props: ParentProps<ContextMenuItemLabelProps>) {
{...rest}
data-slot="context-menu-item-label"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -177,7 +177,7 @@ function ContextMenuItemDescription(props: ParentProps<ContextMenuItemDescriptio
{...rest}
data-slot="context-menu-item-description"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -193,7 +193,7 @@ function ContextMenuItemIndicator(props: ParentProps<ContextMenuItemIndicatorPro
{...rest}
data-slot="context-menu-item-indicator"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -209,7 +209,7 @@ function ContextMenuRadioGroup(props: ParentProps<ContextMenuRadioGroupProps>) {
{...rest}
data-slot="context-menu-radio-group"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -225,7 +225,7 @@ function ContextMenuRadioItem(props: ParentProps<ContextMenuRadioItemProps>) {
{...rest}
data-slot="context-menu-radio-item"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -241,7 +241,7 @@ function ContextMenuCheckboxItem(props: ParentProps<ContextMenuCheckboxItemProps
{...rest}
data-slot="context-menu-checkbox-item"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -261,7 +261,7 @@ function ContextMenuSubTrigger(props: ParentProps<ContextMenuSubTriggerProps>) {
{...rest}
data-slot="context-menu-sub-trigger"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -277,7 +277,7 @@ function ContextMenuSubContent(props: ParentProps<ContextMenuSubContentProps>) {
{...rest}
data-component="context-menu-sub-content"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>

View File

@@ -28,7 +28,7 @@ export function Dialog(props: DialogProps) {
data-slot="dialog-content"
data-no-header={!props.title && !props.action ? "" : undefined}
classList={{
...(props.classList ?? {}),
...props.classList,
[props.class ?? ""]: !!props.class,
}}
onOpenAutoFocus={(e) => {

View File

@@ -11,7 +11,7 @@ export function DockShell(props: ComponentProps<"div">) {
{...rest}
data-dock-surface="shell"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>
@@ -27,7 +27,7 @@ export function DockShellForm(props: ComponentProps<"form">) {
{...rest}
data-dock-surface="shell"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>
@@ -44,7 +44,7 @@ export function DockTray(props: DockTrayProps) {
data-dock-surface="tray"
data-dock-attach={split.attach || "none"}
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>

View File

@@ -33,7 +33,7 @@ function DropdownMenuTrigger(props: ParentProps<DropdownMenuTriggerProps>) {
{...rest}
data-slot="dropdown-menu-trigger"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -49,7 +49,7 @@ function DropdownMenuIcon(props: ParentProps<DropdownMenuIconProps>) {
{...rest}
data-slot="dropdown-menu-icon"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -69,7 +69,7 @@ function DropdownMenuContent(props: ParentProps<DropdownMenuContentProps>) {
{...rest}
data-component="dropdown-menu-content"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -85,7 +85,7 @@ function DropdownMenuArrow(props: DropdownMenuArrowProps) {
{...rest}
data-slot="dropdown-menu-arrow"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
/>
@@ -99,7 +99,7 @@ function DropdownMenuSeparator(props: DropdownMenuSeparatorProps) {
{...rest}
data-slot="dropdown-menu-separator"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
/>
@@ -113,7 +113,7 @@ function DropdownMenuGroup(props: ParentProps<DropdownMenuGroupProps>) {
{...rest}
data-slot="dropdown-menu-group"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -129,7 +129,7 @@ function DropdownMenuGroupLabel(props: ParentProps<DropdownMenuGroupLabelProps>)
{...rest}
data-slot="dropdown-menu-group-label"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -145,7 +145,7 @@ function DropdownMenuItem(props: ParentProps<DropdownMenuItemProps>) {
{...rest}
data-slot="dropdown-menu-item"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -161,7 +161,7 @@ function DropdownMenuItemLabel(props: ParentProps<DropdownMenuItemLabelProps>) {
{...rest}
data-slot="dropdown-menu-item-label"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -177,7 +177,7 @@ function DropdownMenuItemDescription(props: ParentProps<DropdownMenuItemDescript
{...rest}
data-slot="dropdown-menu-item-description"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -193,7 +193,7 @@ function DropdownMenuItemIndicator(props: ParentProps<DropdownMenuItemIndicatorP
{...rest}
data-slot="dropdown-menu-item-indicator"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -209,7 +209,7 @@ function DropdownMenuRadioGroup(props: ParentProps<DropdownMenuRadioGroupProps>)
{...rest}
data-slot="dropdown-menu-radio-group"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -225,7 +225,7 @@ function DropdownMenuRadioItem(props: ParentProps<DropdownMenuRadioItemProps>) {
{...rest}
data-slot="dropdown-menu-radio-item"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -241,7 +241,7 @@ function DropdownMenuCheckboxItem(props: ParentProps<DropdownMenuCheckboxItemPro
{...rest}
data-slot="dropdown-menu-checkbox-item"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -261,7 +261,7 @@ function DropdownMenuSubTrigger(props: ParentProps<DropdownMenuSubTriggerProps>)
{...rest}
data-slot="dropdown-menu-sub-trigger"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -277,7 +277,7 @@ function DropdownMenuSubContent(props: ParentProps<DropdownMenuSubContentProps>)
{...rest}
data-component="dropdown-menu-sub-content"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>

View File

@@ -18,7 +18,7 @@ export const FileIcon: Component<FileIconProps> = (props) => {
data-component="file-icon"
{...rest}
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>

View File

@@ -99,7 +99,7 @@ function DiffSSRViewer<T>(props: SSRDiffFileProps<T>) {
{
...createDefaultOptions(props.diffStyle),
...others,
...(local.preloadedDiff.options ?? {}),
...local.preloadedDiff.options,
},
virtualizer,
virtualMetrics,
@@ -109,7 +109,7 @@ function DiffSSRViewer<T>(props: SSRDiffFileProps<T>) {
{
...createDefaultOptions(props.diffStyle),
...others,
...(local.preloadedDiff.options ?? {}),
...local.preloadedDiff.options,
},
workerPool,
)

View File

@@ -655,7 +655,7 @@ function ViewerShell(props: {
style={styleVariables}
class="relative outline-none"
classList={{
...(props.classList || {}),
...props.classList,
[props.class ?? ""]: !!props.class,
}}
ref={(el) => (props.viewer.wrapper = el)}

View File

@@ -20,7 +20,7 @@ export function HoverCard(props: HoverCardProps) {
<Kobalte.Content
data-component="hover-card-content"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>

View File

@@ -19,7 +19,7 @@ export function IconButton(props: ComponentProps<"button"> & IconButtonProps) {
data-size={split.size || "normal"}
data-variant={split.variant || "secondary"}
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>

View File

@@ -117,7 +117,7 @@ export function Icon(props: IconProps) {
<svg
data-slot="icon-svg"
classList={{
...(local.classList || {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
fill="none"

View File

@@ -10,7 +10,7 @@ export function Keybind(props: KeybindProps) {
<span
data-component="keybind"
classList={{
...(props.classList ?? {}),
...props.classList,
[props.class ?? ""]: !!props.class,
}}
>

View File

@@ -50,7 +50,7 @@ function escape(text: string) {
.replace(/&/g, "&amp;")
.replace(/</g, "&lt;")
.replace(/>/g, "&gt;")
.replace(/\"/g, "&quot;")
.replace(/"/g, "&quot;")
.replace(/'/g, "&#39;")
}
@@ -338,7 +338,7 @@ export function Markdown(
<div
data-component="markdown"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
ref={setRoot}

View File

@@ -106,7 +106,7 @@ export function Popover<T extends ValidComponent = "div">(props: PopoverProps<T>
ref={(el: HTMLElement | undefined) => setState("contentRef", el)}
data-component="popover-content"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
style={local.style}

View File

@@ -32,7 +32,7 @@ export function ProgressCircle(props: ProgressCircleProps) {
fill="none"
data-component="progress-circle"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>

View File

@@ -15,7 +15,7 @@ export function Progress(props: ProgressProps) {
{...others}
data-component="progress"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>

View File

@@ -15,7 +15,7 @@ export const ProviderIcon: Component<ProviderIconProps> = (props) => {
data-component="provider-icon"
{...rest}
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>

View File

@@ -56,7 +56,7 @@ export function RadioGroup<T>(props: RadioGroupProps<T>) {
data-fill={local.fill ? "" : undefined}
data-pad={local.pad ?? "normal"}
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
value={local.current ? getValue(local.current) : undefined}

View File

@@ -73,7 +73,7 @@ export function ResizeHandle(props: ResizeHandleProps) {
data-direction={local.direction}
data-edge={local.edge ?? (local.direction === "vertical" ? "start" : "end")}
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
onMouseDown={handleMouseDown}

View File

@@ -104,7 +104,7 @@ export function Select<T>(props: SelectProps<T> & Omit<ButtonProps, "children">)
{...itemProps}
data-slot="select-select-item"
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
onPointerEnter={() => move(itemProps.item.rawValue)}
@@ -141,7 +141,7 @@ export function Select<T>(props: SelectProps<T> & Omit<ButtonProps, "children">)
variant={props.variant}
style={local.triggerStyle}
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
>
@@ -160,7 +160,7 @@ export function Select<T>(props: SelectProps<T> & Omit<ButtonProps, "children">)
<Kobalte.Portal>
<Kobalte.Content
classList={{
...(local.classList ?? {}),
...local.classList,
[local.class ?? ""]: !!local.class,
}}
data-component="select-content"

View File

@@ -110,7 +110,7 @@ function partState(part: PartType, showReasoningSummaries: boolean) {
function clean(value: string) {
return value
.replace(/`([^`]+)`/g, "$1")
.replace(/\[([^\]]+)\]\([^\)]+\)/g, "$1")
.replace(/\[([^\]]+)\]\([^)]+\)/g, "$1")
.replace(/[*_~]+/g, "")
.trim()
}

View File

@@ -23,7 +23,7 @@ export function Spinner(props: {
viewBox="0 0 15 15"
data-component="spinner"
classList={{
...(props.classList ?? {}),
...props.classList,
[props.class ?? ""]: !!props.class,
}}
fill="currentColor"

View File

@@ -8,7 +8,7 @@ export function StickyAccordionHeader(
<Accordion.Header
data-component="sticky-accordion-header"
classList={{
...(props.classList ?? {}),
...props.classList,
[props.class ?? ""]: !!props.class,
}}
>

View File

@@ -27,7 +27,7 @@ function TabsRoot(props: TabsProps) {
data-variant={split.variant || "normal"}
data-orientation={split.orientation || "horizontal"}
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
/>
@@ -41,7 +41,7 @@ function TabsList(props: TabsListProps) {
{...rest}
data-slot="tabs-list"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
/>
@@ -63,7 +63,7 @@ function TabsTrigger(props: ParentProps<TabsTriggerProps>) {
data-slot="tabs-trigger-wrapper"
data-value={props.value}
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
onMouseDown={(e) => {
@@ -104,7 +104,7 @@ function TabsContent(props: ParentProps<TabsContentProps>) {
{...rest}
data-slot="tabs-content"
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>

View File

@@ -12,7 +12,7 @@ export function Tag(props: TagProps) {
data-component="tag"
data-size={split.size || "normal"}
classList={{
...(split.classList ?? {}),
...split.classList,
[split.class ?? ""]: !!split.class,
}}
>

View File

@@ -30,7 +30,7 @@ function ToastRoot(props: ToastRootComponentProps) {
<Kobalte
data-component="toast"
classList={{
...(props.classList ?? {}),
...props.classList,
[props.class ?? ""]: !!props.class,
}}
{...props}