{"_id":"@2e32/react-month-view","name":"@2e32/react-month-view","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@2e32/react-month-view","version":"1.0.0","description":"A React month view component","keywords":["2e32","ui","frontend","component","months","month","month-view","react","react-component","react-month-view"],"author":{"name":"konstantin_b"},"repository":{"type":"git","url":"git+https://github.com/2e32/react-month-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 || ^19.0.0","react-dom":"^18.0.0 || ^19.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.9.3"},"_id":"@2e32/react-month-view@1.0.0","gitHead":"342000767e0e8137d261542ff5358b5aa3bce10f","bugs":{"url":"https://github.com/2e32/react-month-view/issues"},"homepage":"https://github.com/2e32/react-month-view#readme","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-E/WlVBHh5BP1LaAehiX/gpSENZ5j5kRd4VDCyjKu14rMKDWJAx3LLkWfBGh1Mz1c0GZ3SCQ8Za6uJyA8Yb1yDQ==","shasum":"9c74896a20598b8e835b47b876e0f91abba911b3","tarball":"https://registry.npmjs.org/@2e32/react-month-view/-/react-month-view-1.0.0.tgz","fileCount":46,"unpackedSize":81598,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFYGg8vWSD52bLypLkO1KKN+FO+mGn8WPLvICkK8GEKQAiBuExSg+xfHrKQN3BjfceajXcXkxHuE9+gqYsi040ZTZQ=="}]},"_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-month-view_1.0.0_1772802677047_0.6942851608392111"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-06T13:11:16.936Z","1.0.0":"2026-03-06T13:11:17.180Z","modified":"2026-03-06T13:11:17.433Z"},"maintainers":[{"name":"2e32","email":"bogucharov.dev@gmail.com"}],"description":"A React month view component","homepage":"https://github.com/2e32/react-month-view#readme","keywords":["2e32","ui","frontend","component","months","month","month-view","react","react-component","react-month-view"],"repository":{"type":"git","url":"git+https://github.com/2e32/react-month-view.git"},"author":{"name":"konstantin_b"},"bugs":{"url":"https://github.com/2e32/react-month-view/issues"},"license":"MIT","readme":"# @2e32/react-month-view\n\n[English (en)](README.md)\n\nReact-компонент для выбора месяца. Отображает месяцы в виде сетки.\n\n## Установка\n\nnpm\n\n```bash\nnpm i @2e32/react-month-view\n```\n\nyarn\n\n```bash\nyarn add @2e32/react-month-view\n```\n\n## Использование\n\nApp.tsx\n\n```tsx\n// Единожды подключить стиль на уровне приложения (точки входа)\nimport '@2e32/react-month-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 MonthView from '@2e32/react-month-view';\n\nconst Page = () => {\n  const [value, setValue] = useState<number>();\n\n  return <MonthView 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>Выбранный месяц (0–11).</td>\n    </tr>\n    <tr>\n      <td>options</td>\n      <td>\n        <code>number[]</code>\n      </td>\n      <td></td>\n      <td>\n        Пользовательский список месяцев (0–11). Если не задан, отображаются все 12 месяцев.\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>Количество месяцев в строке (1–12).</td>\n    </tr>\n    <tr>\n      <td>locale</td>\n      <td>\n        <code>string</code>\n      </td>\n      <td>по умолчанию браузера</td>\n      <td>Локаль для названий месяцев (например, <code>'en-US'</code>, <code>'ru-RU'</code>).</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>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>optionContent</td>\n      <td>\n        <code>function</code>\n      </td>\n      <td></td>\n      <td>\n        Кастомный текст (label) опции месяца. Используйте для изменения текста (полное название, верхний регистр, номер и т.д.) без замены всей разметки опции.\n        <br />\n        <br />\n        <code>\n          (props: MonthName) => React.ReactNode\n        </code>\n      </td>\n    </tr>\n    <tr>\n      <td>optionDisabled</td>\n      <td>\n        <code>(month: 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: MonthViewRenderOptionProps) => 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>(month: 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>(month: 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          (month: number) => void\n        </code>\n        <br />\n        <code>\n          (month: 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-month-view-storybook).\n\n## Лицензия\n\n[MIT](https://choosealicense.com/licenses/mit)\n","readmeFilename":"README.ru.md","_rev":"1-ef921b6582c25201c3bc55a8535394a7"}