{"_id":"@1amageek/timetable","_rev":"10-a83c46dcda7d86e9a8d1f5e3859733ec","name":"@1amageek/timetable","dist-tags":{"latest":"1.4.0"},"versions":{"0.1.0":{"name":"@1amageek/timetable","version":"0.1.0","keywords":["react","schedule","timetable"],"author":{"name":"1amageek"},"license":"MIT","_id":"@1amageek/timetable@0.1.0","maintainers":[{"name":"1amageek","email":"tmy0x3@icloud.com"}],"homepage":"https://github.com/1amageek/schedule.ts#readme","bugs":{"url":"https://github.com/1amageek/schedule.ts/issues"},"dist":{"shasum":"a82bfab2d3abfd83feca961b472663c8fbe7ad60","tarball":"https://registry.npmjs.org/@1amageek/timetable/-/timetable-0.1.0.tgz","fileCount":25,"integrity":"sha512-3lNqZ0Mz1Z8ta7oTJep7FOdZgp6e3pdQBK/1u39AoRbW3xp0ygfva22w3NHEO7z4/tqPRBUx5LY9cSB5qOparw==","signatures":[{"sig":"MEUCIH6MNkP/1rUAf8bNlnRwYaYqUEXDPmPbyMS8oM84TC5aAiEAuJu34QJnfXC/OKsWw7YK7IOCdgU6/pDXuHHiVapZXaM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4zsZCRA9TVsSAnZWagAAS9EQAIs5dCW9C8dJ8ies0w8G\n9VqOXszklk1DlvhLja3fjZXfxiuSBdU4VXNmmYffSVQD4G+sxhJM0B/lZJ+/\n89FE5z0OBQY+UQCFFaAzdDCb+yB+/6t1Uo7Nfg4rbhJkTWasJEUqBomyHvxD\nJhsY+LpaVOILhiJ05PLLXdC5kzgrwkbXR9YApNSVNC/6jm+hPkvvbpXKpW+P\nTEHnAWqMGS18zzc3ZDUGsE/isMvYUgiQHuolNZk6///B92IKB/lL0Frc5AI0\ni7dvvzmI/2ULXLv2i+wONTW+4UdkrjvsfcKjlJ567ZbN91ODfnd7bFo5Yc1U\nF8gRQHJNC4Oud84/Rcvd1/PHrQW8RKeMx+jYw4EBetcUJyiFZh5Xn2a4Z258\n7/e1MGXLcqj8QvLsq4gOaSTY//j3R1V0oIeFk0YvO8onzGP9dVmXxSDB4lxl\nXZrBb2jwbDGOWdIStCVTgDxlnuUnENMiP113Y8diCXqpXZzFZN/inK4rnPi4\nvJJA5ZnV0RjoEyRudBeh71+nL7F9L17eZ8Q/w0OfFl8BpJNxSfSzNOO8ks4r\nUpwBiq+UatgqA+LG9C5Gx4glu0yzUPUp2BFVq3bZLxEkkrASwOLJc0qcKT0A\nt4eLTCChz3WnKa+14fvXoeBF7MrPFxXYpZzBgk50M8W9W0yDIeOe23rglp/I\nrov8\r\n=UPl+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"lib/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc -d","prepare":"npm run build"},"_npmUser":{"name":"1amageek","email":"tmy0x3@icloud.com"},"repository":{"url":"git+https://github.com/1amageek/schedule.ts.git","type":"git"},"_npmVersion":"6.14.9","description":"Timetable UI components in React","directories":{},"_nodeVersion":"12.18.0","dependencies":{"@1amageek/geometory":"^1.0.0"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^4.1.3"},"_npmOperationalInternal":{"tmp":"tmp/timetable_0.1.0_1608727320571_0.6208187434733934","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@1amageek/timetable","version":"1.0.1","keywords":["timeline","timetable","calendar"],"author":{"name":"1amageek"},"_id":"@1amageek/timetable@1.0.1","maintainers":[{"name":"1amageek","email":"tmy0x3@icloud.com"}],"contributors":[{"name":"Norikazu Muramoto","email":"tmy0x3@icloud.com"}],"dist":{"shasum":"6d76656625fd0b0f73ecf23f26c828e4db40f9f7","tarball":"https://registry.npmjs.org/@1amageek/timetable/-/timetable-1.0.1.tgz","fileCount":58,"integrity":"sha512-iho/E1ibWrqxMJDNKlitU9loIDFuNAy+ZxGbCCfj+bPeZpYb6Eb/fuIwEqrNdK9XfGQsVpAAUCg6U2TLsg90Yw==","signatures":[{"sig":"MEYCIQCcbR52xck56cjmDW6WqGNE3dQ0UhHk5AmxZeR+1rGfUgIhAIxrLQ99yK1b91PQ8UWKnjIT+wJZpMmNpLnczJZ5AoCg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":245684},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"db3ade0b49a6ef6f67c1ce08b609d51e153bc664","private":false,"scripts":{"sb":"storybook dev -p 6006","test":"react-scripts test","build":"tsup src --dts","prepack":"clean-package","prepare":"npm run build","postpack":"clean-package restore","build-storybook":"storybook build"},"_npmUser":{"name":"1amageek","email":"tmy0x3@icloud.com"},"_npmVersion":"10.2.3","description":"A flexible and customizable React timetable component using Luxon for datetime handling.","directories":{},"_nodeVersion":"20.10.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"luxon":"^3.5.0","react":"^18.3.1","react-dom":"^18.3.1","tailwind-variants":"^0.3.0"},"eslintConfig":{"extends":["react-app","react-app/jest","plugin:storybook/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","postcss":"^8.4.49","webpack":"^5.96.1","@swc/core":"^1.9.3","storybook":"^8.4.5","prop-types":"^15.8.1","typescript":"^4.9.5","@types/jest":"^27.5.2","@types/node":"^16.18.119","tailwindcss":"^3.4.15","@types/luxon":"^3.4.2","@types/react":"^18.3.12","autoprefixer":"^10.4.20","babel-loader":"^9.2.1","clean-package":"^2.2.0","react-scripts":"^5.0.1","@storybook/test":"^8.4.5","@storybook/react":"^8.4.5","@types/react-dom":"^18.3.1","@storybook/blocks":"^8.4.5","@testing-library/react":"^13.4.0","eslint-plugin-storybook":"^0.11.1","@babel/preset-typescript":"^7.26.0","@chromatic-com/storybook":"^3.2.2","@storybook/addon-postcss":"^2.0.0","@storybook/react-webpack5":"^8.4.5","@testing-library/jest-dom":"^5.17.0","@storybook/addon-essentials":"^8.4.5","@storybook/addon-onboarding":"^8.4.5","@testing-library/user-event":"^13.5.0","@storybook/addon-interactions":"^8.4.5","@storybook/preset-create-react-app":"^8.4.5"},"_npmOperationalInternal":{"tmp":"tmp/timetable_1.0.1_1732712615168_0.6423451027671903","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@1amageek/timetable","version":"1.1.0","keywords":["timeline","timetable","calendar"],"author":{"name":"1amageek"},"_id":"@1amageek/timetable@1.1.0","maintainers":[{"name":"1amageek","email":"tmy0x3@icloud.com"}],"contributors":[{"name":"Norikazu Muramoto","email":"tmy0x3@icloud.com"}],"dist":{"shasum":"1f6033990a23236d59ebb30211ab770fdc90f770","tarball":"https://registry.npmjs.org/@1amageek/timetable/-/timetable-1.1.0.tgz","fileCount":62,"integrity":"sha512-GbSZN9v8J6ldd9cfA1uUNX/oVr/3F/sWWKkReicBrv6RwLy44hLX+0AAlA9IR5mA2raq1WJEOcwHUhjny8XQ3g==","signatures":[{"sig":"MEUCIQCxvVOego2y4e0y+SmwlE2rtWt/yvV0t/KAX12YSBqAiAIgTRDxTxfQ4eTs0ZAHSvXbFpZKhpw2debNQFhKuE7vPRA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":269785},"main":"lib/index.js","types":"lib/index.d.ts","gitHead":"be8a3644c144eb5741eb84e22a11a694ba1a04bf","private":false,"scripts":{"sb":"storybook dev -p 6006","test":"react-scripts test","build":"tsup src --dts","prepack":"clean-package","prepare":"npm run build","postpack":"clean-package restore","build-storybook":"storybook build"},"_npmUser":{"name":"1amageek","email":"tmy0x3@icloud.com"},"_npmVersion":"10.2.3","description":"A flexible and customizable React timetable component using Luxon for datetime handling.","directories":{},"_nodeVersion":"20.10.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"luxon":"^3.5.0","tailwind-variants":"^0.3.0"},"eslintConfig":{"extends":["react-app","react-app/jest","plugin:storybook/recommended"]},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1+sha256.9e534e70afef06374f6126b44bda5760947135ce16a30aef1010e965fb7e3e3e","devDependencies":{"tsup":"^8.3.5","postcss":"^8.4.49","webpack":"^5.96.1","@swc/core":"^1.9.3","storybook":"^8.4.7","prop-types":"^15.8.1","typescript":"^4.9.5","@types/jest":"^27.5.2","@types/node":"^16.18.119","tailwindcss":"^3.4.15","@types/luxon":"^3.4.2","@types/react":"^18.3.12","autoprefixer":"^10.4.20","babel-loader":"^9.2.1","clean-package":"^2.2.0","react-scripts":"^5.0.1","@storybook/test":"^8.4.7","@storybook/react":"^8.4.7","@types/react-dom":"^18.3.1","@storybook/blocks":"^8.4.7","eslint-plugin-storybook":"^0.11.1","@babel/preset-typescript":"^7.26.0","@chromatic-com/storybook":"^3.2.2","@storybook/addon-postcss":"^2.0.0","@storybook/react-webpack5":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-onboarding":"^8.4.7","@storybook/addon-interactions":"^8.4.7","@storybook/preset-create-react-app":"^8.4.7"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/timetable_1.1.0_1735403196426_0.02038178045346495","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@1amageek/timetable","version":"1.1.1","keywords":["timeline","timetable","calendar"],"author":{"name":"1amageek"},"_id":"@1amageek/timetable@1.1.1","maintainers":[{"name":"1amageek","email":"tmy0x3@icloud.com"}],"contributors":[{"name":"Norikazu Muramoto","email":"tmy0x3@icloud.com"}],"dist":{"shasum":"4395cd9ac50d5a1e44493bfcc303a4a5710d6546","tarball":"https://registry.npmjs.org/@1amageek/timetable/-/timetable-1.1.1.tgz","fileCount":58,"integrity":"sha512-nGgJ3CGefI8NNdCbzKBDLdkK4+EqPzwppJ2UUPzerE0x0597SjTKC38q4SKLhs4gRNfSS7XmnWHaG25UC9E+ow==","signatures":[{"sig":"MEYCIQDHH18B2d5xfc4YpfznPqMUwYW8A0VYtUpIuoUNpybnGwIhAOvNwflE8C75Yf9YE++Gb91SZpdxscZwKcAYoxpamlFc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":174057},"main":"lib/index.js","types":"lib/index.d.ts","module":"lib/index.mjs","gitHead":"30074602274f298dc33e67e1b39d31de9d8cb3aa","private":false,"scripts":{"sb":"storybook dev -p 6006","test":"react-scripts test","build":"tsup src --dts","prepack":"clean-package","prepare":"npm run build","postpack":"clean-package restore","build-storybook":"storybook build"},"_npmUser":{"name":"1amageek","email":"tmy0x3@icloud.com"},"_npmVersion":"10.2.3","description":"A flexible and customizable React timetable component using Luxon for datetime handling.","directories":{},"_nodeVersion":"20.10.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"luxon":"^3.5.0","tailwind-variants":"^0.3.0"},"eslintConfig":{"extends":["react-app","react-app/jest","plugin:storybook/recommended"]},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1+sha256.9e534e70afef06374f6126b44bda5760947135ce16a30aef1010e965fb7e3e3e","devDependencies":{"tsup":"^8.3.5","postcss":"^8.4.49","webpack":"^5.96.1","@swc/core":"^1.9.3","storybook":"^8.4.7","prop-types":"^15.8.1","typescript":"^4.9.5","@types/jest":"^27.5.2","@types/node":"^16.18.119","tailwindcss":"^3.4.15","@types/luxon":"^3.4.2","@types/react":"^18.3.12","autoprefixer":"^10.4.20","babel-loader":"^9.2.1","clean-package":"^2.2.0","react-scripts":"^5.0.1","@storybook/test":"^8.4.7","@storybook/react":"^8.4.7","@types/react-dom":"^18.3.1","@storybook/blocks":"^8.4.7","eslint-plugin-storybook":"^0.11.1","@babel/preset-typescript":"^7.26.0","@chromatic-com/storybook":"^3.2.2","@storybook/addon-postcss":"^2.0.0","@storybook/react-webpack5":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-onboarding":"^8.4.7","@storybook/addon-interactions":"^8.4.7","@storybook/preset-create-react-app":"^8.4.7"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/timetable_1.1.1_1735403649936_0.2408401585674611","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@1amageek/timetable","version":"1.2.0","keywords":["timeline","timetable","calendar"],"author":{"name":"1amageek"},"_id":"@1amageek/timetable@1.2.0","maintainers":[{"name":"1amageek","email":"tmy0x3@icloud.com"}],"contributors":[{"name":"Norikazu Muramoto","email":"tmy0x3@icloud.com"}],"dist":{"shasum":"ceb131420cba381bde6592dff54904d685697e1c","tarball":"https://registry.npmjs.org/@1amageek/timetable/-/timetable-1.2.0.tgz","fileCount":58,"integrity":"sha512-v2ORpIvhB0qYwphB0m7xyjCTpQUxU1kC3MnccIKhkflUl6JLyEEV418G6BeJoXjCfXm4LLM77fkvZqq4B6SupA==","signatures":[{"sig":"MEYCIQCVcM+beNs4gsOUxWEg8vqgkQMSqDtxC2xx+YvVbjx1OgIhAKDW3HWAkJ7BFcaW7tz1qOzJyww2An0yHYTlYomWzNzW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":173844},"main":"lib/index.js","_from":"file:1amageek-timetable-1.2.0.tgz","types":"lib/index.d.ts","module":"lib/index.mjs","private":false,"scripts":{"sb":"storybook dev -p 6006","test":"react-scripts test","build":"tsup src --dts","build-storybook":"storybook build"},"_npmUser":{"name":"1amageek","email":"tmy0x3@icloud.com"},"_resolved":"/private/var/folders/7l/mqtnpbyx6td0z9pbsrgq4c080000gn/T/8f3a38dfc4b8f020eaccdf3837a58f95/1amageek-timetable-1.2.0.tgz","_integrity":"sha512-v2ORpIvhB0qYwphB0m7xyjCTpQUxU1kC3MnccIKhkflUl6JLyEEV418G6BeJoXjCfXm4LLM77fkvZqq4B6SupA==","_npmVersion":"10.2.3","description":"A flexible and customizable React timetable component using Luxon for datetime handling.","directories":{},"_nodeVersion":"20.10.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"luxon":"^3.5.0","tailwind-variants":"^0.3.0"},"eslintConfig":{"extends":["react-app","react-app/jest","plugin:storybook/recommended"]},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","postcss":"^8.4.49","webpack":"^5.96.1","@swc/core":"^1.9.3","storybook":"^8.4.7","prop-types":"^15.8.1","typescript":"^4.9.5","@types/jest":"^27.5.2","@types/node":"^16.18.119","tailwindcss":"^3.4.15","@types/luxon":"^3.4.2","@types/react":"^18.3.12","autoprefixer":"^10.4.20","babel-loader":"^9.2.1","clean-package":"^2.2.0","react-scripts":"^5.0.1","@storybook/test":"^8.4.7","@storybook/react":"^8.4.7","@types/react-dom":"^18.3.1","@storybook/blocks":"^8.4.7","eslint-plugin-storybook":"^0.11.1","@babel/preset-typescript":"^7.26.0","@chromatic-com/storybook":"^3.2.2","@storybook/addon-postcss":"^2.0.0","@storybook/react-webpack5":"^8.4.7","@storybook/addon-essentials":"^8.4.7","@storybook/addon-onboarding":"^8.4.7","@storybook/addon-interactions":"^8.4.7","@storybook/preset-create-react-app":"^8.4.7"},"peerDependencies":{"react":"^18.0.0","react-dom":"^18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/timetable_1.2.0_1735459350799_0.6949466685522576","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@1amageek/timetable","version":"1.3.0","keywords":["timeline","timetable","calendar"],"author":{"name":"1amageek"},"_id":"@1amageek/timetable@1.3.0","maintainers":[{"name":"1amageek","email":"tmy0x3@icloud.com"}],"contributors":[{"name":"Norikazu Muramoto","email":"tmy0x3@icloud.com"}],"dist":{"shasum":"32f858a0d4aceace3892f19cbfda9640b72816a4","tarball":"https://registry.npmjs.org/@1amageek/timetable/-/timetable-1.3.0.tgz","fileCount":58,"integrity":"sha512-L5Vgci0xKOQhfpZhGI2Rqjm7Dl+2Z6ubJzoqc9ORgFsfHSoHl3W8Ur31Fx8hXMH6aSqSC6rX5n/nQMJeL+h4/Q==","signatures":[{"sig":"MEUCIAP2bTuEO6zqh4aTqTo1bCJ+8x4yQd6qb3I8oyxC1C/NAiEA4vxfBXkVj/hAzGQIrtJrS3Ter9IvQPrRzcMKsrDtfMU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":174030},"main":"lib/index.js","types":"lib/index.d.ts","module":"lib/index.mjs","gitHead":"9e02599dcba44e500121d9cfa74acc3efd40539b","private":false,"scripts":{"sb":"storybook dev -p 6006","test":"react-scripts test","build":"tsup src --dts","prepack":"clean-package","prepare":"npm run build","postpack":"clean-package restore","build-storybook":"storybook build"},"_npmUser":{"name":"1amageek","email":"tmy0x3@icloud.com"},"_npmVersion":"11.5.1","description":"A flexible and customizable React timetable component using Luxon for datetime handling.","directories":{},"_nodeVersion":"24.5.0","browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"luxon":"^3.7.2","tailwind-variants":"^3.1.1"},"eslintConfig":{"extends":["react-app","react-app/jest","plugin:storybook/recommended"]},"_hasShrinkwrap":false,"packageManager":"pnpm@9.15.1+sha256.9e534e70afef06374f6126b44bda5760947135ce16a30aef1010e965fb7e3e3e","devDependencies":{"tsup":"^8.5.0","postcss":"^8.5.6","webpack":"^5.102.1","@swc/core":"^1.13.5","storybook":"^8.6.14","prop-types":"^15.8.1","typescript":"^5.9.3","@types/jest":"^30.0.0","@types/node":"^24.9.1","tailwindcss":"^3.4.17","@types/luxon":"^3.7.1","@types/react":"^19.2.2","autoprefixer":"^10.4.21","babel-loader":"^10.0.0","clean-package":"^2.2.0","react-scripts":"^5.0.1","@storybook/test":"^8.6.14","@storybook/react":"^8.6.14","@types/react-dom":"^19.2.2","@storybook/blocks":"^8.6.14","eslint-plugin-storybook":"^0.11.1","@babel/preset-typescript":"^7.28.5","@chromatic-com/storybook":"^3.2.7","@storybook/addon-postcss":"^2.0.0","@storybook/react-webpack5":"^8.6.14","@storybook/addon-essentials":"^8.6.14","@storybook/addon-onboarding":"^8.6.14","@storybook/addon-interactions":"^8.6.14","@storybook/preset-create-react-app":"^8.6.14"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/timetable_1.3.0_1761453158304_0.7349590764164713","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@1amageek/timetable","version":"1.4.0","private":false,"author":{"name":"1amageek"},"scripts":{"build":"tsup src --dts","prepare":"npm run build","test":"react-scripts test","sb":"storybook dev -p 6006","build-storybook":"storybook build","prepack":"clean-package","postpack":"clean-package restore"},"eslintConfig":{"extends":["react-app","react-app/jest","plugin:storybook/recommended"]},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"dependencies":{"luxon":"^3.7.2","tailwind-variants":"^3.1.1"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"devDependencies":{"@babel/preset-typescript":"^7.28.5","@chromatic-com/storybook":"^4.1.1","@storybook/addon-essentials":"^8.6.14","@storybook/addon-interactions":"^8.6.14","@storybook/addon-onboarding":"^9.1.15","@storybook/addon-postcss":"^2.0.0","@storybook/blocks":"^8.6.14","@storybook/preset-create-react-app":"^9.1.15","@storybook/react":"^9.1.15","@storybook/react-webpack5":"^9.1.15","@storybook/test":"^8.6.14","@swc/core":"^1.13.5","@tailwindcss/postcss":"^4.1.16","@types/jest":"^30.0.0","@types/luxon":"^3.7.1","@types/node":"^24.9.1","@types/react":"^19.2.2","@types/react-dom":"^19.2.2","autoprefixer":"^10.4.21","babel-loader":"^10.0.0","clean-package":"^2.2.0","eslint-plugin-storybook":"^9.1.15","postcss":"^8.5.6","prop-types":"^15.8.1","react-scripts":"^5.0.1","storybook":"^9.1.15","tailwindcss":"^4.1.16","tsup":"^8.5.0","typescript":"^5.9.3","webpack":"^5.102.1"},"contributors":[{"name":"Norikazu Muramoto","email":"tmy0x3@icloud.com"}],"main":"lib/index.js","module":"lib/index.mjs","types":"lib/index.d.ts","keywords":["timeline","timetable","calendar"],"packageManager":"pnpm@9.15.1+sha256.9e534e70afef06374f6126b44bda5760947135ce16a30aef1010e965fb7e3e3e","_id":"@1amageek/timetable@1.4.0","gitHead":"88704e20920a4dca9880f7737add4c3b09aacaba","description":"A flexible and customizable React timetable component using Luxon for datetime handling.","_nodeVersion":"24.5.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-0Xq5sVi4Bq84f/H38B9d5KhR1OI/O8zU7OK3Nb/zfEGwFUFc/nhKuBN8IluueTHMXs35sU3ScBTUod/EhU1JWw==","shasum":"9c5a693160db9959c19972faab3359e2fadf70fc","tarball":"https://registry.npmjs.org/@1amageek/timetable/-/timetable-1.4.0.tgz","fileCount":58,"unpackedSize":158445,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCAXc2R3nuK53pscnLi2cBgxkScSgnMFYSGnVWCZ/CfSAIgLvWyHolf5qRdn/Z1ydPzxKZYyCRJU7AbpF0GzboSTCw="}]},"_npmUser":{"name":"1amageek","email":"tmy0x3@icloud.com"},"directories":{},"maintainers":[{"name":"1amageek","email":"tmy0x3@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/timetable_1.4.0_1761472635983_0.10554680364116686"},"_hasShrinkwrap":false}},"time":{"created":"2020-12-23T12:42:00.509Z","modified":"2025-10-26T09:57:16.372Z","0.1.0":"2020-12-23T12:42:00.691Z","1.0.0":"2024-11-26T17:50:57.906Z","1.0.1":"2024-11-27T13:03:35.389Z","1.1.0":"2024-12-28T16:26:36.696Z","1.1.1":"2024-12-28T16:34:10.141Z","1.2.0":"2024-12-29T08:02:30.987Z","1.3.0":"2025-10-26T04:32:38.529Z","1.4.0":"2025-10-26T09:57:16.172Z"},"author":{"name":"1amageek"},"keywords":["timeline","timetable","calendar"],"description":"A flexible and customizable React timetable component using Luxon for datetime handling.","contributors":[{"name":"Norikazu Muramoto","email":"tmy0x3@icloud.com"}],"maintainers":[{"name":"1amageek","email":"tmy0x3@icloud.com"}],"readme":"# Timetable\n\nA flexible and customizable React timetable component using Luxon for datetime handling.\n\n## Features\n\n- 📅 Flexible timetable layout supporting multiple days\n- 🕒 Luxon-based datetime handling with timezone support\n- ✨ Event selection and multi-select support\n- 🎨 Customizable styling and themes\n- 📱 Responsive design\n- 💪 TypeScript support\n- 🔄 Context-based state management\n- 📚 Comprehensive documentation and Storybook\n\n## Installation\n\n```bash\nnpm install @1amageek/timetable\n# or\nyarn add @1amageek/timetable\n# or\npnpm add @1amageek/timetable\n```\n\n## Quick Start\n\n```tsx\nimport { DateTime } from \"luxon\";\nimport { Timetable } from \"react-luxon-timetable\";\n\ninterface Event {\n  id: string;\n  start: DateTime;\n  end: DateTime;\n  title: string;\n  type: string;\n}\n\nfunction App() {\n  const events: Event[] = [\n    {\n      id: \"1\",\n      start: DateTime.local(2024, 3, 1, 12, 0),\n      end: DateTime.local(2024, 3, 1, 14, 0),\n      title: \"Team Meeting\",\n      type: \"meeting\"\n    }\n  ];\n\n  return (\n    <div className=\"h-screen\">\n      <Timetable\n        start={DateTime.local(2024, 3, 1)}\n        end={DateTime.local(2024, 3, 7)}\n        items={events}\n        onChange={(selectedIds) => console.log(\"Selected:\", selectedIds)}\n      >\n        {(item) => (\n          <div className=\"p-2 rounded-xl bg-blue-100 text-blue-800\">\n            <div className=\"font-medium\">{item.title}</div>\n            <div className=\"text-sm\">\n              {item.start.toFormat(\"HH:mm\")} - {item.end.toFormat(\"HH:mm\")}\n            </div>\n          </div>\n        )}\n      </Timetable>\n    </div>\n  );\n}\n```\n\n## Props\n\n### Timetable Props\n\n```typescript\ninterface TimetableProps<T extends Identifiable & DateTimeRange> {\n  start: DateTime;              // Start date\n  end: DateTime;               // End date\n  items: T[];                  // Array of events\n  options?: TimetableOptions;  // Optional configuration\n  children: (item: T) => React.ReactNode;  // Render function for events\n  onChange?: (selectedIds: string[]) => void;  // Selection change handler\n}\n\ninterface TimetableOptions {\n  cellHeight: number;     // Height of each time slot\n  headerHeight: number;   // Height of the header\n  paddingInsets: {       // Padding configuration\n    top: number;\n    left: number;\n    right: number;\n    bottom: number;\n  };\n}\n```\n\n### Event Interface\n\n```typescript\ninterface DateTimeRange {\n  start: DateTime;\n  end: DateTime;\n}\n\ninterface Identifiable {\n  id: string;\n}\n\n// Your event type should extend both interfaces\ninterface Event extends Identifiable, DateTimeRange {\n  title: string;\n  // ... other properties\n}\n```\n\n## Advanced Usage\n\n### Custom Styling\n\n```tsx\n<Timetable>\n  {(item) => (\n    <div\n      className={`\n        p-2 rounded-xl \n        ${item.type === \"meeting\" ? \"bg-blue-100 text-blue-800\" : \"\"}\n        ${item.type === \"lunch\" ? \"bg-green-100 text-green-800\" : \"\"}\n      `}\n    >\n      {item.title}\n    </div>\n  )}\n</Timetable>\n```\n\n## Development\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/1amageek/timetable.git\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run dev\n\n# Run Storybook\nnpm run storybook\n```\n\n### Building\n\n```bash\n# Build the library\nnpm run build\n\n# Build Storybook documentation\nnpm run sb\n```\n\n\n## License\n\nMIT © [1amageek]","readmeFilename":"README.md"}