npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jiponent

v1.10.3

Published

react components

Downloads

303

Readme

Project Name

JiPonent는 React에서 사용할 수 있는 다양한 컴포넌트와 커스텀 훅 기능을 제공하는 라이브러리입니다. 사용자는 주로 스타일을 커스텀하여 컴포넌트를 사용할 수 있습니다. JiPonent를 통해 개발자는 쉽고 빠르게 UI를 구성할 수 있으며, 반복되는 로직을 커스텀 훅으로 간소화할 수 있습니다.

설치 방법

아래의 명령어를 통해 JiPonent를 설치할 수 있습니다.

npm install jiponent

사용 예제

아래는 JiPonent에서 제공하는 컴포넌트와 커스텀 훅을 사용하는 간단한 예시입니다.

import { ComponentName, HookName } from 'jiponent';

function App() {
  const customHookValue = HookName();

  return <ComponentName />;
}

Components

JiPonent에서 제공하는 컴포넌트의 사용 방법 및 옵션에 대해서는 해당 스토리북에서 확인하실 수 있습니다. 스토리북을 통해 다양한 컴포넌트와 그 사용 예를 시각적으로 확인할 수 있습니다.

Hooks

JiPonent는 반복되는 로직을 간단하게 사용할 수 있도록 여러 커스텀 훅을 제공합니다.

사용법

useToggle 훅은 초기 boolean 값(기본값은 false)을 인자로 받아, 그 상태를 관리하기 위한 여러 핸들러 함수들을 반환합니다.

const { isToggle, handleToggle, handleSetTrue, handleSetFalse } = useToggle(false);

매개변수

  • defaultValue (boolean): 초기 토글 상태 값을 설정합니다. 기본값은 false입니다.

반환 값

  • isToggle (boolean): 현재 토글 상태를 나타냅니다.
  • handleToggle (() => void): 토글 상태를 반전시키는 함수입니다.
  • handleSetTrue (() => void): 토글 상태를 true로 설정하는 함수입니다.
  • handleSetFalse (() => void): 토글 상태를 false로 설정하는 함수입니다.

사용법

useClickAway 훅은 클릭 이벤트를 감지할 요소의 참조(ref)와 외부 클릭 시 실행될 콜백 함수를 인자로 받습니다. 이 훅은 지정된 요소의 외부 클릭을 감지하고, 이에 대응하여 제공된 콜백 함수를 호출합니다.

const ref = useClickAway < HTMLDivElement > (() => console.log('콜백 함수'));

return <div ref={ref}>내용</div>;

매개변수

  • callback: 지정된 요소의 외부를 클릭했을 때 실행할 콜백 함수입니다. 이 함수는 외부 클릭 이벤트가 발생했을 때 호출됩니다.

반환 값

  • ref: useClickAway 훅은 클릭 이벤트 감지를 위해 사용될 요소에 연결할 수 있는 React 참조(React.RefObject)를 반환합니다. 이 참조는 훅을 사용할 컴포넌트 내에서 요소에 할당되어야 합니다.

사용법

이 훅은 키와 기본값을 인자로 받아 로컬 스토리지에 저장된 값을 관리합니다. 또한 오류가 발생했을 때 호출될 콜백 함수를 설정할 수 있습니다.

const { value, setItem, removeItem } = useLocalStorage({
  key: 'myKey',
  defaultValue: 'defaultValue',
  onError: (error) => console.error(error),
});

매개변수

  • key (string): 로컬 스토리지에서 값을 저장하거나 가져올 때 사용할 키입니다.
  • defaultValue (T): 로컬 스토리지에 값이 없을 때 사용할 기본값입니다.
  • onError ((error: Error) => void): 오류가 발생했을 때 호출될 콜백 함수입니다.

반환 값

  • value (T): 현재 로컬 스토리지의 값을 나타냅니다.
  • setItem ((newValue: T) => void): 로컬 스토리지의 값을 설정하는 함수입니다.
  • removeItem (() => void): 로컬 스토리지의 값을 제거하고 기본값으로 초기화하는 함수입니다.

사용법

이 훅은 키와 기본값을 인자로 받아 세션 스토리지에 저장된 값을 관리합니다. 또한 오류가 발생했을 때 호출될 콜백 함수를 설정할 수 있습니다.

const { value, setItem, removeItem } = useSessionStorage({
  key: 'myKey',
  defaultValue: 'defaultValue',
  onError: (error) => console.error(error),
});

매개변수

  • key (string): 세션 스토리지에서 값을 저장하거나 가져올 때 사용할 키입니다.
  • defaultValue (T): 세션 스토리지에 값이 없을 때 사용할 기본값입니다.
  • onError ((error: Error) => void): 오류가 발생했을 때 호출될 콜백 함수입니다.

반환 값

  • value (T): 현재 세션 스토리지의 값을 나타냅니다.
  • setItem ((newValue: T) => void): 세션 스토리지의 값을 설정하는 함수입니다.
  • removeItem (() => void): 세션 스토리지의 값을 제거하고 기본값으로 초기화하는 함수입니다.

사용법

이 훅은 onResize 콜백 함수를 인자로 받습니다. 이 함수는 컴포넌트의 크기가 변경될 때마다 호출됩니다.

const ref = useResize((contentRect) => console.log('Component size changed:', contentRect));

이 훅은 ref 객체를 반환합니다. 이 객체를 사용하여 컴포넌트의 DOM 요소를 참조할 수 있습니다.

return <div ref={ref}>My resizable component</div>;

매개변수

  • (function): 컴포넌트의 크기가 변경될 때마다 호출되는 콜백 함수입니다. 이 함수는 DOMRectReadOnly 객체를 인자로 받습니다.

반환 값

  • ref (ref): 컴포넌트의 DOM 요소를 참조하는 ref 객체입니다.

사용법

import useHover from './useHover';

const MyComponent = () => {
  const { ref, isHover } = useHover<HTMLDivElement>();

  return (
    <div ref={ref}>
      {isHover ? 'Hovered' : 'Not Hovered'}
    </div>
  );
};

이 코드에서 useHover 훅은 ref 객체와 isHover 상태 변수를 반환합니다. ref 객체를 사용하여 마우스 이벤트를 추적할 DOM 요소를 참조할 수 있습니다. isHover 변수는 마우스가 해당 요소 위에 있는지 여부를 나타냅니다.

매개변수

  • 제네릭 타입 T를 사용하여 DOM 요소의 타입을 지정할 수 있습니다. 이 타입은 ref 객체의 타입을 결정합니다.

반환 값

  • ref: 마우스 이벤트를 추적할 DOM 요소를 참조하는 ref 객체입니다.
  • isHover: 마우스가 DOM 요소 위에 있는지 여부를 나타내는 boolean 값입니다

사용법

import useRafState from './useRafState';

const MyComponent = () => {
  const { state, setRafState } = useRafState < number > 0;

  const handleClick = () => {
    setRafState(state + 1);
  };

  return <div onClick={handleClick}>Current count: {state}</div>;
};

이 코드에서 useHover 훅은 ref 객체와 isHover 상태 변수를 반환합니다. ref 객체를 사용하여 마우스 이벤트를 추적할 DOM 요소를 참조할 수 있습니다. isHover 변수는 마우스가 해당 요소 위에 있는지 여부를 나타냅니다.

매개변수

  • 제네릭 타입 T를 사용하여 상태의 타입을 지정할 수 있습니다.
  • defaultValue: 초기 상태 값입니다.

반환 값

  • state: 현재 상태 값입니다.
  • setRafState: 상태를 업데이트하는 함수입니다. 이 함수는 requestAnimationFrame을 사용하여 상태 업데이트를 최적화합니다.

사용법

import useScroll from './useScroll';

const MyComponent = () => {
  const { ref, state } = useScroll<HTMLDivElement>();

  return (
    <div ref={ref}>
      Current scroll position: x={state.x}, y={state.y}
    </div>
  );
};

이 코드에서 useScroll 훅은 ref 객체와 스크롤 위치 상태 객체를 반환합니다. ref 객체를 사용하여 스크롤 이벤트를 추적할 DOM 요소를 참조할 수 있습니다. state 객체는 현재 스크롤 위치의 x, y 좌표를 나타냅니다.

매개변수

  • 제네릭 타입 T를 사용하여 참조할 DOM 요소의 타입을 지정할 수 있습니다.

반환 값

  • ref: 스크롤 이벤트를 추적할 DOM 요소를 참조하는 ref 객체입니다.
  • state: 현재 스크롤 위치의 x, y 좌표를 나타내는 객체입니다.