diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..9055fb1
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,52 @@
+name: Lint
+
+on:
+ pull_request:
+ branches: ["*"]
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
+
+ - uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
+
+ - name: Install Node.js
+ uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4
+ with:
+ node-version: 18
+ cache: "pnpm"
+
+ - name: Install Dependencies
+ run: pnpm i --frozen-lockfile
+
+ - name: Lint Format
+ run: pnpm lint:prettier
+
+ - name: Check Types
+ run: pnpm build --filter=./packages/*
+
+ - name: Run ESLint
+ run: pnpm lint --filter=./packages/*
+
+ build:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
+
+ - uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
+
+ - name: Install Node.js
+ uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4
+ with:
+ node-version: 18
+ cache: "pnpm"
+
+ - name: Install Dependencies
+ run: pnpm i --frozen-lockfile
+
+ - name: Build Check
+ run: pnpm build
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..7494207
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,4 @@
+pnpm-lock.yaml
+.github/**/*.md
+
+.content-collections/**/*
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 562a23b..4034c15 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -4,4 +4,9 @@
"mode": "auto"
}
],
+ "tailwindCSS.experimental.classRegex": [
+ ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"],
+ ["cn\\(([^)]*)\\)", "(?:'|\"|`)([^']*)(?:'|\"|`)"]
+ ],
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
}
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index fd8f104..f10b6e0 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
Examples of behavior that contributes to a positive environment for our
community include:
-* Demonstrating empathy and kindness toward other people
-* Being respectful of differing opinions, viewpoints, and experiences
-* Giving and gracefully accepting constructive feedback
-* Accepting responsibility and apologizing to those affected by our mistakes,
+- Demonstrating empathy and kindness toward other people
+- Being respectful of differing opinions, viewpoints, and experiences
+- Giving and gracefully accepting constructive feedback
+- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
-* Focusing on what is best not just for us as individuals, but for the
+- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
-* The use of sexualized language or imagery, and sexual attention or
+- The use of sexualized language or imagery, and sexual attention or
advances of any kind
-* Trolling, insulting or derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or email
+- Trolling, insulting or derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or email
address, without their explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
+- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
@@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
-standards, including sustained inappropriate behavior, harassment of an
+standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
@@ -125,4 +125,4 @@ enforcement ladder](https://github.com/mozilla/diversity).
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
-https://www.contributor-covenant.org/translations.
\ No newline at end of file
+https://www.contributor-covenant.org/translations.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 2d1b304..6b0a303 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,4 +1,3 @@
-
# Contribution Guidelines
Welcome to our project! We appreciate your interest in contributing. Before you get started, please take a moment to review the following guidelines.
diff --git a/apps/www/.eslintrc.json b/apps/www/.eslintrc.json
new file mode 100644
index 0000000..bffb357
--- /dev/null
+++ b/apps/www/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "next/core-web-vitals"
+}
diff --git a/apps/www/app/api/search/route.ts b/apps/www/app/api/search/route.ts
index 74983f9..f67671a 100644
--- a/apps/www/app/api/search/route.ts
+++ b/apps/www/app/api/search/route.ts
@@ -1,7 +1,7 @@
-import { getPages } from '@/app/source';
-import { createSearchAPI } from 'fumadocs-core/search/server';
+import { getPages } from "@/app/source";
+import { createSearchAPI } from "fumadocs-core/search/server";
-export const { GET } = createSearchAPI('advanced', {
+export const { GET } = createSearchAPI("advanced", {
indexes: getPages().map((page) => ({
title: page.data.title,
structuredData: page.data.exports.structuredData,
diff --git a/apps/www/app/docs/layout.tsx b/apps/www/app/docs/layout.tsx
index ae2cc9e..61f884d 100644
--- a/apps/www/app/docs/layout.tsx
+++ b/apps/www/app/docs/layout.tsx
@@ -1,6 +1,6 @@
-import { DocsLayout } from 'fumadocs-ui/layout';
-import type { ReactNode } from 'react';
-import { docsOptions } from '../layout.config';
+import { DocsLayout } from "fumadocs-ui/layout";
+import type { ReactNode } from "react";
+import { docsOptions } from "../layout.config";
export default function Layout({ children }: { children: ReactNode }) {
return {children};
diff --git a/apps/www/app/source.ts b/apps/www/app/source.ts
index 1ec88a2..76a8855 100644
--- a/apps/www/app/source.ts
+++ b/apps/www/app/source.ts
@@ -2,7 +2,7 @@ import { map } from "@/.map";
import { createMDXSource, defaultSchemas } from "fumadocs-mdx";
import { BuildPageTreeOptions, loader } from "fumadocs-core/source";
import { PageTree } from "fumadocs-core/server";
-import { z } from 'zod';
+import { z } from "zod";
// @ts-ignore
export const {
@@ -13,7 +13,7 @@ export const {
getPage: (slugs: string[], language?: string) => any;
getPages: (language?: string) => any[];
pageTree: (
- slug?: string[] | undefined
+ slug?: string[] | undefined,
) => Partial>;
// pageTree: PageTree.Root;
} = loader({
diff --git a/apps/www/components/preview/index.tsx b/apps/www/components/preview/index.tsx
index ebd03bc..50852ad 100644
--- a/apps/www/components/preview/index.tsx
+++ b/apps/www/components/preview/index.tsx
@@ -4,11 +4,11 @@ import { Wrapper } from "./wrapper";
import { Avatar, AvatarWithBadge } from "ruru-ui/components/avatar";
const Button = dynamic(() =>
- import("ruru-ui/components/button").then((m) => m.Button)
+ import("ruru-ui/components/button").then((m) => m.Button),
);
const Spinner = dynamic(() =>
- import("ruru-ui/components/spinner").then((m) => m.Spinner)
+ import("ruru-ui/components/spinner").then((m) => m.Spinner),
);
export default {
diff --git a/apps/www/components/preview/wrapper.tsx b/apps/www/components/preview/wrapper.tsx
index 79e4fcd..b1740e8 100644
--- a/apps/www/components/preview/wrapper.tsx
+++ b/apps/www/components/preview/wrapper.tsx
@@ -1,5 +1,5 @@
-import type { HTMLAttributes } from 'react';
-import { cn } from '@/utils/cn';
+import type { HTMLAttributes } from "react";
+import { cn } from "@/utils/cn";
export function Wrapper(
props: HTMLAttributes,
@@ -8,7 +8,7 @@ export function Wrapper(
diff --git a/apps/www/content/docs/changelog.mdx b/apps/www/content/docs/changelog.mdx
index f8d554e..483f858 100644
--- a/apps/www/content/docs/changelog.mdx
+++ b/apps/www/content/docs/changelog.mdx
@@ -1,9 +1,8 @@
---
-title: Changelog
+title: Changelog
description: Latest updates and announcements.
---
-import { Callout } from 'fumadocs-ui/components/callout';
+import { Callout } from "fumadocs-ui/components/callout";
-
-
+
diff --git a/apps/www/content/docs/components/avatar.mdx b/apps/www/content/docs/components/avatar.mdx
index 265ff77..1e96377 100644
--- a/apps/www/content/docs/components/avatar.mdx
+++ b/apps/www/content/docs/components/avatar.mdx
@@ -18,7 +18,7 @@ import { Callout } from "fumadocs-ui/components/callout";
issue: [#9](https://github.com/ruru-m07/ruru-ui/issues/9)
- if you can fix this then feel free to submit a PR : )
+if you can fix this then feel free to submit a PR : )
diff --git a/apps/www/content/docs/components/button.mdx b/apps/www/content/docs/components/button.mdx
index 39610c6..900c81c 100644
--- a/apps/www/content/docs/components/button.mdx
+++ b/apps/www/content/docs/components/button.mdx
@@ -46,7 +46,9 @@ import { buttonVariants } from "ruru-ui/components/button";
```
```tsx
-Click here
+
+ Click here
+
```
Alternatively, you can set the `asChild` parameter and nest the link component.
@@ -226,8 +228,8 @@ The `Button` component allows you to show a loading spinner when the button is i
You can show a loading spinner by passing the `loading` prop to the `Button` component. This will display a spinner in place of the button text, indicating to the user that something is happening in the background.
-| Name | Type | Default | Description |
-| ----------- | ------- | ------- | ------------------------------------------------- |
+| Name | Type | Default | Description |
+| ----------- | ------- | ------- | -------------------------------------------------- |
| **loading** | boolean | false | If `true` , the button will be in a loading state. |
So go ahead, show a loading spinner on your button and let your users know that something is happening behind the scenes!
@@ -297,7 +299,7 @@ The `Button` component allows you to disable the button by passing the `disabled
| Name | Type | Default | Description |
| ------------ | -------------------------------------- | --------- | ------------------------------------------------ |
| **children** | ReactNode | - | The content of the button. |
-| **disabled** | boolean | false | If `true` , the button will be disabled. |
+| **disabled** | boolean | false | If `true` , the button will be disabled. |
| **onClick** | ( ) => void | - | The function to call when the button is clicked. |
| **type** | 'button' \| 'submit' \| 'reset' | 'button' | The type of the button. |
| **variant** | 'primary' \| 'secondary' \| 'tertiary' | 'primary' | The variant of the button. |
diff --git a/apps/www/content/docs/components/spinner.mdx b/apps/www/content/docs/components/spinner.mdx
index cba09fc..ddff00d 100644
--- a/apps/www/content/docs/components/spinner.mdx
+++ b/apps/www/content/docs/components/spinner.mdx
@@ -60,4 +60,4 @@ You can customize the size of the spinner by passing the `size` prop.
| Name | Type | Default | Description |
| --------- | ------ | ------- | ------------------------------ |
| size | number | 20 | The size of the spinner. |
-| className | string | - | The class name of the spinner. |
+| className | string | - | The class name of the spinner. |
diff --git a/apps/www/content/docs/dark-mode.mdx b/apps/www/content/docs/dark-mode.mdx
index 685dc68..dd94b8f 100644
--- a/apps/www/content/docs/dark-mode.mdx
+++ b/apps/www/content/docs/dark-mode.mdx
@@ -3,7 +3,6 @@ title: Dark Mode
description: How to enable dark mode in your app.
---
-import { Callout } from 'fumadocs-ui/components/callout';
+import { Callout } from "fumadocs-ui/components/callout";
-
-
+
diff --git a/apps/www/content/docs/index.mdx b/apps/www/content/docs/index.mdx
index 176ef5f..8f09202 100644
--- a/apps/www/content/docs/index.mdx
+++ b/apps/www/content/docs/index.mdx
@@ -5,7 +5,7 @@ description: Welcome to ruru UI, a modern and flexible UI library designed to he
# Welcome to ruru UI
-Welcome to **ruru UI**, a modern and flexible UI library designed to help you build beautiful, responsive, and accessible web applications with ease.
+Welcome to **ruru UI**, a modern and flexible UI library designed to help you build beautiful, responsive, and accessible web applications with ease.
## Why ruru UI?
diff --git a/apps/www/content/docs/installation.mdx b/apps/www/content/docs/installation.mdx
index b6224c3..9fbc633 100644
--- a/apps/www/content/docs/installation.mdx
+++ b/apps/www/content/docs/installation.mdx
@@ -3,34 +3,17 @@ title: Installation
description: To get started with ruru UI, you'll need to install the necessary dependencies and set up your project structure. This guide will walk you through the process step by step.
---
-import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
-
+import { Tab, Tabs } from "fumadocs-ui/components/tabs";
## Install Dependencies
First, you'll need to install **ruru UI** and its peer dependencies. You can do this using npm or yarn:
-
-
- ```bash
- npm install ruru-ui
- ```
-
-
- ```bash
- pnpm install ruru-ui
- ```
-
-
- ```bash
- yarn add ruru-ui
- ```
-
-
- ```bash
- bun add ruru-ui
- ```
-
+
+ ```bash npm install ruru-ui ```
+ ```bash pnpm install ruru-ui ```
+ ```bash yarn add ruru-ui ```
+ ```bash bun add ruru-ui ```
## Import Styles
@@ -63,16 +46,16 @@ That's it! You're now ready to start building beautiful interfaces with **ruru U
title="Explore the Components"
description="Discover all the components and features ruru UI has to offer."
/>
-
-
+
+
---
diff --git a/apps/www/content/docs/typography.mdx b/apps/www/content/docs/typography.mdx
index 50c762c..27ec489 100644
--- a/apps/www/content/docs/typography.mdx
+++ b/apps/www/content/docs/typography.mdx
@@ -1,9 +1,8 @@
---
-title: Typography
+title: Typography
description: Styles for headings, paragraphs, lists...etc.
---
-import { Callout } from 'fumadocs-ui/components/callout';
+import { Callout } from "fumadocs-ui/components/callout";
-
-
+
diff --git a/apps/www/next.config.mjs b/apps/www/next.config.mjs
index 64a41a6..e4bb0a3 100644
--- a/apps/www/next.config.mjs
+++ b/apps/www/next.config.mjs
@@ -1,15 +1,14 @@
-import createMDX from 'fumadocs-mdx/config';
-import { rehypeCodeDefaultOptions } from 'fumadocs-core/mdx-plugins';
+import createMDX from "fumadocs-mdx/config";
+import { rehypeCodeDefaultOptions } from "fumadocs-core/mdx-plugins";
import {
remarkDocGen,
remarkInstall,
fileGenerator,
typescriptGenerator,
-} from 'fumadocs-docgen';
-import { transformerTwoslash } from 'fumadocs-twoslash';
-import rehypeKatex from 'rehype-katex';
-import remarkMath from 'remark-math';
-
+} from "fumadocs-docgen";
+import { transformerTwoslash } from "fumadocs-twoslash";
+import rehypeKatex from "rehype-katex";
+import remarkMath from "remark-math";
/** @type {import('next').NextConfig} */
const config = {
@@ -25,24 +24,24 @@ const withMDX = createMDX({
mdxOptions: {
rehypeCodeOptions: {
themes: {
- light: 'catppuccin-latte',
- dark: 'catppuccin-mocha',
+ light: "catppuccin-latte",
+ dark: "catppuccin-mocha",
},
transformers: [
...(rehypeCodeDefaultOptions.transformers ?? []),
transformerTwoslash(),
{
- name: 'fumadocs:remove-escape',
+ name: "fumadocs:remove-escape",
code(element) {
element.children.forEach((line) => {
- if (line.type !== 'element') return;
+ if (line.type !== "element") return;
line.children.forEach((child) => {
- if (child.type !== 'element') return;
+ if (child.type !== "element") return;
const textNode = child.children[0];
- if (!textNode || textNode.type !== 'text') return;
+ if (!textNode || textNode.type !== "text") return;
- textNode.value = textNode.value.replace(/\[\\!code/g, '[!code');
+ textNode.value = textNode.value.replace(/\[\\!code/g, "[!code");
});
});
@@ -51,10 +50,10 @@ const withMDX = createMDX({
},
],
},
- lastModifiedTime: 'git',
+ lastModifiedTime: "git",
remarkPlugins: [
remarkMath,
- [remarkInstall, { persist: { id: 'package-manager' } }],
+ [remarkInstall, { persist: { id: "package-manager" } }],
[remarkDocGen, { generators: [typescriptGenerator(), fileGenerator()] }],
],
rehypePlugins: (v) => [rehypeKatex, ...v],
diff --git a/apps/www/package.json b/apps/www/package.json
index 864db8f..5f5efee 100644
--- a/apps/www/package.json
+++ b/apps/www/package.json
@@ -5,7 +5,8 @@
"scripts": {
"build": "next build",
"dev": "next dev",
- "start": "next start"
+ "start": "next start",
+ "lint": "next lint"
},
"dependencies": {
"@radix-ui/react-icons": "^1.3.0",
@@ -34,6 +35,6 @@
"autoprefixer": "^10.4.19",
"postcss": "^8.4.39",
"tailwindcss": "^3.4.4",
- "typescript": "^5.5.3"
+ "typescript": "^5.5.0"
}
}
diff --git a/apps/www/tsconfig.json b/apps/www/tsconfig.json
index 37e52a7..77171ab 100644
--- a/apps/www/tsconfig.json
+++ b/apps/www/tsconfig.json
@@ -19,7 +19,7 @@
"incremental": true,
"paths": {
"@/*": ["./*"],
- "@ruru-ui": ["../../packages/ui/dist"],
+ "@ruru-ui": ["../../packages/ui/dist"]
},
"plugins": [
{
diff --git a/apps/www/utils/cn.ts b/apps/www/utils/cn.ts
index ba66fd2..8e473da 100644
--- a/apps/www/utils/cn.ts
+++ b/apps/www/utils/cn.ts
@@ -1 +1 @@
-export { twMerge as cn } from 'tailwind-merge';
+export { twMerge as cn } from "tailwind-merge";
diff --git a/apps/www/utils/metadata.ts b/apps/www/utils/metadata.ts
index 09e1579..092093b 100644
--- a/apps/www/utils/metadata.ts
+++ b/apps/www/utils/metadata.ts
@@ -1,4 +1,4 @@
-import type { Metadata } from 'next/types';
+import type { Metadata } from "next/types";
export function createMetadata(override: Metadata): Metadata {
return {
@@ -6,15 +6,15 @@ export function createMetadata(override: Metadata): Metadata {
openGraph: {
title: override.title ?? undefined,
description: override.description ?? undefined,
- url: 'https://ruru-ui.vercel.app',
- images: '/banner.png',
- siteName: 'Ruru UI',
+ url: "https://ruru-ui.vercel.app",
+ images: "/banner.png",
+ siteName: "Ruru UI",
...override.openGraph,
},
};
}
export const baseUrl =
- process.env.NODE_ENV === 'development'
- ? new URL('http://localhost:3000')
+ process.env.NODE_ENV === "development"
+ ? new URL("http://localhost:3000")
: new URL(`https://${process.env.VERCEL_URL!}`);
diff --git a/package.json b/package.json
index bb9fac7..e7d4ba8 100644
--- a/package.json
+++ b/package.json
@@ -1,19 +1,30 @@
{
"name": "root",
+ "version": "0.0.0",
"private": true,
"scripts": {
- "build": "turbo build",
- "dev": "turbo dev",
- "lint": "turbo lint",
- "format": "prettier --write \"**/*.{ts,tsx,md}\""
+ "build": "turbo run build",
+ "clean": "turbo run clean",
+ "dev": "turbo run dev",
+ "lint": "turbo run lint",
+ "format": "prettier --write \"**/*.{ts,tsx,md}\"",
+ "lint:prettier": "prettier --cache --check --ignore-path .gitignore --ignore-path .prettierignore .",
+ "prettier": "prettier --cache --write --list-different --ignore-path .gitignore --ignore-path .prettierignore .",
+ "types:check": "turbo run types:check"
},
"devDependencies": {
- "prettier": "^3.2.5",
- "turbo": "^2.0.6",
+ "@typescript-eslint/eslint-plugin": "^7.16.1",
+ "@typescript-eslint/parser": "^7.16.1",
+ "@vercel/style-guide": "^6.0.0",
+ "eslint": "^8.57.0",
+ "eslint-plugin-tailwindcss": "^3.17.4",
+ "eslint-plugin-tsdoc": "^0.3.0",
+ "prettier": "^3.3.3",
+ "turbo": "^2.0.9",
"typescript": "^5.4.5"
},
- "packageManager": "pnpm@8.15.6",
+ "packageManager": "pnpm@9.5.0",
"engines": {
- "node": ">=18"
+ "node": ">=18.17.0"
}
}
diff --git a/packages/tsconfig/react-library.json b/packages/tsconfig/react-library.json
index 3f61a22..73fdf64 100644
--- a/packages/tsconfig/react-library.json
+++ b/packages/tsconfig/react-library.json
@@ -1,13 +1,12 @@
{
- "$schema": "https://json.schemastore.org/tsconfig",
- "display": "React Library",
- "extends": "./base.json",
- "compilerOptions": {
- "noEmit": true,
- "jsx": "react-jsx",
- "lib": ["ESNext", "DOM"],
- "module": "ESNext",
- "target": "ES2020"
- }
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "display": "React Library",
+ "extends": "./base.json",
+ "compilerOptions": {
+ "noEmit": true,
+ "jsx": "react-jsx",
+ "lib": ["ESNext", "DOM"],
+ "module": "ESNext",
+ "target": "ES2020"
}
-
\ No newline at end of file
+}
diff --git a/packages/ui/.eslintrc.cjs b/packages/ui/.eslintrc.cjs
index b350c06..5a0334b 100644
--- a/packages/ui/.eslintrc.cjs
+++ b/packages/ui/.eslintrc.cjs
@@ -1,9 +1,16 @@
module.exports = {
- extends: ['custom/next'],
+ // Exclude this file from ESLint's list of included files
+ ignorePatterns: [".eslintrc.cjs"],
+ plugins: ["@typescript-eslint/eslint-plugin", "eslint-plugin-tsdoc"],
+ extends: ["plugin:@typescript-eslint/recommended"],
+ parser: "@typescript-eslint/parser",
+ parserOptions: {
+ project: "./tsconfig.json",
+ tsconfigRootDir: __dirname,
+ ecmaVersion: 2018,
+ sourceType: "module",
+ },
rules: {
- // for the import hacks
- '@typescript-eslint/consistent-type-imports': 'off',
- // some arrays like link items won't be changed
- 'react/no-array-index-key': 'off',
+ // 'tsdoc/syntax': 'warn'
},
};
diff --git a/packages/ui/css/image-zoom.css b/packages/ui/css/image-zoom.css
index cbf380e..c3bf9be 100644
--- a/packages/ui/css/image-zoom.css
+++ b/packages/ui/css/image-zoom.css
@@ -13,7 +13,7 @@
display: none;
}
-[data-rmiz-content='found'] img {
+[data-rmiz-content="found"] img {
cursor: zoom-in;
}
@@ -34,7 +34,7 @@
}
[data-rmiz-modal]:focus-visible {
- outline: 'none';
+ outline: "none";
}
[data-rmiz-modal-overlay] {
@@ -43,12 +43,12 @@
inset: 0;
}
-[data-rmiz-modal-overlay='hidden'] {
+[data-rmiz-modal-overlay="hidden"] {
background-color: transparent;
}
-[data-rmiz-modal-overlay='visible'] {
- background-color: theme('colors.background / 80%');
+[data-rmiz-modal-overlay="visible"] {
+ background-color: theme("colors.background / 80%");
}
[data-rmiz-modal-content] {
diff --git a/packages/ui/css/twoslash.css b/packages/ui/css/twoslash.css
index d9c2eb7..e47a85d 100644
--- a/packages/ui/css/twoslash.css
+++ b/packages/ui/css/twoslash.css
@@ -115,7 +115,7 @@
top: -1.2em;
height: 1em;
left: -1px;
- content: ' ';
+ content: " ";
background-color: hsl(var(--foreground));
}
diff --git a/packages/ui/postcss.config.js b/packages/ui/postcss.config.js
index 8abe901..f4ab683 100644
--- a/packages/ui/postcss.config.js
+++ b/packages/ui/postcss.config.js
@@ -1,8 +1,8 @@
export default {
plugins: {
tailwindcss: {},
- 'postcss-lightningcss': {
- browsers: '>= .25%',
+ "postcss-lightningcss": {
+ browsers: ">= .25%",
},
},
};
diff --git a/packages/ui/src/components/avatar.tsx b/packages/ui/src/components/avatar.tsx
index ae8406e..19a21db 100644
--- a/packages/ui/src/components/avatar.tsx
+++ b/packages/ui/src/components/avatar.tsx
@@ -78,7 +78,7 @@ const Avatar = React.forwardRef(
{...props}
/>
);
- }
+ },
);
Avatar.displayName = "Avatar";
@@ -111,7 +111,7 @@ type AvatarGroupProps = Omit<
* ```
*
*/
- members: Array<{ src: string; alt: string }>;
+ members: { src: string; alt: string }[];
/**
* Size of the avatar
* @default 30
@@ -158,8 +158,8 @@ const AvatarGroup = React.forwardRef(
{extraMembersCount > 0 && (