{"_id":"@2e32/react-year-view","name":"@2e32/react-year-view","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@2e32/react-year-view","version":"1.0.0","description":"A React year view component","keywords":["2e32","ui","frontend","component","years","year","year-view","react","react-component","react-year-view"],"author":{"name":"konstantin_b"},"repository":{"type":"git","url":"git+https://github.com/2e32/react-year-view.git"},"license":"MIT","exports":{".":{"types":"./dist/js/types/index.d.ts","import":"./dist/js/esm/index.js","require":"./dist/js/cjs/index.js","default":"./dist/js/esm/index.js"},"./css":"./dist/css/index.css"},"main":"dist/js/cjs/index.js","module":"dist/js/esm/index.js","types":"dist/js/types/index.d.ts","scripts":{"clean":"rimraf dist","build":"npm run clean && node build.js && tsc","tsc:config":"tsc --showConfig","prettier:check":"prettier --check .","prettier:format":"prettier --write .","lint":"eslint --fix .","lint:config":"eslint --print-config *.*"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"devDependencies":{"@types/react":"^18.2.20","@typescript-eslint/eslint-plugin":"^6.3.0","@typescript-eslint/parser":"^6.3.0","classnames":"^2.5.1","esbuild":"^0.19.0","eslint":"^8.46.0","eslint-plugin-react":"^7.33.1","eslint-plugin-react-hooks":"^4.6.0","prettier":"^3.0.1","rimraf":"^5.0.1","typescript":"5.1.6"},"_id":"@2e32/react-year-view@1.0.0","gitHead":"c47398535772726515802766d623eae77de064bf","bugs":{"url":"https://github.com/2e32/react-year-view/issues"},"homepage":"https://github.com/2e32/react-year-view#readme","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-fbyM1VZfb1w6jY3NDfLKYdu4nrjq0fnE3J9CzPhfU5dTI3wqTZP/DIa8ExkzoWtEBDrkvwwUzWf1mNC3rv0Fyw==","shasum":"23dda701f197bc77ff8af549c7d2b2b590f030cf","tarball":"https://registry.npmjs.org/@2e32/react-year-view/-/react-year-view-1.0.0.tgz","fileCount":50,"unpackedSize":83094,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDcdCYeHYOborU0NiBvNIKdljwGKeXCN3DsKqkokANkLQIhALNwN7vqhmrYM0FV6fGWac8zQrh3E8k4pdiyUB7N4epc"}]},"_npmUser":{"name":"2e32","email":"bogucharov.dev@gmail.com"},"directories":{},"maintainers":[{"name":"2e32","email":"bogucharov.dev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-year-view_1.0.0_1771964773879_0.4510615945161245"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-24T20:26:13.787Z","1.0.0":"2026-02-24T20:26:14.021Z","modified":"2026-02-24T20:26:14.244Z"},"maintainers":[{"name":"2e32","email":"bogucharov.dev@gmail.com"}],"description":"A React year view component","homepage":"https://github.com/2e32/react-year-view#readme","keywords":["2e32","ui","frontend","component","years","year","year-view","react","react-component","react-year-view"],"repository":{"type":"git","url":"git+https://github.com/2e32/react-year-view.git"},"author":{"name":"konstantin_b"},"bugs":{"url":"https://github.com/2e32/react-year-view/issues"},"license":"MIT","readme":"# @2e32/react-year-view\n\n[English (en)](README.md)\n\nReact-компонент для выбора года. Отображает годы в виде сетки.\n\n## Установка\n\nnpm\n\n```bash\nnpm i @2e32/react-year-view\n```\n\nyarn\n\n```bash\nyarn add @2e32/react-year-view\n```\n\n## Использование\n\nApp.tsx\n\n```tsx\n// Единожды подключить стиль на уровне приложения (точки входа)\nimport '@2e32/react-year-view/css';\n\nimport Page from './Page';\n\nconst App = () => <Page />;\n\nexport default App;\n```\n\nPage.tsx\n\n```tsx\nimport { useState } from 'react';\n// Импортировать компонент\nimport YearView from '@2e32/react-year-view';\n\nconst Page = () => {\n  const [value, setValue] = useState<number>();\n\n  return <YearView value={value} onChange={setValue} />;\n};\n\nexport default Page;\n```\n\n## Свойства\n\n<table>\n  <thead>\n    <tr>\n      <th>Название</th>\n      <th>Тип</th>\n      <th>Значение по умолчанию</th>\n      <th>Описание</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>value</td>\n      <td>\n        <code>number</code>\n      </td>\n      <td></td>\n      <td>Выбранный год.</td>\n    </tr>\n    <tr>\n      <td>options</td>\n      <td>\n        <code>number[]</code>\n      </td>\n      <td></td>\n      <td>\n        Пользовательский список годов. Если не задан, строится десятилетие относительно\n        <code>value</code> или текущего года.\n      </td>\n    </tr>\n    <tr>\n      <td>optionsPerRow</td>\n      <td>\n        <code>number</code>\n      </td>\n      <td>\n        <code>3</code>\n      </td>\n      <td>Количество годов в строке.</td>\n    </tr>\n    <tr>\n      <td>className</td>\n      <td>\n        <code>string</code>\n      </td>\n      <td></td>\n      <td>CSS-класс корневого контейнера.</td>\n    </tr>\n    <tr>\n      <td>style</td>\n      <td>\n        <code>React.CSSProperties</code>\n      </td>\n      <td></td>\n      <td>Inline-стили корневого контейнера.</td>\n    </tr>\n    <tr>\n      <td>rowClassName</td>\n      <td>\n        <code>string</code>\n      </td>\n      <td></td>\n      <td>CSS-класс для контейнера строки.</td>\n    </tr>\n    <tr>\n      <td>disabled</td>\n      <td>\n        <code>boolean</code>\n      </td>\n      <td>\n        <code>false</code>\n      </td>\n      <td>Отключает все опции.</td>\n    </tr>\n    <tr>\n      <td>block</td>\n      <td>\n        <code>boolean</code>\n      </td>\n      <td>\n        <code>false</code>\n      </td>\n      <td>Растягивает компонент на 100% доступной ширины.</td>\n    </tr>\n    <tr>\n      <td>showCurrent</td>\n      <td>\n        <code>boolean</code>\n      </td>\n      <td>\n        <code>false</code>\n      </td>\n      <td>Подсвечивает текущий год.</td>\n    </tr>\n    <tr>\n      <td>reverse</td>\n      <td>\n        <code>boolean</code>\n      </td>\n      <td>\n        <code>false</code>\n      </td>\n      <td>Переворачивает порядок годов.</td>\n    </tr>\n    <tr>\n      <td>allowDeselect</td>\n      <td>\n        <code>boolean</code>\n      </td>\n      <td>\n        <code>false</code>\n      </td>\n      <td>Разрешает сброс текущего выбора.</td>\n    </tr>\n    <tr>\n      <td>optionDisabled</td>\n      <td>\n        <code>(year: number) => boolean</code>\n      </td>\n      <td></td>\n      <td>Отключает конкретный год.</td>\n    </tr>\n    <tr>\n      <td>renderOption</td>\n      <td>\n        <code>function</code>\n      </td>\n      <td></td>\n      <td>\n        Кастомный рендер опции года.\n        <br />\n        <br />\n        <code>\n          (props: YearViewRenderOptionProps) => React.ReactNode\n        </code>\n      </td>\n    </tr>\n    <tr>\n      <td>onSelect</td>\n      <td>\n        <code>function</code>\n      </td>\n      <td></td>\n      <td>\n        Вызывается при выборе нового года.\n        <br />\n        <br />\n        <code>(year: number) => void</code>\n      </td>\n    </tr>\n    <tr>\n      <td>onDeselect</td>\n      <td>\n        <code>function</code>\n      </td>\n      <td></td>\n      <td>\n        Вызывается при снятии выбора (если включен <code>allowDeselect</code>).\n        <br />\n        <br />\n        <code>(year: number) => void</code>\n      </td>\n    </tr>\n    <tr>\n      <td>onChange</td>\n      <td>\n        <code>function</code>\n      </td>\n      <td></td>\n      <td>\n        Вызывается при изменении выбора.\n        <br />\n        <br />\n        <code>\n          (year: number) => void\n        </code>\n        <br />\n        <code>\n          (year: number | undefined) => void\n        </code>\n        когда <code>allowDeselect</code> равно <code>true</code>.\n      </td>\n    </tr>\n  </tbody>\n</table>\n\n## Примеры\n\nСмотри [storybook](https://github.com/2e32/react-year-view-storybook).\n\n## Лицензия\n\n[MIT](https://choosealicense.com/licenses/mit)\n","readmeFilename":"README.ru.md","_rev":"1-d1c2f784b145bc5c5b616d3bca98a8d4"}