Skip to content

Commit cbfeceb

Browse files
authored
chore: enable tailwind eslint rules (#311)
1 parent 05a77ff commit cbfeceb

24 files changed

+93
-69
lines changed

eslint.config.mjs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import pluginPromise from "eslint-plugin-promise"
66
import react from "eslint-plugin-react"
77
import reactHooks from "eslint-plugin-react-hooks"
88
import storybook from "eslint-plugin-storybook"
9+
import tailwind from "eslint-plugin-tailwindcss"
910
import tsdoc from "eslint-plugin-tsdoc"
1011
import globals from "globals"
1112
import tseslint from "typescript-eslint"
@@ -177,6 +178,17 @@ const config = tseslint.config([
177178
"@typescript-eslint/no-unsafe-call": "off",
178179
},
179180
},
181+
{
182+
name: "tailwind",
183+
files: ["packages/elements-react/**/*.{js,jsx,ts,tsx}"],
184+
...tailwind.configs["flat/recommended"][0],
185+
...tailwind.configs["flat/recommended"][1],
186+
settings: {
187+
tailwindcss: {
188+
config: "packages/elements-react/tailwind.config.ts",
189+
},
190+
},
191+
},
180192
])
181193

182194
export default config

package-lock.json

Lines changed: 18 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
"eslint-plugin-react": "7.37.2",
8787
"eslint-plugin-react-hooks": "5.0.0",
8888
"eslint-plugin-storybook": "0.11.1",
89+
"eslint-plugin-tailwindcss": "3.17.5",
8990
"eslint-plugin-tsdoc": "0.4.0",
9091
"globals": "15.13.0",
9192
"jest": "29.7.0",

packages/elements-react/src/theme/default/components/card/auth-methods.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,23 @@ export function DefaultAuthMethodListItem({
2525
const Icon = iconsMap[group] || null
2626

2727
return (
28-
<div className="w-full hover:bg-forms-bg-hover px-2 py-1 rounded">
28+
<div className="w-full rounded px-2 py-1 hover:bg-forms-bg-hover">
2929
<button
30-
className="flex text-left py-2 gap-3 cursor-pointer"
30+
className="flex cursor-pointer gap-3 py-2 text-left"
3131
onClick={onClick}
3232
type={isGroupImmediateSubmit(group) ? "submit" : "button"}
3333
id={`auth-method-list-item-${group}`}
3434
data-testid="auth-method-list-item"
3535
aria-label={`Authenticate with ${group}`}
3636
>
37-
<div className={"flex-none w-4 h-4 mt-[2px]"}>
37+
<div className={"mt-[2px] size-4 flex-none"}>
3838
{Icon && <Icon size={20} className="text-forms-fg-default" />}
3939
</div>
4040
<div className={"flex-1 text-sm leading-normal"}>
41-
<div className="text-forms-fg-default text-sm">
41+
<div className="text-sm text-forms-fg-default">
4242
{intl.formatMessage({ id: `two-step.${group}.title` })}
4343
</div>
44-
<div className="text-forms-fg-mute text-sm">
44+
<div className="text-sm text-forms-fg-mute">
4545
{intl.formatMessage({ id: `two-step.${group}.description` })}
4646
</div>
4747
</div>

packages/elements-react/src/theme/default/components/card/badge.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import OryLogoVertical from "../../assets/ory-badge-vertical.svg"
66

77
export function Badge() {
88
return (
9-
<div className="font-bold bg-branding-bg-default absolute max-md:rounded-b-md p-2 max-md:bottom-0 max-md:translate-y-full max-md:left-8 md:right-0 md:translate-x-full md:top-8 md:rounded-r-md">
9+
<div className="absolute bg-branding-bg-default p-2 font-bold max-md:bottom-0 max-md:left-8 max-md:translate-y-full max-md:rounded-b-md md:right-0 md:top-8 md:translate-x-full md:rounded-r-md">
1010
<OryLogoHorizontal width={22} height={8} className="md:hidden" />
1111
<OryLogoVertical width={8} height={22} className="max-md:hidden" />
1212
</div>

packages/elements-react/src/theme/default/components/card/current-identifier-button.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ export function DefaultCurrentIdentifierButton() {
3434

3535
return (
3636
<a
37-
className="cursor-pointer py-[5px] px-3 rounded-full border border-button-identifier-border-default bg-button-identifier-bg-default hover:border-button-identifier-border-hover hover:bg-button-identifier-bg-hover transition-colors inline-flex gap-1 items-center self-start max-w-full"
37+
className="inline-flex max-w-full cursor-pointer items-center gap-1 self-start rounded-full border border-button-identifier-border-default bg-button-identifier-bg-default px-3 py-[5px] transition-colors hover:border-button-identifier-border-hover hover:bg-button-identifier-bg-hover"
3838
{...attributes}
3939
href={initFlowUrl}
4040
title={`Adjust ${nodeBackButton?.attributes.value}`}
4141
>
4242
<IconArrowLeft
4343
size={16}
44-
className="text-button-identifier-fg-subtle shrink-0"
44+
className="shrink-0 text-button-identifier-fg-subtle"
4545
/>
46-
<span className="text-sm font-medium text-button-identifier-fg-default text-ellipsis overflow-hidden text-nowrap">
46+
<span className="overflow-hidden text-ellipsis text-nowrap text-sm font-medium text-button-identifier-fg-default">
4747
{nodeBackButton?.attributes.value}
4848
</span>
4949
</a>

packages/elements-react/src/theme/default/components/card/footer.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,13 +49,13 @@ function LoginCardFooter() {
4949
}
5050

5151
return (
52-
<span className="text-sm font-normal antialiased leading-normal">
52+
<span className="text-sm font-normal leading-normal antialiased">
5353
{intl.formatMessage({
5454
id: "login.registration-label",
5555
defaultMessage: "No account?",
5656
})}{" "}
5757
<a
58-
className="text-links-link-default hover:underline hover:text-link-hover transition-colors"
58+
className="text-links-link-default transition-colors hover:text-links-link-hover hover:underline"
5959
href={registrationLink}
6060
>
6161
{intl.formatMessage({
@@ -102,7 +102,7 @@ function RegistrationCardFooter() {
102102
}
103103

104104
return (
105-
<span className="text-sm font-normal antialiased leading-normal">
105+
<span className="text-sm font-normal leading-normal antialiased">
106106
{formState.current === "method_active" ? (
107107
<>
108108
{screenSelectionNode && (
@@ -125,7 +125,7 @@ function RegistrationCardFooter() {
125125
defaultMessage: "Already have an account?",
126126
})}{" "}
127127
<a
128-
className="text-links-link-default hover:underline hover:text-link-hover transition-colors"
128+
className="text-links-link-default transition-colors hover:text-links-link-hover hover:underline"
129129
href={loginLink}
130130
>
131131
{intl.formatMessage({

packages/elements-react/src/theme/default/components/card/header.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ function InnerCardHeader({ title, text }: { title: string; text?: string }) {
1111
<header className="flex flex-col gap-8 antialiased">
1212
<Card.Logo />
1313
<div className="flex flex-col gap-2">
14-
<h2 className="font-semibold text-lg text-dialog-fg-default leading-normal">
14+
<h2 className="text-lg font-semibold leading-normal text-dialog-fg-default">
1515
{title}
1616
</h2>
1717
<p className="text-sm leading-normal text-dialog-fg-subtle">{text}</p>

packages/elements-react/src/theme/default/components/card/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import { DefaultCurrentIdentifierButton } from "./current-identifier-button"
1111

1212
export function DefaultCard({ children }: OryCardProps) {
1313
return (
14-
<div className="flex-1 flex-col flex justify-center items-center font-sans">
15-
<div className="grid grid-cols-1 max-w-sm md:max-w-[480px] md:w-[480px] gap-8 bg-dialog-bg-default px-8 md:px-12 py-12 md:py-14 relative rounded-border-radius-cards border border-dialog-border-default">
14+
<div className="flex flex-1 flex-col items-center justify-center font-sans">
15+
<div className="relative grid max-w-sm grid-cols-1 gap-8 rounded-border-radius-cards border border-dialog-border-default bg-dialog-bg-default px-8 py-12 md:w-[480px] md:max-w-[480px] md:px-12 md:py-14">
1616
{children}
1717
<Badge />
1818
</div>

packages/elements-react/src/theme/default/components/form/button.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ import { cva, VariantProps } from "class-variance-authority"
1414

1515
const buttonStyles = cva(
1616
[
17-
"ring-1 relative overflow-hidden ring-inset rounded text-sm leading-none flex gap-3 justify-center",
18-
"disabled:cursor-not-allowed loading:before:pointer-events-none loading:cursor-wait",
19-
"transition-colors ease-linear duration-100",
17+
"relative flex justify-center gap-3 overflow-hidden rounded text-sm leading-none ring-1 ring-inset",
18+
"disabled:cursor-not-allowed loading:cursor-wait loading:before:pointer-events-none",
19+
"transition-colors duration-100 ease-linear",
2020
],
2121
{
2222
variants: {
@@ -26,14 +26,14 @@ const buttonStyles = cva(
2626
"hover:bg-button-primary-bg-hover hover:text-button-primary-fg-hover hover:ring-button-primary-border-hover",
2727
"disabled:bg-button-primary-bg-disabled disabled:text-button-primary-fg-disabled disabled:ring-button-primary-border-disabled",
2828
"loading:bg-button-primary-bg-default loading:text-button-primary-fg-default loading:ring-button-primary-border-default",
29-
"loading:before:absolute loading:before:content-[''] loading:before:inset-0 loading:before:bg-button-primary-bg-default loading:before:opacity-80",
29+
"loading:before:absolute loading:before:inset-0 loading:before:bg-button-primary-bg-default loading:before:opacity-80 loading:before:content-['']",
3030
],
3131
secondary: [
3232
"bg-button-secondary-bg-default text-button-secondary-fg-default ring-button-secondary-border-default",
3333
"hover:bg-button-secondary-bg-hover hover:text-button-secondary-fg-hover hover:ring-button-secondary-border-hover",
3434
"disabled:bg-button-secondary-bg-disabled disabled:text-button-secondary-fg-disabled disabled:ring-button-secondary-border-disabled",
3535
"loading:bg-button-secondary-bg-default loading:text-button-secondary-fg-default loading:ring-button-secondary-border-default",
36-
"loading:before:absolute loading:before:content-[''] loading:before:inset-0 loading:before:bg-button-secondary-bg-default loading:before:opacity-80",
36+
"loading:before:absolute loading:before:inset-0 loading:before:bg-button-secondary-bg-default loading:before:opacity-80 loading:before:content-['']",
3737
],
3838
},
3939
size: {

0 commit comments

Comments
 (0)