{"_id":"@aliugurlafci/aula-lib","_rev":"19-76c6734e38a8186029ad3be4d00d0d38","name":"@aliugurlafci/aula-lib","dist-tags":{"latest":"0.1.18"},"versions":{"0.1.0":{"name":"@aliugurlafci/aula-lib","version":"0.1.0","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.0","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/your-username/aula-lib#readme","bugs":{"url":"https://github.com/your-username/aula-lib/issues"},"dist":{"shasum":"d6ecbad2e86d304ec1d2708a166776182bf0b63c","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.0.tgz","fileCount":11,"integrity":"sha512-a0dhJ2orcaO17DWLjnbz029h+xJx6AYBi++k77dvnL3lVZpoHqgu4tUM//d1Q6c1pQ0+fhQyFcJufdw7XVSvfw==","signatures":[{"sig":"MEYCIQCaU+rC4IpGBAtfMY8kLmhn4EVEMgnFdwksN+7CLouzFwIhAO2o9Dy2m5FYzzptKeoVPb6cyXviUkgS2dugAvuSrO/X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2706375},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"8df611457adbcd9d9e6d88827bc9e76b3bc844be","scripts":{"dev":"next dev","lint":"eslint","build":"next build","start":"next start","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/your-username/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","clsx":"^2.1.1","xlsx":"^0.18.5","jspdf":"^4.1.0","dashjs":"^5.1.1","hls.js":"^1.6.15","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","jspdf-autotable":"^5.0.7","react-hook-form":"^7.71.1","@floating-ui/react":"^0.27.17","@hookform/resolvers":"^5.2.2","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0"},"peerDependenciesMeta":{"tailwindcss":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.0_1770214792316_0.8135195656713317","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aliugurlafci/aula-lib","version":"0.1.1","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.1","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"31665887df406e6a755954fadad75b5f9ade61b9","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.1.tgz","fileCount":11,"integrity":"sha512-vbf8nPYZ+ZHIt6qaiEr/nw3vfWezjF7ERFCUVo+gElLLzI9SwqlMo0ARbN8oSfIUkNQIajdKMWH5dE+QeaV/LA==","signatures":[{"sig":"MEUCIQDGXxzvMYyGKoXtUMPzUSDGUzcGIvVU18wVP3x8L7ZWhQIgZBc1YbH7TbB0NGFvCq16Q8G1ALkMDwbuaYCfdKVWTyk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2706372},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"8df611457adbcd9d9e6d88827bc9e76b3bc844be","scripts":{"dev":"next dev","lint":"eslint","build":"next build","start":"next start","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","clsx":"^2.1.1","xlsx":"^0.18.5","jspdf":"^4.1.0","dashjs":"^5.1.1","hls.js":"^1.6.15","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","jspdf-autotable":"^5.0.7","react-hook-form":"^7.71.1","@floating-ui/react":"^0.27.17","@hookform/resolvers":"^5.2.2","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0"},"peerDependenciesMeta":{"tailwindcss":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.1_1770267963799_0.7370637296875822","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@aliugurlafci/aula-lib","version":"0.1.2","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.2","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"a94bccc8ab07756e9cc1710c204b9098c9821e9e","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.2.tgz","fileCount":11,"integrity":"sha512-P0KNpMuH7o/p/uDQRHa/7Rv1UGqzTQhM5FZ50VX2Iz4ER7O0v/15JL8m35bBsrUCVXi+HC3jFbmwo2O5wrNTew==","signatures":[{"sig":"MEUCIG4T3kh6OMfiL4AHdXemFpXdrwpA5a1yNM/fVAkF5S/nAiEA3MXetWUZE2ZAiRxF+e9/Pk9sNeNmA2gAa4jZ6D7YyV8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2706376},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"8df611457adbcd9d9e6d88827bc9e76b3bc844be","scripts":{"dev":"next dev","lint":"eslint","build":"next build","start":"next start","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"zod":"^4.3.6","clsx":"^2.1.1","xlsx":"^0.18.5","jspdf":"^4.1.0","dashjs":"^5.1.1","hls.js":"^1.6.15","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","jspdf-autotable":"^5.0.7","react-hook-form":"^7.71.1","@floating-ui/react":"^0.27.17","@hookform/resolvers":"^5.2.2","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0"},"peerDependenciesMeta":{"tailwindcss":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.2_1770268927477_0.5818292206025906","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@aliugurlafci/aula-lib","version":"0.1.3","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.3","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"d0bc2f9c038ef9655eccd7336351d86e11749639","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.3.tgz","fileCount":23,"integrity":"sha512-dUwCs+87QFPXBLYy24s/tyY8puAO0Vkk5Q1nWCl8j1Avf4+BEbNBfxtmbmd/Gt/PVVoR4EpIUfnX3ZF08aVKrA==","signatures":[{"sig":"MEUCIQDYKTl/AgZ7H5vdohs5fFGVp6A4KSiZDJtIAv2915+koAIgIspZ7Y+n2gOV1jVmloluHLqy1MCbWCRK1QS7PI5N/OI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5526150},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"8df611457adbcd9d9e6d88827bc9e76b3bc844be","scripts":{"dev":"next dev","lint":"eslint","build":"next build","start":"next start","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.3_1770271501375_0.7787257447615508","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@aliugurlafci/aula-lib","version":"0.1.4","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.4","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"3d5109770bbfed01aa8f4aa39b34f15c2e50795e","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.4.tgz","fileCount":23,"integrity":"sha512-qp/nvZdNPJVWI8zDr5JQbma9eol98/GtNlcg50q3erkUM0NWMGSk2t0+i3jdYdQhuTyFmwBLjwFrhxxi4wtuPQ==","signatures":[{"sig":"MEUCIA+dltleIwDkcV4O3lsfAdb8oW9etgXDluwlEK16xZSIAiEAu0ns1Rz/lDLXem11lIGPR/8PnVV6HOyjtWF7tOw07YY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5696059},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"8df611457adbcd9d9e6d88827bc9e76b3bc844be","scripts":{"dev":"next dev","lint":"eslint","build":"next build","start":"next start","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.4_1770273460412_0.49087085106274464","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@aliugurlafci/aula-lib","version":"0.1.5","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.5","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"1fa24ddbde2143763b8ba3c419d378c53080a33e","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.5.tgz","fileCount":23,"integrity":"sha512-feDL93CCmLV56fnEwHqhdkds0J6A5NEYPRRWcOvlpfwdgDqAdu2q/jMCRV0G8KjGq1tuP9PmRah9CHhid046qQ==","signatures":[{"sig":"MEYCIQCqv2Zc7NfdP9ZKVyh3uxa0/xVVHrxGC/4VyKxNQjIHLgIhAMZQ5k6Gey/PFhlsTZcQBn5lY1fJZRbosFHyh+W5iMF1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5796149},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"8df611457adbcd9d9e6d88827bc9e76b3bc844be","scripts":{"dev":"next dev","lint":"eslint","build":"next build","start":"next start","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.5_1770274489827_0.9295584109139328","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@aliugurlafci/aula-lib","version":"0.1.6","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.6","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"3013ddaa7b9f73198110986fb9b06ce1d63bbf2f","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.6.tgz","fileCount":23,"integrity":"sha512-pSXYBlftvQpDW785HNOOMgtEllc6TEWaRP14DaYYxw2ZreJOI7EX7bCyERekSK43ZEkpSDgC3V2piMvuKVevyQ==","signatures":[{"sig":"MEUCIQCCKjoUE+IVgM8dXyYG8SlJcYRyhh7Lqeo0ifq8B/0nrwIgBt0uc4I/BlEYPf80P1xgNK55zwinGZwjwqSPJmmfQF4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5819276},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"4ff56f55d22b24b2e335f820e6db7228227e18e7","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.6_1770276602520_0.17967661562459747","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@aliugurlafci/aula-lib","version":"0.1.7","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.7","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"889958ae20001f395de2df1d3999a244c5445368","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.7.tgz","fileCount":23,"integrity":"sha512-qpjyx6LrTDc89ldtdGnSmaLCmaIwIFHV8H6Buaw66DIhykHAxKCVKNPKTWAQJYzgkF5tmW1zDnnOPY4ddmFiJA==","signatures":[{"sig":"MEUCIQD0gebZTVUr1W2Bw79hteS9JFQw4kvbXiDUCBJFVIhIIgIgNOJA4n4eBahqxDOWdHre5ldOgN6yTkG8QVvuaTjCvJk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5826514},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"98bd793d92ed6da8485a8989bfb2d95b01232a5c","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.7_1770276799923_0.6118996921744642","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@aliugurlafci/aula-lib","version":"0.1.8","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.8","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"6ca491c20384cb5515da036c44a09683257112d8","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.8.tgz","fileCount":23,"integrity":"sha512-Pr6Ibv6WLcbfg48E3hjqzUuad+mWuzzJ0Oi6pN7ZYQtp6eKwyPI1E/Kgq675dxMh0K1wJWv1qqMqeLtLguP8/Q==","signatures":[{"sig":"MEUCIAT7qdcrgGOToqIku/wTNKfpRxoyQVviZ7SJBAPhMMrnAiEA3NoW8y6/eCSAtGHWeCDWjcheWFZIprj8E9b3nScMYAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5826514},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"edab8de9e53896b20bf004c066bdcffb50a8c10e","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.8_1770276854524_0.5494777151396721","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@aliugurlafci/aula-lib","version":"0.1.9","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.9","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"2c95a85d37acfbee04148d9335c0b45b285e8378","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.9.tgz","fileCount":29,"integrity":"sha512-jIcevmAPSt7WpDeL5+X005YZ1LvMUrWToyk7VDfoPDvycv+YvT6O+gmLEMpuZ9/rDOjw1sFG6Esmx1IfTCjK4Q==","signatures":[{"sig":"MEQCIBonf52TJnx6oButmHslKVl3ou/RvkpVnrNz6J8IDmUTAiBu7iBrwpJka89vZliKk6dSWv61MEeOtDchAqpLbl6UwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5747586},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./form":{"import":{"types":"./dist/form.d.mts","default":"./dist/form.mjs"},"require":{"types":"./dist/form.d.ts","default":"./dist/form.cjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"86ba7e58de7d3ce36b8eb3bd38222e77d58b84df","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.9_1770277062692_0.19184736403028624","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@aliugurlafci/aula-lib","version":"0.1.10","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.10","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"c56e30e9ef116cf5232c704ddce9194ee44318fa","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.10.tgz","fileCount":29,"integrity":"sha512-9EQSzleyuwD5renHtPSGNP0ZDKv/Jt0ctepGt/Xw91z2Z6xJUl152tgPK7W3TUkNXPJwbzxOW3Qy/zMxHcLZhQ==","signatures":[{"sig":"MEUCIQD8YVGzDF66Wj1f8zBKqsQV3jF8AH81dfMyyp8EIwGn0QIgKxCLGpKYGbX4R/MHjaAqXs3I1PCZfIhk1iz91OVt/BA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5749923},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./form":{"import":{"types":"./dist/form.d.mts","default":"./dist/form.mjs"},"require":{"types":"./dist/form.d.ts","default":"./dist/form.cjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"85028d374f0967580ca5975c88c3b1bcad9c454d","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.10_1770279530517_0.7216719614288654","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@aliugurlafci/aula-lib","version":"0.1.11","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.11","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"cba55fa3f1033beb8778b03aab9621fd9413b2f0","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.11.tgz","fileCount":29,"integrity":"sha512-IdF7TXvZyeVKuy0/SOMkmvzhseS+PLkfUZSeK+lf59WhVPOTXQovvgY+3VJD2/UX4HzfDTw3CFxVFSjjEN0sdA==","signatures":[{"sig":"MEUCIQDGbe+rY+Yenk5bGYl7tMj2cVpzDM+Ee3s1SNEKZgea6AIgMSu07Z/ZZ7ILVKtk+VNRH3DVTG73KMxcGWdFkxUdPUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5749925},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./form":{"import":{"types":"./dist/form.d.mts","default":"./dist/form.mjs"},"require":{"types":"./dist/form.d.ts","default":"./dist/form.cjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"750ba3b4d0079a3afb5760b6fbf87504f93684e2","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.11_1770280683649_0.987877152802451","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@aliugurlafci/aula-lib","version":"0.1.12","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.12","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"21c8ff813ba2f8d05d12a8f89bf0cd718240bf79","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.12.tgz","fileCount":29,"integrity":"sha512-harx3QpL1KJQ5zjKAwvI90nweOuIIXOYn3FW97NR+wY35IZbPpAjHdzzVEjhbmcalElPPrY3lY/Y7JKbIWUX3w==","signatures":[{"sig":"MEQCIFrBSuGA1mGVtY1F3aHFup0ouIC0v19K+K2gU1TJwgDqAiBsPKRZueEWBrkcjp5O7/zXI+2vFy9BBivYdE+Tj2GWVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5761898},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./form":{"import":{"types":"./dist/form.d.mts","default":"./dist/form.mjs"},"require":{"types":"./dist/form.d.ts","default":"./dist/form.cjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"604bb25ec763830d1f1aafc9d78051c78c569904","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.12_1770282219287_0.09169540347988692","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@aliugurlafci/aula-lib","version":"0.1.13","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.13","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"d4565996e4a5224b8f0354413a76821c839d34bf","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.13.tgz","fileCount":29,"integrity":"sha512-tB7WPuONpthb9Xv+21fU1JjGwOaQPWjA7z0iroiaYkAmWt3DWb/4hvZ8djw/+U6qpe5SC3NO/QqRtMUy3+mz7Q==","signatures":[{"sig":"MEUCIQDsw2KheHPcpcNiRfF98jtWQHZqE09p266HZ3v3Tm6K1QIge50upvWMwWTlk15cygnXTnK7Ltto5lav6ZRRBmDkGio=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5761898},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./form":{"import":{"types":"./dist/form.d.mts","default":"./dist/form.mjs"},"require":{"types":"./dist/form.d.ts","default":"./dist/form.cjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"4fe48bdcda785538b8bff7e6e8b8927b46d1846d","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.13_1770282732271_0.856401632663732","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@aliugurlafci/aula-lib","version":"0.1.14","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.14","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"5bbbfb25c179cef2046600d6f3a0a8030996fb57","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.14.tgz","fileCount":29,"integrity":"sha512-a66QU7MllB91f/T4ivkUrsqPqMZmOSxfvJbDT6U6vrYydTfSymjg69A887Hs0n4b82q2EA2JLMw19khruv6hIg==","signatures":[{"sig":"MEUCID+EL2uoz+LtFYkmizyUE+duPx8Nfg0fgv9OmXkvl40MAiEAm0K+Ap8T4aF9sybbE/jMe1uQSSu058dY7IokFMkSh2w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5676502},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./form":{"import":{"types":"./dist/form.d.mts","default":"./dist/form.mjs"},"require":{"types":"./dist/form.d.ts","default":"./dist/form.cjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"ca8c4443ca59755421e9f369960660cbf7376ae3","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.14_1770287914089_0.6088757219514074","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@aliugurlafci/aula-lib","version":"0.1.15","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.15","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"383069a02af5bd2c5a937be2826273ad04183959","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.15.tgz","fileCount":29,"integrity":"sha512-is5KeWLOKWdCAj9GsLCQyljA/U39C6S60qT6R2CAG/Zv6zEUMn7wir3RcHeQ2Oh1fV8CbddGERKZFIk+y+JfSg==","signatures":[{"sig":"MEUCIDSomWEjgMWXQmbjchyJNiGSqH+fXJBEfkog970IFUK6AiEAjx32qHghsGmm90xIK2VZf85h9clOOxMbw8ShsGzYZzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5709161},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./form":{"import":{"types":"./dist/form.d.mts","default":"./dist/form.mjs"},"require":{"types":"./dist/form.d.ts","default":"./dist/form.cjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"a7583b5dacceb368196e3044476fcbc3e33724c6","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.15_1770288988390_0.11049721647639976","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@aliugurlafci/aula-lib","version":"0.1.16","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.16","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"7ca353e99c1be2747d2c46324da89abfde7c7b11","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.16.tgz","fileCount":29,"integrity":"sha512-DAba3tJ4PacjVK8e+il+g8vBRj5IGrHmIZHUY5GPqABpF8fB/SQGPDycbP9E8lBB+vMuj4Rgkg5Zj2jKVx+4hA==","signatures":[{"sig":"MEQCIEbtQYvKurwPbmSH/addzcu+5dVIdut7WcjpOrtKLzA9AiB9Z9YpMDN1ZbacRdXsXNQWYBFhZDAxi8HONYGDUGud/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5712251},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./form":{"import":{"types":"./dist/form.d.mts","default":"./dist/form.mjs"},"require":{"types":"./dist/form.d.ts","default":"./dist/form.cjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"a7583b5dacceb368196e3044476fcbc3e33724c6","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.16_1770301400457_0.8868963295930847","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@aliugurlafci/aula-lib","version":"0.1.17","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"author":{"name":"Aula"},"license":"MIT","_id":"@aliugurlafci/aula-lib@0.1.17","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"dist":{"shasum":"b260f5fd0229bb02e4a6f57f8436f9bf268f3044","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.17.tgz","fileCount":29,"integrity":"sha512-1Jh7XT0J3MF8yIe+f74jM0h536Xy4Ojk5ZAjUqbMItoK7xvaClZt6TdSgdX31yFO20vRBkeW2AvfVTc1yBf4pg==","signatures":[{"sig":"MEYCIQDdvDm5QCJoAHdJl1RVLMfoU0RBufkSkjsCHZ4z+VobBAIhAJZkGvGyVf9Blf1NJsxHvQWfQU7dSQPL16tZPKV8h18s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5711843},"main":"./dist/index.cjs","types":"./dist/index.d.ts","module":"./dist/index.mjs","engines":{"node":">=18.0.0"},"exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./form":{"import":{"types":"./dist/form.d.mts","default":"./dist/form.mjs"},"require":{"types":"./dist/form.d.ts","default":"./dist/form.cjs"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.cjs"}},"./server":{"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.cjs"},"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"gitHead":"a7583b5dacceb368196e3044476fcbc3e33724c6","scripts":{"dev":"tsup --watch","lint":"eslint","build":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","build:lib":"tsup && npm run build:css","typecheck":"tsc --noEmit","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"repository":{"url":"git+https://github.com/aliugurlafci/aula-lib.git","type":"git"},"_npmVersion":"11.6.2","description":"Modern glassmorphism React component library with 32+ components","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.19.0","dependencies":{"clsx":"^2.1.1","motion":"^12.30.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","tailwind-merge":"^3.4.0","@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"16.1.6","tsup":"^8.5.1","react":"19.2.3","eslint":"^9","cssnano":"^7.1.2","react-dom":"19.2.3","typescript":"^5","@types/node":"^20","postcss-cli":"^11.0.1","tailwindcss":"^4","@types/react":"^19","@types/react-dom":"^19","eslint-config-next":"16.1.6","@tailwindcss/postcss":"^4"},"peerDependencies":{"zod":">=3.20.0","xlsx":">=0.18.0","jspdf":">=2.5.0","react":">=18.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","react-dom":">=18.0.0","tailwindcss":">=4.0.0","jspdf-autotable":">=3.5.0","react-hook-form":">=7.45.0","@hookform/resolvers":">=3.0.0"},"peerDependenciesMeta":{"zod":{"optional":true},"xlsx":{"optional":true},"jspdf":{"optional":true},"dashjs":{"optional":true},"hls.js":{"optional":true},"tailwindcss":{"optional":true},"jspdf-autotable":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/aula-lib_0.1.17_1770301533035_0.6564902571436804","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@aliugurlafci/aula-lib","version":"0.1.18","description":"Modern glassmorphism React component library with 55+ components","author":{"name":"Aula"},"license":"MIT","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"repository":{"type":"git","url":"git+https://github.com/aliugurlafci/aula-lib.git"},"homepage":"https://github.com/aliugurlafci/aula-lib#readme","bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"engines":{"node":">=18.0.0"},"publishConfig":{"access":"public"},"main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.mjs"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"./server":{"react-server":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"import":{"types":"./dist/server.d.mts","default":"./dist/server.mjs"},"require":{"types":"./dist/server.d.ts","default":"./dist/server.js"}},"./client":{"import":{"types":"./dist/client.d.mts","default":"./dist/client.mjs"},"require":{"types":"./dist/client.d.ts","default":"./dist/client.js"}},"./form":{"import":{"types":"./dist/form.d.mts","default":"./dist/form.mjs"},"require":{"types":"./dist/form.d.ts","default":"./dist/form.js"}},"./styles.css":"./dist/styles.css","./tailwind.preset":"./tailwind.preset.js"},"sideEffects":["*.css"],"scripts":{"dev":"tsup --watch","build":"tsup && npm run build:css","build:lib":"tsup && npm run build:css","build:css":"postcss src/styles/aula.css -o dist/styles.css --config postcss.build.config.mjs","prepublishOnly":"npm run build:lib","lint":"eslint","typecheck":"tsc --noEmit"},"peerDependencies":{"@hookform/resolvers":">=3.0.0","dashjs":">=4.0.0","hls.js":">=1.4.0","jspdf":">=2.5.0","jspdf-autotable":">=3.5.0","react":">=18.0.0","react-dom":">=18.0.0","react-hook-form":">=7.45.0","tailwindcss":">=4.0.0","xlsx":">=0.18.0","zod":">=3.20.0"},"peerDependenciesMeta":{"tailwindcss":{"optional":true},"react-hook-form":{"optional":true},"@hookform/resolvers":{"optional":true},"hls.js":{"optional":true},"dashjs":{"optional":true},"jspdf":{"optional":true},"jspdf-autotable":{"optional":true},"xlsx":{"optional":true},"zod":{"optional":true}},"dependencies":{"@floating-ui/react":"^0.27.17","@tanstack/react-virtual":"^3.13.18","class-variance-authority":"^0.7.1","clsx":"^2.1.1","date-fns":"^4.1.0","lucide-react":"^0.563.0","motion":"^12.30.1","tailwind-merge":"^3.4.0"},"devDependencies":{"@hookform/resolvers":"^5.7.1","@tailwindcss/postcss":"^4","@types/node":"^20","@types/react":"^19","@types/react-dom":"^19","cssnano":"^7.1.2","eslint":"^9","eslint-config-next":"16.1.6","next":"16.1.6","postcss-cli":"^11.0.1","react":"19.2.3","react-dom":"19.2.3","react-hook-form":"^7.84.0","tailwindcss":"^4","tsup":"^8.5.1","typescript":"^5","zod":"^3.25.76"},"gitHead":"b0064e7e659369f9fa5de1df15b4892c3a30c48d","_id":"@aliugurlafci/aula-lib@0.1.18","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-wNcWSzISerR+uQebPyXst/p3LtQTCOyqaSjhKgyP1YIuVXMW6Dg000CV0uD5BPJSR7t3nc2bx/Skn7duvTD3SQ==","shasum":"d2884a343caec6077f46498bc15a9ce8fa2b72b6","tarball":"https://registry.npmjs.org/@aliugurlafci/aula-lib/-/aula-lib-0.1.18.tgz","fileCount":29,"unpackedSize":7526616,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC9JySZCAUdumcvyd0X6L8f9zUzoHoOu/nPXyfzovfI+QIgGoRsuSpfhzgeCBhXo/7C2YBaCaSqGOHS1xngCyCDY3Q="}]},"_npmUser":{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"},"directories":{},"maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/aula-lib_0.1.18_1786002172312_0.02958346848983129"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-04T14:19:52.214Z","modified":"2026-08-06T07:42:52.646Z","0.1.0":"2026-02-04T14:19:52.516Z","0.1.1":"2026-02-05T05:06:04.000Z","0.1.2":"2026-02-05T05:22:07.705Z","0.1.3":"2026-02-05T06:05:01.581Z","0.1.4":"2026-02-05T06:37:40.612Z","0.1.5":"2026-02-05T06:54:50.037Z","0.1.6":"2026-02-05T07:30:02.723Z","0.1.7":"2026-02-05T07:33:20.131Z","0.1.8":"2026-02-05T07:34:14.724Z","0.1.9":"2026-02-05T07:37:42.859Z","0.1.10":"2026-02-05T08:18:50.698Z","0.1.11":"2026-02-05T08:38:03.819Z","0.1.12":"2026-02-05T09:03:39.477Z","0.1.13":"2026-02-05T09:12:12.536Z","0.1.14":"2026-02-05T10:38:34.306Z","0.1.15":"2026-02-05T10:56:28.557Z","0.1.16":"2026-02-05T14:23:20.677Z","0.1.17":"2026-02-05T14:25:33.289Z","0.1.18":"2026-08-06T07:42:52.510Z"},"bugs":{"url":"https://github.com/aliugurlafci/aula-lib/issues"},"author":{"name":"Aula"},"license":"MIT","homepage":"https://github.com/aliugurlafci/aula-lib#readme","keywords":["react","components","ui","glassmorphism","tailwindcss","typescript","design-system"],"repository":{"type":"git","url":"git+https://github.com/aliugurlafci/aula-lib.git"},"description":"Modern glassmorphism React component library with 55+ components","maintainers":[{"name":"aliugurlafci","email":"ali.ugur.lafci@gmail.com"}],"readme":"# Aula UI Library\r\n\r\nModern glassmorphism tabanlı React component library. 55+ bileşen ile modern ve şık kullanıcı arayüzleri oluşturun.\r\n\r\n![npm version](https://img.shields.io/npm/v/@aliugurlafci/aula-lib)\r\n![license](https://img.shields.io/npm/l/@aliugurlafci/aula-lib)\r\n\r\n## ✨ Özellikler\r\n\r\n- 🎨 **Glassmorphism Design** - Katmanlı cam yüzeyler, specular highlight ve `saturate` ile vibrancy\r\n- 🌙 **Dark/Light/System Theme** - `data-theme` ile otomatik tema; hiç ayar yapılmazsa `prefers-color-scheme` takip edilir\r\n- 🪄 **`auto` variant** - Bileşenler varsayılan olarak aktif temayı izler; `light`/`dark` açık override olarak kalır\r\n- 📱 **Responsive** - Mobil uyumlu bileşenler\r\n- 🎯 **TypeScript** - Tam tip desteği\r\n- 🌳 **RSC-uyumlu giriş noktaları** - `/server` girişi tree-shake edilebilir (~4.6 KB gzip); istemci girişi tek bir bundle olarak gelir (~94 KB gzip)\r\n- ♿ **Accessible** - WCAG uyumlu\r\n- ⚡ **Lazy Loading** - Opsiyonel bağımlılıklar dinamik olarak yüklenir\r\n\r\n## 📦 Kurulum\r\n\r\n```bash\r\nnpm install @aliugurlafci/aula-lib\r\n# veya\r\nyarn add @aliugurlafci/aula-lib\r\n# veya\r\npnpm add @aliugurlafci/aula-lib\r\n```\r\n\r\n### Gerekli Peer Dependencies\r\n\r\n```bash\r\nnpm install react react-dom\r\n```\r\n\r\n### Opsiyonel Peer Dependencies\r\n\r\nBelirli özellikleri kullanmak için ek paketler gerekebilir:\r\n\r\n| Paket | Özellik | Kurulum |\r\n|-------|---------|---------|\r\n| `tailwindcss@4` | Tailwind CSS entegrasyonu | `npm install tailwindcss@4` |\r\n| `xlsx` | Excel export (GlassTable) | `npm install xlsx` |\r\n| `jspdf` + `jspdf-autotable` | PDF export (GlassTable) | `npm install jspdf jspdf-autotable` |\r\n| `hls.js` | HLS streaming (GlassVideoPlayer) | `npm install hls.js` |\r\n| `dashjs` | DASH streaming (GlassVideoPlayer) | `npm install dashjs` |\r\n| `react-hook-form` + `zod` | Form validation (GlassForm) | `npm install react-hook-form @hookform/resolvers zod` |\r\n\r\n> **Not:** Opsiyonel bağımlılıklar sadece ilgili özellik kullanıldığında dinamik olarak yüklenir. Yüklü değilse, fallback davranışı devreye girer veya kullanıcıya bilgi veren hata mesajı gösterilir.\r\n\r\n## 🚀 Hızlı Başlangıç\r\n\r\n### 1. Tailwind CSS v4 Kurulumu (Önerilen)\r\n\r\n> ⚠️ **Önemli:** Bu kütüphane **Tailwind CSS v4** gerektirir. v3 kullanıyorsanız önce upgrade edin.\r\n\r\n`tailwind.config.js` dosyanıza preset ekleyin:\r\n\r\n```js\r\n// tailwind.config.js\r\nmodule.exports = {\r\n  presets: [require('@aliugurlafci/aula-lib/tailwind.preset')],\r\n  content: [\r\n    './src/**/*.{js,ts,jsx,tsx}',\r\n    './node_modules/@aliugurlafci/aula-lib/dist/**/*.{js,mjs}',\r\n  ],\r\n}\r\n```\r\n\r\n### 2. CSS Import\r\n\r\n```tsx\r\n// app.tsx veya main.tsx\r\nimport '@aliugurlafci/aula-lib/styles.css'\r\n```\r\n\r\n### 3. Bileşenleri Kullanın\r\n\r\n```tsx\r\nimport { GlassButton, GlassCard, GlassInput } from '@aliugurlafci/aula-lib'\r\n\r\nfunction App() {\r\n  return (\r\n    <GlassCard title=\"Hoş Geldiniz\">\r\n      <GlassInput placeholder=\"Adınızı girin\" />\r\n      <GlassButton variant=\"primary\">Gönder</GlassButton>\r\n    </GlassCard>\r\n  )\r\n}\r\n```\r\n\r\n### 4. Next.js App Router ile Kullanım\r\n\r\nServer Component'ları için ayrı import kullanın:\r\n\r\n```tsx\r\n// Server Components için\r\nimport { GlassCard, GlassButton, GlassBadge } from '@aliugurlafci/aula-lib/server'\r\n\r\n// Client Components için\r\nimport { GlassInput, GlassModal, GlassTable } from '@aliugurlafci/aula-lib/client'\r\n\r\n// veya tüm bileşenler (client)\r\nimport { ... } from '@aliugurlafci/aula-lib'\r\n```\r\n\r\n---\r\n\r\n## 🔧 Providers & Hooks\r\n\r\n### ThemeProvider\r\n\r\nTema yönetimi için uygulamanızı `ThemeProvider` ile sarın. Provider `data-theme`\r\nniteliğini `<html>` üzerine yazar; bileşenler bu niteliğe bağlı CSS değişkenlerinden\r\nbeslenir.\r\n\r\n```tsx\r\nimport { ThemeProvider } from '@aliugurlafci/aula-lib'\r\n\r\nfunction App() {\r\n  return (\r\n    <ThemeProvider defaultTheme=\"system\">\r\n      <YourApp />\r\n    </ThemeProvider>\r\n  )\r\n}\r\n```\r\n\r\n`defaultTheme=\"system\"` işletim sistemi tercihini izler ve tercih değiştiğinde\r\ncanlı olarak güncellenir. Kullanıcı seçimi `localStorage`'a yazılır ve açık\r\nsekmeler arasında senkronize edilir.\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `children` | `ReactNode` | - | Alt bileşenler |\r\n| `defaultTheme` | `\"system\" \\| \"light\" \\| \"dark\"` | `\"system\"` | Başlangıç modu |\r\n| `storageKey` | `string \\| null` | `\"aula-theme\"` | localStorage anahtarı. `null` ile kalıcılık kapatılır |\r\n| `attribute` | `string` | `\"data-theme\"` | Yazılacak DOM niteliği |\r\n| `element` | `HTMLElement \\| null` | `document.documentElement` | Niteliği alacak eleman |\r\n| `enableSystem` | `boolean` | `true` | `system` modunu ve OS takibini aç/kapat |\r\n\r\n> **SSR notu:** Provider artık ilk render'da `null` döndürmez; `children` sunucuda\r\n> da render edilir, tema niteliği effect içinde uygulanır. Böylece boş ilk boyama\r\n> ve hydration uyuşmazlığı oluşmaz.\r\n\r\n---\r\n\r\n### ThemeScript\r\n\r\nİlk boyamadan önce temayı uygulayarak \"tema sıçraması\"nı (flash) engeller.\r\nNext.js App Router'da `<head>` içine koyun:\r\n\r\n```tsx\r\n// app/layout.tsx\r\nimport { ThemeScript, ThemeProvider } from '@aliugurlafci/aula-lib'\r\nimport '@aliugurlafci/aula-lib/styles.css'\r\n\r\nexport default function RootLayout({ children }) {\r\n  return (\r\n    <html lang=\"tr\" suppressHydrationWarning>\r\n      <head>\r\n        <ThemeScript defaultTheme=\"system\" />\r\n      </head>\r\n      <body>\r\n        <ThemeProvider defaultTheme=\"system\">{children}</ThemeProvider>\r\n      </body>\r\n    </html>\r\n  )\r\n}\r\n```\r\n\r\n---\r\n\r\n### useGlassTheme\r\n\r\nTema durumunu okumak ve değiştirmek için kullanılır.\r\n\r\n```tsx\r\nimport { useGlassTheme } from '@aliugurlafci/aula-lib'\r\n\r\nfunction ThemeToggle() {\r\n  const { themeVariant, setTheme, toggleTheme } = useGlassTheme()\r\n  \r\n  return (\r\n    <div>\r\n      <p>Aktif tema: {themeVariant}</p>\r\n      <button onClick={toggleTheme}>Tema Değiştir</button>\r\n      <button onClick={() => setTheme('dark')}>Karanlık Mod</button>\r\n    </div>\r\n  )\r\n}\r\n```\r\n\r\n#### Dönen Değerler\r\n\r\n| Değer | Tip | Açıklama |\r\n|-------|-----|----------|\r\n| `theme` | `GlassTheme` | Aktif tema objesi (renkler, stiller) |\r\n| `themeVariant` | `\"light\" \\| \"dark\"` | Çözümlenmiş tema (`system` burada çözülmüş gelir) |\r\n| `mode` | `\"system\" \\| \"light\" \\| \"dark\"` | Talep edilen mod |\r\n| `mounted` | `boolean` | İstemci tarafında tercih okundu mu |\r\n| `setTheme` | `(mode: ThemeMode) => void` | Modu değiştirir |\r\n| `toggleTheme` | `() => void` | Light ↔ dark arasında geçiş yapar |\r\n\r\n> `useGlassTheme`, provider dışında kullanılırsa hata fırlatır. Provider olmadan da\r\n> çalışması gereken bileşenler için `useGlassThemeSafe` kullanın; bu sürüm light\r\n> temaya geri düşer.\r\n\r\n---\r\n\r\n### useGlassStyle\r\n\r\nDinamik glass stilleri oluşturmak için kullanılır.\r\n\r\n```tsx\r\nimport { useGlassStyle } from '@aliugurlafci/aula-lib'\r\n\r\nfunction CustomGlassComponent() {\r\n  const { baseStyle, hoverStyle, getGlassClasses, theme } = useGlassStyle({\r\n    blur: 'lg',\r\n    shadow: 'md',\r\n    bordered: true,\r\n    hoverable: true\r\n  })\r\n  \r\n  return (\r\n    <div style={baseStyle} className={getGlassClasses('my-custom-class')}>\r\n      Custom glass bileşen\r\n    </div>\r\n  )\r\n}\r\n```\r\n\r\n#### Options\r\n\r\n| Option | Tip | Varsayılan | Açıklama |\r\n|--------|-----|------------|----------|\r\n| `blur` | `\"none\" \\| \"sm\" \\| \"md\" \\| \"lg\" \\| \"xl\" \\| \"2xl\"` | `\"md\"` | Blur yoğunluğu |\r\n| `shadow` | `\"none\" \\| \"sm\" \\| \"md\" \\| \"lg\" \\| \"xl\"` | `\"md\"` | Gölge yoğunluğu |\r\n| `bordered` | `boolean` | `true` | Kenarlık göster |\r\n| `hoverable` | `boolean` | `false` | Hover efekti aktif |\r\n| `glow` | `boolean` | `false` | Accent renginde dış parıltı ekle |\r\n\r\n---\r\n\r\n## 📚 Core Bileşenler\r\n\r\n### GlassButton\r\n\r\nGlass efektli buton bileşeni.\r\n\r\n```tsx\r\nimport { GlassButton } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassButton buttonType=\"primary\" size=\"large\">\r\n  Kaydet\r\n</GlassButton>\r\n\r\n<GlassButton buttonType=\"dashed\" danger loading>\r\n  Siliniyor...\r\n</GlassButton>\r\n\r\n<GlassButton icon={<SearchIcon />} shape=\"circle\" />\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `buttonType` | `\"default\" \\| \"primary\" \\| \"dashed\" \\| \"text\" \\| \"link\"` | `\"default\"` | Buton stili |\r\n| `size` | `\"small\" \\| \"middle\" \\| \"large\"` | `\"middle\"` | Buton boyutu |\r\n| `variant` | `ThemeVariant` | - | Tema varyantı |\r\n| `blur` | `BlurSize` | `\"md\"` | Blur yoğunluğu |\r\n| `shadow` | `ShadowSize` | `\"md\"` | Gölge yoğunluğu |\r\n| `bordered` | `boolean` | `true` | Kenarlık göster |\r\n| `icon` | `ReactNode` | - | Sol ikon |\r\n| `iconRight` | `ReactNode` | - | Sağ ikon |\r\n| `loading` | `boolean` | `false` | Yükleniyor durumu |\r\n| `danger` | `boolean` | `false` | Tehlike stili |\r\n| `ghost` | `boolean` | `false` | Transparan arkaplan |\r\n| `block` | `boolean` | `false` | Tam genişlik |\r\n| `shape` | `\"default\" \\| \"circle\" \\| \"round\"` | `\"default\"` | Buton şekli |\r\n\r\n---\r\n\r\n### GlassCard\r\n\r\nGlass efektli kart bileşeni.\r\n\r\n```tsx\r\nimport { GlassCard } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassCard \r\n  title=\"Başlık\"\r\n  extra={<a href=\"#\">Daha Fazla</a>}\r\n  hoverable\r\n  actions={[<EditIcon />, <DeleteIcon />]}\r\n>\r\n  Kart içeriği\r\n</GlassCard>\r\n\r\n<GlassCard cover={<img src=\"/image.jpg\" alt=\"Cover\" />} loading>\r\n  Yükleniyor...\r\n</GlassCard>\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `title` | `ReactNode` | - | Kart başlığı |\r\n| `extra` | `ReactNode` | - | Sağ üst köşe içerik |\r\n| `cover` | `ReactNode` | - | Üst kapak görseli |\r\n| `actions` | `ReactNode[]` | - | Alt aksiyon butonları |\r\n| `hoverable` | `boolean` | `false` | Hover efekti |\r\n| `loading` | `boolean` | `false` | Skeleton göster |\r\n| `size` | `\"default\" \\| \"small\"` | `\"default\"` | Kart boyutu |\r\n| `variant` | `ThemeVariant` | - | Tema varyantı |\r\n| `blur` | `BlurSize` | - | Blur yoğunluğu |\r\n| `shadow` | `ShadowSize` | - | Gölge yoğunluğu |\r\n| `bordered` | `boolean` | `true` | Kenarlık göster |\r\n\r\n---\r\n\r\n### GlassAvatar\r\n\r\nKullanıcı avatar bileşeni.\r\n\r\n```tsx\r\nimport { GlassAvatar, GlassAvatarGroup } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassAvatar src=\"/user.jpg\" size=\"large\" />\r\n\r\n<GlassAvatar icon={<UserIcon />} shape=\"square\" />\r\n\r\n<GlassAvatar>AB</GlassAvatar>\r\n\r\n<GlassAvatarGroup max={{ count: 3 }}>\r\n  <GlassAvatar src=\"/user1.jpg\" />\r\n  <GlassAvatar src=\"/user2.jpg\" />\r\n  <GlassAvatar src=\"/user3.jpg\" />\r\n  <GlassAvatar src=\"/user4.jpg\" />\r\n</GlassAvatarGroup>\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `src` | `string` | - | Resim URL'i |\r\n| `size` | `number \\| \"small\" \\| \"default\" \\| \"large\"` | `\"default\"` | Avatar boyutu |\r\n| `shape` | `\"circle\" \\| \"square\"` | `\"circle\"` | Avatar şekli |\r\n| `icon` | `ReactNode` | - | İkon (resim yoksa) |\r\n| `alt` | `string` | - | Alternatif metin |\r\n| `gap` | `number` | - | Metin içerik boşluğu |\r\n| `onError` | `() => boolean \\| void` | - | Hata handler |\r\n\r\n---\r\n\r\n### GlassBadge\r\n\r\nSayaç ve durum göstergesi.\r\n\r\n```tsx\r\nimport { GlassBadge, GlassBadgeRibbon } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassBadge count={5}>\r\n  <GlassButton>Mesajlar</GlassButton>\r\n</GlassBadge>\r\n\r\n<GlassBadge dot status=\"processing\">\r\n  <GlassAvatar src=\"/user.jpg\" />\r\n</GlassBadge>\r\n\r\n<GlassBadge count={99} overflowCount={50} />\r\n\r\n<GlassBadgeRibbon text=\"İndirim\" color=\"red\">\r\n  <GlassCard>İçerik</GlassCard>\r\n</GlassBadgeRibbon>\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `count` | `ReactNode` | - | Gösterilecek sayı |\r\n| `dot` | `boolean` | `false` | Nokta göster |\r\n| `overflowCount` | `number` | `99` | Max görünen sayı |\r\n| `showZero` | `boolean` | `false` | Sıfırı göster |\r\n| `status` | `\"success\" \\| \"processing\" \\| \"default\" \\| \"error\" \\| \"warning\"` | - | Durum rengi |\r\n| `color` | `string` | - | Özel renk |\r\n| `offset` | `[number, number]` | - | Pozisyon offset |\r\n| `size` | `\"default\" \\| \"small\"` | `\"default\"` | Badge boyutu |\r\n| `text` | `ReactNode` | - | Durum metni |\r\n\r\n---\r\n\r\n### GlassFloatingButton\r\n\r\nYüzen aksiyon butonu.\r\n\r\n```tsx\r\nimport { GlassFloatingButton } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassFloatingButton \r\n  icon={<PlusIcon />}\r\n  position=\"bottom-right\"\r\n  onClick={() => console.log('Tıklandı')}\r\n/>\r\n```\r\n\r\n---\r\n\r\n## 📝 Data Entry Bileşenleri\r\n\r\n### GlassInput\r\n\r\nGlass efektli metin giriş alanı.\r\n\r\n```tsx\r\nimport { GlassInput, GlassTextArea } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassInput \r\n  label=\"E-posta\"\r\n  placeholder=\"ornek@email.com\"\r\n  prefix={<MailIcon />}\r\n  allowClear\r\n/>\r\n\r\n<GlassInput \r\n  status=\"error\"\r\n  error=\"Geçersiz e-posta adresi\"\r\n/>\r\n\r\n<GlassInput \r\n  addonBefore=\"https://\"\r\n  addonAfter=\".com\"\r\n/>\r\n\r\n<GlassTextArea \r\n  label=\"Açıklama\"\r\n  autoSize={{ minRows: 3, maxRows: 6 }}\r\n  showCount\r\n  maxLength={500}\r\n/>\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `label` | `ReactNode` | - | Etiket |\r\n| `size` | `\"small\" \\| \"middle\" \\| \"large\"` | `\"middle\"` | Boyut |\r\n| `status` | `\"error\" \\| \"warning\"` | - | Doğrulama durumu |\r\n| `inputVariant` | `\"outlined\" \\| \"borderless\" \\| \"filled\"` | `\"outlined\"` | Görsel varyant |\r\n| `allowClear` | `boolean` | `false` | Temizle butonu |\r\n| `prefix` | `ReactNode` | - | Sol içerik |\r\n| `suffix` | `ReactNode` | - | Sağ içerik |\r\n| `addonBefore` | `ReactNode` | - | Sol eklenti |\r\n| `addonAfter` | `ReactNode` | - | Sağ eklenti |\r\n| `showCount` | `boolean` | `false` | Karakter sayacı |\r\n| `error` | `string` | - | Hata mesajı |\r\n\r\n---\r\n\r\n### GlassSelect\r\n\r\nSeçim kutusu bileşeni.\r\n\r\n```tsx\r\nimport { GlassSelect } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassSelect\r\n  label=\"Şehir\"\r\n  placeholder=\"Şehir seçin\"\r\n  options={[\r\n    { label: 'İstanbul', value: 'istanbul' },\r\n    { label: 'Ankara', value: 'ankara' },\r\n    { label: 'İzmir', value: 'izmir' }\r\n  ]}\r\n  showSearch\r\n  allowClear\r\n/>\r\n\r\n<GlassSelect\r\n  mode=\"multiple\"\r\n  placeholder=\"Etiketler\"\r\n  maxTagCount={3}\r\n  options={tags}\r\n/>\r\n\r\n<GlassSelect\r\n  mode=\"tags\"\r\n  placeholder=\"Yeni etiket ekle\"\r\n/>\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `options` | `GlassSelectOption[]` | - | Seçenek listesi |\r\n| `mode` | `\"single\" \\| \"multiple\" \\| \"tags\"` | `\"single\"` | Seçim modu |\r\n| `value` | `string \\| number \\| (string \\| number)[]` | - | Seçili değer |\r\n| `placeholder` | `ReactNode` | - | Placeholder |\r\n| `allowClear` | `boolean` | `false` | Temizle butonu |\r\n| `showSearch` | `boolean` | `false` | Arama kutusu |\r\n| `filterOption` | `boolean \\| Function` | - | Filtreleme fonksiyonu |\r\n| `loading` | `boolean` | `false` | Yükleniyor durumu |\r\n| `maxCount` | `number` | - | Max seçim sayısı |\r\n| `maxTagCount` | `number \\| \"responsive\"` | - | Max tag görüntüsü |\r\n| `size` | `\"small\" \\| \"middle\" \\| \"large\"` | `\"middle\"` | Boyut |\r\n| `status` | `\"error\" \\| \"warning\"` | - | Doğrulama durumu |\r\n| `disabled` | `boolean` | `false` | Devre dışı |\r\n| `label` | `ReactNode` | - | Etiket |\r\n| `error` | `string` | - | Hata mesajı |\r\n\r\n---\r\n\r\n### GlassSwitch\r\n\r\nToggle switch bileşeni.\r\n\r\n```tsx\r\nimport { GlassSwitch } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassSwitch \r\n  checked={enabled}\r\n  onChange={setEnabled}\r\n/>\r\n\r\n<GlassSwitch \r\n  checkedChildren=\"Açık\"\r\n  unCheckedChildren=\"Kapalı\"\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassDatePicker\r\n\r\nTarih seçici bileşeni.\r\n\r\n```tsx\r\nimport { GlassDatePicker } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassDatePicker \r\n  label=\"Doğum Tarihi\"\r\n  placeholder=\"Tarih seçin\"\r\n  onChange={(date) => console.log(date)}\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassColorPicker\r\n\r\nRenk seçici bileşeni.\r\n\r\n```tsx\r\nimport { GlassColorPicker } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassColorPicker \r\n  value=\"#3b82f6\"\r\n  onChange={(color) => console.log(color)}\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassNumberInput\r\n\r\nSayı giriş bileşeni.\r\n\r\n```tsx\r\nimport { GlassNumberInput } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassNumberInput \r\n  label=\"Miktar\"\r\n  min={0}\r\n  max={100}\r\n  step={5}\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassTransfer\r\n\r\nTransfer listesi bileşeni.\r\n\r\n```tsx\r\nimport { GlassTransfer } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassTransfer\r\n  dataSource={items}\r\n  targetKeys={selectedKeys}\r\n  onChange={setSelectedKeys}\r\n  titles={['Mevcut', 'Seçili']}\r\n  render={(item) => item.title}\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassCheckbox\r\n\r\n```tsx\r\nimport { GlassCheckbox, GlassCheckboxGroup } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassCheckbox defaultChecked>Şartları kabul ediyorum</GlassCheckbox>\r\n\r\n<GlassCheckbox indeterminate description=\"Bazı alt öğeler seçili\">\r\n  Tümünü seç\r\n</GlassCheckbox>\r\n\r\n<GlassCheckboxGroup\r\n  direction=\"vertical\"\r\n  options={[\r\n    { label: 'E-posta', value: 'email', description: 'Haftalık özet' },\r\n    { label: 'SMS', value: 'sms' },\r\n    { label: 'Push', value: 'push', disabled: true },\r\n  ]}\r\n  defaultValue={['email']}\r\n  onChange={(values) => console.log(values)}\r\n/>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `checked` / `defaultChecked` | `boolean` | - | Kontrollü / kontrolsüz durum |\r\n| `indeterminate` | `boolean` | `false` | Karışık (\"tümünü seç\") durumu |\r\n| `size` | `\"small\" \\| \"middle\" \\| \"large\"` | `\"middle\"` | Kutu boyutu |\r\n| `description` | `ReactNode` | - | Etiket altı yardımcı metin |\r\n| `error` | `ReactNode` | - | Doğrulama mesajı; kutuyu hata rengine çevirir |\r\n| `onChange` | `(checked, event) => void` | - | Değişim callback'i |\r\n\r\n---\r\n\r\n### GlassRadio\r\n\r\nÜç sunum biçimi: klasik nokta, segment butonları ve kart.\r\n\r\n```tsx\r\nimport { GlassRadio, GlassRadioGroup } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassRadioGroup\r\n  defaultValue=\"monthly\"\r\n  options={[{ label: 'Aylık', value: 'monthly' }, { label: 'Yıllık', value: 'yearly' }]}\r\n/>\r\n\r\n<GlassRadioGroup optionType=\"button\" defaultValue=\"grid\"\r\n  options={[{ label: 'Izgara', value: 'grid' }, { label: 'Liste', value: 'list' }]} />\r\n\r\n<GlassRadioGroup\r\n  optionType=\"card\"\r\n  defaultValue=\"pro\"\r\n  options={[\r\n    { label: 'Başlangıç', value: 'starter', description: '5 proje', icon: <Zap /> },\r\n    { label: 'Pro', value: 'pro', description: 'Sınırsız proje', icon: <Rocket /> },\r\n  ]}\r\n/>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `optionType` | `\"default\" \\| \"button\" \\| \"card\"` | `\"default\"` | Sunum biçimi |\r\n| `value` / `defaultValue` | `string \\| number` | - | Seçili değer |\r\n| `direction` | `\"horizontal\" \\| \"vertical\"` | `\"horizontal\"` | Yerleşim |\r\n| `name` | `string` | otomatik | Input `name` değeri |\r\n\r\n---\r\n\r\n### GlassSlider\r\n\r\n```tsx\r\nimport { GlassSlider } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassSlider defaultValue={40} tooltip=\"hover\" />\r\n\r\n<GlassSlider range defaultValue={[20, 70]} onChangeComplete={(v) => console.log(v)} />\r\n\r\n<GlassSlider\r\n  step={null}\r\n  marks={[\r\n    { value: 0, label: 'Düşük' },\r\n    { value: 50, label: 'Orta' },\r\n    { value: 100, label: 'Yüksek' },\r\n  ]}\r\n  defaultValue={50}\r\n/>\r\n\r\n<GlassSlider vertical height={220} defaultValue={60} />\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `min` / `max` | `number` | `0` / `100` | Aralık |\r\n| `step` | `number \\| null` | `1` | Adım. `null` ise yalnızca marks'a yapışır |\r\n| `range` | `boolean` | `false` | Çift tutamaçlı aralık seçimi |\r\n| `vertical` | `boolean` | `false` | Dikey yerleşim |\r\n| `marks` | `GlassSliderMark[] \\| Record<number, ReactNode>` | - | Tik işaretleri |\r\n| `tooltip` | `\"always\" \\| \"hover\" \\| \"none\"` | `\"hover\"` | Değer balonu |\r\n| `onChange` | `(value) => void` | - | Sürüklerken her değişimde |\r\n| `onChangeComplete` | `(value) => void` | - | Tutamaç bırakıldığında |\r\n\r\n> Klavye desteği: ok tuşları, `PageUp`/`PageDown`, `Home`/`End`.\r\n\r\n---\r\n\r\n### GlassRate\r\n\r\n```tsx\r\nimport { GlassRate } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassRate defaultValue={3} />\r\n<GlassRate allowHalf defaultValue={3.5} tooltips={['Kötü', 'Zayıf', 'Normal', 'İyi', 'Harika']} />\r\n<GlassRate readOnly value={4} size={16} />\r\n<GlassRate character={<Heart />} count={3} />\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `count` | `number` | `5` | Sembol sayısı |\r\n| `allowHalf` | `boolean` | `false` | Yarım puan |\r\n| `allowClear` | `boolean` | `true` | Aynı değere tıklayınca sıfırla |\r\n| `readOnly` | `boolean` | `false` | Salt okunur |\r\n| `character` | `ReactNode \\| (index) => ReactNode` | yıldız | Özel sembol |\r\n\r\n---\r\n\r\n### GlassUpload\r\n\r\n```tsx\r\nimport { GlassUpload } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassUpload\r\n  accept=\"image/*\"\r\n  listType=\"picture\"\r\n  maxSize={5 * 1024 * 1024}\r\n  maxCount={5}\r\n  hint=\"PNG, JPG — en fazla 5 MB\"\r\n  customRequest={async (file, onProgress) => {\r\n    const body = new FormData()\r\n    body.append('file', file.originFileObj!)\r\n    await uploadWithProgress('/api/upload', body, onProgress)\r\n  }}\r\n  onChange={(files) => console.log(files)}\r\n  onReject={(files, reason) => alert(reason)}\r\n/>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `listType` | `\"dragger\" \\| \"text\" \\| \"picture\"` | `\"dragger\"` | Sunum biçimi |\r\n| `maxSize` | `number` | - | Bayt cinsinden üst sınır |\r\n| `maxCount` | `number` | - | En fazla dosya sayısı |\r\n| `beforeUpload` | `(file, list) => boolean \\| Promise<boolean>` | - | `false` dönerse dosya reddedilir |\r\n| `customRequest` | `(file, onProgress) => Promise<void>` | - | Gerçek yükleme işi; `onProgress` ilerleme çubuğunu sürer |\r\n| `onReject` | `(files, reason) => void` | - | Reddedilen dosyalar ve gerekçesi |\r\n\r\n> Görsel önizlemeleri için üretilen object URL'ler bileşen sökülünce serbest bırakılır.\r\n\r\n---\r\n\r\n## 📊 Data Display Bileşenleri\r\n\r\n### GlassTable\r\n\r\nGelişmiş tablo bileşeni.\r\n\r\n```tsx\r\nimport { GlassTable } from '@aliugurlafci/aula-lib'\r\n\r\nconst columns = [\r\n  { title: 'Ad', dataIndex: 'name', sorter: true },\r\n  { title: 'Yaş', dataIndex: 'age', sorter: (a, b) => a.age - b.age },\r\n  { \r\n    title: 'Durum', \r\n    dataIndex: 'status',\r\n    filters: [\r\n      { text: 'Aktif', value: 'active' },\r\n      { text: 'Pasif', value: 'inactive' }\r\n    ]\r\n  },\r\n  {\r\n    title: 'İşlem',\r\n    render: (_, record) => <button onClick={() => edit(record)}>Düzenle</button>\r\n  }\r\n]\r\n\r\n<GlassTable\r\n  dataSource={data}\r\n  columns={columns}\r\n  rowSelection={{\r\n    type: 'checkbox',\r\n    onChange: (keys, rows) => console.log(keys, rows)\r\n  }}\r\n  pagination={{ pageSize: 10 }}\r\n  toolbar={{\r\n    search: true,\r\n    columnChooser: true,\r\n    density: true,\r\n    export: {\r\n      formats: ['csv', 'excel', 'pdf'],\r\n      filename: 'rapor'\r\n    }\r\n  }}\r\n/>\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `dataSource` | `T[]` | - | Veri kaynağı |\r\n| `columns` | `GlassColumnType<T>[]` | - | Kolon tanımları |\r\n| `rowKey` | `string \\| ((record: T) => string)` | `\"id\"` | Satır key'i |\r\n| `rowSelection` | `GlassRowSelection<T>` | - | Satır seçimi config |\r\n| `pagination` | `GlassTablePaginationConfig \\| false` | - | Sayfalama config |\r\n| `loading` | `boolean` | `false` | Yükleniyor durumu |\r\n| `bordered` | `boolean` | `false` | Kenarlık göster |\r\n| `size` | `\"large\" \\| \"middle\" \\| \"small\"` | `\"middle\"` | Tablo boyutu |\r\n| `showHeader` | `boolean` | `true` | Header göster |\r\n| `sticky` | `boolean \\| { offsetHeader?: number }` | - | Sticky header |\r\n| `expandable` | `GlassExpandable<T>` | - | Genişletilebilir satırlar |\r\n| `toolbar` | `GlassTableToolbarConfig<T>` | - | Araç çubuğu config |\r\n| `onChange` | `Function` | - | Değişiklik callback |\r\n\r\n#### Toolbar Config\r\n\r\n```tsx\r\ntoolbar={{\r\n  search: true | { placeholder: 'Ara...', onSearch: (v) => {} },\r\n  columnChooser: true,\r\n  filters: true,\r\n  density: true,\r\n  fullScreen: true,\r\n  refresh: true | { onRefresh: async () => {} },\r\n  export: {\r\n    formats: ['csv', 'json', 'excel', 'pdf'],\r\n    filename: 'export',\r\n    onExport: (format, data) => {}\r\n  },\r\n  import: { onImport: (data) => {} },\r\n  actions: <CustomActions />,\r\n  position: 'top' | 'bottom' | 'both'\r\n}}\r\n```\r\n\r\n> **Not:** Excel export için `xlsx`, PDF export için `jspdf` ve `jspdf-autotable` paketleri gereklidir.\r\n\r\n---\r\n\r\n### GlassImage\r\n\r\nResim bileşeni.\r\n\r\n```tsx\r\nimport { GlassImage } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassImage \r\n  src=\"/photo.jpg\"\r\n  alt=\"Fotoğraf\"\r\n  preview\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassSkeleton\r\n\r\nYükleme iskeleti bileşeni.\r\n\r\n```tsx\r\nimport { GlassSkeleton } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassSkeleton active paragraph={{ rows: 4 }} />\r\n\r\n<GlassSkeleton.Avatar active />\r\n<GlassSkeleton.Button active />\r\n<GlassSkeleton.Input active />\r\n```\r\n\r\n---\r\n\r\n### GlassStatistics\r\n\r\nİstatistik kartları.\r\n\r\n```tsx\r\nimport { GlassStatistics } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassStatistics\r\n  title=\"Toplam Satış\"\r\n  value={112893}\r\n  precision={2}\r\n  prefix=\"₺\"\r\n  valueStyle={{ color: '#3f8600' }}\r\n/>\r\n\r\n<GlassStatistics\r\n  title=\"Aktif Kullanıcılar\"\r\n  value={1128}\r\n  suffix=\"kişi\"\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassTimeline\r\n\r\nZaman çizelgesi bileşeni.\r\n\r\n```tsx\r\nimport { GlassTimeline } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassTimeline\r\n  items={[\r\n    { children: 'Sipariş oluşturuldu', color: 'green' },\r\n    { children: 'Ödeme alındı', color: 'green' },\r\n    { children: 'Kargoya verildi', color: 'blue' },\r\n    { children: 'Teslim edildi', color: 'gray', dot: <CheckIcon /> }\r\n  ]}\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassTreeView\r\n\r\nAğaç görünümü bileşeni.\r\n\r\n```tsx\r\nimport { GlassTreeView } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassTreeView\r\n  treeData={[\r\n    {\r\n      key: '1',\r\n      title: 'Klasör 1',\r\n      children: [\r\n        { key: '1-1', title: 'Dosya 1' },\r\n        { key: '1-2', title: 'Dosya 2' }\r\n      ]\r\n    }\r\n  ]}\r\n  checkable\r\n  defaultExpandAll\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassTag\r\n\r\n```tsx\r\nimport { GlassTag } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassTag color=\"accent\">Yeni</GlassTag>\r\n<GlassTag color=\"success\" appearance=\"solid\" dot>Yayında</GlassTag>\r\n<GlassTag color=\"error\" appearance=\"outline\" closable onClose={() => {}}>Hata</GlassTag>\r\n<GlassTag color=\"#ec4899\" rounded icon={<Star />}>Öne çıkan</GlassTag>\r\n<GlassTag clickable checked={selected} onClick={toggle}>Filtre</GlassTag>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `color` | semantik ad veya CSS rengi | `\"default\"` | `default`, `accent`, `success`, `warning`, `error`, `info` ya da ham renk |\r\n| `appearance` | `\"soft\" \\| \"solid\" \\| \"outline\"` | `\"soft\"` | Dolgu biçimi |\r\n| `size` | `\"small\" \\| \"middle\" \\| \"large\"` | `\"middle\"` | Boyut |\r\n| `closable` | `boolean` | `false` | Kapatma butonu |\r\n| `onClose` | `(event) => void \\| false` | - | `false` dönerse etiket kaldırılmaz |\r\n| `clickable` / `checked` | `boolean` | `false` | Seçilebilir çip davranışı |\r\n\r\n---\r\n\r\n### GlassAccordion\r\n\r\n```tsx\r\nimport { GlassAccordion } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassAccordion\r\n  accordion\r\n  defaultActiveKey={['1']}\r\n  items={[\r\n    { key: '1', label: 'Kargo', children: 'Siparişler 2 iş günü içinde kargolanır.', icon: <Truck /> },\r\n    { key: '2', label: 'İade', children: '14 gün içinde koşulsuz iade.', extra: <GlassTag>Yeni</GlassTag> },\r\n  ]}\r\n/>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `items` | `GlassAccordionItem[]` | - | Paneller |\r\n| `accordion` | `boolean` | `false` | Aynı anda tek panel açık |\r\n| `appearance` | `\"separated\" \\| \"contained\" \\| \"ghost\"` | `\"separated\"` | Panel sunumu |\r\n| `expandIconPosition` | `\"start\" \\| \"end\"` | `\"end\"` | Ok konumu |\r\n| `destroyInactivePanel` | `boolean` | `true` | Kapalı paneli DOM'dan kaldır |\r\n\r\n---\r\n\r\n### GlassDescriptions\r\n\r\nAnahtar/değer listesi — detay sayfaları için.\r\n\r\n```tsx\r\nimport { GlassDescriptions } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassDescriptions\r\n  title=\"Sipariş bilgisi\"\r\n  bordered\r\n  column={{ sm: 1, md: 2, lg: 3 }}\r\n  items={[\r\n    { label: 'Sipariş no', children: '#12983' },\r\n    { label: 'Durum', children: <GlassTag color=\"success\">Tamamlandı</GlassTag> },\r\n    { label: 'Adres', children: 'Kadıköy, İstanbul', span: 2 },\r\n  ]}\r\n/>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `items` | `GlassDescriptionItem[]` | - | Satırlar (`span` ile kolon birleştirme) |\r\n| `column` | `number \\| { sm, md, lg }` | `3` | Kolon sayısı (responsive) |\r\n| `layout` | `\"horizontal\" \\| \"vertical\"` | `\"horizontal\"` | Etiket/değer yerleşimi |\r\n| `bordered` | `boolean` | `false` | Cam panel ve satır çizgileri |\r\n\r\n---\r\n\r\n### GlassCarousel\r\n\r\n```tsx\r\nimport { GlassCarousel } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassCarousel autoPlay interval={5000} dots=\"bars\">\r\n  <img src=\"/1.jpg\" alt=\"\" />\r\n  <img src=\"/2.jpg\" alt=\"\" />\r\n</GlassCarousel>\r\n\r\n<GlassCarousel slidesPerView={3} gap={20} loop={false}>\r\n  {products.map((p) => <ProductCard key={p.id} {...p} />)}\r\n</GlassCarousel>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `autoPlay` / `interval` | `boolean` / `number` | `false` / `4000` | Otomatik geçiş |\r\n| `slidesPerView` | `number` | `1` | Aynı anda görünen slayt |\r\n| `gap` | `number` | `16` | Slaytlar arası boşluk (px) |\r\n| `dots` | `\"dots\" \\| \"bars\" \\| \"none\"` | `\"dots\"` | Sayfalama göstergesi |\r\n| `draggable` | `boolean` | `true` | Sürükle/kaydır |\r\n| `pauseOnHover` | `boolean` | `true` | Fare üzerindeyken durakla |\r\n\r\n> Sol/sağ ok tuşları ile klavyeden de gezilebilir.\r\n\r\n---\r\n\r\n## 🧭 Navigation Bileşenleri\r\n\r\n### GlassTabs\r\n\r\nSekme bileşeni.\r\n\r\n```tsx\r\nimport { GlassTabs } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassTabs\r\n  items={[\r\n    { key: 'profile', label: 'Profil', children: <ProfilePage /> },\r\n    { key: 'settings', label: 'Ayarlar', icon: <SettingsIcon />, children: <SettingsPage /> },\r\n    { key: 'notifications', label: 'Bildirimler', disabled: true }\r\n  ]}\r\n  defaultActiveKey=\"profile\"\r\n  onChange={(key) => console.log(key)}\r\n/>\r\n\r\n<GlassTabs\r\n  type=\"card\"\r\n  tabPosition=\"left\"\r\n  items={items}\r\n/>\r\n\r\n<GlassTabs\r\n  type=\"editable-card\"\r\n  onEdit={(targetKey, action) => {\r\n    if (action === 'add') addTab()\r\n    else removeTab(targetKey)\r\n  }}\r\n  items={items}\r\n/>\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `items` | `GlassTabItem[]` | - | Sekme öğeleri |\r\n| `activeKey` | `string` | - | Aktif sekme key'i |\r\n| `defaultActiveKey` | `string` | - | Varsayılan aktif sekme |\r\n| `tabPosition` | `\"top\" \\| \"right\" \\| \"bottom\" \\| \"left\"` | `\"top\"` | Sekme pozisyonu |\r\n| `type` | `\"line\" \\| \"card\" \\| \"editable-card\"` | `\"line\"` | Sekme tipi |\r\n| `size` | `\"small\" \\| \"middle\" \\| \"large\"` | `\"middle\"` | Boyut |\r\n| `centered` | `boolean` | `false` | Ortalanmış sekmeler |\r\n| `animated` | `boolean \\| object` | `true` | Animasyon |\r\n| `tabBarExtraContent` | `ReactNode \\| object` | - | Ekstra içerik |\r\n| `onChange` | `(activeKey: string) => void` | - | Değişim callback |\r\n| `onEdit` | `Function` | - | Düzenleme callback |\r\n\r\n---\r\n\r\n### GlassNavbar\r\n\r\nNavigasyon çubuğu.\r\n\r\n```tsx\r\nimport { GlassNavbar } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassNavbar\r\n  logo={<Logo />}\r\n  items={[\r\n    { key: 'home', label: 'Ana Sayfa', href: '/' },\r\n    { key: 'about', label: 'Hakkında', href: '/about' },\r\n    { \r\n      key: 'services', \r\n      label: 'Hizmetler',\r\n      children: [\r\n        { key: 'web', label: 'Web Geliştirme' },\r\n        { key: 'mobile', label: 'Mobil Uygulama' }\r\n      ]\r\n    }\r\n  ]}\r\n  extra={<UserMenu />}\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassMenu\r\n\r\nMenü bileşeni.\r\n\r\n```tsx\r\nimport { GlassMenu } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassMenu\r\n  mode=\"vertical\"\r\n  items={[\r\n    { key: 'dashboard', label: 'Dashboard', icon: <DashboardIcon /> },\r\n    { key: 'users', label: 'Kullanıcılar', icon: <UsersIcon /> },\r\n    { type: 'divider' },\r\n    { key: 'settings', label: 'Ayarlar', icon: <SettingsIcon /> }\r\n  ]}\r\n  selectedKeys={['dashboard']}\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassDropdown\r\n\r\nAçılır menü bileşeni.\r\n\r\n```tsx\r\nimport { GlassDropdown } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassDropdown\r\n  menu={{\r\n    items: [\r\n      { key: 'edit', label: 'Düzenle' },\r\n      { key: 'delete', label: 'Sil', danger: true }\r\n    ],\r\n    onClick: ({ key }) => console.log(key)\r\n  }}\r\n  trigger={['click']}\r\n>\r\n  <GlassButton>İşlemler</GlassButton>\r\n</GlassDropdown>\r\n```\r\n\r\n---\r\n\r\n### GlassBreadcrumb\r\n\r\n```tsx\r\nimport { GlassBreadcrumb } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassBreadcrumb\r\n  bordered\r\n  maxItems={4}\r\n  items={[\r\n    { title: 'Ana sayfa', href: '/', icon: <Home size={14} /> },\r\n    { title: 'Ürünler', href: '/products' },\r\n    { title: 'Ayakkabı', href: '/products/shoes' },\r\n    { title: 'Koşu' },\r\n  ]}\r\n/>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `items` | `GlassBreadcrumbItem[]` | - | Kırıntılar |\r\n| `separator` | `ReactNode` | chevron | Ayırıcı |\r\n| `maxItems` | `number` | `0` | Bu sayıyı aşınca ortadakiler `…` altında toplanır (`0` = hiç toplama) |\r\n| `itemRender` | `(item, isLast) => ReactNode` | - | Next.js `<Link>` gibi özel render |\r\n\r\n---\r\n\r\n### GlassPagination\r\n\r\n```tsx\r\nimport { GlassPagination } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassPagination\r\n  total={195}\r\n  defaultPageSize={20}\r\n  showSizeChanger\r\n  showQuickJumper\r\n  showTotal={(total, [from, to]) => `${total} kayıttan ${from}-${to}`}\r\n  onChange={(page, pageSize) => fetchPage(page, pageSize)}\r\n/>\r\n\r\n<GlassPagination simple total={80} size=\"small\" />\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `total` | `number` | - | Toplam kayıt |\r\n| `current` / `defaultCurrent` | `number` | `1` | Aktif sayfa |\r\n| `pageSize` / `defaultPageSize` | `number` | `10` | Sayfa başına kayıt |\r\n| `siblingCount` | `number` | `1` | Aktif sayfanın iki yanındaki buton sayısı |\r\n| `simple` | `boolean` | `false` | Sadece ileri/geri + sayaç |\r\n| `showSizeChanger` / `showQuickJumper` / `showTotal` | `boolean` | `false` | Ek kontroller |\r\n| `hideOnSinglePage` | `boolean` | `false` | Tek sayfada gizle |\r\n\r\n---\r\n\r\n### GlassSteps\r\n\r\n```tsx\r\nimport { GlassSteps } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassSteps\r\n  current={1}\r\n  items={[\r\n    { title: 'Sepet', description: '3 ürün' },\r\n    { title: 'Teslimat' },\r\n    { title: 'Ödeme' },\r\n  ]}\r\n/>\r\n\r\n<GlassSteps direction=\"vertical\" current={2} status=\"error\"\r\n  items={[{ title: 'Kuyruk' }, { title: 'Derleme' }, { title: 'Dağıtım', description: 'Başarısız' }]} />\r\n\r\n<GlassSteps type=\"dot\" current={0} items={[{ title: 'A' }, { title: 'B' }]} />\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `items` | `GlassStepItem[]` | - | Adımlar |\r\n| `current` | `number` | `0` | Aktif adım (0 tabanlı) |\r\n| `status` | `\"wait\" \\| \"process\" \\| \"finish\" \\| \"error\"` | `\"process\"` | Aktif adımın durumu |\r\n| `direction` | `\"horizontal\" \\| \"vertical\"` | `\"horizontal\"` | Yerleşim |\r\n| `type` | `\"default\" \\| \"dot\" \\| \"navigation\"` | `\"default\"` | Gösterge biçimi |\r\n| `clickable` | `boolean` | `false` | Adımlara tıklanabilir |\r\n| `labelPlacement` | `\"horizontal\" \\| \"vertical\"` | `\"horizontal\"` | Etiket konumu |\r\n\r\n---\r\n\r\n## 💬 Feedback Bileşenleri\r\n\r\n### GlassAlert\r\n\r\nUyarı mesajı bileşeni.\r\n\r\n```tsx\r\nimport { GlassAlert } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassAlert\r\n  type=\"success\"\r\n  message=\"Başarılı!\"\r\n  description=\"İşlem tamamlandı.\"\r\n  showIcon\r\n  closable\r\n/>\r\n\r\n<GlassAlert\r\n  type=\"error\"\r\n  message=\"Hata\"\r\n  description=\"Bir sorun oluştu.\"\r\n  action={<GlassButton size=\"small\">Tekrar Dene</GlassButton>}\r\n/>\r\n\r\n<GlassAlert banner type=\"warning\" message=\"Dikkat!\" />\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `type` | `\"success\" \\| \"error\" \\| \"info\" \\| \"warning\"` | `\"info\"` | Alert tipi |\r\n| `message` | `ReactNode` | - | Başlık mesajı |\r\n| `description` | `ReactNode` | - | Detay açıklama |\r\n| `icon` | `ReactNode` | - | Özel ikon |\r\n| `showIcon` | `boolean` | `false` | İkon göster |\r\n| `closable` | `boolean` | `false` | Kapatılabilir |\r\n| `closeIcon` | `ReactNode` | - | Özel kapatma ikonu |\r\n| `banner` | `boolean` | `false` | Banner stili |\r\n| `action` | `ReactNode` | - | Aksiyon butonu |\r\n| `onClose` | `(e: MouseEvent) => void` | - | Kapatma callback |\r\n| `afterClose` | `() => void` | - | Kapandıktan sonra callback |\r\n\r\n---\r\n\r\n### GlassMessage\r\n\r\nBildirim mesajları.\r\n\r\n```tsx\r\nimport { GlassMessage } from '@aliugurlafci/aula-lib'\r\n\r\nGlassMessage.success('İşlem başarılı!')\r\nGlassMessage.error('Bir hata oluştu')\r\nGlassMessage.warning('Dikkat!')\r\nGlassMessage.info('Bilgi mesajı')\r\nGlassMessage.loading('Yükleniyor...')\r\n```\r\n\r\n---\r\n\r\n### GlassPopover\r\n\r\nPopover bileşeni.\r\n\r\n```tsx\r\nimport { GlassPopover } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassPopover\r\n  title=\"Detaylar\"\r\n  content={<div>Popover içeriği</div>}\r\n  trigger=\"click\"\r\n>\r\n  <GlassButton>Tıkla</GlassButton>\r\n</GlassPopover>\r\n```\r\n\r\n---\r\n\r\n### GlassTooltip\r\n\r\n`@floating-ui` tabanlı, otomatik konumlanan ipucu. Ters yüzey rengi kullandığı\r\niçin her iki temada da sayfadan ayrışır.\r\n\r\n```tsx\r\nimport { GlassTooltip } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassTooltip title=\"Panoya kopyala\" placement=\"top\">\r\n  <GlassButton icon={<Copy />} shape=\"circle\" />\r\n</GlassTooltip>\r\n\r\n<GlassTooltip title=\"Tıklayınca açılır\" trigger=\"click\" mouseEnterDelay={0.3}>\r\n  <span>Detay</span>\r\n</GlassTooltip>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `title` | `ReactNode` | - | İçerik. Boşsa hiçbir şey render edilmez |\r\n| `placement` | `Placement` | `\"top\"` | Tercih edilen yön; yer yoksa otomatik döner |\r\n| `trigger` | `\"hover\" \\| \"focus\" \\| \"click\"` | `\"hover\"` | Açılma tetikleyicisi |\r\n| `mouseEnterDelay` / `mouseLeaveDelay` | `number` (saniye) | `0.1` | Gecikmeler |\r\n| `arrow` | `boolean` | `true` | Ok göster |\r\n\r\n> Klavye odağıyla da açılır (`trigger=\"click\"` hariç) — erişilebilirlik için önemlidir.\r\n\r\n**Not:** Önceki sürümlerde `GlassTooltip`, `GlassPopover` üzerine ince bir sarmalayıcıydı.\r\nArtık bağımsız bir bileşendir; `title`, `placement`, `trigger`, `arrow`,\r\n`mouseEnterDelay`/`mouseLeaveDelay` prop'ları aynı şekilde çalışır.\r\n\r\n---\r\n\r\n### GlassProgress\r\n\r\n```tsx\r\nimport { GlassProgress } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassProgress percent={72} />\r\n<GlassProgress percent={72} status=\"active\" />\r\n<GlassProgress indeterminate />\r\n<GlassProgress steps={5} percent={60} />\r\n<GlassProgress type=\"circle\" percent={88} size={140} />\r\n<GlassProgress type=\"dashboard\" percent={45} gapDegree={90} />\r\n<GlassProgress percent={64} strokeColor={{ from: '#8b5cf6', to: '#06b6d4' }} />\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `type` | `\"line\" \\| \"circle\" \\| \"dashboard\"` | `\"line\"` | Gösterge biçimi |\r\n| `percent` | `number` | `0` | 0-100 arası tamamlanma |\r\n| `indeterminate` | `boolean` | `false` | Süresi bilinmeyen işlem animasyonu |\r\n| `status` | `\"normal\" \\| \"active\" \\| \"success\" \\| \"warning\" \\| \"error\"` | `\"normal\"` | Renk; `active` hareketli parıltı ekler |\r\n| `steps` | `number` | - | Çizgiyi eşit parçalara böler |\r\n| `strokeColor` | `string \\| { from, to }` | - | Sabit renk veya gradyan |\r\n| `format` | `(percent) => ReactNode` | - | Özel etiket |\r\n\r\n---\r\n\r\n### GlassSpinner\r\n\r\n```tsx\r\nimport { GlassSpinner } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassSpinner indicator=\"ring\" size=\"large\" tip=\"Yükleniyor…\" />\r\n<GlassSpinner indicator=\"dots\" />\r\n\r\n{/* İçeriği sarmalayıp üzerine bindirir */}\r\n<GlassSpinner spinning={isLoading}>\r\n  <GlassTable columns={columns} dataSource={rows} />\r\n</GlassSpinner>\r\n\r\n<GlassSpinner fullscreen spinning={isNavigating} />\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `indicator` | `\"ring\" \\| \"dots\" \\| \"bars\" \\| \"pulse\"` | `\"ring\"` | Gösterge biçimi |\r\n| `size` | `\"small\" \\| \"middle\" \\| \"large\" \\| number` | `\"middle\"` | Boyut |\r\n| `spinning` | `boolean` | `true` | Aktiflik |\r\n| `delay` | `number` | `0` | Hızlı yüklemelerde titremeyi önleyen gecikme (ms) |\r\n| `fullscreen` | `boolean` | `false` | Tüm ekranı kaplayan katman |\r\n\r\n---\r\n\r\n### GlassEmpty\r\n\r\n```tsx\r\nimport { GlassEmpty } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassEmpty\r\n  image=\"search\"\r\n  description=\"Sonuç bulunamadı\"\r\n  hint=\"Farklı bir arama terimi deneyin.\"\r\n  action={<GlassButton buttonType=\"primary\">Filtreleri temizle</GlassButton>}\r\n  bordered\r\n/>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `image` | `\"default\" \\| \"search\" \\| \"simple\" \\| ReactNode` | `\"default\"` | Görsel |\r\n| `description` / `hint` | `ReactNode` | `\"No data\"` / - | Metinler |\r\n| `action` | `ReactNode` | - | Eylem butonu |\r\n| `bordered` | `boolean` | `false` | Cam panel içine al |\r\n\r\n---\r\n\r\n### GlassResult\r\n\r\n```tsx\r\nimport { GlassResult } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassResult\r\n  status=\"success\"\r\n  title=\"Ödeme alındı\"\r\n  subTitle=\"Sipariş numaranız #12983.\"\r\n  extra={<GlassButton buttonType=\"primary\">Siparişi görüntüle</GlassButton>}\r\n/>\r\n\r\n<GlassResult status=\"404\" extra={<GlassButton>Ana sayfa</GlassButton>} />\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `status` | `\"success\" \\| \"error\" \\| \"info\" \\| \"warning\" \\| \"403\" \\| \"404\" \\| \"500\"` | `\"info\"` | İkon ve renk |\r\n| `title` / `subTitle` | `ReactNode` | duruma göre | Metinler |\r\n| `extra` | `ReactNode` | - | Eylemler |\r\n| `children` | `ReactNode` | - | Detay paneli (hata dökümü vb.) |\r\n\r\n---\r\n\r\n## 📐 Layout Bileşenleri\r\n\r\n### GlassModal\r\n\r\nModal pencere bileşeni.\r\n\r\n```tsx\r\nimport { GlassModal } from '@aliugurlafci/aula-lib'\r\n\r\nconst [open, setOpen] = useState(false)\r\n\r\n<GlassButton onClick={() => setOpen(true)}>Modal Aç</GlassButton>\r\n\r\n<GlassModal\r\n  open={open}\r\n  title=\"Modal Başlığı\"\r\n  onOk={() => setOpen(false)}\r\n  onCancel={() => setOpen(false)}\r\n  okText=\"Kaydet\"\r\n  cancelText=\"İptal\"\r\n  confirmLoading={saving}\r\n>\r\n  Modal içeriği\r\n</GlassModal>\r\n\r\n// Programatik kullanım\r\nGlassModal.confirm({\r\n  title: 'Emin misiniz?',\r\n  content: 'Bu işlem geri alınamaz.',\r\n  onOk: async () => { await deleteItem() }\r\n})\r\n\r\nGlassModal.success({ title: 'Başarılı', content: 'İşlem tamamlandı.' })\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `open` | `boolean` | - | Modal görünürlüğü |\r\n| `title` | `ReactNode` | - | Modal başlığı |\r\n| `footer` | `ReactNode \\| null` | - | Alt kısım (null = gizle) |\r\n| `closable` | `boolean` | `true` | Kapatma butonu |\r\n| `mask` | `boolean` | `true` | Arkaplan maskesi |\r\n| `maskClosable` | `boolean` | `true` | Maskeye tıklayınca kapat |\r\n| `centered` | `boolean` | `false` | Ekran ortasında |\r\n| `width` | `number \\| string` | `520` | Modal genişliği |\r\n| `destroyOnClose` | `boolean` | `false` | Kapanınca DOM'dan kaldır |\r\n| `okText` | `ReactNode` | `\"OK\"` | Onay butonu metni |\r\n| `cancelText` | `ReactNode` | `\"Cancel\"` | İptal butonu metni |\r\n| `confirmLoading` | `boolean` | `false` | Onay butonu yükleniyor |\r\n| `onOk` | `(e: MouseEvent) => void` | - | Onay callback |\r\n| `onCancel` | `(e: MouseEvent) => void` | - | İptal callback |\r\n| `afterClose` | `() => void` | - | Kapandıktan sonra callback |\r\n| `zIndex` | `number` | - | Z-index değeri |\r\n\r\n---\r\n\r\n### GlassLayout\r\n\r\nSayfa düzeni bileşeni.\r\n\r\n```tsx\r\nimport { GlassLayout } from '@aliugurlafci/aula-lib'\r\n\r\nconst { Header, Sider, Content, Footer } = GlassLayout\r\n\r\n<GlassLayout>\r\n  <Header>Header</Header>\r\n  <GlassLayout>\r\n    <Sider collapsible>Sidebar</Sider>\r\n    <Content>Ana İçerik</Content>\r\n  </GlassLayout>\r\n  <Footer>Footer</Footer>\r\n</GlassLayout>\r\n```\r\n\r\n---\r\n\r\n### GlassSegmented\r\n\r\nSegmented kontrol bileşeni.\r\n\r\n```tsx\r\nimport { GlassSegmented } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassSegmented\r\n  options={['Günlük', 'Haftalık', 'Aylık']}\r\n  value={period}\r\n  onChange={setPeriod}\r\n/>\r\n\r\n<GlassSegmented\r\n  options={[\r\n    { label: 'Liste', value: 'list', icon: <ListIcon /> },\r\n    { label: 'Grid', value: 'grid', icon: <GridIcon /> }\r\n  ]}\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassDrawer\r\n\r\n```tsx\r\nimport { GlassDrawer } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassDrawer\r\n  open={open}\r\n  onClose={() => setOpen(false)}\r\n  placement=\"right\"\r\n  title=\"Filtreler\"\r\n  size={420}\r\n  footer={\r\n    <div className=\"flex justify-end gap-2\">\r\n      <GlassButton onClick={() => setOpen(false)}>Vazgeç</GlassButton>\r\n      <GlassButton buttonType=\"primary\" onClick={apply}>Uygula</GlassButton>\r\n    </div>\r\n  }\r\n>\r\n  <FilterForm />\r\n</GlassDrawer>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `open` | `boolean` | - | Görünürlük (kontrollü) |\r\n| `placement` | `\"left\" \\| \"right\" \\| \"top\" \\| \"bottom\"` | `\"right\"` | Açılma yönü |\r\n| `size` | `number \\| string` | `min(28rem, 100vw)` | Genişlik/yükseklik |\r\n| `mask` / `maskClosable` | `boolean` | `true` | Perde ve perdeye tıklayınca kapanma |\r\n| `keyboard` | `boolean` | `true` | `Escape` ile kapat |\r\n| `footer` / `extra` | `ReactNode` | - | Alt/üst ek alanlar |\r\n| `destroyOnClose` | `boolean` | `true` | Kapalıyken içeriği kaldır |\r\n\r\n> Açıldığında odak panele taşınır, kapanınca önceki elemana geri döner; perde\r\n> açıkken sayfa kaydırması kilitlenir.\r\n\r\n---\r\n\r\n### GlassDivider\r\n\r\n```tsx\r\nimport { GlassDivider } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassDivider />\r\n<GlassDivider>veya</GlassDivider>\r\n<GlassDivider orientation=\"left\" appearance=\"dashed\">Ayarlar</GlassDivider>\r\n<GlassDivider appearance=\"gradient\" spacing=\"large\" />\r\n\r\n<div className=\"flex h-6 items-center\">\r\n  <span>Düzenle</span>\r\n  <GlassDivider direction=\"vertical\" />\r\n  <span>Sil</span>\r\n</div>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `direction` | `\"horizontal\" \\| \"vertical\"` | `\"horizontal\"` | Yön |\r\n| `appearance` | `\"solid\" \\| \"dashed\" \\| \"dotted\" \\| \"gradient\"` | `\"solid\"` | Çizgi stili |\r\n| `orientation` | `\"left\" \\| \"center\" \\| \"right\"` | `\"center\"` | Etiket konumu |\r\n| `spacing` | `\"none\" \\| \"small\" \\| \"middle\" \\| \"large\"` | `\"middle\"` | Boşluk |\r\n\r\n---\r\n\r\n### GlassSpace\r\n\r\nEsnek boşluk yardımcısı.\r\n\r\n```tsx\r\nimport { GlassSpace } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassSpace size=\"middle\">\r\n  <GlassButton>Kaydet</GlassButton>\r\n  <GlassButton>Vazgeç</GlassButton>\r\n</GlassSpace>\r\n\r\n<GlassSpace direction=\"vertical\" size={[8, 16]} block>\r\n  <GlassCard>Bir</GlassCard>\r\n  <GlassCard>İki</GlassCard>\r\n</GlassSpace>\r\n\r\n<GlassSpace split={<GlassDivider direction=\"vertical\" />}>\r\n  <a href=\"#\">Düzenle</a>\r\n  <a href=\"#\">Sil</a>\r\n</GlassSpace>\r\n```\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `direction` | `\"horizontal\" \\| \"vertical\"` | `\"horizontal\"` | Yön |\r\n| `size` | `\"none\" \\| \"xs\" \\| \"small\" \\| \"middle\" \\| \"large\" \\| \"xl\" \\| number \\| [x, y]` | `\"small\"` | Boşluk |\r\n| `align` / `justify` | flex değerleri | - | Hizalama |\r\n| `split` | `ReactNode` | - | Öğeler arasına eklenecek node |\r\n| `wrap` / `block` | `boolean` | `false` | Satır kaydırma / tam genişlik |\r\n\r\n---\r\n\r\n### GlassTypography\r\n\r\n```tsx\r\nimport { GlassTypography } from '@aliugurlafci/aula-lib'\r\n\r\nconst { Title, Text, Paragraph, Link } = GlassTypography\r\n\r\n<Title level={1} gradient>Aula UI</Title>\r\n<Paragraph relaxed tone=\"secondary\" ellipsis={3}>\r\n  Uzun açıklama metni…\r\n</Paragraph>\r\n<Text code>npm install</Text>\r\n<Text mark>vurgulu</Text>\r\n<Text keyboard>Ctrl+K</Text>\r\n<Link href=\"https://example.com\" external>Dokümantasyon</Link>\r\n```\r\n\r\nBileşenler ayrıca tek tek de dışa aktarılır: `GlassTitle`, `GlassText`,\r\n`GlassParagraph`, `GlassLink`.\r\n\r\n| Ortak prop | Tip | Açıklama |\r\n|------------|-----|----------|\r\n| `tone` | `\"primary\" \\| \"secondary\" \\| \"muted\" \\| \"accent\" \\| \"success\" \\| \"warning\" \\| \"error\"` | Metin rengi rolü |\r\n| `align` | `\"left\" \\| \"center\" \\| \"right\" \\| \"justify\"` | Hizalama |\r\n| `ellipsis` | `boolean \\| number` | Tek satır kırpma veya N satır clamp |\r\n\r\n---\r\n\r\n## 📋 Form Bileşeni\r\n\r\n### GlassForm\r\n\r\nForm yönetimi bileşeni (react-hook-form ile).\r\n\r\n> **Not:** GlassForm ayrı bir entry point'ten import edilmelidir: `@aliugurlafci/aula-lib/form`\r\n\r\n```tsx\r\n// GlassForm için ayrı import gerekli!\r\nimport { GlassForm, GlassFormItem, useGlassForm } from '@aliugurlafci/aula-lib/form'\r\nimport { GlassInput, GlassButton } from '@aliugurlafci/aula-lib'\r\n\r\nconst form = useGlassForm()\r\n\r\n<GlassForm\r\n  form={form}\r\n  layout=\"vertical\"\r\n  onFinish={(values) => console.log(values)}\r\n>\r\n  <GlassFormItem \r\n    name=\"email\" \r\n    label=\"E-posta\"\r\n    rules={[\r\n      { required: true, message: 'E-posta gerekli' },\r\n      { type: 'email', message: 'Geçerli e-posta girin' }\r\n    ]}\r\n  >\r\n    <GlassInput placeholder=\"ornek@email.com\" />\r\n  </GlassFormItem>\r\n  \r\n  <GlassFormItem \r\n    name=\"password\" \r\n    label=\"Şifre\"\r\n    rules={[{ required: true, min: 6 }]}\r\n  >\r\n    <GlassInput type=\"password\" />\r\n  </GlassFormItem>\r\n  \r\n  <GlassButton type=\"submit\" buttonType=\"primary\">\r\n    Giriş Yap\r\n  </GlassButton>\r\n</GlassForm>\r\n```\r\n\r\n#### Props\r\n\r\n| Prop | Tip | Varsayılan | Açıklama |\r\n|------|-----|------------|----------|\r\n| `form` | `UseFormReturn<T>` | - | react-hook-form instance |\r\n| `layout` | `\"horizontal\" \\| \"vertical\" \\| \"inline\"` | `\"horizontal\"` | Form düzeni |\r\n| `labelCol` | `{ span?: number; offset?: number }` | - | Etiket kolon ayarı |\r\n| `wrapperCol` | `{ span?: number; offset?: number }` | - | İçerik kolon ayarı |\r\n| `labelAlign` | `\"left\" \\| \"right\"` | `\"right\"` | Etiket hizalama |\r\n| `colon` | `boolean` | `true` | Etiket sonrası \":\" |\r\n| `requiredMark` | `boolean \\| \"optional\"` | `true` | Zorunlu işareti |\r\n| `size` | `\"small\" \\| \"middle\" \\| \"large\"` | `\"middle\"` | Form boyutu |\r\n| `disabled` | `boolean` | `false` | Form devre dışı |\r\n| `onFinish` | `(values: T) => void` | - | Başarılı submit callback |\r\n| `onFinishFailed` | `Function` | - | Hatalı submit callback |\r\n\r\n> **Not:** GlassForm için `react-hook-form` gereklidir: `npm install react-hook-form`\r\n> Zod schema validation için: `npm install @hookform/resolvers zod`\r\n\r\n---\r\n\r\n## 🎬 Media Bileşenleri\r\n\r\n### GlassMusicPlayer\r\n\r\nMüzik oynatıcı bileşeni.\r\n\r\n```tsx\r\nimport { GlassMusicPlayer } from '@aliugurlafci/aula-lib'\r\n\r\n<GlassMusicPlayer\r\n  src=\"/music.mp3\"\r\n  title=\"Şarkı Adı\"\r\n  artist=\"Sanatçı\"\r\n  cover=\"/album-cover.jpg\"\r\n/>\r\n```\r\n\r\n---\r\n\r\n### GlassVideoPlayer\r\n\r\nVideo oynatıcı bileşeni.\r\n\r\n```tsx\r\nimport { GlassVideoPlayer } from '@aliugurlafci/aula-lib'\r\n\r\n// Normal video\r\n<GlassVideoPlayer src=\"/video.mp4\" poster=\"/poster.jpg\" />\r\n\r\n// HLS streaming (hls.js gerektirir)\r\n<GlassVideoPlayer \r\n  src=\"https://example.com/stream.m3u8\" \r\n  streamType=\"hls\"\r\n/>\r\n\r\n// DASH streaming (dashjs gerektirir)\r\n<GlassVideoPlayer \r\n  src=\"https://example.com/stream.mpd\" \r\n  streamType=\"dash\"\r\n/>\r\n```\r\n\r\n> **Not:** HLS streaming için `hls.js`, DASH streaming için `dashjs` paketi gereklidir. Paket yüklü değilse native HTML5 video fallback'i kullanılır.\r\n\r\n---\r\n\r\n## 🎨 Tema Özelleştirme\r\n\r\n### `variant` prop'u\r\n\r\nHer bileşen üç görsel varyant kabul eder:\r\n\r\n| Variant | Davranış |\r\n|---------|----------|\r\n| `auto` *(varsayılan)* | Sabit renk taşımaz; yüzey, kenarlık ve metin renklerini CSS değişkenlerinden okur. Aktif `data-theme` ne ise ona uyar. |\r\n| `light` | Bileşeni tema fark etmeksizin açık görünüme sabitler. |\r\n| `dark` | Bileşeni tema fark etmeksizin koyu görünüme sabitler. |\r\n\r\n```tsx\r\n<GlassCard>Temayı izler</GlassCard>\r\n<GlassCard variant=\"dark\">Her zaman koyu (örn. medya üzerinde)</GlassCard>\r\n```\r\n\r\n### CSS değişkenleri\r\n\r\nTüm tasarım tokenları `--aula-` önekli CSS değişkenleridir. Kendi\r\ndeğerlerinizi vererek tüm kütüphaneyi yeniden markalayabilirsiniz:\r\n\r\n```css\r\n:root {\r\n  /* Yüzey */\r\n  --aula-glass-bg: rgba(255, 255, 255, 0.55);\r\n  --aula-glass-border: rgba(15, 18, 40, 0.12);\r\n  --aula-glass-highlight: rgba(255, 255, 255, 0.75);\r\n  --aula-overlay-bg: rgba(252, 253, 255, 0.9);   /* dropdown, modal, drawer */\r\n  --aula-surface-inverse: rgba(20, 22, 38, 0.94); /* tooltip */\r\n\r\n  /* Etkileşim dolguları */\r\n  --aula-fill-subtle: rgba(15, 18, 40, 0.04);\r\n  --aula-fill: rgba(15, 18, 40, 0.07);\r\n  --aula-fill-strong: rgba(15, 18, 40, 0.12);\r\n\r\n  /* Metin */\r\n  --aula-text-primary: rgba(17, 19, 34, 0.94);\r\n  --aula-text-secondary: rgba(17, 19, 34, 0.68);\r\n  --aula-text-muted: rgba(17, 19, 34, 0.46);\r\n\r\n  /* Vurgu ve durum */\r\n  --aula-accent-primary: #7c3aed;\r\n  --aula-accent-rgb: 139 92 246;   /* kendi alfalarınızı kurmak için */\r\n  --aula-success: #059669;\r\n  --aula-warning: #d97706;\r\n  --aula-error: #dc2626;\r\n  --aula-info: #2563eb;\r\n\r\n  /* Blur, yarıçap, hareket */\r\n  --aula-blur-md: 10px;\r\n  --aula-saturate: 180%;\r\n  --aula-radius-md: 12px;\r\n  --aula-ease: cubic-bezier(0.32, 0.72, 0, 1);\r\n}\r\n\r\n[data-theme=\"dark\"] {\r\n  --aula-glass-bg: rgba(255, 255, 255, 0.06);\r\n  --aula-glass-border: rgba(255, 255, 255, 0.12);\r\n  --aula-text-primary: rgba(255, 255, 255, 0.95);\r\n  --aula-accent-primary: #a78bfa;\r\n}\r\n```\r\n\r\n### Tailwind yardımcı sınıfları\r\n\r\n`styles.css` bu tokenları Tailwind v4'e `@theme inline` ile kaydeder, böylece\r\nkendi kodunuzda da kullanabilirsiniz:\r\n\r\n```tsx\r\n<div className=\"bg-glass border border-glass-border text-aula-primary rounded-glass shadow-glass\">\r\n  <span className=\"text-aula-muted\">yardımcı metin</span>\r\n  <button className=\"hover:bg-fill text-accent\">eylem</button>\r\n</div>\r\n```\r\n\r\n| Grup | Sınıflar |\r\n|------|---------|\r\n| Yüzey | `bg-glass`, `bg-glass-hover`, `bg-glass-subtle`, `bg-overlay`, `bg-inverse-surface` |\r\n| Dolgu | `bg-fill-subtle`, `bg-fill`, `bg-fill-strong` |\r\n| Metin | `text-aula-primary`, `text-aula-secondary`, `text-aula-muted`, `text-aula-inverse` |\r\n| Vurgu | `text-accent`, `bg-accent`, `border-accent` |\r\n| Durum | `text-status-success`, `text-status-warning`, `text-status-error`, `text-status-info` |\r\n| Kenarlık | `border-glass-border` |\r\n| Yarıçap | `rounded-glass-sm`, `rounded-glass`, `rounded-glass-lg`, `rounded-glass-xl` |\r\n| Gölge | `shadow-glass-sm`, `shadow-glass`, `shadow-glass-lg`, `shadow-glass-xl`, `shadow-glass-glow` |\r\n\r\n### Cam ilkelleri (CSS sınıfları)\r\n\r\nKendi bileşenlerinizde de aynı cam yüzeyi kullanabilirsiniz:\r\n\r\n```tsx\r\n<div className=\"glass glass-lg glass-hoverable rounded-2xl p-6\">\r\n  Özel cam panel\r\n</div>\r\n```\r\n\r\n| Sınıf | Açıklama |\r\n|-------|----------|\r\n| `glass` | Temel cam yüzey: arka plan, specular sheen, kenarlık, gölge, üst ışık çizgisi |\r\n| `glass-none` … `glass-2xl` | Blur yoğunluğu |\r\n| `glass-hoverable` | Hover'da yükselme + parlaklaşma |\r\n| `glass-glow` | Accent renginde dış parıltı |\r\n| `aula-backdrop` | Camın kırılması için ortam mesh arka planı |\r\n| `aula-scrollbar` | İnce, tema uyumlu kaydırma çubuğu |\r\n| `aula-shimmer` | Yükleniyor parıltısı |\r\n\r\n> `glass` sınıfı `components` cascade layer'ında tanımlanır; Tailwind\r\n> yardımcıları (`bg-*`, `rounded-*`, `shadow-*`) her zaman üzerine yazar.\r\n> Specular sheen `background-image` olduğu için `bg-*` renkleriyle korunur.\r\n\r\n---\r\n\r\n## 📖 TypeScript Desteği\r\n\r\nTüm bileşenler için tip tanımları:\r\n\r\n```tsx\r\nimport type { \r\n  // Core\r\n  GlassButtonProps,\r\n  GlassCardProps,\r\n  GlassAvatarProps,\r\n  GlassAvatarGroupProps,\r\n  GlassBadgeProps,\r\n  GlassBadgeRibbonProps,\r\n  GlassFloatingButtonProps,\r\n  \r\n  // Data Entry\r\n  GlassInputProps,\r\n  GlassTextAreaProps,\r\n  GlassSelectProps,\r\n  GlassSelectOption,\r\n  GlassSwitchProps,\r\n  GlassCheckboxProps,\r\n  GlassCheckboxGroupProps,\r\n  GlassRadioProps,\r\n  GlassRadioGroupProps,\r\n  GlassSliderProps,\r\n  GlassSliderMark,\r\n  GlassRateProps,\r\n  GlassUploadProps,\r\n  GlassUploadFile,\r\n  GlassNumberInputProps,\r\n  GlassDatePickerProps,\r\n  GlassColorPickerProps,\r\n  GlassTransferProps,\r\n  \r\n  // Data Display\r\n  GlassTableProps,\r\n  GlassColumnType,\r\n  GlassRowSelection,\r\n  GlassExpandable,\r\n  GlassTableToolbarConfig,\r\n  GlassImageProps,\r\n  GlassSkeletonProps,\r\n  GlassStatisticsProps,\r\n  GlassTimelineProps,\r\n  GlassTreeViewProps,\r\n  GlassTagProps,\r\n  GlassAccordionProps,\r\n  GlassAccordionItem,\r\n  GlassDescriptionsProps,\r\n  GlassDescriptionItem,\r\n  GlassCarouselProps,\r\n  \r\n  // Navigation\r\n  GlassTabsProps,\r\n  GlassTabItem,\r\n  GlassNavbarProps,\r\n  GlassMenuProps,\r\n  GlassDropdownProps,\r\n  GlassBreadcrumbProps,\r\n  GlassBreadcrumbItem,\r\n  GlassPaginationProps,\r\n  GlassStepsProps,\r\n  GlassStepItem,\r\n  \r\n  // Feedback\r\n  GlassAlertProps,\r\n  GlassMessageProps,\r\n  GlassPopoverProps,\r\n  GlassTooltipProps,\r\n  GlassProgressProps,\r\n  GlassSpinnerProps,\r\n  GlassEmptyProps,\r\n  GlassResultProps,\r\n  \r\n  // Layout\r\n  GlassModalProps,\r\n  GlassLayoutProps,\r\n  GlassSegmentedProps,\r\n  GlassDrawerProps,\r\n  GlassDividerProps,\r\n  GlassSpaceProps,\r\n  GlassTitleProps,\r\n  GlassTextProps,\r\n  GlassParagraphProps,\r\n  GlassLinkProps,\r\n  \r\n  // Form\r\n  GlassFormProps,\r\n  GlassFormItemProps,\r\n  \r\n  // Media\r\n  GlassMusicPlayerProps,\r\n  GlassVideoPlayerProps,\r\n  \r\n  // Theme\r\n  ThemeVariant,\r\n  ThemeMode,\r\n  GlassVariant,\r\n  GlassTheme,\r\n  BlurSize,\r\n  ShadowSize\r\n} from '@aliugurlafci/aula-lib'\r\n```\r\n\r\n---\r\n\r\n## 🤝 Katkıda Bulunma\r\n\r\nKatkılarınızı bekliyoruz! Lütfen bir PR açmadan önce issue oluşturun.\r\n\r\n## 📄 Lisans\r\n\r\nMIT License - Detaylar için [LICENSE](LICENSE) dosyasına bakın.\r\n\r\n","readmeFilename":"README.md"}