{"_id":"@fakhrirafiki/theme-engine","_rev":"28-58f3f0cea1dee5c5e0e74da0b5fb0c43","name":"@fakhrirafiki/theme-engine","dist-tags":{"latest":"0.4.24"},"versions":{"0.1.0":{"name":"@fakhrirafiki/theme-engine","version":"0.1.0","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components"],"author":{"name":"NgobrolLink Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.1.0","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"f78e9153715a1b3028217b0104b35f7bd25eb95c","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.1.0.tgz","fileCount":12,"integrity":"sha512-3znK/lIq9bbSrngZWFIzTHeHSd+jdCyOuZUiZ8gKvWbnECDS0fLpbn/d5tAGwfVdz/3pgnRD33T0uBHD7wBTnA==","signatures":[{"sig":"MEYCIQDW/chTHfNHF/aNemh4P501SMMeiwKmHJcDwmAw59jb7QIhAPlriQ9Hjsx5sUOi3tAQzGu2rzE8e7lraaydw+SWbvlE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":371848},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"b596df1fa6aa112b2e8bb516dd642522df4478ea","scripts":{"build":"tsup src/index.ts --format esm,cjs --dts --clean","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"tsc --noEmit","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"10.8.2","description":"Elegant theming system with smooth transitions, custom presets, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","framer-motion":">=12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.1.0_1755850878250_0.6574326159773476","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@fakhrirafiki/theme-engine","version":"0.1.1","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components"],"author":{"name":"NgobrolLink Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.1.1","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"1b8ade1acbe4de8335ff39aa89ed25d9994757b6","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.1.1.tgz","fileCount":12,"integrity":"sha512-eKfSzrza5Ix4QkK1U7+9q/PFn82+erY08MGkBs+Edra10hU4vq8n+YI4cQIBsAYCD6APIvy6JTjRJZdoZhFqUA==","signatures":[{"sig":"MEUCIQDfdV7/aa6iKN+yenouBJOntrPNJOyzoWwBlaN/Dlv8HAIgKXW9DnprosRNS8/nD1RzHrCvhmHk79CZYgL0D3wKeYE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":371857},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"b596df1fa6aa112b2e8bb516dd642522df4478ea","scripts":{"build":"tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"tsc --noEmit","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"10.8.2","description":"Elegant theming system with smooth transitions, custom presets, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","framer-motion":">=12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.1.1_1755851594669_0.7022674591919413","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@fakhrirafiki/theme-engine","version":"0.1.2","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components"],"author":{"name":"NgobrolLink Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.1.2","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"4f8503a2fce6c67c026bcb580d95956f786ca094","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.1.2.tgz","fileCount":12,"integrity":"sha512-KDfVYrV11C1GJaCEpemK7fXtkkYsGyIJIVLHK+G70fb/FWCgzHiBIxKeqYA1gx9LdzEBE9Rcc5aLCp0n/SwMoA==","signatures":[{"sig":"MEQCIBebLOxOKcd+1p4gUvfpOAUlxCchFMUlweDq9dEjbK/bAiAXWJQYbGPMqxSNL+9HlqBr8e7+w7No3AOnKV/Mdr0GfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":371857},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"93690e3bb440490bf29ac75b055f27fa7e596b94","scripts":{"build":"tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"tsc --noEmit","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"10.8.2","description":"Elegant theming system with smooth transitions, custom presets, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","framer-motion":">=12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.1.2_1755857841470_0.29663396561214994","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@fakhrirafiki/theme-engine","version":"0.2.0","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"NgobrolLink Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.2.0","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"e34c5051f3438e8ae33f153b74454c58398deb79","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.2.0.tgz","fileCount":12,"integrity":"sha512-OfezCHUg/9iMep4hEy0rlEYjZSepgiUMYfUVRZIe57b6Yse7NPSuy7cCQwzwa89Fq8i3/j64X4BpVOVpp+ouZw==","signatures":[{"sig":"MEUCIQDPDRBNDJdf+Nx3UwxEiK9ZrSTBS951XZccgKz4Jl1r6gIgE90okmm/o4KGc5adJO677f3fmXuJuTybBnslibcW+8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":371971},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"c36a9b0c6017fd5023ee8c10c816ca5a7bbc2c1c","scripts":{"build":"tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"tsc --noEmit","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"10.8.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","framer-motion":">=12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.2.0_1757488602452_0.4410726939789684","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@fakhrirafiki/theme-engine","version":"0.2.1","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"NgobrolLink Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.2.1","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"fb2f7722e21a649ff2e743bd88c6d17936e99cda","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.2.1.tgz","fileCount":12,"integrity":"sha512-WTo0gvptSOgDb9gUVRFhM7Lq+uC5LTyXmiULd0Uz1/jooA9u5KifSTZr+1j8yTJnakJ6gGJmesz+fOUro757kg==","signatures":[{"sig":"MEYCIQDOQxflpRBlrZIVTSwudel0JF83sAsIoRNgf6C3y2H9qgIhAPBzZD15vvvcrXrXhHtHSuEuLb29YqigH+4LcpvIp9NU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":372851},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"c36a9b0c6017fd5023ee8c10c816ca5a7bbc2c1c","scripts":{"build":"tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"tsc --noEmit","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"10.8.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","framer-motion":">=12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.2.1_1757489323228_0.9214807468164823","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@fakhrirafiki/theme-engine","version":"0.2.2","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.2.2","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"618d1fef5b41fd289817523c933d8b07b1b1d02b","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.2.2.tgz","fileCount":12,"integrity":"sha512-3CIGelFv4HmHDR1cHCOdCXWUT25ON/Sn1crn0MzBFSknFw7DCYc1Fu33CV47IKB9N78eXzAdVP0nj6D29NWRqA==","signatures":[{"sig":"MEYCIQC29YtddeU2/HIBnVUPb1VqHillTaX32WKqLA5CJZotKgIhAKLinc4IQiEiZuNTWPaaivztCVFQBOPbD1Es9sSsAYOe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":374617},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"f2eb24f394ab6a529330eb60eb1d3a073364253b","scripts":{"build":"tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"tsc --noEmit","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","framer-motion":">=12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.2.2_1763717745846_0.6342885460813257","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@fakhrirafiki/theme-engine","version":"0.2.5","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.2.5","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"68d285281708b3f5a93f927e059edff98f76d5d5","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.2.5.tgz","fileCount":12,"integrity":"sha512-Eh5/KxHahumzcjczrx6i6yKjh/Y8xTZZz2gmJ0B25NnYytDHVAOQFePyfpoG6TGQyveTknnHQ2w1HoUWLgm8sw==","signatures":[{"sig":"MEUCIGDHjxQ9wxsSEIDuzFbgKEylOyJhH0jddkRrmqZU0v4UAiEAp3oGec4oo7/hWCEIciZpg5iBSoJXWF6S+MauycHB0jA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377987},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"abee8a20c9236996708151563ad611c150ff87ec","scripts":{"build":"tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"tsc --noEmit","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","framer-motion":">=12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.2.5_1763725412251_0.1573420941567285","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@fakhrirafiki/theme-engine","version":"0.2.6","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.2.6","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"020e47e231a052b5a1fc25a0993508b30c89f826","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.2.6.tgz","fileCount":12,"integrity":"sha512-iy+d5CgZvQOsu6N0tHL8kPm/iKG6zLGBNGM/sTrRa1AKbNjvZlohZzqKaPxHfVg74LSL5g/7en7zZgu27cCNeg==","signatures":[{"sig":"MEUCIQDooCvxPQcumnPt8HJTKSnCF9muk6sJG331XgWtmWWBFwIgUFr6uTB5ga0laYwBwsANQRxqcYNPzNezr6k23bXPVO0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":387056},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"0df166d688f33414777633cc009bfc24dc4cde4f","scripts":{"build":"tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"tsc --noEmit","publish-major":"npm version major && npm publish","publish-minor":"npm version minor && npm publish","publish-patch":"npm version patch && npm publish","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","framer-motion":">=12.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.2.6_1763980828398_0.7296753802001361","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@fakhrirafiki/theme-engine","version":"0.4.0","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.0","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"86790c1d3b6265c250f47b0bf95f0863c5f257a6","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.0.tgz","fileCount":12,"integrity":"sha512-rkO42kDxfBz/kWrBHOrvQ374x/X3g8TTQW5p8CmSYvzoRu6gWfb+Zk639g9o4btF+5TaEG7iPX0Z3SYZ1doyXw==","signatures":[{"sig":"MEUCIQCHiqDPeq4IiJEE8puNzYAcIG6CMA5O7UEKsw3HLPdiqAIgArUbpRhBt1oaRe79tAU0ELBqLoS+QAT29O22bv2cUBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":385153},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"c5b4e6fa0405261edf27a3d6375701ae678c1fda","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major --no-workspaces-update && npm publish","publish-minor":"npm version minor --no-workspaces-update && npm publish","publish-patch":"npm version patch --no-workspaces-update && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.0_1767188494928_0.04231619064973269","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@fakhrirafiki/theme-engine","version":"0.4.1","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.1","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"6e3fb62206161bcff83cd1c3a41e0d60e41f8f5c","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.1.tgz","fileCount":12,"integrity":"sha512-Qe/k1XkvD87bm54Lrm5ND97RZDrQPjAuDkpla6bDLxGkTTy3Ap35BnDD81L9Z3lRjQmrYqm1flvkfG+v+dYxKw==","signatures":[{"sig":"MEUCIBp5zomB5reWT6g0c49z5XvOg0WFmeJy8lAyrcnFzGg2AiEA6PjBB/xYhG+ggTyzlFhFFhl0uup9qUbEhO0nlDTR2T0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":387292},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"a84b61ffcc748c9957e709fd9deabb6d0f23bc01","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major --no-workspaces-update && npm publish","publish-minor":"npm version minor --no-workspaces-update && npm publish","publish-patch":"npm version patch --no-workspaces-update && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.1_1767189463503_0.2922216652749421","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@fakhrirafiki/theme-engine","version":"0.4.2","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.2","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"ede0af3d6cb93bedb87db2fbc7500faf51b55dc7","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.2.tgz","fileCount":12,"integrity":"sha512-s6khaOOdu1teEC+9xrh3naNKj3OowNHQ+a/WaULPYwi89d0T7p16Ek5FU4MAedPEtkpgFW3ln6kPV+28clWpUA==","signatures":[{"sig":"MEUCIQCq+sGs7uk7dvOLRg9jnw0c1I/92XMY9iEj7Hnsss19RAIgOQa0oRFapIbDZpEUGxvZP7PyO1ik1x7Rzzyo7BO4BKM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":387286},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"53d30368b7e7958db9d436ce68d92538247678a5","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major --no-workspaces-update && npm publish","publish-minor":"npm version minor --no-workspaces-update && npm publish","publish-patch":"npm version patch --no-workspaces-update && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.2_1767190413091_0.667518014355355","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@fakhrirafiki/theme-engine","version":"0.4.3","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.3","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"eac7e572df0a210532aa0221fd7e17624e397346","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.3.tgz","fileCount":12,"integrity":"sha512-m60AjRWknPDu3Ia20ji96Pd8V+EgLMpxXKN9+fg1Stm2Io1uRpa8SuewW0rXrMC+GC0d+Vq5RVhRUg2JQcd16w==","signatures":[{"sig":"MEQCIDJ/7DBRmLNS82yDrgNBKhJCx67tdmxNFUBg/vDPEzPGAiAw3pBADIKO+WDonp7sKsvD3Zaai0vWHu4cH+ZEhpy2tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":388603},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"4efa7fda925097411a369d13d77234c01a10a815","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major --no-workspaces-update && npm publish","publish-minor":"npm version minor --no-workspaces-update && npm publish","publish-patch":"npm version patch --no-workspaces-update && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.3_1767191030418_0.6718534284573705","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@fakhrirafiki/theme-engine","version":"0.4.4","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.4","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"bc8893f30cdf72a1f847fa0e9bfa2a744537d8f3","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.4.tgz","fileCount":12,"integrity":"sha512-4kdL3HKIH3CbPCZUBWJyb46z5yVzZucr6A50/WQOG7GknQC1zkF54Qb4H8nm02MykGWOfX6QtGL0V91/dWcgzw==","signatures":[{"sig":"MEQCIDIL4vCLzcz+5dZmnUsb/kXk2Xluu4M5ADQxi1XNNSNDAiBv6+WziRMvS4b4Of43vyYUVtjfI0xvCz8VpxNaRnKkow==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400202},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"4efa7fda925097411a369d13d77234c01a10a815","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts","build:css":"cp -r src/styles dist/","build:full":"npm run build && npm run build:css","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major --no-workspaces-update && npm publish","publish-minor":"npm version minor --no-workspaces-update && npm publish","publish-patch":"npm version patch --no-workspaces-update && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.4_1767191793561_0.39065815389523295","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@fakhrirafiki/theme-engine","version":"0.4.5","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.5","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"ba5df7eb05b60fd66ddb2014e60fd96cbabf65d8","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.5.tgz","fileCount":12,"integrity":"sha512-G2dq01UHvL/0DPJCQNxv7uIMIptWcYuNXH1SDnLaTmNy7cdOlQdamRuMgb0X1SO2bSfm7CCBzL9s0PUNHjZ7Vg==","signatures":[{"sig":"MEQCIAKBVgunjEPs9QXX3a4X+ILwownVD0T4AKTMZeUxJZ+jAiABovgN4jgbuWx6ZCT1GJZS/ab6L9NqF928emnkI9KljA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":400202},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"4efa7fda925097411a369d13d77234c01a10a815","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major --no-workspaces-update && npm publish","publish-minor":"npm version minor --no-workspaces-update && npm publish","publish-patch":"npm version patch --no-workspaces-update && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.5_1767191840867_0.9019233266352693","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"@fakhrirafiki/theme-engine","version":"0.4.7","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.7","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"d74fcd8c17d92c75bdea3da90cfc22cf98291488","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.7.tgz","fileCount":12,"integrity":"sha512-z1WYrwKm6qoy8mI3d5LZNJBWVOuuV1mVqkyL3NfVyGHwQplYfoslZIUyygTJ9y7GCMK7/UNyR+LXS8+XQXcABg==","signatures":[{"sig":"MEYCIQDsbRptXQVCqmxv1p86Lm0UVQFv3l5kLHyieMNvlupmlAIhAPsOOAslYVXq1Inyp76E06nGsCWEQkXLkoqI62cx3xBr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":403940},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"6199289797df29386408da916379c2a9584aa335","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major --no-workspaces-update && npm publish","publish-minor":"npm version minor --no-workspaces-update && npm publish","publish-patch":"npm version patch --no-workspaces-update && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.7_1767192446165_0.1906986843009244","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@fakhrirafiki/theme-engine","version":"0.4.8","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.8","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"28607961deee47899a0fb4bf67f2ab0b40878ebb","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.8.tgz","fileCount":12,"integrity":"sha512-8OQ9Zgeirl6Oye9NKQOjagAPIK1M34iGLFGXymt/d+J4x4OiAQKzy6iSQH+vi/NhMAF5e/ddrNfEoPLDsFfMDg==","signatures":[{"sig":"MEYCIQCCGQxMZATixMyXbF5zK6sIuUnuY6pXzegbhxCh4UmSmwIhAJVEDs7ePxvzAxWTZA99Iio2atMrkcVriEhWu0/LGlYV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":412938},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"3b3447424f3067e5fb705c2e46346c5d7684d1a8","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major --no-workspaces-update && npm publish","publish-minor":"npm version minor --no-workspaces-update && npm publish","publish-patch":"npm version patch --no-workspaces-update && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.8_1767195956656_0.5702878224372521","host":"s3://npm-registry-packages-npm-production"}},"0.4.9":{"name":"@fakhrirafiki/theme-engine","version":"0.4.9","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.9","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"20124b07a82154325330098c5d9378a664c7f8f2","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.9.tgz","fileCount":12,"integrity":"sha512-+FuHlJmNZ5IdKq7ptTGSYHI0ID0rgaR6Lnd0QeGVTHZMqs54I2lG4q7eZPiUT866oVfSSmmnPtLgj+l3fc9CyQ==","signatures":[{"sig":"MEUCIQDQicrr/H28L1YTU69Yb3j4N+l2rXF3s1fgNF7VmoCvMAIgMJS8riOQ3J25Ll+oKuTNVBeDgS+5jypPcqnJpS+cxMI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416122},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"2e4de900a501ba4e63eee2c76b7adc36b86cab28","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major --no-workspaces-update && npm publish","publish-minor":"npm version minor --no-workspaces-update && npm publish","publish-patch":"npm version patch --no-workspaces-update && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.9_1767196538561_0.6152190906791302","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"@fakhrirafiki/theme-engine","version":"0.4.10","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.10","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/ngobrollink-monorepo/tree/main/packages/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/ngobrollink-monorepo/issues"},"dist":{"shasum":"5f1f1c36342f08641a8482e2eb93be2bdd0b8468","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.10.tgz","fileCount":12,"integrity":"sha512-7Rp4qTl94C2PPSTFgpk9B8/7wnmypxhIPDw8vCkccp6+tynZGRFleZU1t2v3IVVI0VTTDhTzUR1LC7IflHzc1w==","signatures":[{"sig":"MEUCIF1GaVcNJ1NiMm1pEm3HTke48/MAxhSrcld98wCqqMwlAiEAkReWOn51AZhDQxcG/gBHtp1rTFG3FxCLFTqI9zZ2KCo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416123},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"e5ccd008d0107b6c2fdb052a0da877b49bcf7760","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major --no-workspaces-update && npm publish","publish-minor":"npm version minor --no-workspaces-update && npm publish","publish-patch":"npm version patch --no-workspaces-update && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/ngobrollink-monorepo.git","type":"git","directory":"packages/theme-engine"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"25.2.1","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.10_1767197272316_0.7131603866419363","host":"s3://npm-registry-packages-npm-production"}},"0.4.14":{"name":"@fakhrirafiki/theme-engine","version":"0.4.14","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.14","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"dist":{"shasum":"9bf3fd985089742b2e0c79e2df6223da07df48f6","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.14.tgz","fileCount":12,"integrity":"sha512-RZS7PFyR6byFuoirmoDTlAzQAGtz5TbtUsD9BPy4LmG9oDiESr/WBvuj4hdMTgDQO89ipMBZTakJDGyOPEAdzQ==","signatures":[{"sig":"MEUCIAOqffWNfczcOrJ65XAzirtdSC1ZOfbywL9hPNKgS59LAiEA55s7+HjFygtdqT/mMpAxpOzEMPD3+Fl9jPdzJ9POAS0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":416128},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"0644f8b1737d99b3652f1dab28bf9608c70b0f1e","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major && npm publish","publish-minor":"npm version minor && npm publish","publish-patch":"npm version patch && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/theme-engine.git","type":"git"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.14_1767199342336_0.27974165827253894","host":"s3://npm-registry-packages-npm-production"}},"0.4.15":{"name":"@fakhrirafiki/theme-engine","version":"0.4.15","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.15","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://github.com/fakhrirafiki/theme-engine","bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"dist":{"shasum":"7ec1e05620cb0a7fc99dedbaf367a63cd4373001","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.15.tgz","fileCount":12,"integrity":"sha512-8COkhfdDdJqjIGBka12WCC1dfel0wvYypm+TFdwNS0GbL6bgyhZL3JBic4885xtaFjXphe/K90F6IdzifP2O5A==","signatures":[{"sig":"MEUCIQC87SDLUg2boNUTrZhi+qp4Y8nOO1J2l4rc8UtkEPhtDAIgcBpCMvLHRFTOgczqVsZ6FUvBJFDQLaiSuEgMEWJnOSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":420099},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"4e7aa57337085a1382d29895f8414be45fdabcb6","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major && npm publish","publish-minor":"npm version minor && npm publish","publish-patch":"npm version patch && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/theme-engine.git","type":"git"},"_npmVersion":"10.8.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.6","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.15_1767202668998_0.318334536451343","host":"s3://npm-registry-packages-npm-production"}},"0.4.17":{"name":"@fakhrirafiki/theme-engine","version":"0.4.17","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.17","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://theme-engine-example.vercel.app/","bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"dist":{"shasum":"c351b880359ec6b83b939df3a5cfa6792b9d7499","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.17.tgz","fileCount":12,"integrity":"sha512-9/wBvtDIS3X4d39VE8ukqJO1BQll+5KH2qwbPi6elniyiV51oF7iQPsk/WSHhqHiwRliysUNSDG2AlHND1LaRQ==","signatures":[{"sig":"MEYCIQD9YHZ+fBUrt3WHpNrPsIvmO2V7tO9WzjQRawXAQjHWdQIhAKE9vudcvrsEnak4V8UAwBRElB9PrwmVgVBEQDkQefOA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":418735},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"37e20cc33202a7565029cd5a197970c544660a50","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major && npm publish","publish-minor":"npm version minor && npm publish","publish-patch":"npm version patch && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/theme-engine.git","type":"git"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.17_1767227912039_0.08483309348146073","host":"s3://npm-registry-packages-npm-production"}},"0.4.18":{"name":"@fakhrirafiki/theme-engine","version":"0.4.18","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.18","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://theme-engine-example.vercel.app/","bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"dist":{"shasum":"01170776c20c9260f57bd621321a717f6b85ae51","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.18.tgz","fileCount":12,"integrity":"sha512-oxhZpg0iQ5h9u1qpj9net+izwXnK9CoXn/RCBL7UAONXRE7Iq0Ir9brh+KpL6/h4sQj1H40YwR5nmu1JHsG2uA==","signatures":[{"sig":"MEYCIQDjqET48vvYWjCLo7pdR0jMge88/EORc/6IYn0KLA4clwIhALT4F0PdreGfBuWjkuQ7BB8B0yeScJivrAzABQhT2uoh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":420478},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"336005c4fd8014b0116288a08473735186ac148c","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major && npm publish","publish-minor":"npm version minor && npm publish","publish-patch":"npm version patch && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/theme-engine.git","type":"git"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.18_1767228222657_0.9517597197797922","host":"s3://npm-registry-packages-npm-production"}},"0.4.19":{"name":"@fakhrirafiki/theme-engine","version":"0.4.19","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.19","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://theme-engine-example.vercel.app/","bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"dist":{"shasum":"e3e02e7b0d720c8f59672fb66957c91731a78fa3","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.19.tgz","fileCount":12,"integrity":"sha512-2ZmkGIwufqguXC0EJo9OxJj+JBPgrH+ja55oe0eScCUm2U1lmLDOV9x6GbBO1UF4Mcrw5f8SWZJ4DK1rpdc9qg==","signatures":[{"sig":"MEUCIAMCTdAEIZsNiFJNgWYM98syWcuiU9ROaw066SNgm+OOAiEAhCKnUNSAuxE2ui9wLLl6/wZTA8sh+qUJSzqPMJ0JcGw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":419690},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"f057f94aac5478ce96b46a59567550894ac4c4fd","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major && npm publish","publish-minor":"npm version minor && npm publish","publish-patch":"npm version patch && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/theme-engine.git","type":"git"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.19_1767229651306_0.4626146597108092","host":"s3://npm-registry-packages-npm-production"}},"0.4.20":{"name":"@fakhrirafiki/theme-engine","version":"0.4.20","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.20","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://theme-engine-example.vercel.app/","bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"dist":{"shasum":"da7deeeafe072e1d327f82bb5cab56ba62771559","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.20.tgz","fileCount":12,"integrity":"sha512-+nvsb6s3xfJ0jFbtUpQKb3eP14grPIFdjjkwSEfBA1Gm6FJBDjS3ZuJHG1N72Vel1VBnZsDT7idak8kaCHkItw==","signatures":[{"sig":"MEUCIQCtxt5HtCdMozc3oGnzzjkbqy4gBvBk0vF507X0CMK1KAIgMowyKz9iAU3fYyoIaq68hFJYBIDyLedplgv2hsOCIFY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":423076},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"46367cae785046f30d6e7f8ce511e552f9d7e6c5","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major && npm publish","publish-minor":"npm version minor && npm publish","publish-patch":"npm version patch && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/theme-engine.git","type":"git"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.20_1767230575388_0.49732916406488736","host":"s3://npm-registry-packages-npm-production"}},"0.4.21":{"name":"@fakhrirafiki/theme-engine","version":"0.4.21","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.21","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://theme-engine-example.vercel.app/","bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"dist":{"shasum":"2ccfdbfc6017e097e7e3cabccb5139b934cb5f21","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.21.tgz","fileCount":12,"integrity":"sha512-Jz8o0sWY2aQmW612TCWonTMkaeVeplceTc3RF2+p7weRgrmT9Wu+Ur1wiLcHCWU9sptwToxI4Hy3Qd498h3pSg==","signatures":[{"sig":"MEUCIQDwtvUHl/aSMnfADNqln9LmHAU7nqxGC400K/eTreDD3gIgWJOP1SiZgcwI1/+Os6VY+Gj39zZZR1IhhJIJbTiYADg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":437794},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"e9dff21995031b0c0f0aa75f31345eeb72a38c10","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major && npm publish","publish-minor":"npm version minor && npm publish","publish-patch":"npm version patch && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/theme-engine.git","type":"git"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.21_1767231274810_0.5888406732846085","host":"s3://npm-registry-packages-npm-production"}},"0.4.22":{"name":"@fakhrirafiki/theme-engine","version":"0.4.22","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.22","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://theme-engine-example.vercel.app/","bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"dist":{"shasum":"2f9acba2bf4f0e044cd1e3f5fc566da7995148c6","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.22.tgz","fileCount":12,"integrity":"sha512-RJSMP5Mavnewhsdk8ocsIv/ZtQrXqHe20OxReEWKvj8A32ETDw6iyPTcqI9ZjDCIWbcRX0Q2j2Rw2b9QF1lOQQ==","signatures":[{"sig":"MEUCICfUWs0lFDKRgXOWkE9BSVzPC2O0wRu2zI0BPqOGzTTFAiEApwCozIKeeIcYJLdn0N6gN4HKbkj08lJgkh9wyzNBlNY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438022},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"5a1831b0f76d4f45de636ff2f903122331e61762","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major && npm publish","publish-minor":"npm version minor && npm publish","publish-patch":"npm version patch && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/theme-engine.git","type":"git"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.22_1767231688166_0.4986039527540638","host":"s3://npm-registry-packages-npm-production"}},"0.4.23":{"name":"@fakhrirafiki/theme-engine","version":"0.4.23","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","_id":"@fakhrirafiki/theme-engine@0.4.23","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"homepage":"https://theme-engine-example.vercel.app/","bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"dist":{"shasum":"d98702338e012424aae7d94f027f60fc8aa3dab6","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.23.tgz","fileCount":12,"integrity":"sha512-+153IOZAocFMXA4wV4NztjdZlkpUOWEjt8Dy1BWIwLMQydJy50vAtPOUqkSzRzHEXBrJg88pP4VAUVfEag299Q==","signatures":[{"sig":"MEQCIHgm25VeGv+9dFiNx7x5IZGy7A7zcz2NKvbUnfe/fXg4AiBRwXRNdlfAR2mk9EAw3xBKoMwgoIez0lo9hgIuyq27Tw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":438034},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/tailwind.css":"./dist/styles/tailwind.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css"},"gitHead":"319a38c6abcbf308687330cedee5dd84c968b838","scripts":{"build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","publish-major":"npm version major && npm publish","publish-minor":"npm version minor && npm publish","publish-patch":"npm version patch && npm publish","gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","prepublishOnly":"npm run build:full"},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"repository":{"url":"git+https://github.com/fakhrirafiki/theme-engine.git","type":"git"},"_npmVersion":"11.6.2","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","directories":{},"_nodeVersion":"20.19.3","dependencies":{"clsx":"^2.1.1"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","devDependencies":{"tsup":"^8.5.0","typescript":"^5.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-engine_0.4.23_1767241332445_0.7727139538625725","host":"s3://npm-registry-packages-npm-production"}},"0.4.24":{"name":"@fakhrirafiki/theme-engine","version":"0.4.24","description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./styles":"./dist/styles/index.css","./styles/base.css":"./dist/styles/base.css","./styles/animations.css":"./dist/styles/animations.css","./styles/components.css":"./dist/styles/components.css","./styles/utilities.css":"./dist/styles/utilities.css","./styles/tailwind.css":"./dist/styles/tailwind.css"},"scripts":{"gen:preset-ids":"node scripts/generate-built-in-preset-ids.mjs","build":"node scripts/generate-built-in-preset-ids.mjs && tsup --config tsup.config.ts && npm run build:css","build:css":"cp -r src/styles dist/","build:full":"npm run build","type-check":"node scripts/generate-built-in-preset-ids.mjs && tsc --noEmit","prepublishOnly":"npm run build:full","publish-patch":"npm version patch && npm publish","publish-minor":"npm version minor && npm publish","publish-major":"npm version major && npm publish"},"repository":{"type":"git","url":"git+https://github.com/fakhrirafiki/theme-engine.git"},"homepage":"https://theme-engine-example.vercel.app/","bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"dependencies":{"clsx":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"devDependencies":{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0","tsup":"^8.5.0","typescript":"^5.0.0"},"keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","packageManager":"pnpm@10.27.0+sha512.72d699da16b1179c14ba9e64dc71c9a40988cbdc65c264cb0e489db7de917f20dcf4d64d8723625f2969ba52d4b7e2a1170682d9ac2a5dcaeaab732b7e16f04a","gitHead":"ff79320bb0658c83fbab6f37bcc4bd3f09a988e9","_id":"@fakhrirafiki/theme-engine@0.4.24","_nodeVersion":"20.19.3","_npmVersion":"11.6.2","dist":{"integrity":"sha512-kDeDJ55ZdB2zraG7hsFbabiVGkwGpazH25B3V+8Vc7oyCKmgtF6Kkajfzgw2ZBGV8zlMz1trACuQNohQgU3bFw==","shasum":"762de323fdc1c2388830abda2435ba100ec5e0d0","tarball":"https://registry.npmjs.org/@fakhrirafiki/theme-engine/-/theme-engine-0.4.24.tgz","fileCount":12,"unpackedSize":438023,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDacE2Cu+oe3f2Y27RnncGM111Cl50nVxtYr+oZNT7NWQIgdMwp0acP/ANZVHAliGsetUmD6ebcQ8/b/2IEzCzzCL8="}]},"_npmUser":{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"},"directories":{},"maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/theme-engine_0.4.24_1767242151996_0.8052645019558287"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-22T08:21:18.106Z","modified":"2026-01-01T04:35:52.395Z","0.1.0":"2025-08-22T08:21:18.483Z","0.1.1":"2025-08-22T08:33:14.875Z","0.1.2":"2025-08-22T10:17:21.655Z","0.2.0":"2025-09-10T07:16:42.637Z","0.2.1":"2025-09-10T07:28:43.399Z","0.2.2":"2025-11-21T09:35:46.123Z","0.2.5":"2025-11-21T11:43:32.446Z","0.2.6":"2025-11-24T10:40:28.580Z","0.4.0":"2025-12-31T13:41:35.087Z","0.4.1":"2025-12-31T13:57:43.644Z","0.4.2":"2025-12-31T14:13:33.219Z","0.4.3":"2025-12-31T14:23:50.582Z","0.4.4":"2025-12-31T14:36:33.704Z","0.4.5":"2025-12-31T14:37:21.013Z","0.4.7":"2025-12-31T14:47:26.317Z","0.4.8":"2025-12-31T15:45:56.827Z","0.4.9":"2025-12-31T15:55:38.709Z","0.4.10":"2025-12-31T16:07:52.482Z","0.4.14":"2025-12-31T16:42:22.497Z","0.4.15":"2025-12-31T17:37:49.187Z","0.4.17":"2026-01-01T00:38:32.201Z","0.4.18":"2026-01-01T00:43:42.814Z","0.4.19":"2026-01-01T01:07:31.466Z","0.4.20":"2026-01-01T01:22:55.536Z","0.4.21":"2026-01-01T01:34:34.974Z","0.4.22":"2026-01-01T01:41:28.341Z","0.4.23":"2026-01-01T04:22:12.627Z","0.4.24":"2026-01-01T04:35:52.192Z"},"bugs":{"url":"https://github.com/fakhrirafiki/theme-engine/issues"},"author":{"name":"Tiket Ngobrol Team"},"license":"MIT","homepage":"https://theme-engine-example.vercel.app/","keywords":["theme","dark-mode","light-mode","react","typescript","transitions","shadcn","tailwind","preset","css-variables","color-scheme","theming","ui","components","accent-colors","semantic-colors"],"repository":{"type":"git","url":"git+https://github.com/fakhrirafiki/theme-engine.git"},"description":"Elegant theming system with smooth transitions, custom presets, semantic accent colors, and complete shadcn/ui support for modern React applications","maintainers":[{"name":"fakhrirafiki","email":"fakhri.rafiki@gmail.com"}],"readme":"# 🎨 useThemeEngine for **Next.js (App Router)**\n\nDark mode + theme presets (semantic tokens via CSS variables).\n\n> ✅ Opinionated defaults, minimal setup, and TypeScript autocomplete that “just works”.\n\n![npm version](https://img.shields.io/npm/v/@fakhrirafiki/theme-engine)\n![npm downloads](https://img.shields.io/npm/dm/@fakhrirafiki/theme-engine)\n![license](https://img.shields.io/npm/l/@fakhrirafiki/theme-engine)\n\n- Live demo: https://theme-engine-example.vercel.app/\n- Example repo: https://github.com/fakhrirafiki/theme-engine-example\n\n## ✨ Why use this?\n\n- 🧠 **DX-first**: `useThemeEngine()` for everything\n- ⚡ **Fast setup**: 1 CSS import + 1 provider\n- 🌓 **Mode support**: `light | dark | system` (with View Transition ripple when supported)\n- 🎨 **Theme presets**: built-in presets + your own presets\n- 🧩 **Tailwind v4 friendly**: `@theme inline` tokens included (works with shadcn-style semantic tokens)\n\n> [!TIP]\n> If you’re using **shadcn/ui** with **Next.js App Router**, you should use this package — it provides a complete, production-ready theme layer (mode + presets) that plugs straight into shadcn’s semantic tokens.\n\n## 📚 Table of contents\n\n- [Install](#-install)\n- [Quick Start (Nextjs App Router)](#-quick-start-nextjs-app-router)\n- [Usage](#-usage)\n- [Custom presets](#-custom-presets-recommended)\n- [Built-in presets](#-built-in-presets)\n- [Tailwind tokens](#-tailwind-tokens-you-get)\n- [Components](#-components)\n- [Recipe: ThemePresetSelect](#-recipe-themepresetselect-simple-list)\n- [API reference](#-api-reference)\n- [Troubleshooting](#-troubleshooting)\n\n## Install\n\n```bash\npnpm add @fakhrirafiki/theme-engine\n```\n\n> Using npm/yarn?\n>\n> - `npm i @fakhrirafiki/theme-engine`\n> - `yarn add @fakhrirafiki/theme-engine`\n\n## 🚀 Quick Start (Next.js App Router)\n\n### 1) Import CSS once\n\nIn `src/app/globals.css`:\n\n```css\n@import \"@fakhrirafiki/theme-engine/styles\";\n```\n\n✅ Tailwind v4 (recommended order):\n\n```css\n@import \"tailwindcss\";\n@import \"@fakhrirafiki/theme-engine/styles\";\n\n@custom-variant dark (&:is(.dark *));\n```\n\nℹ️ Not using Tailwind v4?\n\n```css\n@import \"@fakhrirafiki/theme-engine/styles/base.css\";\n@import \"@fakhrirafiki/theme-engine/styles/animations.css\";\n@import \"@fakhrirafiki/theme-engine/styles/components.css\";\n@import \"@fakhrirafiki/theme-engine/styles/utilities.css\";\n```\n\n### 2) Wrap your app with `ThemeProvider`\n\nIn `src/app/layout.tsx`:\n\n```tsx\nimport type { ReactNode } from \"react\";\nimport { ThemeProvider } from \"@fakhrirafiki/theme-engine\";\nimport \"./globals.css\";\n\nexport default function RootLayout({ children }: { children: ReactNode }) {\n  return (\n    <html lang=\"en\" suppressHydrationWarning>\n      <body>\n        <ThemeProvider defaultMode=\"system\" defaultPreset=\"modern-minimal\">\n          {children}\n        </ThemeProvider>\n      </body>\n    </html>\n  );\n}\n```\n\n### 3) Use it\n\n## 🧑‍💻 Usage\n\nToggle mode:\n\n```tsx\n\"use client\";\n\nimport { useThemeEngine } from \"@fakhrirafiki/theme-engine\";\n\nexport function ModeButtons() {\n  const { mode, setDarkMode, toggleDarkMode } = useThemeEngine();\n\n  return (\n    <div>\n      <button onClick={() => setDarkMode(\"system\")}>System</button>\n      <button onClick={() => setDarkMode(\"light\")}>Light</button>\n      <button onClick={() => setDarkMode(\"dark\")}>Dark</button>\n      <button onClick={() => toggleDarkMode()}>Toggle</button>\n      <div>Current: {mode}</div>\n    </div>\n  );\n}\n```\n\nPick a theme preset by ID:\n\n```tsx\n\"use client\";\n\nimport { useThemeEngine } from \"@fakhrirafiki/theme-engine\";\n\nexport function PresetButtons() {\n  const { applyThemeById, clearTheme, currentTheme } = useThemeEngine();\n\n  return (\n    <div>\n      <button onClick={() => applyThemeById(\"modern-minimal\")}>Modern Minimal</button>\n      <button onClick={() => clearTheme()}>Reset</button>\n      <div>Active: {currentTheme?.presetName ?? \"Default\"}</div>\n    </div>\n  );\n}\n```\n\n💡 Want typed autocomplete (built-in IDs + your custom IDs)? Use a generic:\n\n```tsx\n\"use client\";\n\nimport { ThemePresets, useThemeEngine } from \"@fakhrirafiki/theme-engine\";\nimport { customPresets } from \"./custom-theme-presets\";\n\nexport function TypedPresetButtons() {\n  const { applyThemeById } = useThemeEngine<ThemePresets<typeof customPresets>>();\n\n  return (\n    <div>\n      <button onClick={() => applyThemeById(\"my-brand\")}>My Brand</button>\n      <button onClick={() => applyThemeById(\"modern-minimal\")}>Modern Minimal</button>\n    </div>\n  );\n}\n```\n\n---\n\n## Concepts\n\n### Mode vs preset\n\n- 🌓 **Mode** controls the `<html>` class (`.light` / `.dark`) and `color-scheme`.\n- 🎨 **Preset** controls semantic design tokens (CSS variables like `--background`, `--primary`, etc).\n\n### SSR & flashes\n\n- `ThemeProvider` injects a small pre-hydration script to restore **preset colors** before hydration (reduces flashes).\n- The pre-hydration script restores **preset colors only** (it does not set the `.dark` / `.light` class).\n- `defaultPreset=\"...\"` pre-hydration only works for **built-in presets**. Custom `defaultPreset` still works after hydration.\n\n### Persistence\n\nBy default:\n\n- Mode is stored in `localStorage['theme-engine-theme']`\n- Preset is stored in `localStorage['theme-preset']`\n\nIf you run multiple apps on the same domain, override the keys:\n\n```tsx\n<ThemeProvider modeStorageKey=\"my-app:mode\" presetStorageKey=\"my-app:preset\">\n  {children}\n</ThemeProvider>\n```\n\n---\n\n## 🧩 Get your brand theme from TweakCN (recommended)\n\nThe fastest way to create a great-looking preset is to use the TweakCN editor:\n\n- https://tweakcn.com/editor/theme\n\nPick a theme, tweak the colors, then copy the preset output and paste it into your `customPresets` object (it matches the `TweakCNThemePreset` shape).\n\n```ts\nimport { type TweakCNThemePreset } from \"@fakhrirafiki/theme-engine\";\n\nexport const customPresets = {\n  \"my-brand\": {\n    label: \"My Brand\",\n    styles: {\n      light: {\n        background: \"#ffffff\",\n        foreground: \"#111827\",\n        primary: \"#2563eb\",\n        \"primary-foreground\": \"#ffffff\",\n        secondary: \"#e5e7eb\",\n        \"secondary-foreground\": \"#111827\",\n        card: \"#ffffff\",\n        \"card-foreground\": \"#111827\",\n      },\n      dark: {\n        background: \"#0b1020\",\n        foreground: \"#f9fafb\",\n        primary: \"#60a5fa\",\n        \"primary-foreground\": \"#0b1020\",\n        secondary: \"#1f2937\",\n        \"secondary-foreground\": \"#f9fafb\",\n        card: \"#111827\",\n        \"card-foreground\": \"#f9fafb\",\n      },\n    },\n  },\n} satisfies Record<string, TweakCNThemePreset>;\n```\n\nThen in your providers/layout:\n\n```tsx\nimport type { ReactNode } from \"react\";\nimport { ThemeProvider } from \"@fakhrirafiki/theme-engine\";\nimport { customPresets } from \"./custom-theme-presets\";\n\nexport function AppProviders({ children }: { children: ReactNode }) {\n  return (\n    <ThemeProvider customPresets={customPresets} defaultPreset=\"my-brand\">\n      {children}\n    </ThemeProvider>\n  );\n}\n```\n\nNotes:\n\n- Custom presets are validated in `ThemeProvider`.\n- Invalid custom presets are skipped (warnings/errors are logged on `localhost`).\n- Preset values can be `H S% L%`, `hsl(...)`, `#hex`, `rgb(...)`, and modern CSS colors like `oklch(...)` (they are normalized internally).\n\n---\n\n## 🎁 Built-in presets\n\nThe package ships with a built-in preset collection:\n\n```ts\nimport { getPresetIds, getPresetById } from \"@fakhrirafiki/theme-engine\";\n\nconst ids = getPresetIds();\nconst modernMinimal = getPresetById(\"modern-minimal\");\n```\n\n---\n\n## 🎨 Tailwind tokens you get\n\nAfter importing `@fakhrirafiki/theme-engine/styles`, you can use semantic tokens like:\n\n| Category        | Tailwind class examples                                                                | Backed by preset CSS variables                             | Notes                                       |\n| --------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------- |\n| Surfaces        | `bg-background`, `text-foreground`                                                     | `--background`, `--foreground`                             | Base app background + text                  |\n| Cards           | `bg-card`, `text-card-foreground`                                                      | `--card`, `--card-foreground`                              | Cards / panels                              |\n| Popovers        | `bg-popover`, `text-popover-foreground`                                                | `--popover`, `--popover-foreground`                        | Popovers / dropdowns                        |\n| Brand / actions | `bg-primary`, `text-primary-foreground`                                                | `--primary`, `--primary-foreground`                        | Primary buttons / highlights                |\n| Secondary       | `bg-secondary`, `text-secondary-foreground`                                            | `--secondary`, `--secondary-foreground`                    | Secondary UI surfaces                       |\n| Muted           | `bg-muted`, `text-muted-foreground`                                                    | `--muted`, `--muted-foreground`                            | Subtle backgrounds / helper text            |\n| Accent          | `bg-accent`, `text-accent-foreground`                                                  | `--accent`, `--accent-foreground`                          | Emphasis (not status colors)                |\n| Destructive     | `bg-destructive`, `text-destructive-foreground`                                        | `--destructive`, `--destructive-foreground`                | Danger actions                              |\n| Borders / focus | `border-border`, `border-input`, `ring-ring`                                           | `--border`, `--input`, `--ring`                            | Used by `outline-ring/50` too               |\n| Charts          | `bg-chart-1`, `text-chart-2`                                                           | `--chart-1` ... `--chart-5`                                | Data viz palettes                           |\n| Sidebar         | `bg-sidebar`, `text-sidebar-foreground`, `bg-sidebar-primary`, `border-sidebar-border` | `--sidebar-*`                                              | Handy for dashboard layouts                 |\n| Status accents  | `bg-accent-success`, `text-accent-danger-foreground`                                   | `--accent-<name>`, `--accent-<name>-foreground`            | Optional: only if preset defines `accent-*` |\n| Radius scale    | `rounded-sm`, `rounded-md`, `rounded-lg`, `rounded-xl`                                 | `--radius-sm`, `--radius-md`, `--radius-lg`, `--radius-xl` | Derived from `--radius`                     |\n| Tracking scale  | `tracking-tighter`, `tracking-wide`                                                    | `--tracking-*`                                             | Derived from `--letter-spacing`             |\n| Fonts           | `font-sans`, `font-serif`, `font-mono`                                                 | `--font-sans`, `--font-serif`, `--font-mono`               | Defaults in `base.css`                      |\n| Shadows         | `shadow-sm`, `shadow-md`, `shadow-xl`                                                  | `--shadow-*`                                               | Derived from `--shadow-*` knobs             |\n\n---\n\n## 🧱 Components\n\n### `ThemeToggle`\n\nReady-made mode toggle button (with View Transition ripple when supported).\n\n```tsx\n\"use client\";\n\nimport { ThemeToggle } from \"@fakhrirafiki/theme-engine\";\n\nexport function HeaderThemeToggle() {\n  return <ThemeToggle size=\"md\" variant=\"ghost\" />;\n}\n```\n\n### `ThemePresetButtons`\n\nAnimated preset picker (shows custom presets first, then built-ins):\n\n```tsx\n\"use client\";\n\nimport { ThemePresetButtons } from \"@fakhrirafiki/theme-engine\";\n\nexport function PresetPicker() {\n  return <ThemePresetButtons />;\n}\n```\n\n### 🧾 Recipe: `ThemePresetSelect` (simple list)\n\nWant a simple, scrollable preset list (e.g. for a settings modal)? Copy-paste this component and style it however you like.\n\n> Note: this snippet uses Tailwind utility classes. If you don’t use Tailwind, replace the classes with your own styles/UI components.\n\n```tsx\n\"use client\";\n\nimport { formatColor, useThemeEngine } from \"@fakhrirafiki/theme-engine\";\n\ntype ThemePresetSelectProps = {\n  allowedPresetIds?: string[];\n};\n\nexport function ThemePresetSelect({\n  allowedPresetIds = [\"modern-minimal\", \"violet-bloom\", \"supabase\", \"claude\", \"mono\"],\n}: ThemePresetSelectProps) {\n  const { currentTheme, applyThemeById, availablePresets, resolvedMode } = useThemeEngine();\n\n  const presets = allowedPresetIds\n    .map((id) => {\n      const preset = availablePresets[id];\n      if (!preset) return null;\n      return { id, label: preset.label };\n    })\n    .filter((preset): preset is { id: string; label: string } => preset !== null);\n\n  const getPreviewColors = (presetId: string): string[] => {\n    const preset = availablePresets[presetId];\n    if (!preset) return [];\n\n    const scheme = resolvedMode === \"dark\" ? preset.styles.dark : preset.styles.light;\n    const primary = (scheme as any).primary as string | undefined;\n    const secondary = (scheme as any).secondary as string | undefined;\n    const accent = (scheme as any).accent as string | undefined;\n\n    return [primary, secondary, accent].filter(Boolean) as string[];\n  };\n\n  return (\n    <div className=\"mt-4 max-h-[70vh] space-y-2 overflow-y-auto pr-1\">\n      {presets.map((preset) => {\n        const isActive = currentTheme?.presetId === preset.id;\n        const previewColors = getPreviewColors(preset.id).slice(0, 3);\n\n        return (\n          <button\n            key={preset.id}\n            type=\"button\"\n            className={`w-full rounded-full border px-3 py-2 text-xs transition-colors ${\n              isActive\n                ? \"border-primary/70 bg-primary/10 text-foreground\"\n                : \"border-border bg-muted/40 text-muted-foreground hover:border-muted-foreground/40 hover:bg-muted/60\"\n            }`}\n            onClick={() => applyThemeById(preset.id)}\n          >\n            <span className=\"flex items-center justify-between gap-3\">\n              <span className=\"flex items-center gap-2\">\n                {previewColors.length > 0 && (\n                  <span className=\"flex gap-1\">\n                    {previewColors.map((color, index) => (\n                      <span\n                        key={index}\n                        className=\"inline-block h-2.5 w-2.5 rounded-full border border-foreground/10 shadow-sm\"\n                        style={{ backgroundColor: formatColor(color, \"hex\") }}\n                      />\n                    ))}\n                  </span>\n                )}\n\n                <span className=\"text-xs font-medium text-foreground\">{preset.label}</span>\n              </span>\n\n              {isActive && (\n                <span className=\"inline-flex items-center rounded-full bg-primary/10 px-2 py-0.5 text-[10px] font-medium text-foreground\">\n                  Active\n                </span>\n              )}\n            </span>\n          </button>\n        );\n      })}\n\n      {presets.length === 0 && <p className=\"text-xs text-muted-foreground\">No themes available yet.</p>}\n    </div>\n  );\n}\n```\n\n---\n\n## 🧾 API Reference\n\n### `ThemeProvider`\n\n```ts\n<ThemeProvider\n  defaultMode=\"system\"\n  defaultPreset=\"modern-minimal\"\n  modeStorageKey=\"theme-engine-theme\"\n  presetStorageKey=\"theme-preset\"\n  customPresets={customPresets}\n/>\n```\n\n| Prop               | Type                                     | Default                | Description                                         |\n| ------------------ | ---------------------------------------- | ---------------------- | --------------------------------------------------- |\n| `children`         | `ReactNode`                              | required               | React subtree                                       |\n| `defaultMode`      | `Mode`                                   | `'system'`             | Used when no persisted value for dark mode          |\n| `defaultPreset`    | `BuiltInPresetId \\| keyof customPresets` | `undefined`            | Default preset (see SSR note)                       |\n| `modeStorageKey`   | `string`                                 | `'theme-engine-theme'` | `localStorage` key for mode                         |\n| `presetStorageKey` | `string`                                 | `'theme-preset'`       | `localStorage` key for preset                       |\n| `customPresets`    | `Record<string, TweakCNThemePreset>`     | `undefined`            | Add your own presets (can override built-ins by ID) |\n\n### `useThemeEngine()`\n\nSignature:\n\n```ts\nuseThemeEngine<TCustomPresets = undefined>()\n```\n\nTo get typed custom preset IDs:\n\n```ts\nuseThemeEngine<ThemePresets<typeof customPresets>>();\n```\n\nReturn fields:\n\n| Field                  | Type                                                  | Description                                                                      |\n| ---------------------- | ----------------------------------------------------- | -------------------------------------------------------------------------------- |\n| `darkMode`             | `boolean`                                             | `resolvedMode === 'dark'`                                                        |\n| `mode`                 | `'light' \\| 'dark' \\| 'system'`                       | Current user preference                                                          |\n| `resolvedMode`         | `'light' \\| 'dark'`                                   | Resolved mode (never `system`)                                                   |\n| `setDarkMode`          | `(mode: Mode) => void`                                | Set `light \\| dark \\| system`                                                    |\n| `toggleDarkMode`       | `(coords?: { x: number; y: number }) => void`         | Toggles light/dark (and exits `system`)                                          |\n| `applyThemeById`       | `(id: ThemeId) => void`                               | Apply a preset by ID (alias: `applyPresetById`)                                  |\n| `clearTheme`           | `() => void`                                          | Clear preset and fall back to `defaultPreset` if provided (alias: `clearPreset`) |\n| `currentTheme`         | `{ presetId; presetName; colors; appliedAt } \\| null` | Current preset (alias: `currentPreset`)                                          |\n| `isUsingDefaultPreset` | `boolean`                                             | Whether current preset equals `defaultPreset`                                    |\n| `availablePresets`     | `Record<string, TweakCNThemePreset>`                  | Built-in + custom                                                                |\n| `builtInPresets`       | `Record<string, TweakCNThemePreset>`                  | Built-in only                                                                    |\n| `customPresets`        | `Record<string, TweakCNThemePreset>`                  | Custom only                                                                      |\n\n### Utilities\n\n| Export                         | Description                                    |\n| ------------------------------ | ---------------------------------------------- |\n| `formatColor(color, format)`   | Converts a color string into `hsl`/`rgb`/`hex` |\n| `withAlpha(hslTriplet, alpha)` | Adds alpha to an HSL triplet                   |\n\n---\n\n## 🩹 Troubleshooting\n\n### `useThemeEngine must be used within a ThemeProvider`\n\nWrap your component tree with `ThemeProvider` (and ensure the component is a client component).\n\nNote: the thrown error string might mention `useTheme` because `useThemeEngine()` uses it internally.\n\n### Preset doesn’t apply on refresh\n\n`ThemeProvider` injects a pre-hydration script automatically. Avoid injecting another preset-restoration script manually (you may end up with duplicates).\n\n### Styles don’t load / components look unstyled\n\nEnsure your `globals.css` imports `@fakhrirafiki/theme-engine/styles` (and Tailwind v4 is configured if you rely on Tailwind utilities).\n\n### Turbopack: “module factory is not available” (HMR) after upgrading\n\nThis is a Next.js Turbopack dev/HMR issue that can happen after updating dependencies in `node_modules` (or when using a locally linked package that rebuilds `dist/` while `next dev` is running).\n\n- Restart `next dev` (often enough).\n- If it persists: delete `.next/` and restart.\n- Workaround: run dev server with webpack: `next dev --webpack`\n\n---\n\n## License\n\nMIT\n","readmeFilename":"README.md"}