Run oxfmt across repo, add format script and docs

Add .oxfmtignore to skip generated bindings and wasm-pack output.
Add npm format script, update DEVELOPMENT.md for Vite+ toolchain,
and format all non-generated files with oxfmt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Gregory Schier
2026-03-13 10:15:49 -07:00
parent 45262edfbd
commit b4a1c418bb
664 changed files with 13638 additions and 13492 deletions

View File

@@ -1,19 +1,19 @@
import classNames from 'classnames';
import { type ReactNode, useRef } from 'react';
import { useStateWithDeps } from '../../hooks/useStateWithDeps';
import { generateId } from '../../lib/generateId';
import { Button } from './Button';
import type { IconProps } from './Icon';
import { IconButton, type IconButtonProps } from './IconButton';
import { Label } from './Label';
import { HStack } from './Stacks';
import classNames from "classnames";
import { type ReactNode, useRef } from "react";
import { useStateWithDeps } from "../../hooks/useStateWithDeps";
import { generateId } from "../../lib/generateId";
import { Button } from "./Button";
import type { IconProps } from "./Icon";
import { IconButton, type IconButtonProps } from "./IconButton";
import { Label } from "./Label";
import { HStack } from "./Stacks";
interface Props<T extends string> {
options: { value: T; label: string; icon?: IconProps['icon'] }[];
options: { value: T; label: string; icon?: IconProps["icon"] }[];
onChange: (value: T) => void;
value: T;
name: string;
size?: IconButtonProps['size'];
size?: IconButtonProps["size"];
label: string;
className?: string;
hideLabel?: boolean;
@@ -25,7 +25,7 @@ export function SegmentedControl<T extends string>({
value,
onChange,
options,
size = 'xs',
size = "xs",
label,
hideLabel,
labelClassName,
@@ -54,18 +54,18 @@ export function SegmentedControl<T extends string>({
space={1}
className={classNames(
className,
'bg-surface-highlight rounded-lg mb-auto mr-auto',
'transition-opacity transform-gpu p-1',
"bg-surface-highlight rounded-lg mb-auto mr-auto",
"transition-opacity transform-gpu p-1",
)}
onKeyDown={(e) => {
const selectedIndex = options.findIndex((o) => o.value === selectedValue);
if (e.key === 'ArrowRight') {
if (e.key === "ArrowRight") {
e.preventDefault();
const newIndex = Math.abs((selectedIndex + 1) % options.length);
if (options[newIndex]) setSelectedValue(options[newIndex].value);
const child = containerRef.current?.children[newIndex] as HTMLButtonElement;
child.focus();
} else if (e.key === 'ArrowLeft') {
} else if (e.key === "ArrowLeft") {
e.preventDefault();
const newIndex = Math.abs((selectedIndex - 1) % options.length);
if (options[newIndex]) setSelectedValue(options[newIndex].value);
@@ -84,12 +84,12 @@ export function SegmentedControl<T extends string>({
aria-checked={isActive}
size={size}
variant="solid"
color={isActive ? 'secondary' : undefined}
color={isActive ? "secondary" : undefined}
role="radio"
tabIndex={isSelected ? 0 : -1}
className={classNames(
isActive && '!text-text',
'focus:ring-1 focus:ring-border-focus',
isActive && "!text-text",
"focus:ring-1 focus:ring-border-focus",
)}
onClick={() => onChange(o.value)}
>
@@ -103,13 +103,13 @@ export function SegmentedControl<T extends string>({
aria-checked={isActive}
size={size}
variant="solid"
color={isActive ? 'secondary' : undefined}
color={isActive ? "secondary" : undefined}
role="radio"
tabIndex={isSelected ? 0 : -1}
className={classNames(
isActive && '!text-text',
'!px-1.5 !w-auto',
'focus:ring-border-focus',
isActive && "!text-text",
"!px-1.5 !w-auto",
"focus:ring-border-focus",
)}
title={o.label}
icon={o.icon}