Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
da28ffe
refactor(ui/badge): expand variants, fix border var, and update stories
KaiUweCZE Jan 7, 2026
f8d6428
fix(ui): improve badge and semantic color contrast for WCAG compliance
KaiUweCZE Jan 7, 2026
59e6490
feat(ui/tokens): add WCAG AAA compliant accent FG colors
KaiUweCZE Jan 7, 2026
95db088
fix(ui/rating): fix value 0 showing 1 star instead of empty
KaiUweCZE Jan 7, 2026
556f1ec
fix(ui/checkbox): align story controls with component props
KaiUweCZE Jan 7, 2026
7019ed7
refactor(ui/icon): remove Basic story per review feedback
KaiUweCZE Jan 8, 2026
545f13f
feat(stories): rename defaults to Playground
KaiUweCZE Jan 8, 2026
078cf63
fix(ui/input,button): improve disabled states and input styling
KaiUweCZE Jan 8, 2026
e2ba558
feat(ui/numeric-input): add locale support and improve stories
KaiUweCZE Jan 8, 2026
5fdb2d4
refactor(ui): add storybook playground and standardize skeleton sizes
KaiUweCZE Jan 8, 2026
edb579a
refactor(status-text): add alignment and simplify icon spacing vars
KaiUweCZE Jan 8, 2026
6d06ae9
feat(ui): add Playground story and expand textarea controls for Story…
KaiUweCZE Jan 8, 2026
3b01017
refactor(stories): tidy tooltip stories and fix button alignment
KaiUweCZE Jan 8, 2026
b0b0dae
fix(ui/accordion): fix Playground controls and improve variant stories
KaiUweCZE Jan 8, 2026
9a1b361
fix(breadcrumb): treat explicit isCurrent as authoritative for items
KaiUweCZE Jan 8, 2026
792ddfd
enhance breadcrumb stories with variants and defaults
KaiUweCZE Jan 8, 2026
76dc631
Merge branch 'master' into refactor/stories-notion-review
KaiUweCZE Jan 8, 2026
3012bc4
feat(stories): enhance carousel story with playground controls
KaiUweCZE Jan 9, 2026
354481d
Merge branch 'master' into refactor/stories-notion-review
KaiUweCZE Jan 9, 2026
fcf24bf
fix(ui/color-select): fix size=full sizing
KaiUweCZE Jan 9, 2026
593e88b
ix(ui/combobox): improve stories based on review feedback
KaiUweCZE Jan 9, 2026
de1e267
fix(ui): fix dialog stories
KaiUweCZE Jan 9, 2026
dacd4a6
fix(ui): standardize stories
KaiUweCZE Jan 9, 2026
08b4dac
fix(ui/form-input): improve stories with semantic tokens and live val…
KaiUweCZE Jan 9, 2026
6cc9f0c
fix(ui): NumericInput disabled cursor + stories Controls
KaiUweCZE Jan 9, 2026
d29dc6b
fix(ui): FormTextarea stories - add Playground, argTypes, semantic to…
KaiUweCZE Jan 9, 2026
f760770
fix(ui): pass validateStatus to FormTextareaRaw
KaiUweCZE Jan 9, 2026
62cc31e
fix(ui): improve Popover stories and add showCloseButton prop
KaiUweCZE Jan 10, 2026
49f24a0
fix(ui): use semantic spacing tokens in Popover stories
KaiUweCZE Jan 11, 2026
27009c6
fix(ui): add Playground story and argTypes to Select stories
KaiUweCZE Jan 11, 2026
965385d
fix(ui): ProductCard stories - add Playground Controls, fix rating/qu…
KaiUweCZE Jan 11, 2026
3193177
remove comments
KaiUweCZE Jan 11, 2026
44282b1
fix(ui): update Steps stories to use semantic tokens and compound Select
KaiUweCZE Jan 11, 2026
773abd0
fix(ui)? align Slider stories with stories conventions
KaiUweCZE Jan 11, 2026
72145a7
feat(ui): add Playground with categorized Controls to Tabs stories
KaiUweCZE Jan 11, 2026
84869eb
fix(ui): Slider data attributes to Tailwind v4 syntax
KaiUweCZE Jan 11, 2026
dc48171
fix(ui): update Toast stories to use semantic tokens and conventions
KaiUweCZE Jan 11, 2026
51e4722
fix(ui): TreeView disabled branch cursor and pointer events
KaiUweCZE Jan 11, 2026
7aa1ce7
Merge branch 'master' into refactor/stories-notion-review
KaiUweCZE Jan 11, 2026
81b10ff
fix(ui): PR #265 review - token fixes and story improvement
KaiUweCZE Jan 12, 2026
1929316
fix(ui): minor popover and image story adjustments
KaiUweCZE Jan 12, 2026
c48427d
docs(ui): canonical AGENTS and symlink CLAUDE
BleedingDev Jan 12, 2026
caf928f
Merge remote-tracking branch 'origin/master' into refactor/stories-no…
BleedingDev Jan 12, 2026
e3494dd
Merge origin/master into refactor/stories-notion-review
BleedingDev Jan 13, 2026
97822ea
docs(ui): restore storybook examples
BleedingDev Jan 13, 2026
4408a98
docs(ui): keep single CLAUDE symlink note
BleedingDev Jan 13, 2026
9d64c28
docs(ui): hyphenate lint-specific note
BleedingDev Jan 13, 2026
0aec9e7
refactor(ui): use outline focus for input/textarea
BleedingDev Jan 13, 2026
09ff8c4
refactor(ui): use outline for focus styles
BleedingDev Jan 13, 2026
8cedbb1
refactor(ui): standardize focus and validation widths
BleedingDev Jan 13, 2026
fc4da33
set 5s instead of 10s
KaiUweCZE Jan 13, 2026
fa8254a
fix(ui): align focus and cleanup search form
BleedingDev Jan 13, 2026
7f45fe5
refactor(ui): tokenized outline offset and style
BleedingDev Jan 13, 2026
f2707c5
Merge pull request #276 from NMIT-WR/focus-outline
BleedingDev Jan 13, 2026
b40b900
Merge remote-tracking branch 'origin/master' into refactor/stories-no…
BleedingDev Jan 14, 2026
4fdc39a
Fix cart errors and env-based DB config
BleedingDev Jan 14, 2026
f4f5faa
Extract shared database URL helper
BleedingDev Jan 14, 2026
4ef059c
Update pnpm lockfile
BleedingDev Jan 14, 2026
6055673
Revert "Extract shared database URL helper"
BleedingDev Jan 14, 2026
732d4c0
Update pnpm lockfile
BleedingDev Jan 14, 2026
597932e
Merge branch 'refactor/stories-notion-review' of https://github.com/N…
KaiUweCZE Jan 14, 2026
04f4660
Merge origin/master into refactor/stories-notion-review
BleedingDev Jan 26, 2026
e7466fb
chore: remove dead code color-select.tsx from frontend-demo
BleedingDev Jan 26, 2026
e7aaa13
fix(ui): address CodeRabbit review comments
BleedingDev Jan 26, 2026
df109f9
merge: sync local branch with origin
KaiUweCZE Feb 3, 2026
140eaab
fix(ui): prevent carousel controlPosition from leaking to machine config
KaiUweCZE Feb 3, 2026
e09bd4b
fix numeric-input formattiong & playground
KaiUweCZE Feb 4, 2026
5c894be
feat status-text icon override
KaiUweCZE Feb 4, 2026
17953e9
chore tooltip playground trigger controls
KaiUweCZE Feb 4, 2026
6e6128a
chore skeleton playground controls
KaiUweCZE Feb 4, 2026
349bff8
chore icon playground controls
KaiUweCZE Feb 4, 2026
d372345
feat image size variants
KaiUweCZE Feb 4, 2026
326c2f0
chore rating playground
KaiUweCZE Feb 4, 2026
ee6c8dc
chore button story tweaks
KaiUweCZE Feb 4, 2026
ad9fa35
remove ErrorText/ExtraText (migrated to StatusText)
KaiUweCZE Feb 4, 2026
72abe56
link-button: cleanup
KaiUweCZE Feb 4, 2026
394e655
feat(image): default to full width
KaiUweCZE Feb 4, 2026
6b6d20e
feat(overview): add component comparison story
KaiUweCZE Feb 4, 2026
45899a3
fix(ui): support Image size with custom as; update tooltip and story …
KaiUweCZE Feb 12, 2026
ae971cf
merge master into refactor/stories-notion-review
KaiUweCZE Feb 12, 2026
54221e4
fix after merge
KaiUweCZE Feb 12, 2026
3adff84
fix issues from gh review
KaiUweCZE Feb 12, 2026
597361b
Merge branch 'master' into refactor/stories-notion-review
BleedingDev Feb 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion apps/frontend-demo/src/components/atoms/skeleton-loader.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { tv } from "@techsio/ui-kit/utils"
import type * as React from "react"
import type { VariantProps } from "tailwind-variants"
import "../../tokens/app-components/atoms/_skeleton-loader.css"

const skeletonVariants = tv({
base: [
Expand All @@ -10,7 +11,7 @@ const skeletonVariants = tv({
"before:absolute",
"before:inset-0",
"before:-translate-x-full",
"before:animate-[skeleton-shimmer_var(--skeleton-shimmer-duration)_ease-in-out_infinite]",
"before:animate-skeleton-shimmer",
"before:bg-gradient-to-r",
"before:from-transparent",
"before:via-skeleton-shimmer",
Expand Down
4 changes: 2 additions & 2 deletions apps/frontend-demo/src/components/auth/auth-dropdown.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ export function AuthDropdown() {
trigger={
<span className="text-nowrap text-white text-xs">Přihlásit se</span>
}
triggerClassName="data-[state=open]:ring-0 data-[state=open]:ring-offset-0 rounded-sm bg-tertiary hover:bg-tertiary/60 mr-150"
triggerClassName="data-[state=open]:outline-none rounded-sm bg-tertiary hover:bg-tertiary/60 mr-150"
>
<QuickLoginForm />
</Popover>
Expand Down Expand Up @@ -80,7 +80,7 @@ export function AuthDropdown() {
</span>
</span>
}
triggerClassName="hover:bg-transparent active:bg-transparent data-[state=open]:ring-0 data-[state=open]:ring-offset-0"
triggerClassName="hover:bg-transparent active:bg-transparent data-[state=open]:outline-none"
>
<ul className="space-y-1">
{menuItems.map((item) => (
Expand Down
4 changes: 2 additions & 2 deletions apps/frontend-demo/src/components/header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ export function Header({
)}
</div>
}
triggerClassName="data-[state=open]:ring-0 data-[state=open]:ring-offset-0"
triggerClassName="data-[state=open]:outline-none"
>
<CartPreview />
</Popover>
Expand All @@ -109,7 +109,7 @@ export function Header({
{/* Mobile menu button */}
{showMobileMenu && (
<Button
className="inline-flex items-center justify-center rounded-header-mobile-menu p-header-mobile-menu-padding text-header-icon-size text-header-mobile-menu-text hover:bg-header-mobile-menu-hover hover:text-header-mobile-menu-text-hover focus:outline-none focus:ring-header-mobile-menu-color focus:ring-header-mobile-menu-width focus:ring-inset lg:hidden"
className="inline-flex items-center justify-center rounded-header-mobile-menu p-header-mobile-menu-padding text-header-icon-size text-header-mobile-menu-text hover:bg-header-mobile-menu-hover hover:text-header-mobile-menu-text-hover focus-visible:outline-(style:--default-ring-style) focus-visible:outline-(length:--default-ring-width) focus-visible:outline-ring focus-visible:outline-offset-(length:--default-ring-offset) lg:hidden"
icon="token-icon-menu"
onClick={() => setIsMobileMenuOpen(true)}
size="sm"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ export function HeaderSearch() {
icon="token-icon-search"
/>
}
triggerClassName="data-[state=open]:ring-0 data-[state=open]:ring-offset-0"
triggerClassName="data-[state=open]:outline-none"
>
<form
onSubmit={(e) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export function PaymentSelection({
<Button
aria-label={`Vybrat platební metodu ${method.name}`}
aria-pressed={selected === method.id}
className="relative flex h-[100px] flex-col items-center justify-center rounded-lg border-2 border-border-subtle bg-surface p-2 transition-all duration-200 hover:bg-surface-hover hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-base data-[selected=true]:border-primary data-[selected=true]:bg-surface-selected data-[selected=true]:shadow-lg sm:h-[140px] sm:p-3 lg:h-[180px] lg:p-4"
className="relative flex h-[100px] flex-col items-center justify-center rounded-lg border-2 border-border-subtle bg-surface p-2 transition-all duration-200 hover:bg-surface-hover hover:shadow-md focus-visible:outline-(style:--default-ring-style) focus-visible:outline-(length:--default-ring-width) focus-visible:outline-ring focus-visible:outline-offset-(length:--default-ring-offset) data-[selected=true]:border-primary data-[selected=true]:bg-surface-selected data-[selected=true]:shadow-lg sm:h-[140px] sm:p-3 lg:h-[180px] lg:p-4"
data-selected={selected === method.id}
key={method.id}
onClick={() => onSelect(method.id)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ export function ShippingSelection({
<Button
aria-checked={selected === method.id}
aria-label={`${method.name} - ${method.calculated_price.calculated_amount}`}
className="relative flex items-center rounded-lg border-2 border-border-subtle bg-surface p-3 transition-all duration-200 hover:bg-surface-hover hover:shadow-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 focus-visible:ring-offset-base data-[selected=true]:border-primary data-[selected=true]:bg-surface-selected data-[selected=true]:shadow-lg sm:p-4"
className="relative flex items-center rounded-lg border-2 border-border-subtle bg-surface p-3 transition-all duration-200 hover:bg-surface-hover hover:shadow-md focus-visible:outline-(style:--default-ring-style) focus-visible:outline-(length:--default-ring-width) focus-visible:outline-ring focus-visible:outline-offset-(length:--default-ring-offset) data-[selected=true]:border-primary data-[selected=true]:bg-surface-selected data-[selected=true]:shadow-lg sm:p-4"
data-selected={selected === method.id}
key={method.id}
onClick={() => onSelect(method.id)}
Expand Down
32 changes: 25 additions & 7 deletions apps/frontend-demo/src/hooks/use-cart.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,25 @@ import { sdk } from "@/lib/medusa-client"
import { queryKeys } from "@/lib/query-keys"

export type Cart = HttpTypes.StoreCart | undefined

type ErrorResponse = {
status?: number
message?: string
response?: { status?: number; data?: { message?: string } }
}

const getErrorStatus = (error: unknown): number | undefined => {
if (!error || typeof error !== "object") return undefined
const err = error as ErrorResponse
return err.status ?? err.response?.status
}

const getErrorMessage = (error: unknown): string | undefined => {
if (!error || typeof error !== "object") return undefined
const err = error as ErrorResponse
return err.message ?? err.response?.data?.message
}

// Cart hook using React Query
export function useCart() {
const { selectedRegion } = useRegions()
Expand Down Expand Up @@ -48,10 +67,10 @@ export function useCart() {
}

return cart
} catch (err: any) {
} catch (err) {
console.error("[Cart Hook] Failed to retrieve cart:", err)
// Only remove cart ID if it's a 404 (cart not found)
if (err?.status === 404 || err?.response?.status === 404) {
if (getErrorStatus(err) === 404) {
if (typeof window !== "undefined") {
localStorage.removeItem(STORAGE_KEYS.CART_ID)
}
Expand All @@ -78,9 +97,9 @@ export function useCart() {
},
enabled: !!selectedRegion,
...cacheConfig.realtime, // 30s stale, 5m gc, refetch on focus
retry: (failureCount, error: any) => {
retry: (failureCount, error) => {
// Don't retry if cart was not found
if (error?.status === 404) return false
if (getErrorStatus(error) === 404) return false
// Retry up to 3 times for other errors
return failureCount < 3
},
Expand Down Expand Up @@ -114,12 +133,11 @@ export function useCart() {
type: "success",
})
},
onError: (error: any) => {
onError: (error) => {
console.error("[Cart Hook] Add item error:", error)

// Parse error message for specific inventory issue
const errorMessage =
error?.message || error?.response?.data?.message || "Unknown error"
const errorMessage = getErrorMessage(error) || "Unknown error"

if (errorMessage.toLowerCase().includes("inventory")) {
toast.create({
Expand Down
5 changes: 4 additions & 1 deletion apps/frontend-demo/src/lib/query-keys.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,10 @@ export const queryKeys = {
regions: () => [...queryKeys.all, "regions"] as const,

// Cart queries
cart: (id?: string) => [...queryKeys.all, "cart", id] as const,
cart: (id?: string) => {
const base = [...queryKeys.all, "cart"] as const
return id ? ([...base, id] as const) : base
},

// Authentication queries
auth: {
Expand Down
29 changes: 7 additions & 22 deletions apps/frontend-demo/src/tokens/_overrides-components.css
Original file line number Diff line number Diff line change
Expand Up @@ -14,34 +14,19 @@
--border-width-accordion: 1px;

/* === BUTTON === */
/* Change from --alpha-ring to --opacity-ring for all focus rings */
--color-button-ring-primary: --alpha(
var(--color-button-primary) /
var(--opacity-ring)
);
--color-button-ring-secondary: --alpha(
var(--color-button-secondary) /
var(--opacity-ring)
);
--color-button-ring-tertiary: --alpha(
var(--color-button-tertiary) /
var(--opacity-ring)
);
--color-button-ring-warning: --alpha(
var(--color-button-warning) /
var(--opacity-ring)
);
--color-button-ring-danger: --alpha(
var(--color-button-danger) /
var(--opacity-ring)
);
/* Solid focus ring colors */
--color-button-ring-primary: var(--color-button-primary);
--color-button-ring-secondary: var(--color-button-secondary);
--color-button-ring-tertiary: var(--color-button-tertiary);
--color-button-ring-warning: var(--color-button-warning);
--color-button-ring-danger: var(--color-button-danger);
--color-button-text-secondary: var(--color-fg-dark);

/* === INPUT === */
/* Different padding for small inputs */
--padding-input-sm: var(--spacing-3xs) var(--spacing-2xs);
--padding-input-md: var(--spacing-2xs) var(--spacing-xs);
--color-input-ring: --alpha(var(--color-tertiary) / 50%);
--color-input-ring: var(--color-tertiary);
/* Font weight token name change */
--font-label: var(--font-weight-bold);

Expand Down
2 changes: 1 addition & 1 deletion apps/frontend-demo/src/tokens/_overrides.css
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@
--spacing: 0.25rem;

/* Focus ring */
--color-ring-primary: --alpha(var(--color-primary) / var(--opacity-ring));
--color-ring-primary: var(--color-primary);

/* Aspect ratio */
--aspect-ratio-square: 1 / 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,8 @@
transform: translateX(100%);
}
}

@utility animate-skeleton-shimmer {
animation: skeleton-shimmer var(--skeleton-shimmer-duration) ease-in-out
infinite;
}
4 changes: 2 additions & 2 deletions apps/medusa-be/src/utils/__tests__/errors.unit.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ describe("shouldCaptureException", () => {
["INVALID_DATA", MedusaError.Types.INVALID_DATA],
["NOT_FOUND", MedusaError.Types.NOT_FOUND],
])("skips %s errors", (_, errorType) => {
const error = { type: errorType, message: "test" }
const error = new MedusaError(errorType, "test")
expect(shouldCaptureException(error)).toBe(false)
})
})
Expand All @@ -74,7 +74,7 @@ describe("shouldCaptureException", () => {
["DB_ERROR", MedusaError.Types.DB_ERROR],
["UNEXPECTED_STATE", MedusaError.Types.UNEXPECTED_STATE],
])("captures %s errors", (_, errorType) => {
const error = { type: errorType, message: "test" }
const error = new MedusaError(errorType, "test")
expect(shouldCaptureException(error)).toBe(true)
})
})
Expand Down
8 changes: 3 additions & 5 deletions apps/medusa-be/src/utils/errors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,9 @@ export function normalizeError(throwable: unknown): Error {
}

export function shouldCaptureException(error: unknown): boolean {
if (error === null || typeof error !== "object") {
return true
if (error instanceof MedusaError) {
return !CLIENT_ERROR_TYPES.has(error.type)
}

const errorObj = error as { type?: string }

return !(errorObj.type && CLIENT_ERROR_TYPES.has(errorObj.type))
return true
}
1 change: 1 addition & 0 deletions libs/ui/.claude/CLAUDE.md
2 changes: 1 addition & 1 deletion libs/ui/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ stories/
- `bunx nx run ui:storybook` # Component preview
- `bunx nx run ui:build` # Build library
- `pnpm validate:tokens` # Token validation
- `bunx biome check --write <file>` # Lint specific file (never ".")
- `bunx biome check --write <file>` # Lint-specific file (never ".")

## PR Descriptions (CLI)

Expand Down
2 changes: 1 addition & 1 deletion libs/ui/src/atoms/badge.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const badgeVariants = tv({
"p-badge",
"rounded-badge border-badge-border",
"font-badge text-badge-size",
"border-(length:--border-width-badge-dynamic)",
"border-(length:--border-width-badge)",
],
variants: {
variant: {
Expand Down
13 changes: 7 additions & 6 deletions libs/ui/src/atoms/button.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ export const buttonVariants = tv({
"inline-flex cursor-pointer items-baseline justify-center",
"font-medium",
"transition-all duration-200 motion-reduce:transition-none",
"focus:outline-none",
"focus-visible:ring",
"focus-visible:ring-button-ring",
"disabled:pointer-events-none disabled:text-button-fg-disabled",
"focus-visible:outline-(style:--default-ring-style) focus-visible:outline-(length:--default-ring-width)",
"focus-visible:outline-button-ring",
"focus-visible:outline-offset-(length:--default-ring-offset)",
"disabled:cursor-not-allowed disabled:text-button-fg-disabled",
],
variants: {
variant: {
Expand All @@ -26,8 +26,9 @@ export const buttonVariants = tv({
solid: "disabled:bg-button-bg-disabled",
light: "disabled:bg-button-bg-disabled",
borderless:
"bg-button-bg-borderless hover:bg-button-bg-borderless-hover active:bg-button-bg-borderless-active",
outlined: "border disabled:border-button-border-disabled",
"bg-button-bg-borderless hover:bg-button-bg-borderless-hover active:bg-button-bg-borderless-active disabled:hover:bg-button-bg-borderless",
outlined:
"border bg-button-bg-outlined disabled:border-button-border-disabled disabled:hover:bg-button-bg-outlined",
unstyled: "",
},
uppercase: {
Expand Down
14 changes: 9 additions & 5 deletions libs/ui/src/atoms/checkbox.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,14 @@ const checkboxVariants = tv({
"disabled:checked:text-checkbox-fg-disabled",
"disabled:checked:border-checkbox-border-disabled",
"transition-all duration-200 motion-reduce:transition-none",
"focus:outline-none",
"focus-visible:ring",
"focus-visible:ring-checkbox-ring-focus",
"aria-invalid:border-checkbox-border-error",
"aria-invalid:ring-checkbox-ring-error",
"focus-visible:outline-(style:--default-ring-style) focus-visible:outline-(length:--default-ring-width)",
"focus-visible:outline-checkbox-ring-focus",
"focus-visible:outline-offset-(length:--default-ring-offset)",
"data-invalid:border-(length:--border-width-validation)",
"data-invalid:border-checkbox-border-error",
"data-invalid:outline-(style:--default-ring-style) data-invalid:outline-(length:--default-ring-width)",
"data-invalid:outline-checkbox-ring-error",
"data-invalid:outline-offset-(length:--default-ring-offset)",
],
})

Expand Down Expand Up @@ -61,6 +64,7 @@ export function Checkbox({
<input
aria-invalid={invalid || undefined}
className={checkboxVariants({ className })}
data-invalid={invalid || undefined}
ref={setIndeterminate}
type="checkbox"
{...props}
Expand Down
49 changes: 0 additions & 49 deletions libs/ui/src/atoms/error-text.tsx

This file was deleted.

Loading
Loading