From 1559db7917215887314b8f0180b3c83ece32e344 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gromit=20=28=EC=A0=84=EB=AF=BC=EC=9E=AC=29?=
<64779472+ssi02014@users.noreply.github.com>
Date: Thu, 11 Jul 2024 17:45:45 +0900
Subject: [PATCH] =?UTF-8?q?feat(react):=20usePreferredColocScheme=20?=
=?UTF-8?q?=EC=8B=A0=EA=B7=9C=20=ED=9B=85=20=EC=B6=94=EA=B0=80=20(#322)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* feat(react): usePreferredColocScheme 신규 훅 추가
* docs(react): usePreferredColorScheme 문서 수정
* docs: 문서 수정
* docs: 문서 수정
---
.changeset/tidy-eagles-kiss.md | 5 ++
docs/docs/react/hooks/useMediaQuery.mdx | 10 ++-
.../react/hooks/usePreferredColorScheme.mdx | 66 +++++++++++++++++++
packages/react/src/hooks/index.ts | 1 +
.../react/src/hooks/useMediaQuery/index.ts | 10 +--
.../hooks/useMediaQuery/useMediaQuery.spec.ts | 6 +-
.../hooks/usePreferredColorScheme/index.ts | 7 ++
.../usePreferredColorScheme.spec.ts | 28 ++++++++
8 files changed, 120 insertions(+), 13 deletions(-)
create mode 100644 .changeset/tidy-eagles-kiss.md
create mode 100644 docs/docs/react/hooks/usePreferredColorScheme.mdx
create mode 100644 packages/react/src/hooks/usePreferredColorScheme/index.ts
create mode 100644 packages/react/src/hooks/usePreferredColorScheme/usePreferredColorScheme.spec.ts
diff --git a/.changeset/tidy-eagles-kiss.md b/.changeset/tidy-eagles-kiss.md
new file mode 100644
index 000000000..c084c4fde
--- /dev/null
+++ b/.changeset/tidy-eagles-kiss.md
@@ -0,0 +1,5 @@
+---
+'@modern-kit/react': minor
+---
+
+feat(react): usePreferredColocScheme 신규 훅 추가 - @ssi02014
diff --git a/docs/docs/react/hooks/useMediaQuery.mdx b/docs/docs/react/hooks/useMediaQuery.mdx
index 381389e95..21ca8ee68 100644
--- a/docs/docs/react/hooks/useMediaQuery.mdx
+++ b/docs/docs/react/hooks/useMediaQuery.mdx
@@ -2,7 +2,7 @@ import { useMediaQuery } from '@modern-kit/react';
# useMediaQuery
-Resize 시에도 동작하며, 미디어 쿼리 문자열의 분석 결과를 쉽게 확인 할 수 있는 커스텀 훅입니다.
+미디어 쿼리 문자열의 분석 결과를 쉽게 확인 할 수 있는 커스텀 훅입니다.
@@ -11,9 +11,7 @@ Resize 시에도 동작하며, 미디어 쿼리 문자열의 분석 결과를
## Interface
```ts title="typescript"
-const useMediaQuery: (query: string) => {
- isMatch: boolean;
-}
+const useMediaQuery: (query: string, defaultValue?: boolean) => boolean
```
## Usage
@@ -21,7 +19,7 @@ const useMediaQuery: (query: string) => {
import { useMediaQuery } from '@modern-kit/react';
const Example = () => {
- const { isMatch } = useMediaQuery('(min-width: 768px)');
+ const isMatch = useMediaQuery('(min-width: 768px)');
return (
브라우저 너비를 수정해보세요!
diff --git a/docs/docs/react/hooks/usePreferredColorScheme.mdx b/docs/docs/react/hooks/usePreferredColorScheme.mdx new file mode 100644 index 000000000..d06d68a58 --- /dev/null +++ b/docs/docs/react/hooks/usePreferredColorScheme.mdx @@ -0,0 +1,66 @@ +import { usePreferredColorScheme } from '@modern-kit/react'; + +# usePreferredColorScheme + +사용자의 색상 스킴 선호도(**[prefers-coloc-scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme)**) 에 따라 `dark`, `light`, 또는 `no-preference`를 반환합니다. + +- ligth: 사용자가 시스템에 `ligth` 테마를 사용하는 것을 선호하거나 선호하는 테마를 알리지 않았을 때 반환합니다. +- dark: 사용자가 시스템에 `dark` 테마를 사용하는 것을 선호한다고 알렸을 때 반환합니다. + +사용자는 `운영체제 설정`이나 `사용자 에이전트 설정`에서 선호하는 테마를 지정 할 수 있습니다. + +OS 시스템 설정에서 테마를 변경해보세요.
+ColorScheme: {colorScheme}
+OS 시스템 설정에서 테마를 변경해보세요.
+ColorScheme: {colorScheme}
+