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

hook-simo

v0.0.3

Published

card add form custom hook made by simo

Downloads

9

Readme

hook-simo Get Started

설치하기

npm install hook-simo

사용예시

  • useCardNumber
import React from "react";
import useCardNumber from "hook-simo";

const CardNumberForm = () => {
  const {
    cardNumber,
    cardNumberFormat,
    cardBrand,
    errorState,
    errorText,
    handleCardNumberChange,
  } = useCardNumber();

  return (
    <form>
      <input value={cardNumber} onChange={handleCardNumberChange} />
      {errorText && <p>{errorText}</p>}
      {cardBrand && <p>{cardBrand}</p>}
      <span>{cardNumberFormat.first} </span>
      <span>{cardNumberFormat.second} </span>
      <span>{cardNumberFormat.third} </span>
      <span>{cardNumberFormat.fourth}</span>
      <button type="submit" disabled={!cardNumber || errorState}>
        Submit
      </button>
    </form>
  );
};

export default CardNumberForm;

반환값 설명

아래는 useCardNumber 훅의 반환값을 설명하는 표입니다 :)

| Property | Type | Description | | ------------------------ | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | cardNumber | string | 입력하는 카드 번호입니다. | | cardNumberFormat | CardNumberFormatType | 입력하는 카드 번호에 따라 카드 브랜드를 식별한 뒤, 카드 브랜드에 맞게 카드 번호를 포멧팅 합니다. 'Diners'와 'AMEX'의 경우 4-6-4(5)의 3 부분으로, 그 외의 경우 4-4-4-4 4 부분으로 포멧팅 합니다. 이 포멧팅 한 결과를 객체로 반환합니다. | | cardBrand | CardBrandType | 입력하는 카드 번호에 따라 카드 브랜드를 식별합니다. 카드 브랜드에는 'Diners', 'AMEX', 'Visa', 'MasterCard', 'UnionPay'가 있습니다. | | errorState | boolean | 각 카드 번호 입력 부분의 에러 상태를 표현하는 객체입니다. | | errorText | string | 입력 관련 에러 메시지를 제공합니다. | | handleCardNumberChange | function | 카드 번호 입력 필드의 변경을 처리하는 함수입니다. |

이 훅을 사용하면 각 카드 번호 필드를 개별적으로 관리할 수 있으며, 입력 검증도 함께 제공됩니다.

  • useExpiryDate
import React from "react";
import useExpiryDate from "hook-simo";

const ExpiryDateForm = () => {
  const {
    expiryDate,
    isExpiryDateCompleted,
    errorState,
    errorText,
    handleExpiryDateChange,
  } = useExpiryDate();

  return (
    <form>
      <input
        name="month"
        value={expiryDate.month}
        onChange={handleExpiryDateChange.month}
        placeholder="MM"
      />
      <input
        name="year"
        value={expiryDate.year}
        onChange={handleExpiryDateChange.year}
        placeholder="YY"
      />
      {errorText && <p>{errorText}</p>}
      <button type="submit" disabled={!isExpiryDateCompleted}>
        Submit
      </button>
    </form>
  );
};

export default ExpiryDateForm;

반환값 설명

아래는 useExpiryDate 훅의 반환값을 설명하는 표입니다 :)

| Property | Type | Description | | ------------------------ | ---------------------------------- | -------------------------------------------------------------------------- | | expiryDate | Record<ExpiryDateKeys, string> | monthyear을 키로 하는 객체로, 각각 유효기간의 월과 년을 저장합니다. | | isExpiryDateCompleted | boolean | 모든 유효기간 필드(월과 년)가 적절히 입력되었는지 여부를 나타냅니다. | | errorState | Record<ExpiryDateKeys, boolean> | 각 유효기간 입력의 에러 상태를 표현하는 객체입니다. | | errorText | string | 입력 관련 에러 메시지를 제공합니다. | | handleExpiryDateChange | Record<ExpiryDateKeys, function> | 유효기간 입력 필드의 변경을 처리하는 함수입니다. |

위에서 언급한 ExpiryDateKeys는 month와 year을 가지고 있는 키 타입을 말합니다. 이 훅을 사용함으로써 개발자는 카드 유효기간 입력 폼의 상태 관리와 유효성 검증을 쉽게 구현할 수 있습니다.

  • useCardHolderName
import React from "react";
import useCardHolderName from "hook-simo";

const CardHolderNameForm = () => {
  const { holderName, errorState, errorText, handleCardHolderNameChange } =
    useCardHolderName();

  return (
    <form>
      <input
        type="text"
        value={holderName}
        onChange={handleCardHolderNameChange}
        placeholder="Card Holder Name"
      />
      {errorText && <p>{errorText}</p>}
      <button type="submit" disabled={errorState}>
        Submit
      </button>
    </form>
  );
};

export default CardHolderNameForm;

반환값 설명

아래는 useCardHolderName 훅의 반환값을 설명하는 표입니다 :)

| Property | Type | Description | | ---------------------------- | ---------- | ----------------------------------------------------------------------------------------------- | | holderName | string | 사용자가 입력한 카드 소유자의 이름입니다. 입력이 유효한 경우, 대문자로 변환됩니다. | | errorState | boolean | 현재 사용자 이름 입력에 오류가 있는지 여부를 나타내는 상태입니다. | | errorText | string | 입력과 관련된 오류 메시지를 제공합니다. | | handleCardHolderNameChange | function | 카드 소유자 이름 입력 필드의 변경을 처리하는 함수입니다. 입력이 유효하면 이름을 업데이트합니다. |

이 훅을 사용함으로써 개발자는 카드 소유자 이름 입력 폼의 유효성 검사 및 상태 관리를 쉽게 할 수 있습니다. 오류 메시지와 입력 상태 관리를 통해 사용자에게 적절한 피드백을 제공할 수 있습니다.

  • useCVC
import React from "react";
import useCVC from "hook-simo";

const CVCForm = () => {
  const { cvc, errorState, errorText, handleCVCChange } = useCVC();

  return (
    <form>
      <input
        type="text"
        value={cvc}
        onChange={handleCVCChange}
        placeholder="CVC"
        maxLength={4}
      />
      {errorText && <p>{errorText}</p>}
      <button type="submit" disabled={!cvc.length === 3 || errorState}>
        Submit
      </button>
    </form>
  );
};

export default CVCForm;

아래는 useCVC 훅의 반환값을 설명하는 표입니다 :)

반환값 설명

| Property | Type | Description | | ----------------- | ---------- | -------------------------------------------------------------------------------------- | | cvc | string | 사용자가 입력한 카드의 CVC 코드입니다. | | errorState | boolean | 현재 입력에 오류가 있는지 여부를 나타내는 상태입니다. | | errorText | string | 입력과 관련된 오류 메시지를 제공합니다. | | handleCVCChange | function | CVC 입력 필드의 변경을 처리하는 함수입니다. 입력이 유효하면 CVC 코드를 업데이트합니다. |

이 훅을 사용함으로써 개발자는 CVC 입력 폼의 유효성 검사 및 상태 관리를 쉽게 할 수 있습니다. 오류 메시지와 입력 상태 관리를 통해 사용자에게 적절한 피드백을 제공할 수 있습니다.

  • useCardPassword
import React from "react";
import useCardPassword from "hook-simo";

const CardPasswordForm = () => {
  const { cardPassword, errorState, errorText, handleCardPasswordChange } =
    useCardPassword();

  return (
    <form>
      <input
        type="password"
        value={cardPassword}
        onChange={handleCardPasswordChange}
        placeholder="Card Password"
      />
      {errorText && <p>{errorText}</p>}
      <button type="submit" disabled={!cardPassword.length === 4 || errorState}>
        Submit
      </button>
    </form>
  );
};

export default CardPasswordForm;

아래는 useCardPassword 훅의 반환값을 설명하는 표입니다 😃

반환값 설명

| Property | Type | Description | | -------------------------- | ---------- | ------------------------------------------------------------------------------------------------ | | cardPassword | string | 사용자가 입력한 카드의 비밀번호입니다. | | errorState | boolean | 현재 입력에 오류가 있는지 여부를 나타내는 상태입니다. | | errorText | string | 입력과 관련된 오류 메시지를 제공합니다. | | handleCardPasswordChange | function | 카드 비밀번호 입력 필드의 변경을 처리하는 함수입니다. 입력이 유효하면 비밀번호를 업데이트합니다. |

이 훅을 사용함으로써 개발자는 카드 비밀번호 입력 폼의 유효성 검사 및 상태 관리를 쉽게 할 수 있습니다. 오류 메시지와 입력 상태 관리를 통해 사용자에게 적절한 피드백을 제공할 수 있습니다.

`