@zentauri-ui/zentauri-components 1.8.41 → 1.9.0
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/CHANGELOG.md +23 -0
- package/LICENSE +21 -0
- package/README.md +77 -64
- package/dist/{chunk-RFT2FLQT.js → chunk-5IJC2OEN.js} +10 -12
- package/dist/chunk-5IJC2OEN.js.map +1 -0
- package/dist/{chunk-CJXGDY7A.mjs → chunk-DY7HLVGW.mjs} +10 -12
- package/dist/chunk-DY7HLVGW.mjs.map +1 -0
- package/dist/chunk-KVQI5PLL.mjs +399 -0
- package/dist/chunk-KVQI5PLL.mjs.map +1 -0
- package/dist/chunk-NRPG2STN.js +401 -0
- package/dist/chunk-NRPG2STN.js.map +1 -0
- package/dist/{chunk-V5JTDRV5.mjs → chunk-TKVZU56F.mjs} +11 -11
- package/dist/chunk-TKVZU56F.mjs.map +1 -0
- package/dist/{chunk-Z4KHAD6Y.js → chunk-U3VV22G4.js} +11 -11
- package/dist/chunk-U3VV22G4.js.map +1 -0
- package/dist/design-system/dynamic-stepper.d.ts +0 -1
- package/dist/design-system/dynamic-stepper.d.ts.map +1 -1
- package/dist/design-system/inputs.d.ts +65 -0
- package/dist/design-system/inputs.d.ts.map +1 -1
- package/dist/design-system/kbd.d.ts +1 -0
- package/dist/design-system/kbd.d.ts.map +1 -1
- package/dist/design-system/marquee.d.ts +9 -9
- package/dist/design-system/timeline.d.ts +9 -9
- package/dist/test-utils/axe.d.ts +30 -0
- package/dist/test-utils/axe.d.ts.map +1 -0
- package/dist/ui/dynamic-stepper/variants.d.ts +2 -2
- package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
- package/dist/ui/dynamic-stepper.js +3 -4
- package/dist/ui/dynamic-stepper.js.map +1 -1
- package/dist/ui/dynamic-stepper.mjs +3 -4
- package/dist/ui/dynamic-stepper.mjs.map +1 -1
- package/dist/ui/inputs/animated.js +3 -3
- package/dist/ui/inputs/animated.mjs +1 -1
- package/dist/ui/inputs/variants.d.ts.map +1 -1
- package/dist/ui/inputs.js +4 -4
- package/dist/ui/inputs.mjs +2 -2
- package/dist/ui/kbd/animated.js +2 -2
- package/dist/ui/kbd/animated.mjs +1 -1
- package/dist/ui/kbd/variants.d.ts.map +1 -1
- package/dist/ui/kbd.js +4 -4
- package/dist/ui/kbd.mjs +2 -2
- package/dist/ui/marquee.js +9 -9
- package/dist/ui/marquee.js.map +1 -1
- package/dist/ui/marquee.mjs +9 -9
- package/dist/ui/marquee.mjs.map +1 -1
- package/dist/ui/search.js +2 -2
- package/dist/ui/search.mjs +1 -1
- package/dist/ui/select/select.d.ts +2 -2
- package/dist/ui/select/select.d.ts.map +1 -1
- package/dist/ui/select/types.d.ts +2 -0
- package/dist/ui/select/types.d.ts.map +1 -1
- package/dist/ui/select.js +26 -4
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/select.mjs +27 -5
- package/dist/ui/select.mjs.map +1 -1
- package/dist/ui/timeline/animated.js +11 -11
- package/dist/ui/timeline/animated.mjs +2 -2
- package/dist/ui/timeline.js +14 -14
- package/dist/ui/timeline.mjs +2 -2
- package/package.json +47 -16
- package/src/design-system/dynamic-stepper.ts +0 -7
- package/src/design-system/inputs.ts +102 -0
- package/src/design-system/kbd.ts +3 -0
- package/src/design-system/marquee.ts +9 -9
- package/src/design-system/timeline.ts +9 -9
- package/src/ui/accessibility/axe-core.test.tsx +139 -0
- package/src/ui/dynamic-stepper/variants.ts +7 -3
- package/src/ui/inputs/variants.ts +57 -90
- package/src/ui/kbd/variants.ts +8 -10
- package/src/ui/select/select.test.tsx +24 -0
- package/src/ui/select/select.tsx +37 -4
- package/src/ui/select/types.ts +2 -0
- package/dist/chunk-CJXGDY7A.mjs.map +0 -1
- package/dist/chunk-D3VZKUMH.mjs +0 -340
- package/dist/chunk-D3VZKUMH.mjs.map +0 -1
- package/dist/chunk-RFT2FLQT.js.map +0 -1
- package/dist/chunk-UGH23TAH.js +0 -342
- package/dist/chunk-UGH23TAH.js.map +0 -1
- package/dist/chunk-V5JTDRV5.mjs.map +0 -1
- package/dist/chunk-Z4KHAD6Y.js.map +0 -1
|
@@ -68,6 +68,108 @@ export const zuiInputSizes = {
|
|
|
68
68
|
lg: "h-10 md:h-12 px-5 text-base",
|
|
69
69
|
} as const;
|
|
70
70
|
|
|
71
|
+
export const zuiInputTextareaSizes = {
|
|
72
|
+
sm: "min-h-[5rem]",
|
|
73
|
+
md: "min-h-[6rem]",
|
|
74
|
+
lg: "min-h-[7.5rem]",
|
|
75
|
+
} as const;
|
|
76
|
+
|
|
77
|
+
export const zuiInputFileSizes = {
|
|
78
|
+
sm: "h-8 text-xs pl-1 file:h-8 file:px-3 file:text-xs",
|
|
79
|
+
md: "h-9 md:h-11 text-sm pl-1 file:h-9 md:file:h-11 file:px-4 file:text-sm",
|
|
80
|
+
lg: "h-10 md:h-12 text-base pl-1 file:h-10 md:file:h-12 file:px-5 file:text-base",
|
|
81
|
+
} as const;
|
|
82
|
+
|
|
83
|
+
export const zuiInputFileAppearances = {
|
|
84
|
+
default:
|
|
85
|
+
"file:text-[color:var(--zui-input-file-default-fg,#334155)] dark:file:text-[color:var(--zui-input-file-default-fg-dark,#e2e8f0)]",
|
|
86
|
+
warning:
|
|
87
|
+
"file:bg-[var(--zui-input-file-warning-bg,#eab30833)] dark:file:bg-[var(--zui-input-file-warning-bg-dark,#eab30833)] file:text-[color:var(--zui-input-file-warning-fg,#854d0e)] dark:file:text-[color:var(--zui-input-file-warning-fg-dark,#fef08a)] file:border-[color:var(--zui-input-file-warning-border,#eab30866)] dark:file:border-[color:var(--zui-input-file-warning-border-dark,#eab30866)] hover:file:bg-[var(--zui-input-file-warning-bg-hover,#eab3084d)] dark:hover:file:bg-[var(--zui-input-file-warning-bg-hover-dark,#eab3084d)]",
|
|
88
|
+
error:
|
|
89
|
+
"file:bg-[var(--zui-input-file-error-bg,#f43f5e33)] dark:file:bg-[var(--zui-input-file-error-bg-dark,#f43f5e33)] file:text-[color:var(--zui-input-file-error-fg,#9f1239)] dark:file:text-[color:var(--zui-input-file-error-fg-dark,#fecdd3)] file:border-[color:var(--zui-input-file-error-border,#f43f5e66)] dark:file:border-[color:var(--zui-input-file-error-border-dark,#f43f5e66)] hover:file:bg-[var(--zui-input-file-error-bg-hover,#f43f5e4d)] dark:hover:file:bg-[var(--zui-input-file-error-bg-hover-dark,#f43f5e4d)]",
|
|
90
|
+
success:
|
|
91
|
+
"file:bg-[var(--zui-input-file-success-bg,#10b98133)] dark:file:bg-[var(--zui-input-file-success-bg-dark,#10b98133)] file:text-[color:var(--zui-input-file-success-fg,#065f46)] dark:file:text-[color:var(--zui-input-file-success-fg-dark,#a7f3d0)] file:border-[color:var(--zui-input-file-success-border,#10b98166)] dark:file:border-[color:var(--zui-input-file-success-border-dark,#10b98166)] hover:file:bg-[var(--zui-input-file-success-bg-hover,#10b9814d)] dark:hover:file:bg-[var(--zui-input-file-success-bg-hover-dark,#10b9814d)]",
|
|
92
|
+
info: "file:bg-[var(--zui-input-file-info-bg,#3b82f633)] dark:file:bg-[var(--zui-input-file-info-bg-dark,#3b82f633)] file:text-[color:var(--zui-input-file-info-fg,#1e40af)] dark:file:text-[color:var(--zui-input-file-info-fg-dark,#bfdbfe)] file:border-[color:var(--zui-input-file-info-border,#3b82f666)] dark:file:border-[color:var(--zui-input-file-info-border-dark,#3b82f666)] hover:file:bg-[var(--zui-input-file-info-bg-hover,#3b82f64d)] dark:hover:file:bg-[var(--zui-input-file-info-bg-hover-dark,#3b82f64d)]",
|
|
93
|
+
violet:
|
|
94
|
+
"file:bg-[var(--zui-input-file-violet-bg,#8b5cf633)] dark:file:bg-[var(--zui-input-file-violet-bg-dark,#8b5cf633)] file:text-[color:var(--zui-input-file-violet-fg,#5b21b6)] dark:file:text-[color:var(--zui-input-file-violet-fg-dark,#ddd6fe)] file:border-[color:var(--zui-input-file-violet-border,#8b5cf666)] dark:file:border-[color:var(--zui-input-file-violet-border-dark,#8b5cf666)] hover:file:bg-[var(--zui-input-file-violet-bg-hover,#8b5cf64d)] dark:hover:file:bg-[var(--zui-input-file-violet-bg-hover-dark,#8b5cf64d)]",
|
|
95
|
+
amber:
|
|
96
|
+
"file:bg-[var(--zui-input-file-amber-bg,#f59e0b33)] dark:file:bg-[var(--zui-input-file-amber-bg-dark,#f59e0b33)] file:text-[color:var(--zui-input-file-amber-fg,#92400e)] dark:file:text-[color:var(--zui-input-file-amber-fg-dark,#fde68a)] file:border-[color:var(--zui-input-file-amber-border,#f59e0b66)] dark:file:border-[color:var(--zui-input-file-amber-border-dark,#f59e0b66)] hover:file:bg-[var(--zui-input-file-amber-bg-hover,#f59e0b4d)] dark:hover:file:bg-[var(--zui-input-file-amber-bg-hover-dark,#f59e0b4d)]",
|
|
97
|
+
pink: "file:bg-[var(--zui-input-file-pink-bg,#ec489933)] dark:file:bg-[var(--zui-input-file-pink-bg-dark,#ec489933)] file:text-[color:var(--zui-input-file-pink-fg,#9d174d)] dark:file:text-[color:var(--zui-input-file-pink-fg-dark,#fbcfe8)] file:border-[color:var(--zui-input-file-pink-border,#ec489966)] dark:file:border-[color:var(--zui-input-file-pink-border-dark,#ec489966)] hover:file:bg-[var(--zui-input-file-pink-bg-hover,#ec48994d)] dark:hover:file:bg-[var(--zui-input-file-pink-bg-hover-dark,#ec48994d)]",
|
|
98
|
+
indigo:
|
|
99
|
+
"file:bg-[var(--zui-input-file-indigo-bg,#6366f133)] dark:file:bg-[var(--zui-input-file-indigo-bg-dark,#6366f133)] file:text-[color:var(--zui-input-file-indigo-fg,#3730a3)] dark:file:text-[color:var(--zui-input-file-indigo-fg-dark,#c7d2fe)] file:border-[color:var(--zui-input-file-indigo-border,#6366f166)] dark:file:border-[color:var(--zui-input-file-indigo-border-dark,#6366f166)] hover:file:bg-[var(--zui-input-file-indigo-bg-hover,#6366f14d)] dark:hover:file:bg-[var(--zui-input-file-indigo-bg-hover-dark,#6366f14d)]",
|
|
100
|
+
} as const;
|
|
101
|
+
|
|
102
|
+
export const zuiInputCheckboxSizes = {
|
|
103
|
+
sm: "h-4! w-4! min-h-0! rounded-[0.35rem]! px-0! py-0!",
|
|
104
|
+
md: "h-5! w-5! min-h-0! rounded-md! px-0! py-0!",
|
|
105
|
+
lg: "h-6! w-6! min-h-0! rounded-md! px-0! py-0!",
|
|
106
|
+
} as const;
|
|
107
|
+
|
|
108
|
+
export const zuiInputRadioSizes = {
|
|
109
|
+
sm: "h-4! w-4! min-h-0! px-0! py-0!",
|
|
110
|
+
md: "h-5! w-5! min-h-0! px-0! py-0!",
|
|
111
|
+
lg: "h-6! w-6! min-h-0! px-0! py-0!",
|
|
112
|
+
} as const;
|
|
113
|
+
|
|
114
|
+
export const zuiInputCheckboxAppearances = {
|
|
115
|
+
default:
|
|
116
|
+
"border-[color:var(--zui-input-checkbox-default-border,#94a3b8b3)]! dark:border-[color:var(--zui-input-checkbox-default-border-dark,#94a3b8b3)]! checked:border-[color:var(--zui-input-checkbox-default-border-checked,#334155)] dark:checked:border-[color:var(--zui-input-checkbox-default-border-checked-dark,#e2e8f0)] checked:text-[color:var(--zui-input-checkbox-default-fg-checked,#334155)] dark:checked:text-[color:var(--zui-input-checkbox-default-fg-checked-dark,#e2e8f0)] hover:border-[color:var(--zui-input-checkbox-default-border-hover,#475569)] dark:hover:border-[color:var(--zui-input-checkbox-default-border-hover-dark,#cbd5e1)] focus-visible:border-[color:var(--zui-input-checkbox-default-border-focus,#475569)] dark:focus-visible:border-[color:var(--zui-input-checkbox-default-border-focus-dark,#cbd5e1)] focus-visible:ring-[var(--zui-input-checkbox-default-ring-focus,#64748bb3)] dark:focus-visible:ring-[var(--zui-input-checkbox-default-ring-focus-dark,#94a3b8b3)]",
|
|
117
|
+
warning:
|
|
118
|
+
"border-[color:var(--zui-input-checkbox-warning-border,#eab308b3)]! dark:border-[color:var(--zui-input-checkbox-warning-border-dark,#eab308b3)]! checked:border-[color:var(--zui-input-checkbox-warning-border-checked,#ca8a04)] dark:checked:border-[color:var(--zui-input-checkbox-warning-border-checked-dark,#facc15)] checked:text-[color:var(--zui-input-checkbox-warning-fg-checked,#a16207)] dark:checked:text-[color:var(--zui-input-checkbox-warning-fg-checked-dark,#fde047)] hover:border-[color:var(--zui-input-checkbox-warning-border-hover,#ca8a04)] dark:hover:border-[color:var(--zui-input-checkbox-warning-border-hover-dark,#facc15)] focus-visible:border-[color:var(--zui-input-checkbox-warning-border-focus,#ca8a04)] dark:focus-visible:border-[color:var(--zui-input-checkbox-warning-border-focus-dark,#facc15)] focus-visible:ring-[var(--zui-input-checkbox-warning-ring-focus,#facc15cc)] dark:focus-visible:ring-[var(--zui-input-checkbox-warning-ring-focus-dark,#facc15cc)]",
|
|
119
|
+
error:
|
|
120
|
+
"border-[color:var(--zui-input-checkbox-error-border,#f43f5eb3)]! dark:border-[color:var(--zui-input-checkbox-error-border-dark,#f43f5eb3)]! checked:border-[color:var(--zui-input-checkbox-error-border-checked,#e11d48)] dark:checked:border-[color:var(--zui-input-checkbox-error-border-checked-dark,#fb7185)] checked:text-[color:var(--zui-input-checkbox-error-fg-checked,#be123c)] dark:checked:text-[color:var(--zui-input-checkbox-error-fg-checked-dark,#fda4af)] hover:border-[color:var(--zui-input-checkbox-error-border-hover,#e11d48)] dark:hover:border-[color:var(--zui-input-checkbox-error-border-hover-dark,#fb7185)] focus-visible:border-[color:var(--zui-input-checkbox-error-border-focus,#e11d48)] dark:focus-visible:border-[color:var(--zui-input-checkbox-error-border-focus-dark,#fb7185)] focus-visible:ring-[var(--zui-input-checkbox-error-ring-focus,#fb7185cc)] dark:focus-visible:ring-[var(--zui-input-checkbox-error-ring-focus-dark,#fb7185cc)]",
|
|
121
|
+
success:
|
|
122
|
+
"border-[color:var(--zui-input-checkbox-success-border,#10b981b3)]! dark:border-[color:var(--zui-input-checkbox-success-border-dark,#10b981b3)]! checked:border-[color:var(--zui-input-checkbox-success-border-checked,#059669)] dark:checked:border-[color:var(--zui-input-checkbox-success-border-checked-dark,#34d399)] checked:text-[color:var(--zui-input-checkbox-success-fg-checked,#047857)] dark:checked:text-[color:var(--zui-input-checkbox-success-fg-checked-dark,#6ee7b7)] hover:border-[color:var(--zui-input-checkbox-success-border-hover,#059669)] dark:hover:border-[color:var(--zui-input-checkbox-success-border-hover-dark,#34d399)] focus-visible:border-[color:var(--zui-input-checkbox-success-border-focus,#059669)] dark:focus-visible:border-[color:var(--zui-input-checkbox-success-border-focus-dark,#34d399)] focus-visible:ring-[var(--zui-input-checkbox-success-ring-focus,#34d399cc)] dark:focus-visible:ring-[var(--zui-input-checkbox-success-ring-focus-dark,#34d399cc)]",
|
|
123
|
+
info: "border-[color:var(--zui-input-checkbox-info-border,#3b82f6b3)]! dark:border-[color:var(--zui-input-checkbox-info-border-dark,#3b82f6b3)]! checked:border-[color:var(--zui-input-checkbox-info-border-checked,#2563eb)] dark:checked:border-[color:var(--zui-input-checkbox-info-border-checked-dark,#60a5fa)] checked:text-[color:var(--zui-input-checkbox-info-fg-checked,#1d4ed8)] dark:checked:text-[color:var(--zui-input-checkbox-info-fg-checked-dark,#93c5fd)] hover:border-[color:var(--zui-input-checkbox-info-border-hover,#2563eb)] dark:hover:border-[color:var(--zui-input-checkbox-info-border-hover-dark,#60a5fa)] focus-visible:border-[color:var(--zui-input-checkbox-info-border-focus,#2563eb)] dark:focus-visible:border-[color:var(--zui-input-checkbox-info-border-focus-dark,#60a5fa)] focus-visible:ring-[var(--zui-input-checkbox-info-ring-focus,#60a5facc)] dark:focus-visible:ring-[var(--zui-input-checkbox-info-ring-focus-dark,#60a5facc)]",
|
|
124
|
+
violet:
|
|
125
|
+
"border-[color:var(--zui-input-checkbox-violet-border,#8b5cf6b3)]! dark:border-[color:var(--zui-input-checkbox-violet-border-dark,#8b5cf6b3)]! checked:border-[color:var(--zui-input-checkbox-violet-border-checked,#7c3aed)] dark:checked:border-[color:var(--zui-input-checkbox-violet-border-checked-dark,#a78bfa)] checked:text-[color:var(--zui-input-checkbox-violet-fg-checked,#6d28d9)] dark:checked:text-[color:var(--zui-input-checkbox-violet-fg-checked-dark,#c4b5fd)] hover:border-[color:var(--zui-input-checkbox-violet-border-hover,#7c3aed)] dark:hover:border-[color:var(--zui-input-checkbox-violet-border-hover-dark,#a78bfa)] focus-visible:border-[color:var(--zui-input-checkbox-violet-border-focus,#7c3aed)] dark:focus-visible:border-[color:var(--zui-input-checkbox-violet-border-focus-dark,#a78bfa)] focus-visible:ring-[var(--zui-input-checkbox-violet-ring-focus,#a78bfacc)] dark:focus-visible:ring-[var(--zui-input-checkbox-violet-ring-focus-dark,#a78bfacc)]",
|
|
126
|
+
amber:
|
|
127
|
+
"border-[color:var(--zui-input-checkbox-amber-border,#f59e0bb3)]! dark:border-[color:var(--zui-input-checkbox-amber-border-dark,#f59e0bb3)]! checked:border-[color:var(--zui-input-checkbox-amber-border-checked,#fbbf24)]! dark:checked:border-[color:var(--zui-input-checkbox-amber-border-checked-dark,#fbbf24)]! checked:text-[color:var(--zui-input-checkbox-amber-fg-checked,#b45309)] dark:checked:text-[color:var(--zui-input-checkbox-amber-fg-checked-dark,#fcd34d)] hover:border-[color:var(--zui-input-checkbox-amber-border-hover,#fbbf24)]! dark:hover:border-[color:var(--zui-input-checkbox-amber-border-hover-dark,#fbbf24)]! focus-visible:border-[color:var(--zui-input-checkbox-amber-border-focus,#fbbf24)]! dark:focus-visible:border-[color:var(--zui-input-checkbox-amber-border-focus-dark,#fbbf24)]! focus-visible:ring-[var(--zui-input-checkbox-amber-ring-focus,#fbbf24cc)]! dark:focus-visible:ring-[var(--zui-input-checkbox-amber-ring-focus-dark,#fbbf24cc)]!",
|
|
128
|
+
pink: "border-[color:var(--zui-input-checkbox-pink-border,#ec4899b3)]! dark:border-[color:var(--zui-input-checkbox-pink-border-dark,#ec4899b3)]! checked:border-[color:var(--zui-input-checkbox-pink-border-checked,#db2777)] dark:checked:border-[color:var(--zui-input-checkbox-pink-border-checked-dark,#f472b6)] checked:text-[color:var(--zui-input-checkbox-pink-fg-checked,#be185d)] dark:checked:text-[color:var(--zui-input-checkbox-pink-fg-checked-dark,#f9a8d4)] hover:border-[color:var(--zui-input-checkbox-pink-border-hover,#db2777)] dark:hover:border-[color:var(--zui-input-checkbox-pink-border-hover-dark,#f472b6)] focus-visible:border-[color:var(--zui-input-checkbox-pink-border-focus,#db2777)] dark:focus-visible:border-[color:var(--zui-input-checkbox-pink-border-focus-dark,#f472b6)] focus-visible:ring-[var(--zui-input-checkbox-pink-ring-focus,#f472b6cc)] dark:focus-visible:ring-[var(--zui-input-checkbox-pink-ring-focus-dark,#f472b6cc)]",
|
|
129
|
+
indigo:
|
|
130
|
+
"border-[color:var(--zui-input-checkbox-indigo-border,#6366f1b3)]! dark:border-[color:var(--zui-input-checkbox-indigo-border-dark,#6366f1b3)]! checked:border-[color:var(--zui-input-checkbox-indigo-border-checked,#818cf8)]! dark:checked:border-[color:var(--zui-input-checkbox-indigo-border-checked-dark,#818cf8)]! checked:text-[color:var(--zui-input-checkbox-indigo-fg-checked,#4338ca)] dark:checked:text-[color:var(--zui-input-checkbox-indigo-fg-checked-dark,#a5b4fc)] hover:border-[color:var(--zui-input-checkbox-indigo-border-hover,#818cf8)]! dark:hover:border-[color:var(--zui-input-checkbox-indigo-border-hover-dark,#818cf8)]! focus-visible:border-[color:var(--zui-input-checkbox-indigo-border-focus,#818cf8)]! dark:focus-visible:border-[color:var(--zui-input-checkbox-indigo-border-focus-dark,#818cf8)]! focus-visible:ring-[var(--zui-input-checkbox-indigo-ring-focus,#818cf8cc)]! dark:focus-visible:ring-[var(--zui-input-checkbox-indigo-ring-focus-dark,#818cf8cc)]!",
|
|
131
|
+
} as const;
|
|
132
|
+
|
|
133
|
+
export const zuiInputRadioAppearances = {
|
|
134
|
+
default:
|
|
135
|
+
"border-[color:var(--zui-input-radio-default-border,#94a3b8b3)]! dark:border-[color:var(--zui-input-radio-default-border-dark,#94a3b8b3)]! checked:border-[color:var(--zui-input-radio-default-border-checked,#334155)] dark:checked:border-[color:var(--zui-input-radio-default-border-checked-dark,#e2e8f0)] checked:bg-[var(--zui-input-radio-default-bg-checked,transparent)]! dark:checked:bg-[var(--zui-input-radio-default-bg-checked-dark,transparent)]! checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-default-dot,#e2e8f0)]! dark:checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-default-dot-dark,#e2e8f0)]! hover:border-[color:var(--zui-input-radio-default-border-hover,#475569)] dark:hover:border-[color:var(--zui-input-radio-default-border-hover-dark,#cbd5e1)] focus-visible:border-[color:var(--zui-input-radio-default-border-focus,#475569)] dark:focus-visible:border-[color:var(--zui-input-radio-default-border-focus-dark,#cbd5e1)] focus-visible:ring-[var(--zui-input-radio-default-ring-focus,#64748bb3)] dark:focus-visible:ring-[var(--zui-input-radio-default-ring-focus-dark,#94a3b8b3)] checked:ring-2! checked:ring-offset-2! checked:ring-offset-[var(--zui-input-radio-default-ring-offset-checked,#ffffff)]! dark:checked:ring-offset-[var(--zui-input-radio-default-ring-offset-checked-dark,#020617)]! checked:ring-[var(--zui-input-radio-default-ring-checked,#cbd5e1e6)]!",
|
|
136
|
+
warning:
|
|
137
|
+
"border-[color:var(--zui-input-radio-warning-border,#eab308b3)]! dark:border-[color:var(--zui-input-radio-warning-border-dark,#eab308b3)]! checked:border-[color:var(--zui-input-radio-warning-border-checked,#ca8a04)] dark:checked:border-[color:var(--zui-input-radio-warning-border-checked-dark,#facc15)] checked:bg-[var(--zui-input-radio-warning-bg-checked,transparent)]! dark:checked:bg-[var(--zui-input-radio-warning-bg-checked-dark,transparent)]! checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-warning-dot,#facc15)]! dark:checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-warning-dot-dark,#facc15)]! hover:border-[color:var(--zui-input-radio-warning-border-hover,#ca8a04)] dark:hover:border-[color:var(--zui-input-radio-warning-border-hover-dark,#facc15)] focus-visible:border-[color:var(--zui-input-radio-warning-border-focus,#ca8a04)] dark:focus-visible:border-[color:var(--zui-input-radio-warning-border-focus-dark,#facc15)] focus-visible:ring-[var(--zui-input-radio-warning-ring-focus,#facc15cc)] dark:focus-visible:ring-[var(--zui-input-radio-warning-ring-focus-dark,#facc15cc)] checked:ring-2! checked:ring-offset-2! checked:ring-offset-[var(--zui-input-radio-warning-ring-offset-checked,#ffffff)]! dark:checked:ring-offset-[var(--zui-input-radio-warning-ring-offset-checked-dark,#020617)]! checked:ring-[var(--zui-input-radio-warning-ring-checked,#facc15e6)]!",
|
|
138
|
+
error:
|
|
139
|
+
"border-[color:var(--zui-input-radio-error-border,#f43f5eb3)]! dark:border-[color:var(--zui-input-radio-error-border-dark,#f43f5eb3)]! checked:border-[color:var(--zui-input-radio-error-border-checked,#e11d48)] dark:checked:border-[color:var(--zui-input-radio-error-border-checked-dark,#fb7185)] checked:bg-[var(--zui-input-radio-error-bg-checked,transparent)]! dark:checked:bg-[var(--zui-input-radio-error-bg-checked-dark,transparent)]! checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-error-dot,#fb7185)]! dark:checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-error-dot-dark,#fb7185)]! hover:border-[color:var(--zui-input-radio-error-border-hover,#e11d48)] dark:hover:border-[color:var(--zui-input-radio-error-border-hover-dark,#fb7185)] focus-visible:border-[color:var(--zui-input-radio-error-border-focus,#e11d48)] dark:focus-visible:border-[color:var(--zui-input-radio-error-border-focus-dark,#fb7185)] focus-visible:ring-[var(--zui-input-radio-error-ring-focus,#fb7185cc)] dark:focus-visible:ring-[var(--zui-input-radio-error-ring-focus-dark,#fb7185cc)] checked:ring-2! checked:ring-offset-2! checked:ring-offset-[var(--zui-input-radio-error-ring-offset-checked,#ffffff)]! dark:checked:ring-offset-[var(--zui-input-radio-error-ring-offset-checked-dark,#020617)]! checked:ring-[var(--zui-input-radio-error-ring-checked,#fb7185e6)]!",
|
|
140
|
+
success:
|
|
141
|
+
"border-[color:var(--zui-input-radio-success-border,#10b981b3)]! dark:border-[color:var(--zui-input-radio-success-border-dark,#10b981b3)]! checked:border-[color:var(--zui-input-radio-success-border-checked,#059669)] dark:checked:border-[color:var(--zui-input-radio-success-border-checked-dark,#34d399)] checked:bg-[var(--zui-input-radio-success-bg-checked,transparent)]! dark:checked:bg-[var(--zui-input-radio-success-bg-checked-dark,transparent)]! checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-success-dot,#34d399)]! dark:checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-success-dot-dark,#34d399)]! hover:border-[color:var(--zui-input-radio-success-border-hover,#059669)] dark:hover:border-[color:var(--zui-input-radio-success-border-hover-dark,#34d399)] focus-visible:border-[color:var(--zui-input-radio-success-border-focus,#059669)] dark:focus-visible:border-[color:var(--zui-input-radio-success-border-focus-dark,#34d399)] focus-visible:ring-[var(--zui-input-radio-success-ring-focus,#34d399cc)] dark:focus-visible:ring-[var(--zui-input-radio-success-ring-focus-dark,#34d399cc)] checked:ring-2! checked:ring-offset-2! checked:ring-offset-[var(--zui-input-radio-success-ring-offset-checked,#ffffff)]! dark:checked:ring-offset-[var(--zui-input-radio-success-ring-offset-checked-dark,#020617)]! checked:ring-[var(--zui-input-radio-success-ring-checked,#34d399e6)]!",
|
|
142
|
+
info: "border-[color:var(--zui-input-radio-info-border,#3b82f6b3)]! dark:border-[color:var(--zui-input-radio-info-border-dark,#3b82f6b3)]! checked:border-[color:var(--zui-input-radio-info-border-checked,#2563eb)] dark:checked:border-[color:var(--zui-input-radio-info-border-checked-dark,#60a5fa)] checked:bg-[var(--zui-input-radio-info-bg-checked,transparent)]! dark:checked:bg-[var(--zui-input-radio-info-bg-checked-dark,transparent)]! checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-info-dot,#60a5fa)]! dark:checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-info-dot-dark,#60a5fa)]! hover:border-[color:var(--zui-input-radio-info-border-hover,#2563eb)] dark:hover:border-[color:var(--zui-input-radio-info-border-hover-dark,#60a5fa)] focus-visible:border-[color:var(--zui-input-radio-info-border-focus,#2563eb)] dark:focus-visible:border-[color:var(--zui-input-radio-info-border-focus-dark,#60a5fa)] focus-visible:ring-[var(--zui-input-radio-info-ring-focus,#60a5facc)] dark:focus-visible:ring-[var(--zui-input-radio-info-ring-focus-dark,#60a5facc)] checked:ring-2! checked:ring-offset-2! checked:ring-offset-[var(--zui-input-radio-info-ring-offset-checked,#ffffff)]! dark:checked:ring-offset-[var(--zui-input-radio-info-ring-offset-checked-dark,#020617)]! checked:ring-[var(--zui-input-radio-info-ring-checked,#60a5fae6)]!",
|
|
143
|
+
violet:
|
|
144
|
+
"border-[color:var(--zui-input-radio-violet-border,#8b5cf6b3)]! dark:border-[color:var(--zui-input-radio-violet-border-dark,#8b5cf6b3)]! checked:border-[color:var(--zui-input-radio-violet-border-checked,#7c3aed)] dark:checked:border-[color:var(--zui-input-radio-violet-border-checked-dark,#a78bfa)] checked:bg-[var(--zui-input-radio-violet-bg-checked,transparent)]! dark:checked:bg-[var(--zui-input-radio-violet-bg-checked-dark,transparent)]! checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-violet-dot,#a78bfa)]! dark:checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-violet-dot-dark,#a78bfa)]! hover:border-[color:var(--zui-input-radio-violet-border-hover,#7c3aed)] dark:hover:border-[color:var(--zui-input-radio-violet-border-hover-dark,#a78bfa)] focus-visible:border-[color:var(--zui-input-radio-violet-border-focus,#7c3aed)] dark:focus-visible:border-[color:var(--zui-input-radio-violet-border-focus-dark,#a78bfa)] focus-visible:ring-[var(--zui-input-radio-violet-ring-focus,#a78bfacc)] dark:focus-visible:ring-[var(--zui-input-radio-violet-ring-focus-dark,#a78bfacc)] checked:ring-2! checked:ring-offset-2! checked:ring-offset-[var(--zui-input-radio-violet-ring-offset-checked,#ffffff)]! dark:checked:ring-offset-[var(--zui-input-radio-violet-ring-offset-checked-dark,#020617)]! checked:ring-[var(--zui-input-radio-violet-ring-checked,#a78bfae6)]!",
|
|
145
|
+
amber:
|
|
146
|
+
"border-[color:var(--zui-input-radio-amber-border,#f59e0bb3)]! dark:border-[color:var(--zui-input-radio-amber-border-dark,#f59e0bb3)]! checked:border-[color:var(--zui-input-radio-amber-border-checked,#d97706)] dark:checked:border-[color:var(--zui-input-radio-amber-border-checked-dark,#fbbf24)] checked:bg-[var(--zui-input-radio-amber-bg-checked,transparent)]! dark:checked:bg-[var(--zui-input-radio-amber-bg-checked-dark,transparent)]! checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-amber-dot,#fbbf24)]! dark:checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-amber-dot-dark,#fbbf24)]! hover:border-[color:var(--zui-input-radio-amber-border-hover,#d97706)] dark:hover:border-[color:var(--zui-input-radio-amber-border-hover-dark,#fbbf24)] focus-visible:border-[color:var(--zui-input-radio-amber-border-focus,#d97706)] dark:focus-visible:border-[color:var(--zui-input-radio-amber-border-focus-dark,#fbbf24)] focus-visible:ring-[var(--zui-input-radio-amber-ring-focus,#fbbf24cc)] dark:focus-visible:ring-[var(--zui-input-radio-amber-ring-focus-dark,#fbbf24cc)] checked:ring-2! checked:ring-offset-2! checked:ring-offset-[var(--zui-input-radio-amber-ring-offset-checked,#ffffff)]! dark:checked:ring-offset-[var(--zui-input-radio-amber-ring-offset-checked-dark,#020617)]! checked:ring-[var(--zui-input-radio-amber-ring-checked,#fbbf24e6)]!",
|
|
147
|
+
pink: "border-[color:var(--zui-input-radio-pink-border,#ec4899b3)]! dark:border-[color:var(--zui-input-radio-pink-border-dark,#ec4899b3)]! checked:border-[color:var(--zui-input-radio-pink-border-checked,#db2777)] dark:checked:border-[color:var(--zui-input-radio-pink-border-checked-dark,#f472b6)] checked:bg-[var(--zui-input-radio-pink-bg-checked,transparent)]! dark:checked:bg-[var(--zui-input-radio-pink-bg-checked-dark,transparent)]! checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-pink-dot,#f472b6)]! dark:checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-pink-dot-dark,#f472b6)]! hover:border-[color:var(--zui-input-radio-pink-border-hover,#db2777)] dark:hover:border-[color:var(--zui-input-radio-pink-border-hover-dark,#f472b6)] focus-visible:border-[color:var(--zui-input-radio-pink-border-focus,#db2777)] dark:focus-visible:border-[color:var(--zui-input-radio-pink-border-focus-dark,#f472b6)] focus-visible:ring-[var(--zui-input-radio-pink-ring-focus,#f472b6cc)] dark:focus-visible:ring-[var(--zui-input-radio-pink-ring-focus-dark,#f472b6cc)] checked:ring-2! checked:ring-offset-2! checked:ring-offset-[var(--zui-input-radio-pink-ring-offset-checked,#ffffff)]! dark:checked:ring-offset-[var(--zui-input-radio-pink-ring-offset-checked-dark,#020617)]! checked:ring-[var(--zui-input-radio-pink-ring-checked,#f472b6e6)]!",
|
|
148
|
+
indigo:
|
|
149
|
+
"border-[color:var(--zui-input-radio-indigo-border,#6366f1b3)]! dark:border-[color:var(--zui-input-radio-indigo-border-dark,#6366f1b3)]! checked:border-[color:var(--zui-input-radio-indigo-border-checked,#4f46e5)] dark:checked:border-[color:var(--zui-input-radio-indigo-border-checked-dark,#818cf8)] checked:bg-[var(--zui-input-radio-indigo-bg-checked,transparent)]! dark:checked:bg-[var(--zui-input-radio-indigo-bg-checked-dark,transparent)]! checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-indigo-dot,#818cf8)]! dark:checked:shadow-[inset_0_0_0_0.28rem_var(--zui-input-radio-indigo-dot-dark,#818cf8)]! hover:border-[color:var(--zui-input-radio-indigo-border-hover,#4f46e5)] dark:hover:border-[color:var(--zui-input-radio-indigo-border-hover-dark,#818cf8)] focus-visible:border-[color:var(--zui-input-radio-indigo-border-focus,#4f46e5)] dark:focus-visible:border-[color:var(--zui-input-radio-indigo-border-focus-dark,#818cf8)] focus-visible:ring-[var(--zui-input-radio-indigo-ring-focus,#818cf8cc)] dark:focus-visible:ring-[var(--zui-input-radio-indigo-ring-focus-dark,#818cf8cc)] checked:ring-2! checked:ring-offset-2! checked:ring-offset-[var(--zui-input-radio-indigo-ring-offset-checked,#ffffff)]! dark:checked:ring-offset-[var(--zui-input-radio-indigo-ring-offset-checked-dark,#020617)]! checked:ring-[var(--zui-input-radio-indigo-ring-checked,#818cf8e6)]!",
|
|
150
|
+
} as const;
|
|
151
|
+
|
|
152
|
+
export const zuiInputDateAppearances = {
|
|
153
|
+
default:
|
|
154
|
+
"bg-[var(--zui-input-date-default-bg,#ffffff)] dark:bg-[var(--zui-input-date-default-bg-dark,#000000)] border border-[color:var(--zui-input-date-default-border,#0000001a)] dark:border-[color:var(--zui-input-date-default-border-dark,#ffffffcc)] text-[color:var(--zui-input-date-default-fg,#000000)] dark:text-[color:var(--zui-input-date-default-fg-dark,#ffffff)]",
|
|
155
|
+
warning:
|
|
156
|
+
"bg-[var(--zui-input-date-warning-bg,#713f12)] dark:bg-[var(--zui-input-date-warning-bg-dark,transparent)] text-[color:var(--zui-input-date-warning-fg,#fefce8)] dark:text-[color:var(--zui-input-date-warning-fg-dark,#fefce8)]",
|
|
157
|
+
error:
|
|
158
|
+
"bg-[var(--zui-input-date-error-bg,#881337)] dark:bg-[var(--zui-input-date-error-bg-dark,transparent)] text-[color:var(--zui-input-date-error-fg,#fff1f2)] dark:text-[color:var(--zui-input-date-error-fg-dark,#fff1f2)]",
|
|
159
|
+
success:
|
|
160
|
+
"bg-[var(--zui-input-date-success-bg,#064e3b)] dark:bg-[var(--zui-input-date-success-bg-dark,transparent)] text-[color:var(--zui-input-date-success-fg,#ecfdf5)] dark:text-[color:var(--zui-input-date-success-fg-dark,#ecfdf5)]",
|
|
161
|
+
info: "bg-[var(--zui-input-date-info-bg,#1e3a8a)] dark:bg-[var(--zui-input-date-info-bg-dark,transparent)] text-[color:var(--zui-input-date-info-fg,#eff6ff)] dark:text-[color:var(--zui-input-date-info-fg-dark,#eff6ff)]",
|
|
162
|
+
violet:
|
|
163
|
+
"bg-[var(--zui-input-date-violet-bg,#4c1d95)] dark:bg-[var(--zui-input-date-violet-bg-dark,transparent)] text-[color:var(--zui-input-date-violet-fg,#f5f3ff)] dark:text-[color:var(--zui-input-date-violet-fg-dark,#f5f3ff)]",
|
|
164
|
+
amber:
|
|
165
|
+
"bg-[var(--zui-input-date-amber-bg,#78350f)] dark:bg-[var(--zui-input-date-amber-bg-dark,transparent)] text-[color:var(--zui-input-date-amber-fg,#fffbeb)] dark:text-[color:var(--zui-input-date-amber-fg-dark,#fffbeb)]",
|
|
166
|
+
pink: "bg-[var(--zui-input-date-pink-bg,#831843)] dark:bg-[var(--zui-input-date-pink-bg-dark,transparent)] text-[color:var(--zui-input-date-pink-fg,#fdf2f8)] dark:text-[color:var(--zui-input-date-pink-fg-dark,#fdf2f8)]",
|
|
167
|
+
indigo:
|
|
168
|
+
"bg-[var(--zui-input-date-indigo-bg,#312e81)] dark:bg-[var(--zui-input-date-indigo-bg-dark,transparent)] text-[color:var(--zui-input-date-indigo-fg,#eef2ff)] dark:text-[color:var(--zui-input-date-indigo-fg-dark,#eef2ff)]",
|
|
169
|
+
orange:
|
|
170
|
+
"bg-[var(--zui-input-date-orange-bg,#7c2d12)] dark:bg-[var(--zui-input-date-orange-bg-dark,transparent)] text-[color:var(--zui-input-date-orange-fg,#fff7ed)] dark:text-[color:var(--zui-input-date-orange-fg-dark,#fff7ed)]",
|
|
171
|
+
} as const;
|
|
172
|
+
|
|
71
173
|
export const zuiInputRing = {
|
|
72
174
|
true: "focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
73
175
|
false: "",
|
package/src/design-system/kbd.ts
CHANGED
|
@@ -71,6 +71,9 @@ export const zuiKbdKeySizes = {
|
|
|
71
71
|
|
|
72
72
|
export type ZuiKbdSize = keyof typeof zuiKbdKeySizes;
|
|
73
73
|
|
|
74
|
+
export const zuiKbdSeparatorBase =
|
|
75
|
+
"text-[color:var(--zui-kbd-separator-fg,#94a3b8)] dark:text-[color:var(--zui-kbd-separator-fg-dark,#64748b)]";
|
|
76
|
+
|
|
74
77
|
export const zuiKbdSeparatorSizes = {
|
|
75
78
|
sm: "text-[0.7rem]",
|
|
76
79
|
md: "text-xs",
|
|
@@ -26,23 +26,23 @@ export const zuiMarqueeAppearances = {
|
|
|
26
26
|
emerald:
|
|
27
27
|
"border-[color:var(--zui-marquee-emerald-border,oklch(69.6%_0.17_162.48_/_0.28))] [--zui-marquee-bg:oklch(97.9%_0.021_166.113)] [--zui-marquee-fg:oklch(37.8%_0.077_168.94)] dark:border-[color:var(--zui-marquee-emerald-border-dark,oklch(76.5%_0.177_163.223_/_0.32))] dark:[--zui-marquee-bg:oklch(37.8%_0.077_168.94_/_0.28)] dark:[--zui-marquee-fg:oklch(95%_0.052_163.051)]",
|
|
28
28
|
"gradient-blue":
|
|
29
|
-
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-blue-from,oklch(62.3%_0.214_259.815))] to-[var(--zui-marquee-gradient-blue-to,oklch(54.6%_0.245_262.881))] [--zui-marquee-fg:#ffffff]",
|
|
29
|
+
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-blue-from,oklch(62.3%_0.214_259.815))] dark:from-[var(--zui-marquee-gradient-blue-from-dark,oklch(42.4%_0.199_265.638))] to-[var(--zui-marquee-gradient-blue-to,oklch(54.6%_0.245_262.881))] dark:to-[var(--zui-marquee-gradient-blue-to-dark,oklch(37.9%_0.146_265.522))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
30
30
|
"gradient-green":
|
|
31
|
-
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-green-from,oklch(72.3%_0.219_149.579))] to-[var(--zui-marquee-gradient-green-to,oklch(62.7%_0.194_149.214))] [--zui-marquee-fg:#ffffff]",
|
|
31
|
+
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-green-from,oklch(72.3%_0.219_149.579))] dark:from-[var(--zui-marquee-gradient-green-from-dark,oklch(44.8%_0.119_151.328))] to-[var(--zui-marquee-gradient-green-to,oklch(62.7%_0.194_149.214))] dark:to-[var(--zui-marquee-gradient-green-to-dark,oklch(39.3%_0.095_152.535))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
32
32
|
"gradient-red":
|
|
33
|
-
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-red-from,oklch(63.7%_0.237_25.331))] to-[var(--zui-marquee-gradient-red-to,oklch(57.7%_0.245_27.325))] [--zui-marquee-fg:#ffffff]",
|
|
33
|
+
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-red-from,oklch(63.7%_0.237_25.331))] dark:from-[var(--zui-marquee-gradient-red-from-dark,oklch(44.4%_0.177_26.899))] to-[var(--zui-marquee-gradient-red-to,oklch(57.7%_0.245_27.325))] dark:to-[var(--zui-marquee-gradient-red-to-dark,oklch(39.6%_0.141_25.723))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
34
34
|
"gradient-yellow":
|
|
35
|
-
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-yellow-from,oklch(85.2%_0.199_91.936))] to-[var(--zui-marquee-gradient-yellow-to,oklch(79.5%_0.184_86.047))] [--zui-marquee-fg:oklch(27.9%_0.077_45.635)]",
|
|
35
|
+
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-yellow-from,oklch(85.2%_0.199_91.936))] dark:from-[var(--zui-marquee-gradient-yellow-from-dark,oklch(47.6%_0.114_61.907))] to-[var(--zui-marquee-gradient-yellow-to,oklch(79.5%_0.184_86.047))] dark:to-[var(--zui-marquee-gradient-yellow-to-dark,oklch(42.1%_0.095_57.708))] [--zui-marquee-fg:oklch(27.9%_0.077_45.635)] dark:[--zui-marquee-fg:#ffffff]",
|
|
36
36
|
"gradient-purple":
|
|
37
|
-
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-purple-from,oklch(71.4%_0.203_305.504))] to-[var(--zui-marquee-gradient-purple-to,oklch(62.7%_0.265_303.9))] [--zui-marquee-fg:#ffffff]",
|
|
37
|
+
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-purple-from,oklch(71.4%_0.203_305.504))] dark:from-[var(--zui-marquee-gradient-purple-from-dark,oklch(43.8%_0.218_303.724))] to-[var(--zui-marquee-gradient-purple-to,oklch(62.7%_0.265_303.9))] dark:to-[var(--zui-marquee-gradient-purple-to-dark,oklch(38.1%_0.176_304.987))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
38
38
|
"gradient-teal":
|
|
39
|
-
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-teal-from,oklch(77.7%_0.152_181.912))] to-[var(--zui-marquee-gradient-teal-to,oklch(70.4%_0.14_182.503))] [--zui-marquee-fg:#ffffff]",
|
|
39
|
+
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-teal-from,oklch(77.7%_0.152_181.912))] dark:from-[var(--zui-marquee-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-marquee-gradient-teal-to,oklch(70.4%_0.14_182.503))] dark:to-[var(--zui-marquee-gradient-teal-to-dark,oklch(38.6%_0.063_188.416))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
40
40
|
"gradient-indigo":
|
|
41
|
-
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-indigo-from,oklch(67.3%_0.182_276.935))] to-[var(--zui-marquee-gradient-indigo-to,oklch(58.5%_0.233_277.117))] [--zui-marquee-fg:#ffffff]",
|
|
41
|
+
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-indigo-from,oklch(67.3%_0.182_276.935))] dark:from-[var(--zui-marquee-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-marquee-gradient-indigo-to,oklch(58.5%_0.233_277.117))] dark:to-[var(--zui-marquee-gradient-indigo-to-dark,oklch(35.9%_0.144_278.697))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
42
42
|
"gradient-pink":
|
|
43
|
-
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-pink-from,oklch(71.8%_0.202_349.761))] to-[var(--zui-marquee-gradient-pink-to,oklch(65.6%_0.241_354.308))] [--zui-marquee-fg:#ffffff]",
|
|
43
|
+
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-pink-from,oklch(71.8%_0.202_349.761))] dark:from-[var(--zui-marquee-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-marquee-gradient-pink-to,oklch(65.6%_0.241_354.308))] dark:to-[var(--zui-marquee-gradient-pink-to-dark,oklch(40.8%_0.153_2.432))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
44
44
|
"gradient-orange":
|
|
45
|
-
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-orange-from,oklch(75%_0.183_55.934))] to-[var(--zui-marquee-gradient-orange-to,oklch(70.5%_0.213_47.604))] [--zui-marquee-fg:#ffffff]",
|
|
45
|
+
"border-transparent bg-linear-to-r from-[var(--zui-marquee-gradient-orange-from,oklch(75%_0.183_55.934))] dark:from-[var(--zui-marquee-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-marquee-gradient-orange-to,oklch(70.5%_0.213_47.604))] dark:to-[var(--zui-marquee-gradient-orange-to-dark,oklch(40.8%_0.123_38.172))] [--zui-marquee-fg:#ffffff] dark:[--zui-marquee-fg:#ffffff]",
|
|
46
46
|
} as const;
|
|
47
47
|
|
|
48
48
|
export const zuiMarqueeOrientations = {
|
|
@@ -26,23 +26,23 @@ export const zuiTimelineIndicatorAppearances = {
|
|
|
26
26
|
violet:
|
|
27
27
|
"border-[color:var(--zui-timeline-indicator-violet-border,oklch(60.6%_0.25_292.717_/_0.6))] bg-[var(--zui-timeline-indicator-violet-bg,oklch(60.6%_0.25_292.717_/_0.2))] text-[color:var(--zui-timeline-indicator-violet-fg,oklch(38%_0.189_293.745))] dark:text-[color:var(--zui-timeline-indicator-violet-fg-dark,oklch(94.3%_0.029_294.588))] ring-2 ring-[var(--zui-timeline-indicator-violet-ring,oklch(70.2%_0.183_293.541_/_0.3))]",
|
|
28
28
|
"gradient-blue":
|
|
29
|
-
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-blue-from,oklch(62.3%_0.214_259.815))] to-[var(--zui-timeline-indicator-gradient-blue-to,oklch(54.6%_0.245_262.881))] text-[color:var(--zui-timeline-indicator-gradient-blue-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-blue-ring,oklch(70.7%_0.165_254.624_/_0.3))]",
|
|
29
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-blue-from,oklch(62.3%_0.214_259.815))] dark:from-[var(--zui-timeline-indicator-gradient-blue-from-dark,oklch(42.4%_0.199_265.638))] to-[var(--zui-timeline-indicator-gradient-blue-to,oklch(54.6%_0.245_262.881))] dark:to-[var(--zui-timeline-indicator-gradient-blue-to-dark,oklch(37.9%_0.146_265.522))] text-[color:var(--zui-timeline-indicator-gradient-blue-fg,#ffffff)] dark:text-[color:var(--zui-timeline-indicator-gradient-blue-fg-dark,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-blue-ring,oklch(70.7%_0.165_254.624_/_0.3))] dark:ring-[var(--zui-timeline-indicator-gradient-blue-ring-dark,oklch(42.4%_0.199_265.638_/_0.3))]",
|
|
30
30
|
"gradient-green":
|
|
31
|
-
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-green-from,oklch(72.3%_0.219_149.579))] to-[var(--zui-timeline-indicator-gradient-green-to,oklch(62.7%_0.194_149.214))] text-[color:var(--zui-timeline-indicator-gradient-green-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-green-ring,oklch(79.2%_0.209_151.711_/_0.3))]",
|
|
31
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-green-from,oklch(72.3%_0.219_149.579))] dark:from-[var(--zui-timeline-indicator-gradient-green-from-dark,oklch(44.8%_0.119_151.328))] to-[var(--zui-timeline-indicator-gradient-green-to,oklch(62.7%_0.194_149.214))] dark:to-[var(--zui-timeline-indicator-gradient-green-to-dark,oklch(39.3%_0.095_152.535))] text-[color:var(--zui-timeline-indicator-gradient-green-fg,#ffffff)] dark:text-[color:var(--zui-timeline-indicator-gradient-green-fg-dark,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-green-ring,oklch(79.2%_0.209_151.711_/_0.3))] dark:ring-[var(--zui-timeline-indicator-gradient-green-ring-dark,oklch(44.8%_0.119_151.328_/_0.3))]",
|
|
32
32
|
"gradient-red":
|
|
33
|
-
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-red-from,oklch(63.7%_0.237_25.331))] to-[var(--zui-timeline-indicator-gradient-red-to,oklch(57.7%_0.245_27.325))] text-[color:var(--zui-timeline-indicator-gradient-red-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-red-ring,oklch(70.4%_0.191_22.216_/_0.3))]",
|
|
33
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-red-from,oklch(63.7%_0.237_25.331))] dark:from-[var(--zui-timeline-indicator-gradient-red-from-dark,oklch(44.4%_0.177_26.899))] to-[var(--zui-timeline-indicator-gradient-red-to,oklch(57.7%_0.245_27.325))] dark:to-[var(--zui-timeline-indicator-gradient-red-to-dark,oklch(39.6%_0.141_25.723))] text-[color:var(--zui-timeline-indicator-gradient-red-fg,#ffffff)] dark:text-[color:var(--zui-timeline-indicator-gradient-red-fg-dark,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-red-ring,oklch(70.4%_0.191_22.216_/_0.3))] dark:ring-[var(--zui-timeline-indicator-gradient-red-ring-dark,oklch(44.4%_0.177_26.899_/_0.3))]",
|
|
34
34
|
"gradient-yellow":
|
|
35
|
-
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-yellow-from,oklch(85.2%_0.199_91.936))] to-[var(--zui-timeline-indicator-gradient-yellow-to,oklch(79.5%_0.184_86.047))] text-[color:var(--zui-timeline-indicator-gradient-yellow-fg,oklch(42.1%_0.095_57.708))] ring-2 ring-[var(--zui-timeline-indicator-gradient-yellow-ring,oklch(85.2%_0.199_91.936_/_0.3))]",
|
|
35
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-yellow-from,oklch(85.2%_0.199_91.936))] dark:from-[var(--zui-timeline-indicator-gradient-yellow-from-dark,oklch(47.6%_0.114_61.907))] to-[var(--zui-timeline-indicator-gradient-yellow-to,oklch(79.5%_0.184_86.047))] dark:to-[var(--zui-timeline-indicator-gradient-yellow-to-dark,oklch(42.1%_0.095_57.708))] text-[color:var(--zui-timeline-indicator-gradient-yellow-fg,oklch(42.1%_0.095_57.708))] dark:text-[color:var(--zui-timeline-indicator-gradient-yellow-fg-dark,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-yellow-ring,oklch(85.2%_0.199_91.936_/_0.3))] dark:ring-[var(--zui-timeline-indicator-gradient-yellow-ring-dark,oklch(47.6%_0.114_61.907_/_0.3))]",
|
|
36
36
|
"gradient-purple":
|
|
37
|
-
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-purple-from,oklch(71.4%_0.203_305.504))] to-[var(--zui-timeline-indicator-gradient-purple-to,oklch(62.7%_0.265_303.9))] text-[color:var(--zui-timeline-indicator-gradient-purple-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-purple-ring,oklch(71.4%_0.203_305.504_/_0.3))]",
|
|
37
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-purple-from,oklch(71.4%_0.203_305.504))] dark:from-[var(--zui-timeline-indicator-gradient-purple-from-dark,oklch(43.8%_0.218_303.724))] to-[var(--zui-timeline-indicator-gradient-purple-to,oklch(62.7%_0.265_303.9))] dark:to-[var(--zui-timeline-indicator-gradient-purple-to-dark,oklch(38.1%_0.176_304.987))] text-[color:var(--zui-timeline-indicator-gradient-purple-fg,#ffffff)] dark:text-[color:var(--zui-timeline-indicator-gradient-purple-fg-dark,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-purple-ring,oklch(71.4%_0.203_305.504_/_0.3))] dark:ring-[var(--zui-timeline-indicator-gradient-purple-ring-dark,oklch(43.8%_0.218_303.724_/_0.3))]",
|
|
38
38
|
"gradient-teal":
|
|
39
|
-
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-teal-from,oklch(77.7%_0.152_181.912))] to-[var(--zui-timeline-indicator-gradient-teal-to,oklch(70.4%_0.14_182.503))] text-[color:var(--zui-timeline-indicator-gradient-teal-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-teal-ring,oklch(77.7%_0.152_181.912_/_0.3))]",
|
|
39
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-teal-from,oklch(77.7%_0.152_181.912))] dark:from-[var(--zui-timeline-indicator-gradient-teal-from-dark,oklch(43.7%_0.078_188.216))] to-[var(--zui-timeline-indicator-gradient-teal-to,oklch(70.4%_0.14_182.503))] dark:to-[var(--zui-timeline-indicator-gradient-teal-to-dark,oklch(38.6%_0.063_188.416))] text-[color:var(--zui-timeline-indicator-gradient-teal-fg,#ffffff)] dark:text-[color:var(--zui-timeline-indicator-gradient-teal-fg-dark,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-teal-ring,oklch(77.7%_0.152_181.912_/_0.3))] dark:ring-[var(--zui-timeline-indicator-gradient-teal-ring-dark,oklch(43.7%_0.078_188.216_/_0.3))]",
|
|
40
40
|
"gradient-indigo":
|
|
41
|
-
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-indigo-from,oklch(67.3%_0.182_276.935))] to-[var(--zui-timeline-indicator-gradient-indigo-to,oklch(58.5%_0.233_277.117))] text-[color:var(--zui-timeline-indicator-gradient-indigo-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-indigo-ring,oklch(67.3%_0.182_276.935_/_0.3))]",
|
|
41
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-indigo-from,oklch(67.3%_0.182_276.935))] dark:from-[var(--zui-timeline-indicator-gradient-indigo-from-dark,oklch(39.8%_0.195_277.366))] to-[var(--zui-timeline-indicator-gradient-indigo-to,oklch(58.5%_0.233_277.117))] dark:to-[var(--zui-timeline-indicator-gradient-indigo-to-dark,oklch(35.9%_0.144_278.697))] text-[color:var(--zui-timeline-indicator-gradient-indigo-fg,#ffffff)] dark:text-[color:var(--zui-timeline-indicator-gradient-indigo-fg-dark,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-indigo-ring,oklch(67.3%_0.182_276.935_/_0.3))] dark:ring-[var(--zui-timeline-indicator-gradient-indigo-ring-dark,oklch(39.8%_0.195_277.366_/_0.3))]",
|
|
42
42
|
"gradient-pink":
|
|
43
|
-
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-pink-from,oklch(71.8%_0.202_349.761))] to-[var(--zui-timeline-indicator-gradient-pink-to,oklch(65.6%_0.241_354.308))] text-[color:var(--zui-timeline-indicator-gradient-pink-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-pink-ring,oklch(71.8%_0.202_349.761_/_0.3))]",
|
|
43
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-pink-from,oklch(71.8%_0.202_349.761))] dark:from-[var(--zui-timeline-indicator-gradient-pink-from-dark,oklch(45.9%_0.187_3.815))] to-[var(--zui-timeline-indicator-gradient-pink-to,oklch(65.6%_0.241_354.308))] dark:to-[var(--zui-timeline-indicator-gradient-pink-to-dark,oklch(40.8%_0.153_2.432))] text-[color:var(--zui-timeline-indicator-gradient-pink-fg,#ffffff)] dark:text-[color:var(--zui-timeline-indicator-gradient-pink-fg-dark,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-pink-ring,oklch(71.8%_0.202_349.761_/_0.3))] dark:ring-[var(--zui-timeline-indicator-gradient-pink-ring-dark,oklch(45.9%_0.187_3.815_/_0.3))]",
|
|
44
44
|
"gradient-orange":
|
|
45
|
-
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-orange-from,oklch(75%_0.183_55.934))] to-[var(--zui-timeline-indicator-gradient-orange-to,oklch(70.5%_0.213_47.604))] text-[color:var(--zui-timeline-indicator-gradient-orange-fg,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-orange-ring,oklch(75%_0.183_55.934_/_0.3))]",
|
|
45
|
+
"border-transparent bg-linear-to-br from-[var(--zui-timeline-indicator-gradient-orange-from,oklch(75%_0.183_55.934))] dark:from-[var(--zui-timeline-indicator-gradient-orange-from-dark,oklch(47%_0.157_37.304))] to-[var(--zui-timeline-indicator-gradient-orange-to,oklch(70.5%_0.213_47.604))] dark:to-[var(--zui-timeline-indicator-gradient-orange-to-dark,oklch(40.8%_0.123_38.172))] text-[color:var(--zui-timeline-indicator-gradient-orange-fg,#ffffff)] dark:text-[color:var(--zui-timeline-indicator-gradient-orange-fg-dark,#ffffff)] ring-2 ring-[var(--zui-timeline-indicator-gradient-orange-ring,oklch(75%_0.183_55.934_/_0.3))] dark:ring-[var(--zui-timeline-indicator-gradient-orange-ring-dark,oklch(47%_0.157_37.304_/_0.3))]",
|
|
46
46
|
} as const;
|
|
47
47
|
|
|
48
48
|
export const zuiTimelineIndicatorSizes = {
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { render, screen, waitFor } from "@testing-library/react";
|
|
2
|
+
import userEvent from "@testing-library/user-event";
|
|
3
|
+
import { describe, it } from "vitest";
|
|
4
|
+
|
|
5
|
+
import { assertNoAxeViolations } from "../../test-utils/axe";
|
|
6
|
+
import {
|
|
7
|
+
Accordion,
|
|
8
|
+
AccordionContent,
|
|
9
|
+
AccordionItem,
|
|
10
|
+
AccordionTrigger,
|
|
11
|
+
} from "../accordion";
|
|
12
|
+
import { Button } from "../buttons/button";
|
|
13
|
+
import { Checkbox } from "../checkbox";
|
|
14
|
+
import { Input } from "../inputs/input";
|
|
15
|
+
import {
|
|
16
|
+
Modal,
|
|
17
|
+
ModalBody,
|
|
18
|
+
ModalContent,
|
|
19
|
+
ModalDescription,
|
|
20
|
+
ModalTitle,
|
|
21
|
+
} from "../modal";
|
|
22
|
+
import { RadioGroup, RadioGroupItem } from "../radio-group";
|
|
23
|
+
import { Rating } from "../rating";
|
|
24
|
+
import {
|
|
25
|
+
Select,
|
|
26
|
+
SelectContent,
|
|
27
|
+
SelectItem,
|
|
28
|
+
SelectTrigger,
|
|
29
|
+
SelectValue,
|
|
30
|
+
} from "../select";
|
|
31
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../tabs";
|
|
32
|
+
|
|
33
|
+
describe("axe-core accessibility smoke coverage", () => {
|
|
34
|
+
it("passes axe checks for labeled form controls and actions", async () => {
|
|
35
|
+
const { container } = render(
|
|
36
|
+
<form aria-label="Account settings">
|
|
37
|
+
<label htmlFor="email">Email</label>
|
|
38
|
+
<Input id="email" type="email" />
|
|
39
|
+
|
|
40
|
+
<Checkbox defaultChecked>Send product updates</Checkbox>
|
|
41
|
+
|
|
42
|
+
<Button type="submit">Save settings</Button>
|
|
43
|
+
</form>,
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
await assertNoAxeViolations(container);
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
it("passes axe checks for accordion disclosure markup", async () => {
|
|
50
|
+
const { container } = render(
|
|
51
|
+
<Accordion type="multiple" defaultValues={["shipping"]}>
|
|
52
|
+
<AccordionItem value="shipping">
|
|
53
|
+
<AccordionTrigger>Shipping details</AccordionTrigger>
|
|
54
|
+
<AccordionContent>
|
|
55
|
+
Choose a delivery method before confirming the order.
|
|
56
|
+
</AccordionContent>
|
|
57
|
+
</AccordionItem>
|
|
58
|
+
<AccordionItem value="billing">
|
|
59
|
+
<AccordionTrigger>Billing address</AccordionTrigger>
|
|
60
|
+
<AccordionContent>
|
|
61
|
+
Add the billing address used for the invoice.
|
|
62
|
+
</AccordionContent>
|
|
63
|
+
</AccordionItem>
|
|
64
|
+
</Accordion>,
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
await assertNoAxeViolations(container);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
it("passes axe checks for modal dialog markup", async () => {
|
|
71
|
+
render(
|
|
72
|
+
<Modal defaultOpen>
|
|
73
|
+
<ModalContent>
|
|
74
|
+
<ModalTitle>Confirm publish</ModalTitle>
|
|
75
|
+
<ModalDescription>
|
|
76
|
+
Review the release notes before publishing the package.
|
|
77
|
+
</ModalDescription>
|
|
78
|
+
<ModalBody>The package will be published to npm.</ModalBody>
|
|
79
|
+
</ModalContent>
|
|
80
|
+
</Modal>,
|
|
81
|
+
);
|
|
82
|
+
|
|
83
|
+
await screen.findByRole("dialog", { name: "Confirm publish" });
|
|
84
|
+
await assertNoAxeViolations(document.body);
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
it("passes axe checks for tablist and tabpanel relationships", async () => {
|
|
88
|
+
const { container } = render(
|
|
89
|
+
<Tabs defaultValue="overview">
|
|
90
|
+
<TabsList aria-label="Package sections">
|
|
91
|
+
<TabsTrigger value="overview">Overview</TabsTrigger>
|
|
92
|
+
<TabsTrigger value="api">API</TabsTrigger>
|
|
93
|
+
</TabsList>
|
|
94
|
+
<TabsContent value="overview">Install and usage details.</TabsContent>
|
|
95
|
+
<TabsContent value="api">Props and public exports.</TabsContent>
|
|
96
|
+
</Tabs>,
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
await assertNoAxeViolations(container);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it("passes axe checks for opened select listbox markup", async () => {
|
|
103
|
+
const user = userEvent.setup();
|
|
104
|
+
|
|
105
|
+
render(
|
|
106
|
+
<Select defaultValue={[]}>
|
|
107
|
+
<SelectTrigger>
|
|
108
|
+
<SelectValue placeholder="Select plan" />
|
|
109
|
+
</SelectTrigger>
|
|
110
|
+
<SelectContent>
|
|
111
|
+
<SelectItem value="starter">Starter</SelectItem>
|
|
112
|
+
<SelectItem value="pro">Pro</SelectItem>
|
|
113
|
+
</SelectContent>
|
|
114
|
+
</Select>,
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
await user.click(screen.getByRole("button", { name: "Select plan" }));
|
|
118
|
+
await waitFor(() => {
|
|
119
|
+
screen.getByRole("listbox");
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
await assertNoAxeViolations(document.body);
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
it("passes axe checks for radio-group and rating controls", async () => {
|
|
126
|
+
const { container } = render(
|
|
127
|
+
<section aria-label="Product preferences">
|
|
128
|
+
<RadioGroup defaultValue="pro" aria-label="Plan">
|
|
129
|
+
<RadioGroupItem value="starter">Starter</RadioGroupItem>
|
|
130
|
+
<RadioGroupItem value="pro">Pro</RadioGroupItem>
|
|
131
|
+
</RadioGroup>
|
|
132
|
+
|
|
133
|
+
<Rating defaultValue={4} label="Product score" />
|
|
134
|
+
</section>,
|
|
135
|
+
);
|
|
136
|
+
|
|
137
|
+
await assertNoAxeViolations(container);
|
|
138
|
+
});
|
|
139
|
+
});
|
|
@@ -3,7 +3,7 @@ import { cva } from "class-variance-authority";
|
|
|
3
3
|
import {
|
|
4
4
|
zuiDynamicStepperIndicatorBase,
|
|
5
5
|
zuiDynamicStepperIndicatorSizes,
|
|
6
|
-
|
|
6
|
+
zuiDynamicStepperIndicatorToneClasses,
|
|
7
7
|
zuiDynamicStepperItemBase,
|
|
8
8
|
zuiDynamicStepperItemOrientations,
|
|
9
9
|
zuiDynamicStepperMapperBase,
|
|
@@ -20,8 +20,12 @@ export type DynamicStepperIndicatorToneAppearance =
|
|
|
20
20
|
export type DynamicStepperIndicatorSemanticState =
|
|
21
21
|
ZuiDynamicStepperIndicatorSemanticState;
|
|
22
22
|
|
|
23
|
-
export
|
|
24
|
-
|
|
23
|
+
export function dynamicStepperIndicatorToneClass(
|
|
24
|
+
state: DynamicStepperIndicatorSemanticState,
|
|
25
|
+
tone: DynamicStepperIndicatorToneAppearance,
|
|
26
|
+
) {
|
|
27
|
+
return zuiDynamicStepperIndicatorToneClasses[tone][state];
|
|
28
|
+
}
|
|
25
29
|
|
|
26
30
|
export const dynamicStepperRootVariants = cva(zuiDynamicStepperRootBase, {
|
|
27
31
|
variants: {
|