ライブラリ / Date Components

Date Components

様々な日付コンポーネント。

@gravity-ui/date-components · npm package CI storybook coverage tests-report

インストール

npm install react react-dom @gravity-ui/uikit @gravity-ui/date-components @gravity-ui/date-utils

使用方法

import {createRoot} from 'react-dom/client';
import {DatePicker} from '@gravity-ui/date-components';
import {ThemeProvider} from '@gravity-ui/uikit';

import '@gravity-ui/uikit/styles/styles.css';

function App() {
  return (
    <ThemeProvider>
      <h1>DatePicker</h1>
      <form>
        <label htmlFor="date-picker">Date: </label>
        <DatePicker id="date-picker" name="date" />
      </form>
    </ThemeProvider>
  );
}

const root = createRoot(document.getElementById('root'));
root.render(<App />);

ローカライゼーション

import {settings} from '@gravity-ui/date-utils';

// アプリケーションで使用する日付ロケールをロードします。
await settings.loadLocale('ru');

function App() {
  return (
    // コンポーネントで使用する言語を設定します。
    <ThemeProvider lang="ru">
      <h1>DatePicker</h1>
      <form>
        <label htmlFor="date-picker">Дата: </label>
        <DatePicker id="date-picker" name="date" />
      </form>
    </ThemeProvider>
  );
}

アプリが言語切り替えをサポートしている場合、アプリの初回ロード時にサポートされているすべてのロケールをプリロードするか、言語を切り替える前にロケールをロードしてください。

// ロケールのプリロード
await Promise.all([settings.loadLocale('ru'), settings.loadLocale('nl')]);

const root = createRoot(document.getElementById('root'));
root.render(<App />);

// またはオンデマンドでロケールをロードします。

function App() {
  const [lang, setLang] = React.useState('en');

  const handleLangChange = (newLang) => {
    settings.loadLocale(newLang).then(() => {
      setLang(newLang);
    });
  };

  return <ThemeProvider lang={lang}>...</ThemeProvider>;
}

コンポーネントには、英語とロシア語の翻訳が含まれています。他の言語への翻訳を追加するには、@gravity-ui/uikitaddLanguageKeysets を使用してください。

import {addLanguageKeysets} from '@gravity-ui/uikit/i18n';
import type {Keysets, PartialKeysets} from '@gravity-ui/date-components';

// Keyset 型を使用して、利用可能なすべてのコンポーネントの翻訳を指定します
addLanguageKeysets<Keysets>(lang, {...});

// または PartialKeysets 型を使用して、必要なものだけを指定します
addLanguageKeysets<PartialKeysets>(lang, {...});

// 一部のコンポーネントの翻訳を指定するには
addLanguageKeysets<Pick<Keysets, 'g-date-calendar' | 'g-date-date-field' | 'g-date-date-picker'>>(lang, {...});

開発

ストーリーブックで開発サーバーを開始するには、以下を実行します。

npm start
ライブラリについて
スター
14
バージョン
3.4.1
最終更新日
24.11.2025
リポジトリ
github.com/gravity-ui/date-components
ライセンス
MIT License
メンテナー
コントリビューター