{"_id":"timescape","_rev":"28-cf33f3957c29ba8925880f119eebd34f","name":"timescape","dist-tags":{"latest":"0.9.1"},"versions":{"0.1.0":{"name":"timescape","version":"0.1.0","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.1.0","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"ab6f1260e658c1a7642231276f9d40c3bf422ddd","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.1.0.tgz","fileCount":15,"integrity":"sha512-6gS2rZ1IdW15pSc3Y5AbNEl1VCgzxYmLXQ3VBWozz9Ut4au/9UJmuBjMHGzvWGJzK5isejbUj4hlEJ6UJlAU4A==","signatures":[{"sig":"MEUCID34rGixJDA9eQ2HjtfeeFq54y7vjw4mMl6DBRySj3lUAiEAznA28N9r3cPzILVwjuCQtkFwxBk7dm65iU6Lu3vqqME=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37624},"type":"module","_from":"file:timescape-0.1.0.tgz","exports":{".":{"production":"./dist/index.js","development":"./src/index.ts"},"./*":{"production":"./dist/*.js","development":"./src/integrations/*.ts"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/9096f454c9c3b16814b49f17bc2601a1/timescape-0.1.0.tgz","_integrity":"sha512-6gS2rZ1IdW15pSc3Y5AbNEl1VCgzxYmLXQ3VBWozz9Ut4au/9UJmuBjMHGzvWGJzK5isejbUj4hlEJ6UJlAU4A==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.1.0_1686746880475_0.6142694029254656","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"timescape","version":"0.1.1","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.1.1","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"29f7dd26044e03f85440674cc1f374bf78700b20","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.1.1.tgz","fileCount":15,"integrity":"sha512-6N6cKUgk39tYBlDcmcH7FjTw2HpXmjDFsZMlKxI1AFEppTq5H2Pjx8c28cQQ36BYMXx5kWIPfFkyQAbFCMnKfg==","signatures":[{"sig":"MEYCIQDXJ7H8EA7BOi8tjVq+YNddVlGtnnRPxX0Ivh5sV1q/3wIhANf8WCr+kUPPZt3Yw9tqu+2XGKAX658bDBYqX9Zw+rBA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37656},"type":"module","_from":"file:timescape-0.1.1.tgz","exports":{".":{"production":"./dist/index.js","development":"./src/index.ts"},"./*":{"production":"./dist/*.js","development":"./src/integrations/*.ts"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/55902f27ecc066247fc24a98c3e96059/timescape-0.1.1.tgz","_integrity":"sha512-6N6cKUgk39tYBlDcmcH7FjTw2HpXmjDFsZMlKxI1AFEppTq5H2Pjx8c28cQQ36BYMXx5kWIPfFkyQAbFCMnKfg==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.1.1_1686746957573_0.7940516528655701","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"timescape","version":"0.1.2","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.1.2","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"939d6049f1d1a2c023bcf2fac5fd75d2a8883def","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.1.2.tgz","fileCount":15,"integrity":"sha512-MUSL3l+t3tCcTr3suXG07q5qK1cLtepD291o4qGesLIpN8EMo9K6P94f5DrJRvlnjNUuJyvreKmHmZepOLb0Yw==","signatures":[{"sig":"MEQCIBC1Y8XFXptXELojnuBA/o+1y9/2sGdNWR9qMgzSL/T7AiA06mAXRrsEw4MxbtePsEbeV5tL3YADSwBOgiC3zyezoQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37656},"type":"module","_from":"file:timescape-0.1.2.tgz","exports":{".":{"production":"./dist/index.js","development":"./src/index.ts"},"./*":{"production":"./dist/*.js","development":"./src/integrations/*.ts"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/16856a283b51098177fd4f14b04767a5/timescape-0.1.2.tgz","_integrity":"sha512-MUSL3l+t3tCcTr3suXG07q5qK1cLtepD291o4qGesLIpN8EMo9K6P94f5DrJRvlnjNUuJyvreKmHmZepOLb0Yw==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.1.2_1686747323949_0.3942594706388549","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"timescape","version":"0.1.3","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.1.3","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"89bce558fe976bddc0d4ab9a91af0e45309ffb2d","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.1.3.tgz","fileCount":16,"integrity":"sha512-jThCQo9CW2RJOmlhCBBWx2RkXqYdMEKcHLgs5bdkUDfhzbo++k22ILDaYPpM9rqGFFBATmqyZXGHpQESAJ2UBA==","signatures":[{"sig":"MEQCIAmgPPPYwsJjsOCUmPp222woTczXPcvVn49AkTnIlEKZAiAVLd8Q9rMWaEWZZP0kvNsdEy4JHGvoRsbGP9/5W07DzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49764},"type":"module","_from":"file:timescape-0.1.3.tgz","exports":{".":{"production":"./dist/index.js","development":"./src/index.ts"},"./*":{"production":"./dist/*.js","development":"./src/integrations/*.ts"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/78ad6dc95aa1b63ab3c31b3662a9f32b/timescape-0.1.3.tgz","_integrity":"sha512-jThCQo9CW2RJOmlhCBBWx2RkXqYdMEKcHLgs5bdkUDfhzbo++k22ILDaYPpM9rqGFFBATmqyZXGHpQESAJ2UBA==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.1.3_1686747518422_0.00343478637352157","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"timescape","version":"0.1.4","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.1.4","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"5b328ea1e79250b23fd7143e20a88cded71bb20f","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.1.4.tgz","fileCount":16,"integrity":"sha512-VmL8EhlcQ3xH/Bj2GkMG0mI25tVOXd6OJ/lv/2cPIxdYm5dBFeJ9w6HBOMWJGbOwpNFvUonZy0qEhgB/8Dpupg==","signatures":[{"sig":"MEUCIQDutER/7Joki0lCaFJfIXJKQaFZTpwqt/who5M+wCh7pQIgLwdaYQ3GzdfQ6Ltt8Y0C4Ij6QWGMQbBuO4Gs88VCnL0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49723},"type":"module","_from":"file:timescape-0.1.4.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/dedad5c4a403f5ba7705833ac1d881d9/timescape-0.1.4.tgz","_integrity":"sha512-VmL8EhlcQ3xH/Bj2GkMG0mI25tVOXd6OJ/lv/2cPIxdYm5dBFeJ9w6HBOMWJGbOwpNFvUonZy0qEhgB/8Dpupg==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.1.4_1686750044002_0.9273154880647247","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"timescape","version":"0.1.5","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.1.5","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"b45316b44001b5f5c282068241a7836ac3270f37","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.1.5.tgz","fileCount":16,"integrity":"sha512-GXIFlcZ0ZZJQ1gOy9LyA3Ddq4Itdg2MZ8vFdtdZD6qVnk3KVWOoIs7816kLQxL1AdCuZQHzY2nSY1hQs/V6HNQ==","signatures":[{"sig":"MEUCIQDPrQVwq8gOe7HM5S6S5arH2thRC+TQtRcy4r/tkUJjLQIgSk8gXNmOqqLYjyKJLy4GUql9tkh8Oi8Sp/sPkE5WB4A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49781},"type":"module","_from":"file:timescape-0.1.5.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/0449812c9fead9ee6b0f7718577ab134/timescape-0.1.5.tgz","_integrity":"sha512-GXIFlcZ0ZZJQ1gOy9LyA3Ddq4Itdg2MZ8vFdtdZD6qVnk3KVWOoIs7816kLQxL1AdCuZQHzY2nSY1hQs/V6HNQ==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.1.5_1686751747696_0.39649032204435164","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"timescape","version":"0.1.6","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.1.6","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"102745cee3cf94424da36420521f74a5c4203980","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.1.6.tgz","fileCount":16,"integrity":"sha512-3Zg1vZEE4uOubtbOOui1b1hXC+XKEYrBircb/R5+ImjEXWv/3QvCgaLi+BQ6e2e9QoqpBUGdIgUk1m0g+PyGWw==","signatures":[{"sig":"MEUCIHdaT/9oV99fvvOnCQRdSqDr++mA7IjThULoSPR46ufPAiEA2gSZZU77xdI/cjlfurgJVHbyLu6VKdlvLhtTC9Frl8g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49779},"type":"module","_from":"file:timescape-0.1.6.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/02075d1afe2a8db432ca47b703842d32/timescape-0.1.6.tgz","_integrity":"sha512-3Zg1vZEE4uOubtbOOui1b1hXC+XKEYrBircb/R5+ImjEXWv/3QvCgaLi+BQ6e2e9QoqpBUGdIgUk1m0g+PyGWw==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.1.6_1686755886208_0.18168936656255652","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"timescape","version":"0.1.7","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.1.7","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"a0e6925958cf2058e9bffdead444ddbd72cbd372","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.1.7.tgz","fileCount":16,"integrity":"sha512-zgJXsMOnyD+wwwWn/lnj8b9Lw8UKSwc8AJa97FMWJ4CHiZKj8eOyg79oLJy63RPYQ6X7l597kTZPtIndUog1Rg==","signatures":[{"sig":"MEYCIQC4L6BbZOe3CGU6xpLppDpI0Zptga+kq592O+PeolOXAwIhAL2dxIDb4Po6XyXsniE4Hus1r5VswvWy2a8lxQOziaDR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49688},"type":"module","_from":"file:timescape-0.1.7.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/e2bbb4bf81638cdc4ca12681ee11f3f2/timescape-0.1.7.tgz","_integrity":"sha512-zgJXsMOnyD+wwwWn/lnj8b9Lw8UKSwc8AJa97FMWJ4CHiZKj8eOyg79oLJy63RPYQ6X7l597kTZPtIndUog1Rg==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.1.7_1686756230091_0.9970927766619095","host":"s3://npm-registry-packages"}},"0.1.8":{"name":"timescape","version":"0.1.8","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.1.8","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"2fa1b17925397550e878c8590c27a633e318787a","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.1.8.tgz","fileCount":16,"integrity":"sha512-Kqi9JH8b4PFme3HufPW+E3N/lDe+SA1wKc0qiH7conxnR5fJtvxyPwar9HnR9HlK1SHO9eEGyCUY1kT5cGJwsQ==","signatures":[{"sig":"MEQCIG/hL5/9LEtj6kdDYc747Xv+iENiixj3FqV8BibaFL76AiA57/EBI4gziPIIzWGiOlNuAdaHHjrKhxUjB9HTu5o/aQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":49904},"type":"module","_from":"file:timescape-0.1.8.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/f065e271b3752928b8efa675934e364c/timescape-0.1.8.tgz","_integrity":"sha512-Kqi9JH8b4PFme3HufPW+E3N/lDe+SA1wKc0qiH7conxnR5fJtvxyPwar9HnR9HlK1SHO9eEGyCUY1kT5cGJwsQ==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.1.8_1686759070198_0.13515295465010913","host":"s3://npm-registry-packages"}},"0.1.9":{"name":"timescape","version":"0.1.9","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.1.9","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"73aa28bca442cea124da7844c60da8d31632f6e7","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.1.9.tgz","fileCount":16,"integrity":"sha512-cX/zSz60PXoMuzAYPHTdBNPJ1lIOGvwBouEDHAUtVOrdpWcHJqBqDlE7ZAQTuKbJHD5RoZ4ymoPJ4k0mcKzPUQ==","signatures":[{"sig":"MEQCIDEhiWzhlPPcwc9rEx4AdmeAbWz2pf2ynu3hSCdkqcfcAiB/RKAH1b/T+JRlX7YE+KKOxtA6DfZaiWgHj/5hquCtag==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50573},"type":"module","_from":"file:timescape-0.1.9.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/0e83e5977226807b7a1710dce37117b3/timescape-0.1.9.tgz","_integrity":"sha512-cX/zSz60PXoMuzAYPHTdBNPJ1lIOGvwBouEDHAUtVOrdpWcHJqBqDlE7ZAQTuKbJHD5RoZ4ymoPJ4k0mcKzPUQ==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.1.9_1686771438602_0.9354032604144045","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"timescape","version":"0.2.0","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.2.0","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"57568466145c4a1032d188485a789b9e3e88a16d","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.2.0.tgz","fileCount":16,"integrity":"sha512-dSPCBMgh2jSQTooRv3gTSiHnQx+6VXobW4W/kiGfK6hI0RPfGCrzDHwwMrU+JtmxwHnsKAD93g9KI0KRNjMJ4g==","signatures":[{"sig":"MEYCIQDjqJ58dX8nuam/eP/qYbPv69QNqF2f7XkpH+ZEOzqfiAIhAKElt5EBAL0wxeWmLImxObC1d5SqKUVMTXR8V2PcoWll","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51504},"type":"module","_from":"file:timescape-0.2.0.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/private/var/folders/_0/5xmg1lp50xz8lf5w4wh6d7x00000gn/T/ad84b00cb007d5927c95553e9ed66c2e/timescape-0.2.0.tgz","_integrity":"sha512-dSPCBMgh2jSQTooRv3gTSiHnQx+6VXobW4W/kiGfK6hI0RPfGCrzDHwwMrU+JtmxwHnsKAD93g9KI0KRNjMJ4g==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.5.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.16.0","typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.2.0_1686895400796_0.7951177733817427","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"timescape","version":"0.2.1","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.2.1","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"d116a49bbfe03cae8d309769f7a5876b0afa5cdb","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.2.1.tgz","fileCount":16,"integrity":"sha512-CH8YXCJ01UkFyd243nKPp5WMP/lURzSt8WjV+jmm+YOlkvJtNHuY2g9alUrR73fzTkJ6k7kQc784IP37Bmpbig==","signatures":[{"sig":"MEYCIQCz9maGKBO/jHXAJiI8IIWyzx0/95/nHGIjyGoKlQ3+pwIhAPULNcgW+c81F1zcmp2JMDjsfvvP0jA1+OSj3UAdRukG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52764},"type":"module","_from":"file:timescape-0.2.1.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/321074881187f6a2dceffe9e974dbb60/timescape-0.2.1.tgz","_integrity":"sha512-CH8YXCJ01UkFyd243nKPp5WMP/lURzSt8WjV+jmm+YOlkvJtNHuY2g9alUrR73fzTkJ6k7kQc784IP37Bmpbig==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.6.7","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.17.1","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.2.1_1693737434331_0.8213828651682966","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"timescape","version":"0.3.0","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.3.0","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"8cb2e883ec83a72aad4cc3451c2adfe89af27031","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.3.0.tgz","fileCount":16,"integrity":"sha512-tK2lFB6dXrk3KzP73wXwcfYbmSROkddGifjYV6wdRJCm07B5bz4jwxG+mEeZbqPu1WEKTj0IEr8CYqBQm8BypA==","signatures":[{"sig":"MEYCIQCRU1uBWDQJPePRTOGuHzyYhyKdg4/gQbM6UE3FUPGhuQIhAMKde2GUk6nCOpMK/jjHtd9nIRdsstrWERSuXmb4TCt2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":54517},"type":"module","_from":"file:timescape-0.3.0.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/179ec0c7003c5ad84ad93f1db5c8cef9/timescape-0.3.0.tgz","_integrity":"sha512-tK2lFB6dXrk3KzP73wXwcfYbmSROkddGifjYV6wdRJCm07B5bz4jwxG+mEeZbqPu1WEKTj0IEr8CYqBQm8BypA==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"9.6.7","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.17.1","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.4","tsup":"^6.7.0","react":"^18.2.0","preact":"10.15.0","svelte":"3.59.1","vitest":"0.32.0","solid-js":"1.7.6","happy-dom":"9.20.3","react-dom":"^18.2.0","@types/react":"^18.2.12","@preact/signals":"1.1.3","@types/react-dom":"^18.2.5","@vitest/coverage-v8":"0.32.0","@testing-library/dom":"9.3.0","@testing-library/jest-dom":"5.16.5","@types/testing-library__jest-dom":"5.14.6"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.3.0_1693744946970_0.9107726151815434","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"timescape","version":"0.4.0","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.4.0","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"6e6c11b47cec107183383a5908ea8dfa1faab860","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.4.0.tgz","fileCount":16,"integrity":"sha512-3bKqKw+RmBkfiYFGm+3l0qSVEr6HENHqbqkwYVFn8Zs7EjX0k8YX49ydN2PlLn2gWrxyR330xeiNoY3BmzepfA==","signatures":[{"sig":"MEUCIQCDRtAA/NlPreHFAR0PBjJu0MJ2yqYoG0A6Fuj00rGgMQIgWxD8P4KkD9aWJfwOyXbCEodj/elWAKXqNSXEYDLc/bA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100180},"type":"module","_from":"file:timescape-0.4.0.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/7df4da2649634a4800fc1f1a8441b9fb/timescape-0.4.0.tgz","_integrity":"sha512-3bKqKw+RmBkfiYFGm+3l0qSVEr6HENHqbqkwYVFn8Zs7EjX0k8YX49ydN2PlLn2gWrxyR330xeiNoY3BmzepfA==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.2.3","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.19.0","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.12","tsup":"^8.0.1","react":"^18.2.0","preact":"10.19.3","svelte":"4.2.8","vitest":"1.0.4","solid-js":"1.8.7","happy-dom":"12.10.3","react-dom":"^18.2.0","@types/react":"^18.2.45","@preact/signals":"1.2.2","@types/react-dom":"^18.2.18","@vitest/coverage-v8":"1.0.4","@testing-library/dom":"9.3.3","@microsoft/api-extractor":"7.38.5","@testing-library/jest-dom":"6.1.5","@types/testing-library__jest-dom":"5.14.9"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.4.0_1702990030162_0.282484219601868","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"timescape","version":"0.4.1","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.4.1","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"a0cd643b41cb11438c96b619042f4c0f11339b65","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.4.1.tgz","fileCount":16,"integrity":"sha512-jT+N4vpf+OFXk3o8kxTGw+LERgtxqKnSm5LDtqmgVAG98gZUUk7CU+1t8+kJSpwfA35yYWkpaFSgU+mXFJIWtw==","signatures":[{"sig":"MEUCIANbQ2zrW8J8MVC6xfci8wkq0ztdZp4aKRKksFDYNsL4AiEAvcUZYFh77nHeI1ULzeunhbxLBCzIGjJKCZZBRbXYmKI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100217},"type":"module","_from":"file:timescape-0.4.1.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/007c62584dc3ed361e484dd04b7cb6ef/timescape-0.4.1.tgz","_integrity":"sha512-jT+N4vpf+OFXk3o8kxTGw+LERgtxqKnSm5LDtqmgVAG98gZUUk7CU+1t8+kJSpwfA35yYWkpaFSgU+mXFJIWtw==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.2.4","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"18.19.1","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.3.12","tsup":"^8.0.1","react":"^18.2.0","preact":"10.19.3","svelte":"4.2.8","vitest":"1.0.4","solid-js":"1.8.7","happy-dom":"12.10.3","react-dom":"^18.2.0","@types/react":"^18.2.45","@preact/signals":"1.2.2","@types/react-dom":"^18.2.18","@vitest/coverage-v8":"1.0.4","@testing-library/dom":"9.3.3","@microsoft/api-extractor":"7.38.5","@testing-library/jest-dom":"6.1.5","@types/testing-library__jest-dom":"5.14.9"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.4.1_1709669098466_0.9244055414242263","host":"s3://npm-registry-packages"}},"0.4.3":{"name":"timescape","version":"0.4.3","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.4.3","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"0ff06a0215260730047ada954f5ed4d21c52aea0","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.4.3.tgz","fileCount":16,"integrity":"sha512-1Kh0HkxNWE4yJDJRmeiWgHdtWR3HFGEuU3SKXDmZu2TFqor2BMOhjsijXdK2/rhtgRrKDz/+QP07+8Z5HL64yA==","signatures":[{"sig":"MEUCIB/XvI2anGPYcSydR/dgzKt3+HQQADffMJUXYXWyMwxXAiEA7aT5mCQAIkTvMDkEEqcVnhmGN7ifLkVQH7LnmZK0u80=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":100403},"type":"module","_from":"file:timescape-0.4.3.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/95b96c5f48d09ed5eb29a1c03f17a962/timescape-0.4.3.tgz","_integrity":"sha512-1Kh0HkxNWE4yJDJRmeiWgHdtWR3HFGEuU3SKXDmZu2TFqor2BMOhjsijXdK2/rhtgRrKDz/+QP07+8Z5HL64yA==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.5.2","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"20.13.1","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.4.27","tsup":"^8.0.2","react":"^18.3.1","preact":"10.22.0","svelte":"4.2.17","vitest":"1.6.0","solid-js":"1.8.17","happy-dom":"^14.11.0","react-dom":"^18.3.1","@types/react":"^18.3.2","@preact/signals":"1.2.3","@types/react-dom":"^18.3.0","@vitest/coverage-v8":"1.6.0","@testing-library/dom":"10.1.0","@microsoft/api-extractor":"7.43.7","@testing-library/jest-dom":"6.4.5"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.4.3_1716119105790_0.220803956621755","host":"s3://npm-registry-packages"}},"0.4.4":{"name":"timescape","version":"0.4.4","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.4.4","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"874619586aafce11381cb64ed0ed21c1869bb6ac","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.4.4.tgz","fileCount":16,"integrity":"sha512-l5VZV/01FQXaAFhAQiQm3LaQt/0OMTTKYe05zupTSSBYt+O5CiBPon+Q9ceiM2LW/bYE2lAXHctQ1DRZN6PUtw==","signatures":[{"sig":"MEQCIAnny+cgHNbP+jzmQqdfa/YLT55iKupUpCdYUP0VzmmHAiBmxcmtw8gTlBzz8OXw3mpwCcmwOg+/slmsRtcRivtKhg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101018},"type":"module","_from":"file:timescape-0.4.4.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/a7e71faacb89382e86d085f858b96d7a/timescape-0.4.4.tgz","_integrity":"sha512-l5VZV/01FQXaAFhAQiQm3LaQt/0OMTTKYe05zupTSSBYt+O5CiBPon+Q9ceiM2LW/bYE2lAXHctQ1DRZN6PUtw==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.7.0","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"20.15.1","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.4.27","tsup":"^8.0.2","react":"^18.3.1","preact":"10.22.0","svelte":"4.2.17","vitest":"1.6.0","solid-js":"1.8.17","happy-dom":"^14.11.0","react-dom":"^18.3.1","@types/react":"^18.3.2","@preact/signals":"1.2.3","@types/react-dom":"^18.3.0","@vitest/coverage-v8":"1.6.0","@testing-library/dom":"10.1.0","@microsoft/api-extractor":"7.43.7","@testing-library/jest-dom":"6.4.5"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.4.4_1721403336314_0.876361772737638","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"timescape","version":"0.5.0","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.5.0","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"c283dcdf7bce8b919213d98aeb2bfe058eb1c149","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.5.0.tgz","fileCount":16,"integrity":"sha512-RyA/NYSLPZrHEo4xqXZituUVVWBFegogC3fup/pazisLSGagq00yP/Fds5M/qJWsvjBKuvyCyZKIzTqHoc5Inw==","signatures":[{"sig":"MEYCIQDb+wcWdeE6Kzve61RfVpMpOwxmRwm25WG8nn6ppo/81gIhAPw1K26RuMN9Xn2i4gX+0nvpD55p+9IfMK2D3S7O+pD0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":101412},"type":"module","_from":"file:timescape-0.5.0.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/947f1df5ac0aabe994a6c32b41b9bc3d/timescape-0.5.0.tgz","_integrity":"sha512-RyA/NYSLPZrHEo4xqXZituUVVWBFegogC3fup/pazisLSGagq00yP/Fds5M/qJWsvjBKuvyCyZKIzTqHoc5Inw==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.7.0","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"20.15.1","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.4.27","tsup":"^8.0.2","react":"^18.3.1","preact":"10.22.0","svelte":"4.2.17","vitest":"1.6.0","solid-js":"1.8.17","happy-dom":"^14.11.0","react-dom":"^18.3.1","@types/react":"^18.3.2","@preact/signals":"1.2.3","@types/react-dom":"^18.3.0","@vitest/coverage-v8":"1.6.0","@testing-library/dom":"10.1.0","@microsoft/api-extractor":"7.43.7","@testing-library/jest-dom":"6.4.5"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.5.0_1722326894209_0.028063763601873903","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"timescape","version":"0.5.1","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.5.1","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"99c8379e8865f526fbd00253f56c7a1f9069c542","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.5.1.tgz","fileCount":16,"integrity":"sha512-6li6gS8jzEnFKT55BF3XeC+LKmIfLlDtyN3QTCDq7VEnEQKhejRjaqKwTVWBxmDPOJMCmdnvc/Wfx7Qb14v23g==","signatures":[{"sig":"MEUCIQD1PYzX/b8G+lfslqGliuX4ufIRy46x2e345ZKQRJlkTgIgPLpQfL598rXmcVQEUgPOCS6ge2sLWHWmw4qZev6lC6s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":97970},"type":"module","_from":"file:timescape-0.5.1.tgz","exports":{".":{"import":"./dist/index.js"},"./*":{"import":"./dist/*.js"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/01b59b9947bd9d18a2597548dba49580/timescape-0.5.1.tgz","_integrity":"sha512-6li6gS8jzEnFKT55BF3XeC+LKmIfLlDtyN3QTCDq7VEnEQKhejRjaqKwTVWBxmDPOJMCmdnvc/Wfx7Qb14v23g==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.8.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"20.16.0","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.4.27","tsup":"^8.2.4","react":"^18.3.1","preact":"10.22.0","svelte":"4.2.17","vitest":"2.0.5","solid-js":"1.8.17","happy-dom":"^14.12.3","react-dom":"^18.3.1","@types/react":"^18.3.3","@preact/signals":"1.2.3","@types/react-dom":"^18.3.0","@vitest/coverage-v8":"2.0.5","@testing-library/dom":"10.4.0","@microsoft/api-extractor":"7.47.6","@testing-library/jest-dom":"6.4.8"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.5.1_1724060168551_0.6336522557915933","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"timescape","version":"0.5.2","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.5.2","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"1a77aa87e56830b958f77ee817d1f659281dbfe6","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.5.2.tgz","fileCount":28,"integrity":"sha512-dxyV4U6OHbHNGmMkjtZNLTZmrT1NE/GhD3JUdCRhvO0vtzGQGEQSwP+U1TBcAJfNxK0CRMVhCZ7WmI0SAqvCfA==","signatures":[{"sig":"MEUCIQCYBUqDjn2uC0zzpt5sJUg8R0cCGitunvCxQ2t5LWAhEQIgQPH4CdU+wxBalrZroUiarJie/kN5ImF63HEPkJCNLts=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327502},"type":"module","_from":"file:timescape-0.5.2.tgz","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./*":{"import":"./dist/*.js","require":"./dist/*.cjs"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/3587eb81c612561a333c82ef004e46c4/timescape-0.5.2.tgz","_integrity":"sha512-dxyV4U6OHbHNGmMkjtZNLTZmrT1NE/GhD3JUdCRhvO0vtzGQGEQSwP+U1TBcAJfNxK0CRMVhCZ7WmI0SAqvCfA==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"20.17.0","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.4.27","tsup":"^8.2.4","react":"^18.3.1","preact":"10.22.0","svelte":"4.2.17","vitest":"2.0.5","solid-js":"1.8.17","happy-dom":"^14.12.3","react-dom":"^18.3.1","@types/react":"^18.3.3","@preact/signals":"1.2.3","@types/react-dom":"^18.3.0","@vitest/coverage-v8":"2.0.5","@testing-library/dom":"10.4.0","@microsoft/api-extractor":"7.47.6","@testing-library/jest-dom":"6.4.8","@testing-library/user-event":"14.5.2"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.5.2_1727680732218_0.042567531180088825","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"timescape","version":"0.6.0","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.6.0","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"d3c877a1d65171b2e096e0db02c396bdd753061c","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.6.0.tgz","fileCount":28,"integrity":"sha512-9tZRc9UNTqBnv3OPlM+BQx4166S4PChbFZGW0A6++TIZI2mEVzEwnW3vQ5ZQO4iRRiPcA3ppaDnGmMyRGul3Iw==","signatures":[{"sig":"MEUCIQDlqGGYCRo0ZRC4jUAEVgU+w6ZrkcyQvarU+tk/syoWVAIgOyJuyxvL0Uni9+tC1NLSkLtfz75GvwFNAbPNdgraVfo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":281224},"type":"module","_from":"file:timescape-0.6.0.tgz","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./*":{"import":"./dist/*.js","require":"./dist/*.cjs"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/cc828de9b75006afaeb243ade8ba5238/timescape-0.6.0.tgz","_integrity":"sha512-9tZRc9UNTqBnv3OPlM+BQx4166S4PChbFZGW0A6++TIZI2mEVzEwnW3vQ5ZQO4iRRiPcA3ppaDnGmMyRGul3Iw==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"20.17.0","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.5.11","tsup":"8.3.0","react":"18.3.1","preact":"10.24.2","svelte":"4.2.19","vitest":"2.1.2","solid-js":"1.9.1","happy-dom":"14.12.3","react-dom":"18.3.1","@types/react":"18.3.11","@preact/signals":"1.3.0","@types/react-dom":"18.3.0","@vitest/coverage-v8":"2.1.2","@testing-library/dom":"10.4.0","@microsoft/api-extractor":"7.47.9","@testing-library/jest-dom":"6.5.0","@testing-library/user-event":"14.5.2"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.6.0_1728422097996_0.771195839889212","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"timescape","version":"0.6.1","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.6.1","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"d3bfe9e8423d4c1fc8cc364373a14818638a9464","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.6.1.tgz","fileCount":28,"integrity":"sha512-rfbIXCc3eEiVK87KK0hFihUS65JTYPcpxNoy7zwhtctdxPUXThW3Cxe1RItOYyc/MSUlDBad0nRewlyn+BKTlw==","signatures":[{"sig":"MEUCIC2hjm66JfIwFdFpmOwxrQx2Ey8nR4P7s2s5UxHbUs4PAiEA7tolcYKOKrzIdOS8lVePRfCeYdZuT6kfI0pG97pEWuA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":281868},"type":"module","_from":"file:timescape-0.6.1.tgz","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./*":{"import":"./dist/*.js","require":"./dist/*.cjs"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/29c64e4967c59e0eafa6f7dd41408216/timescape-0.6.1.tgz","_integrity":"sha512-rfbIXCc3eEiVK87KK0hFihUS65JTYPcpxNoy7zwhtctdxPUXThW3Cxe1RItOYyc/MSUlDBad0nRewlyn+BKTlw==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"20.17.0","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.5.11","tsup":"8.3.0","react":"18.3.1","preact":"10.24.2","svelte":"4.2.19","vitest":"2.1.2","solid-js":"1.9.1","happy-dom":"14.12.3","react-dom":"18.3.1","@types/react":"18.3.11","@preact/signals":"1.3.0","@types/react-dom":"18.3.0","@vitest/coverage-v8":"2.1.2","@testing-library/dom":"10.4.0","@microsoft/api-extractor":"7.47.9","@testing-library/jest-dom":"6.5.0","@testing-library/user-event":"14.5.2"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.6.1_1728456405290_0.3488117542047542","host":"s3://npm-registry-packages"}},"0.6.2":{"name":"timescape","version":"0.6.2","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.6.2","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"5ea6ca310d24cfadeb61d6d112fe83e8cf33a7c8","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.6.2.tgz","fileCount":28,"integrity":"sha512-5vTI11+TM7DI04sq4AoRjKs9eWsAL/eA+9iHwFMthYFDqLjrZHxX/q6KHcKf/J64o3qQf1H+t/YndlA6qRZe9w==","signatures":[{"sig":"MEUCIAtYSpVneNBNQQsGEbA12OnQpnkgcl68/h0nX52DfupvAiEAk+Mq9BlitoNsAC7hYpBjCNg6Dic7NKSyD2wSRhHBnEg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":282526},"type":"module","_from":"file:timescape-0.6.2.tgz","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./*":{"import":"./dist/*.js","require":"./dist/*.cjs"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/e47787270de2ca669b7603afb11e56b2/timescape-0.6.2.tgz","_integrity":"sha512-5vTI11+TM7DI04sq4AoRjKs9eWsAL/eA+9iHwFMthYFDqLjrZHxX/q6KHcKf/J64o3qQf1H+t/YndlA6qRZe9w==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"20.18.0","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.5.11","tsup":"8.3.0","react":"18.3.1","preact":"10.24.2","svelte":"4.2.19","vitest":"2.1.2","solid-js":"1.9.1","happy-dom":"14.12.3","react-dom":"18.3.1","@types/react":"18.3.11","@preact/signals":"1.3.0","@types/react-dom":"18.3.0","@vitest/coverage-v8":"2.1.2","@testing-library/dom":"10.4.0","@microsoft/api-extractor":"7.47.9","@testing-library/jest-dom":"6.5.0","@testing-library/user-event":"14.5.2"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.6.2_1731406101209_0.5127131032711705","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"timescape","version":"0.7.0","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.7.0","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"aea366d6b5e9e786534b53a98cbee73e1e2d47ea","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.7.0.tgz","fileCount":28,"integrity":"sha512-jAJeWSLVSXOy2y+qOt+btrpRxB/Y0srF5URP0IEYGV8Y7SENoVnWvG0D8ZCoveLLnQvdPIwyWT569ApzX9Wynw==","signatures":[{"sig":"MEUCIQCDEYZL7DWA3HPF0fNEpVseozNNBfO62D6Yd1KmlUoKQQIgbjNcqOVeJYISiDrjEWiZrgIvkE8hcEAxhnD1SGMzoqQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":307189},"type":"module","_from":"file:timescape-0.7.0.tgz","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./*":{"import":"./dist/*.js","require":"./dist/*.cjs"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/498d7cbc602f2fda6dc00683ccc1b9a3/timescape-0.7.0.tgz","_integrity":"sha512-jAJeWSLVSXOy2y+qOt+btrpRxB/Y0srF5URP0IEYGV8Y7SENoVnWvG0D8ZCoveLLnQvdPIwyWT569ApzX9Wynw==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"20.18.0","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.5.11","tsup":"8.3.0","react":"18.3.1","preact":"10.24.2","svelte":"4.2.19","vitest":"2.1.2","solid-js":"1.9.2","happy-dom":"14.12.3","react-dom":"18.3.1","@types/react":"18.3.11","@preact/signals":"1.3.0","@types/react-dom":"18.3.0","@vitest/coverage-v8":"2.1.2","@testing-library/dom":"10.4.0","@microsoft/api-extractor":"7.47.9","@testing-library/jest-dom":"6.5.0","@testing-library/user-event":"14.5.2"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.7.0_1732261186132_0.4252420135928263","host":"s3://npm-registry-packages"}},"0.7.1":{"name":"timescape","version":"0.7.1","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.7.1","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"66422be7113f5502079109d6583bd7d16efb2875","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.7.1.tgz","fileCount":28,"integrity":"sha512-v80kXaQ7a1QpgZoR1Sh81qmkGweR4gS80VZiOpRc0sYROOUbT2DDdd5PxynJs2v8NXtgyPCXQNjigf6je5hqgQ==","signatures":[{"sig":"MEYCIQDfe1fMNTHqwotzarFdRXclNYR6c+pOMsLH6U+0oH88rwIhAIUNoXQ//MFq9OhCC4db3OVN9GE6tlrj4rtyBgrvODcO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":307399},"type":"module","_from":"file:timescape-0.7.1.tgz","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./*":{"import":"./dist/*.js","require":"./dist/*.cjs"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/75747ed63543a7a0b0b0846925935a90/timescape-0.7.1.tgz","_integrity":"sha512-v80kXaQ7a1QpgZoR1Sh81qmkGweR4gS80VZiOpRc0sYROOUbT2DDdd5PxynJs2v8NXtgyPCXQNjigf6je5hqgQ==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.8.2","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"20.18.1","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.5.11","tsup":"8.3.0","react":"18.3.1","preact":"10.24.2","svelte":"4.2.19","vitest":"2.1.2","solid-js":"1.9.2","happy-dom":"14.12.3","react-dom":"18.3.1","@types/react":"18.3.11","@preact/signals":"1.3.0","@types/react-dom":"18.3.0","@vitest/coverage-v8":"2.1.2","@testing-library/dom":"10.4.0","@microsoft/api-extractor":"7.47.9","@testing-library/jest-dom":"6.5.0","@testing-library/user-event":"14.5.2"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.7.1_1735124758536_0.7569954171310069","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"timescape","version":"0.8.0","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.8.0","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"homepage":"https://github.com/dan-lee/timescape#readme","bugs":{"url":"https://github.com/dan-lee/timescape/issues"},"dist":{"shasum":"0bd7e0eca04cb7708aa7388333a4c01b270905b8","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.8.0.tgz","fileCount":28,"integrity":"sha512-nNYAnZY1BPHSfnnpx3V9wWdxb9z4tB7zksRx0/mRFpZ8gK3fqEMZQ43hHqUDgJICVTb33hmfkeAYaKGkN7Q3Nw==","signatures":[{"sig":"MEYCIQC2sCURhSLyyCCODQoy7BE8S1+ZICGiDRA/GKXavuR9jQIhANLzxmXztastz54Xf7dUJSQ7Gi+VkyfbJ+hDESQ+wY2t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328050},"type":"module","_from":"file:timescape-0.8.0.tgz","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./*":{"import":"./dist/*.js","require":"./dist/*.cjs"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"dan-lee","email":"daniellehr@gmx.de"},"_resolved":"/tmp/c1d9304fa04c12a3866d8aab2ede8487/timescape-0.8.0.tgz","_integrity":"sha512-nNYAnZY1BPHSfnnpx3V9wWdxb9z4tB7zksRx0/mRFpZ8gK3fqEMZQ43hHqUDgJICVTb33hmfkeAYaKGkN7Q3Nw==","repository":{"url":"git+https://github.com/dan-lee/timescape.git","type":"git"},"_npmVersion":"10.9.3","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"_nodeVersion":"22.18.0","publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.5.11","tsup":"8.5.0","react":"18.3.1","preact":"10.24.2","svelte":"4.2.19","vitest":"3.2.4","solid-js":"1.9.2","happy-dom":"14.12.3","react-dom":"18.3.1","@types/react":"18.3.11","@preact/signals":"1.3.0","@types/react-dom":"18.3.0","@vitest/coverage-v8":"3.2.4","@testing-library/dom":"10.4.1","@microsoft/api-extractor":"7.47.9","@testing-library/jest-dom":"6.7.0","@testing-library/user-event":"14.6.1"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x","solid-js":">=1","react-dom":">=17","@preact/signals":"1.x"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true},"@preact/signals":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.8.0_1755347181981_0.10759748577674078","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"timescape","version":"0.9.0","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"license":"MIT","_id":"timescape@0.9.0","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"bugs":"https://github.com/dan-lee/timescape/issues","dist":{"shasum":"405982ad933c288f4aefa771e9ca2ba121f324ac","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.9.0.tgz","fileCount":34,"integrity":"sha512-MGEqqGSNJWqFA6yG+M3RYZjklk4o7mizLe2IqiTIj0yCg4F7LX9J9rf7sSM+Hauuh1dGKryZqQT7+9cp5elovQ==","signatures":[{"sig":"MEUCIFHOn466x4aDyh7IaOUNF204na7wX1OBswSdtv+I/LwlAiEA4wMsaxECGgkAy2mcz0qV62O1ZdE+YWNTahpTJ+ZCOVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/timescape@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":366037},"type":"module","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./*":{"import":"./dist/*.js","require":"./dist/*.cjs"},"./chunk-*":null},"scripts":{"test":"vitest","build":"tsup","typecheck":"tsc --noEmit","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:019b268d-3c1f-4f45-bd18-1d048ff84588"}},"repository":{"url":"https://github.com/dan-lee/timescape","type":"git"},"description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","directories":{},"publishConfig":{"access":"public"},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"_hasShrinkwrap":false,"devDependencies":{"vue":"3.5.42","tsup":"8.5.1","react":"19.3.0","preact":"10.29.8","svelte":"5.57.0","vitest":"5.0.1","solid-js":"1.9.15","happy-dom":"20.14.5","react-dom":"19.3.0","@types/node":"22.20.3","@types/react":"19.3.0","@types/react-dom":"19.3.0","@vitest/coverage-v8":"5.0.1","@testing-library/dom":"10.4.2","@microsoft/api-extractor":"7.59.1","@testing-library/jest-dom":"7.0.1","@testing-library/user-event":"14.6.7"},"peerDependencies":{"vue":"3.x","react":">=17","preact":"10.x","svelte":"3.x || 4.x || 5.x","solid-js":">=1","react-dom":">=17"},"peerDependenciesMeta":{"vue":{"optional":true},"react":{"optional":true},"preact":{"optional":true},"svelte":{"optional":true},"solid-js":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/timescape_0.9.0_1789658893517_0.9216808048037384","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"timescape","license":"MIT","version":"0.9.1","description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","repository":{"type":"git","url":"https://github.com/dan-lee/timescape"},"bugs":"https://github.com/dan-lee/timescape/issues","type":"module","publishConfig":{"access":"public"},"exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs"},"./*":{"import":"./dist/*.js","require":"./dist/*.cjs"},"./chunk-*":null},"typesVersions":{"*":{"*":["./dist/*.d.ts"]}},"devDependencies":{"@microsoft/api-extractor":"7.59.1","@testing-library/dom":"10.4.2","@testing-library/jest-dom":"7.0.1","@testing-library/user-event":"14.6.7","@types/node":"22.20.3","@types/react":"19.3.0","@types/react-dom":"19.3.0","@vitest/coverage-v8":"5.0.1","happy-dom":"20.14.5","preact":"10.29.8","react":"19.3.0","react-dom":"19.3.0","solid-js":"1.9.15","svelte":"5.57.0","tsup":"8.5.1","vitest":"5.0.1","vue":"3.5.42"},"peerDependencies":{"preact":"10.x","react":">=17","react-dom":">=17","solid-js":">=1","svelte":"3.x || 4.x || 5.x","vue":"3.x"},"peerDependenciesMeta":{"preact":{"optional":true},"react":{"optional":true},"react-dom":{"optional":true},"solid-js":{"optional":true},"svelte":{"optional":true},"vue":{"optional":true}},"keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"scripts":{"test":"vitest","typecheck":"tsc --noEmit","build":"tsup","generate:demo-types":"tsc --declaration --emitDeclarationOnly --skipLibCheck --noEmit false && api-extractor run ; rm -rf dist"},"_id":"timescape@0.9.1","dist":{"integrity":"sha512-pQ7Fy5C42IMsNLDd3GexVy93RmYZ69TVbcnZ015CZzuVfzSCtD3Ca/02E9iTnxrbuibnlndI2JCYFJ+/afEzmg==","shasum":"a5812d31904073fd6c56d811f2d62f3e7fa51a84","tarball":"https://registry.npmjs.org/timescape/-/timescape-0.9.1.tgz","fileCount":34,"unpackedSize":370540,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/timescape@0.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHyFPDZepIA6ENgvB3Hajk9Tun1ahY4obvkOSsALaluZAiEA+kx9pumNY8y+Hl7Rb8v8lhBZdMKmtstdbJOw1BWtr/Q="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:019b268d-3c1f-4f45-bd18-1d048ff84588"}},"directories":{},"maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/timescape_0.9.1_1789660712410_0.0745379597146707"},"_hasShrinkwrap":false}},"time":{"created":"2023-06-14T12:48:00.474Z","modified":"2026-09-17T15:58:32.850Z","0.1.0":"2023-06-14T12:48:00.652Z","0.1.1":"2023-06-14T12:49:17.770Z","0.1.2":"2023-06-14T12:55:24.125Z","0.1.3":"2023-06-14T12:58:38.595Z","0.1.4":"2023-06-14T13:40:44.176Z","0.1.5":"2023-06-14T14:09:07.983Z","0.1.6":"2023-06-14T15:18:06.387Z","0.1.7":"2023-06-14T15:23:50.308Z","0.1.8":"2023-06-14T16:11:10.381Z","0.1.9":"2023-06-14T19:37:18.801Z","0.2.0":"2023-06-16T06:03:20.946Z","0.2.1":"2023-09-03T10:37:14.596Z","0.3.0":"2023-09-03T12:42:27.187Z","0.4.0":"2023-12-19T12:47:10.486Z","0.4.1":"2024-03-05T20:04:58.612Z","0.4.3":"2024-05-19T11:45:06.001Z","0.4.4":"2024-07-19T15:35:36.529Z","0.5.0":"2024-07-30T08:08:14.393Z","0.5.1":"2024-08-19T09:36:08.730Z","0.5.2":"2024-09-30T07:18:52.455Z","0.6.0":"2024-10-08T21:14:58.166Z","0.6.1":"2024-10-09T06:46:45.469Z","0.6.2":"2024-11-12T10:08:21.430Z","0.7.0":"2024-11-22T07:39:46.334Z","0.7.1":"2024-12-25T11:05:58.735Z","0.8.0":"2025-08-16T12:26:22.164Z","0.9.0":"2026-09-17T15:28:13.662Z","0.9.1":"2026-09-17T15:58:32.540Z"},"bugs":"https://github.com/dan-lee/timescape/issues","license":"MIT","keywords":["date","time","datetime","input","headless","a11y","customizable","flexible","date-time-management","typescript","vanilla-js","react","preact","vue","svelte","solid"],"repository":{"type":"git","url":"https://github.com/dan-lee/timescape"},"description":"A flexible, headless date and time input library for JavaScript. Provides tools for building fully customizable date and time input fields, with support for libraries like React, Preact, Vue, Svelte and Solid.","maintainers":[{"name":"dan-lee","email":"daniellehr@gmx.de"}],"readme":"# timescape\n\n[![npm version](https://img.shields.io/npm/v/timescape?color=8f47d4)](https://www.npmjs.com/package/timescape)\n[![bundle size](https://img.shields.io/bundlejs/size/timescape?color=8f47d4&label=min%2Bgzip)](https://bundlejs.com/?q=timescape)\n[![test status](https://github.com/dan-lee/timescape/actions/workflows/test.yml/badge.svg)](https://github.com/dan-lee/timescape/actions/workflows/test.yml)\n[![license](https://img.shields.io/npm/l/timescape?color=8f47d4)](./LICENSE)\n\nA powerful, headless library that elegantly fills the void left by HTML's native\n[`<input type=\"time\">`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/time) and\n[`<input type=\"date\">`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date).\n\n`timescape` is a toolkit for creating custom date and time input components. It helps you handle date and time\ndata easily while giving you full control over the design and presentation. `timescape` supports multiple\nlibraries, including React, Vue, Preact, Svelte, Solid, and native JavaScript.\n\nKey features such as accessibility and keyboard navigation are at the core of `timescape`, allowing you to\nfocus on creating user-centric date and time inputs that integrate seamlessly into your projects.\n\n<img src=\"./assets/timescape.apng\" style=\"max-height:120px\" />\n\nSee [Storybook](https://timescape.daniellehr.de) or [check out the examples](#examples) of how to use it +\n[StackBlitz ⚡](https://stackblitz.com/@dan-lee/collections/timescape) for more demonstrations.\n\n## Features\n\n- **🧢 Headless Architecture**: You control the UI – `timescape` handles the logic.\n- **🧩 Framework Compatibility**: Adapters for [React](https://react.dev/) (17+),\n  [Preact](https://preactjs.com/) (10), [Vue](https://vuejs.org/) (3), [Svelte](https://svelte.dev/) (3, 4\n  and 5), and [Solid](https://www.solidjs.com/) (1+).\n- **⚙ Flexible API**: Hooks (or equivalents) return getters for seamless component integration. Order of\n  inputs (i.e. format) is completely up to you by just rendering in the order you prefer.\n- **👥 Accessibility**: Every field is an ARIA `spinbutton` with live `aria-valuenow`, `aria-valuemin` and\n  `aria-valuemax` inside a `role=\"group\"` root, plus keyboard navigation and manual typing.\n- **⏰ Date and time flexibility**: Fields from years down to milliseconds, min/max dates and 24/12 hour clock\n  formats.\n- **🪶 Lightweight**: ~5.3 kB min+gzip for the core, ~6 kB including a framework adapter. No runtime\n  dependencies.\n- **🔀 Enhanced input fields**: A supercharged `<input type=\"date/time\">`, offering additional flexibility.\n- **🤳 Touch device support**: Use it on any device, including touch devices.\n\n> [!IMPORTANT]\n> Upgrading from 0.8? The integrations moved to controlled/uncontrolled props in\n> 0.9, which is a breaking change. See\n> [MIGRATION-v0.9.md](https://github.com/dan-lee/timescape/blob/main/MIGRATION-v0.9.md)\n> for per-framework examples.\n\n## Installation\n\n```shell\n# pnpm\npnpm add timescape\n\n# yarn\nyarn add timescape\n\n# npm\nnpm install --save timescape\n```\n\n## Examples\n\n<details open>\n  <summary><strong>React</strong></summary>\n\n[Edit on StackBlitz ⚡](https://stackblitz.com/edit/timescape-react?file=src%2FApp.tsx)\n\n```tsx\nimport { useTimescape } from \"timescape/react\";\nimport { useState } from \"react\";\n\nfunction App() {\n  // Controlled example (`null` is the empty date)\n  const [date, setDate] = useState<Date | null>(new Date());\n  const { getRootProps, getInputProps } = useTimescape({\n    date,\n    onDateChange: (nextDate) => {\n      console.log(\"Date changed to\", nextDate);\n      setDate(nextDate);\n    },\n  });\n\n  // Or uncontrolled with defaultDate\n  // const { getRootProps, getInputProps } = useTimescape({\n  //   defaultDate: new Date(),\n  //   onDateChange: (nextDate) => console.log(\"Date changed to\", nextDate),\n  // });\n\n  return (\n    <div className=\"timescape\" {...getRootProps()}>\n      <input {...getInputProps(\"days\")} />\n      <span>/</span>\n      <input {...getInputProps(\"months\")} />\n      <span>/</span>\n      <input {...getInputProps(\"years\")} />\n      <span> </span>\n      <input {...getInputProps(\"hours\")} />\n      <span>:</span>\n      <input {...getInputProps(\"minutes\")} />\n      <span>:</span>\n      <input {...getInputProps(\"seconds\")} />\n    </div>\n  );\n}\n```\n\n</details>\n\n<details>\n<summary><strong>Preact</strong></summary>\n\n[Edit on StackBlitz ⚡](https://stackblitz.com/edit/timescape-preact?file=src%2Fapp.tsx)\n\n```tsx\nimport { useTimescape } from \"timescape/preact\";\nimport { useState } from \"preact/hooks\";\n\nfunction App() {\n  // Controlled example (`null` is the empty date)\n  const [date, setDate] = useState<Date | null>(new Date());\n  const { getRootProps, getInputProps } = useTimescape({\n    date,\n    onDateChange: (nextDate) => {\n      console.log(\"Date changed to\", nextDate);\n      setDate(nextDate);\n    },\n  });\n\n  // Or uncontrolled with defaultDate\n  // const { getRootProps, getInputProps } = useTimescape({\n  //   defaultDate: new Date(),\n  //   onDateChange: (nextDate) => console.log(\"Date changed to\", nextDate),\n  // });\n\n  return (\n    <div className=\"timescape\" {...getRootProps()}>\n      <input {...getInputProps(\"years\")} />\n      <span>/</span>\n      <input {...getInputProps(\"months\")} />\n      <span>/</span>\n      <input {...getInputProps(\"days\")} />\n    </div>\n  );\n}\n```\n\n</details>\n\n<details>\n<summary><strong>Vue</strong></summary>\n\n[Edit on StackBlitz ⚡](https://stackblitz.com/edit/timescape-vue?file=src%2FApp.vue)\n\n```vue\n<template>\n  <div class=\"timescape\" :ref=\"registerRoot()\">\n    <input :ref=\"registerElement('years')\" />\n    <span>/</span>\n    <input :ref=\"registerElement('months')\" />\n    <span>/</span>\n    <input :ref=\"registerElement('days')\" />\n  </div>\n\n  <!-- Controlled: update the date through v-model or state -->\n  <button @click=\"date = new Date()\">Change date</button>\n</template>\n\n<script lang=\"ts\" setup>\nimport { useTimescape } from \"timescape/vue\";\nimport { ref, watch } from \"vue\";\n\n// Controlled example\nconst date = ref(new Date());\nconst { registerElement, registerRoot } = useTimescape({\n  date,\n  onDateChange: (nextDate) => {\n    console.log(\"Date changed to\", nextDate);\n    date.value = nextDate;\n  },\n});\n\n// Or uncontrolled with defaultDate\n// const { registerElement, registerRoot } = useTimescape({\n//   defaultDate: new Date(),\n//   onDateChange: (nextDate) => console.log(\"Date changed to\", nextDate),\n// });\n</script>\n```\n\n</details>\n\n<details>\n<summary><strong>Svelte</strong></summary>\n\n[Edit on StackBlitz ⚡](https://stackblitz.com/edit/timescape-svelte?file=src%2FApp.svelte)\n\n```svelte\n<script lang=\"ts\">\nimport { createTimescape } from \"timescape/svelte\";\nimport { writable } from \"svelte/store\";\n\n// Controlled example with Svelte store (pass the store itself, not its value)\nconst date = writable<Date | null>(new Date());\nconst { inputProps, rootProps } = createTimescape({\n  date,\n  onDateChange: (nextDate) => {\n    console.log(\"Date changed to\", nextDate);\n    date.set(nextDate);\n  },\n});\n\n// Or uncontrolled with defaultDate\n// const { inputProps, rootProps } = createTimescape({\n//   defaultDate: new Date(),\n//   onDateChange: (nextDate) => console.log(\"Date changed to\", nextDate),\n// });\n</script>\n\n<div class=\"timescape\" use:rootProps>\n  <input use:inputProps={'days'} />\n  <span>/</span>\n  <input use:inputProps={'months'} />\n  <span>/</span>\n  <input use:inputProps={'years'} />\n</div>\n\n<!-- Update controlled date -->\n<button on:click={() => date.set(new Date())}>Change date</button>\n```\n\n</details>\n\n<details>\n<summary><strong>Solid</strong></summary>\n\n[Edit on StackBlitz ⚡](https://stackblitz.com/edit/timescape-solid?file=src%2FApp.tsx)\n\n```tsx\nimport { createSignal } from \"solid-js\";\nimport { useTimescape } from \"timescape/solid\";\n\nfunction App() {\n  // Controlled example\n  const [date, setDate] = createSignal(new Date());\n  const { getInputProps, getRootProps } = useTimescape({\n    date: date(),\n    onDateChange: (nextDate) => {\n      console.log(\"Date changed to\", nextDate);\n      setDate(nextDate);\n    },\n  });\n\n  // Or uncontrolled with defaultDate\n  // const { getInputProps, getRootProps } = useTimescape({\n  //   defaultDate: new Date(),\n  //   onDateChange: (nextDate) => console.log(\"Date changed to\", nextDate),\n  // });\n\n  return (\n    <div class=\"timescape\" {...getRootProps()}>\n      <input {...getInputProps(\"years\")} />\n      <span>/</span>\n      <input {...getInputProps(\"months\")} />\n      <span>/</span>\n      <input {...getInputProps(\"days\")} />\n    </div>\n  );\n}\n```\n\n</details>\n\n<details>\n<summary><strong>Vanilla JS</strong></summary>\n\n```tsx\nimport { TimescapeManager } from \"timescape\";\n\nconst container = document.createElement(\"div\");\ndocument.body.appendChild(container);\n\ncontainer.innerHTML = ` \n  <div class=\"timescape\" id=\"timescape-root\">\n    <input data-type=\"days\" placeholder=\"dd\" />\n    <span>/</span>\n    <input data-type=\"months\" placeholder=\"mm\" />\n    <span>/</span>\n    <input data-type=\"years\" placeholder=\"yyyy\" />\n  </div>\n`;\n\nconst timeManager = new TimescapeManager();\n\ntimeManager.date = new Date();\n\ntimeManager.on(\"changeDate\", (nextDate) => {\n  console.log(\"Date changed to\", nextDate);\n});\n\ntimeManager.registerRoot(document.getElementById(\"timescape-root\")!);\n\ntimeManager.registerElement(container.querySelector('[data-type=\"days\"]')!, \"days\");\ntimeManager.registerElement(container.querySelector('[data-type=\"months\"]')!, \"months\");\ntimeManager.registerElement(container.querySelector('[data-type=\"years\"]')!, \"years\");\n```\n\n</details>\n\n## Options\n\n`timescape` supports both controlled and uncontrolled modes:\n\n- **Controlled**: Use `date` prop and `onDateChange` callback to manage state externally\n- **Uncontrolled**: Use `defaultDate` for initial value, component manages state internally\n\nPass `null` for an empty controlled date, and `undefined` only to opt out of\ncontrolled mode -- the same distinction React Aria and MUI draw. Which mode an\ninput is in is decided on its first render, so a controlled input that reports\nan empty date stays controlled.\n\nWhile the user is mid-edit -- a cleared segment, a partially typed value -- the\ninput keeps that editing state. The parent owns the date, the input owns the\nedit: writing the same date back (because you rejected the change, or have not\nanswered yet) leaves the edit alone, while writing a *different* date replaces\nwhat is on screen.\n\n```tsx\ntype Options = {\n  date?: Date | null; // For controlled mode, `null` is the empty date\n  defaultDate?: Date | null; // For uncontrolled mode\n  onDateChange?: (date: Date | null) => void; // Called on any date change\n  minDate?: Date | $NOW; // see more about $NOW below\n  maxDate?: Date | $NOW;\n  hour12?: boolean;\n  wrapAround?: boolean;\n  digits?: \"numeric\" | \"2-digit\";\n  snapToStep?: boolean;\n  wheelControl?: boolean;\n  disallowPartial?: boolean;\n};\n```\n\n| Option            | Default     | Description                                                                                                                                                                                                                                                                                                                                                      |\n| ----------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `date`            | `undefined` | The current date value for controlled mode. When provided, you must handle updates via `onDateChange`. Use `null` for an empty value; `undefined` means uncontrolled.                                                                                                                                                                                                                                                           |\n| `defaultDate`     | `undefined` | The initial date for uncontrolled mode. Component manages state internally.                                                                                                                                                                                                                                                                                      |\n| `onDateChange`    | `undefined` | Callback fired when the date changes, with `null` when the date is empty or incomplete. Required for controlled mode, optional for uncontrolled.                                                                                                                                                                                                                                                                   |\n| `minDate`         | `undefined` | The minimum date that the user can select. `$NOW` is a special value that represents the current date and time. [See more below](#now-vavue)                                                                                                                                                                                                                     |\n| `maxDate`         | `undefined` | The maximum date that the user can select. `$NOW` is a special value that represents the current date and time. [See more below](#now-value)                                                                                                                                                                                                                     |\n| `hour12`          | `false`     | If set to `true`, the time input will use a 12-hour format (with AM/PM). If set to `false`, it will use a 24-hour format.                                                                                                                                                                                                                                        |\n| `digits`          | `'2-digit'` | Controls the display of the day and month in the date input. `'numeric'` displays as 1-12 for month and 1-31 for day, while `'2-digit'` displays as 01-12 for month and 01-31 for day. This follows [`Intl.DateTimeFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat#day) convention. |\n| `wrapAround`      | `false`     | If set to `true`, the time input will wrap around from the end of one period (AM/PM or day) to the beginning of the next.                                                                                                                                                                                                                                        |\n| `snapToStep`      | `false`     | If set to `true`, the input value will snap to the nearest step when the user uses arrow keys to increment/decrement values. Can be further adjust by using the [`step` attribute](#step-on-input-elements)                                                                                                                                                      |\n| `wheelControl`    | `false`     | If set to `true`, the user can use the mouse wheel or touchpad to increment/decrement values.                                                                                                                                                                                                                                                                    |\n| `disallowPartial` | `false`     | If `true`, the input requires fully completed dates and times. By default partial dates are allowed, similar to native HTML input behavior.                                                                                                                                                                                                                      |\n\n### `$NOW` value\n\n`$NOW` is a convenience value you can use for `minDate` and `maxDate`. It represents the current date and time\nat the moment of the user's interaction, dynamically adjusting to always reflect the current datetime value.\nThis means you don't need to manually update it, as it always keeps itself current.\n\n`$NOW` is exported as a constant for better type safety. By doing so, it eliminates the need for casting it\n`as const`, which would be required if `$NOW` were simply a string.\"\n\nIt can be imported from the package like so:\n\n```ts\nimport { $NOW } from \"timescape\";\n\n// or from a specific module\nimport { $NOW } from \"timescape/react\";\n\n// Svelte import names prohibit a $ prefix, so it's renamed to NOW there\nimport { NOW } from \"timescape/svelte\";\n```\n\n### `placeholder` on input elements\n\nThe `placeholder` attribute on the input elements is supported and will be used to display the placeholder\ntext. Usually it's to indicate the expected format of the input, e.g. `yyyy/mm/dd`\n\n### `step` on input elements\n\nThe [`step` attribute for input elements](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/step)\nis supported and will be used to increment/decrement the values when the user uses the arrow keys. The default\nvalue is `1`, but you can set it to any value you want. Also see [`snapToStep`](#options) if you want to snap\nto the nearest step.\n\n### `ref` and `autofocus` on inputs\n\nIn React and Preact, `getInputProps` takes a second argument to keep your own ref and to focus a field on\nmount:\n\n```tsx\nconst inputRef = useRef<HTMLInputElement | null>(null);\n\n<input {...getInputProps(\"days\", { ref: inputRef, autofocus: true })} />;\n```\n\n`getInputProps` already returns a `ref` callback, so passing your own through this option is the way to get\nhold of the element. The other integrations don't take these options: in Vue, Solid and Svelte you attach your\nown ref or `bind:this` alongside `registerElement`/`inputProps`.\n\n### Preventing default `keydown` behavior\n\nBy default, timescape intercepts keydown events to enhance input behavior. If you want to handle keydown\nevents yourself and prevent the default processing, you can do so by attaching your event handler during the\ncapturing phase and calling `preventDefault`:\n\n```tsx\n<input\n  onKeyDownCapture={(e) => {\n    if (e.key === \"Enter\") {\n      e.preventDefault();\n    }\n  }}\n/>\n```\n\n## Custom AM/PM Controls\n\nWhile `timescape` provides `getInputProps(\"am/pm\")` for a standard input field, you may want to use custom\ncontrols like select dropdowns, buttons, or checkboxes for AM/PM selection. All hooks/functions return an\n`ampm` object with the following methods:\n\n```tsx\nampm.value; // Current value: \"am\" | \"pm\" | undefined\nampm.set(value); // Set to \"am\" or \"pm\"\nampm.toggle(); // Toggle between AM and PM\nampm.getSelectProps(); // Returns props for binding to a `<select>` element\n```\n\n### Example with React\n\n```tsx\nimport { useTimescape } from \"timescape/react\";\nimport { useState } from \"react\";\n\nfunction CustomAmPmExample() {\n  const [date, setDate] = useState(new Date());\n  const { getInputProps, getRootProps, ampm } = useTimescape({\n    date,\n    hour12: true,\n    onDateChange: setDate,\n  });\n\n  return (\n    <div {...getRootProps()}>\n      <input {...getInputProps(\"hours\")} />\n      <span>:</span>\n      <input {...getInputProps(\"minutes\")} />\n\n      {/* Example 1: Select with getSelectProps() */}\n      <select {...ampm.getSelectProps()}>\n        <option value=\"am\">AM</option>\n        <option value=\"pm\">PM</option>\n      </select>\n\n      {/* Example 2: Toggle button */}\n      <button onClick={ampm.toggle}>{ampm.value === \"am\" ? \"☀️ AM\" : \"🌙 PM\"}</button>\n\n      {/* Example 3: Checkbox */}\n      <input type=\"checkbox\" checked={ampm.value === \"pm\"} onChange={ampm.toggle} />\n\n      {/* Example 4: Radio buttons */}\n      <label>\n        <input type=\"radio\" checked={ampm.value === \"am\"} onChange={() => ampm.set(\"am\")} />\n        AM\n      </label>\n      <label>\n        <input type=\"radio\" checked={ampm.value === \"pm\"} onChange={() => ampm.set(\"pm\")} />\n        PM\n      </label>\n    </div>\n  );\n}\n```\n\n## Ranges\n\n`timescape` supports ranges for the date/time inputs. This means a user can select a start and end. This is\nuseful for things like booking systems, where you want to allow the user to select a range of dates.\n\nThis is achieved by using two `timescape` instances, one for the start and one for the end. You can set their\noptions independently, and they return the respective options and update functions in the `from` and `to`\nobjects.\n\nExample usage (this works similar for all supported libraries):\n\n```tsx\nimport { useTimescapeRange } from \"timescape/react\";\nimport { useState } from \"react\";\n// Use `createTimescapeRange` for Svelte\n\n// Controlled example\nconst [fromDate, setFromDate] = useState(new Date(\"2000-01-01\"));\nconst [toDate, setToDate] = useState(new Date());\n\nconst { getRootProps, from, to } = useTimescapeRange({\n  from: {\n    date: fromDate,\n    onDateChange: setFromDate,\n  },\n  to: {\n    date: toDate,\n    onDateChange: setToDate,\n  },\n});\n\n// Or uncontrolled with defaultDate\n// const { getRootProps, from, to } = useTimescapeRange({\n//   from: { defaultDate: new Date(\"2000-01-01\") },\n//   to: { defaultDate: new Date() },\n// });\n\nreturn (\n  <div {...getRootProps()}>\n    <div>\n      <input {...from.getInputProps(\"days\")} />\n      <span>/</span>\n      <input {...from.getInputProps(\"months\")} />\n      <span>/</span>\n      <input {...from.getInputProps(\"years\")} />\n    </div>\n    <div>\n      <input {...to.getInputProps(\"days\")} />\n      <span>/</span>\n      <input {...to.getInputProps(\"months\")} />\n      <span>/</span>\n      <input {...to.getInputProps(\"years\")} />\n    </div>\n  </div>\n);\n```\n\nThe helper that registers the shared root element is named per framework: `getRootProps` (React, Preact,\nSolid), `registerRangeRoot` (Vue) and `rootProps` (Svelte). The `from` and `to` objects expose the same input\nhelpers and `ampm` object as a single instance does.\n\nIn vanilla JS you tie two managers together yourself with `marry`:\n\n```ts\nimport { marry, TimescapeManager } from \"timescape\";\n\nconst from = new TimescapeManager(new Date(\"2000-01-01\"));\nconst to = new TimescapeManager(new Date());\n\n// `from` becomes the minimum of `to` and `to` the maximum of `from`, and focus\n// wraps from the last `from` field into the first `to` field (and back).\nconst divorce = marry(from, to);\n\n// Untie them again – this also clears the bounds they set on each other\ndivorce();\n```\n\n## Vanilla API\n\nThe integrations are thin wrappers around `TimescapeManager`, which you can also use directly (see the\n[vanilla JS example](#examples) above).\n\n| Member                                       | Description                                                                                                                                                      |\n| -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `date`                                       | Getter and setter for the current date. The setter also accepts a timestamp or a date string, the getter returns `undefined` while the date is still incomplete. |\n| `registerRoot(element)`                      | Registers the root element, which handles focus management and gets `role=\"group\"`.                                                                              |\n| `registerElement(element, type, autofocus?)` | Registers an input for a `DateType`: `\"years\"`, `\"months\"`, `\"days\"`, `\"hours\"`, `\"minutes\"`, `\"seconds\"`, `\"milliseconds\"` or `\"am/pm\"`.                        |\n| `on(event, callback)`                        | Subscribes to an event and returns an unsubscribe function. [See below](#events)                                                                                 |\n| `focusField(index)`                          | Focuses the field at the given index in registration order. Negative indices count from the end, so `-1` is the last field.                                      |\n| `resync()`                                   | Re-registers all known elements, e.g. after the inputs were moved or re-rendered.                                                                                |\n| `remove()`                                   | Tears down all listeners and observers.                                                                                                                          |\n\nAll options from the [options table](#options) are plain properties on the manager and can be assigned at any\ntime, e.g. `manager.hour12 = true`.\n\n### Events\n\n```ts\nmanager.on(\"changeDate\", (date: Date | undefined) => {}); // date changed (`undefined` if incomplete)\nmanager.on(\"focusWrap\", (direction: \"start\" | \"end\") => {}); // focus moved past the first or last field\n```\n\nListeners run in subscription order. Returning `STOP_EVENT_PROPAGATION` from a listener keeps the remaining\nlisteners for that event from running:\n\n```ts\nimport { STOP_EVENT_PROPAGATION } from \"timescape\";\n\nmanager.on(\"focusWrap\", () => STOP_EVENT_PROPAGATION);\n```\n\n## Anatomy & styling\n\nThe component is designed to be as un-opinionated as possible, so it doesn't come with any styling out of the\nbox. You can style it however you want, but here are some tips to get you started.\n\nThis is how it could look like:\n\n<img src=\"https://github.com/dan-lee/timescape/assets/571589/bac69b8c-e108-43db-8203-2dcbdb5030eb\" height=\"250\" />\n\nA typical anatomy of a timescape component may look like this:\n\n### HTML\n\n```html\n<div class=\"timescape\">\n  <!-- Date inputs -->\n  <input />\n  <span class=\"separator\">/</span>\n  <input />\n  <span class=\"separator\">/</span>\n  <input />\n\n  <span class=\"separator\">&nbsp;</span>\n\n  <!-- Time inputs -->\n  <input />\n  <span class=\"separator\">:</span>\n  <input />\n  <span class=\"separator\">:</span>\n  <input />\n</div>\n```\n\n### CSS\n\n```css\n/**\n * Root element\n */\n.timescape {\n  display: flex;\n  align-items: center;\n  gap: 1px;\n  width: fit-content;\n  border: 1px solid #b2b2b2;\n  padding: 5px;\n  user-select: none;\n  border-radius: 10px;\n}\n\n.timescape:focus-within {\n  outline: 1px solid #8f47d4;\n  border-color: #8f47d4;\n}\n\n/**\n * Date and time input elements\n */\n.timescape input {\n  /* This is an important style, as it ensures that the inputs have\n  the same width regardless of the number of characters they contain. */\n  font-variant-numeric: tabular-nums;\n  height: fit-content;\n  /* These are handled by the `:focus` selector */\n  border: none;\n  outline: none;\n  cursor: default;\n  user-select: none;\n  box-sizing: content-box;\n  /* For touch devices where input fields are not set to readonly */\n  caret-color: transparent;\n\n  /* For the calculation of the input width these are important */\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\n.timescape input:focus {\n  background-color: #8f47d4;\n  color: #fff;\n  border-radius: 6px;\n  padding: 2px;\n}\n\n/**\n * Separator elements\n */\n.timescape .separator {\n  font-size: 80%;\n  color: #8c8c8c;\n  margin: 0;\n}\n```\n","readmeFilename":""}