first commit

This commit is contained in:
2025-12-27 18:23:41 +03:00
commit 63a9425680
197 changed files with 7078 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
import React from "react";
// import "./switch.css";
export function Switch(props: {
checked: boolean;
onChange: (checked: boolean) => void;
label?: React.ReactNode;
disabled?: boolean;
}) {
const { checked, onChange, label, disabled } = props;
return (
<div
className="ui-switch"
data-checked={checked ? "true" : "false"}
aria-disabled={disabled ? "true" : "false"}
onClick={() => {
if (disabled) return;
onChange(!checked);
}}
role="switch"
aria-checked={checked}
tabIndex={0}
onKeyDown={(e) => {
if (disabled) return;
if (e.key === "Enter" || e.key === " ") {
e.preventDefault();
onChange(!checked);
}
}}
>
<span className="ui-switch__track" aria-hidden>
<span className="ui-switch__thumb" />
</span>
{label ? <span className="ui-switch__label">{label}</span> : null}
</div>
);
}