{"_id":"@aibots-public/web-components","_rev":"8-96b9cf3fadb2f8ccba4039ede8516483","name":"@aibots-public/web-components","dist-tags":{"latest":"3.2.3"},"versions":{"3.0.0":{"name":"@aibots-public/web-components","version":"3.0.0","_id":"@aibots-public/web-components@3.0.0","maintainers":[{"name":"thangkieu","email":"kqthang1505@gmail.com"}],"dist":{"shasum":"9a162ee4667557d37b9e49e0ca7f3a05c734fc6c","tarball":"https://registry.npmjs.org/@aibots-public/web-components/-/web-components-3.0.0.tgz","fileCount":22,"integrity":"sha512-SzAZ4fxQHmRaMhBbBAOBzjmChBCyBKppBS3Jwt1GN5CiuBO2yuWBh5E4nOjH2g8cZfNsdrwRzweA9jrOa11Ghw==","signatures":[{"sig":"MEUCIDdhnc3/dgD4EV1EJU5k5die6j0gfhDMjsiE/f8tMhLXAiEAnlfhcX/mqzbY2IcLbGje6P/GZvwVqbdFdCYimnDCkn0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1197906},"_from":"file:aibots-public-web-components-3.0.0.tgz","exports":{"./live-chat-widget":"./src/live-chat-widget/live-chat-widget.tsx"},"private":false,"scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"thangkieu","email":"kqthang1505@gmail.com"},"_resolved":"/private/var/folders/h1/76wwdl5d23sfwjhcj3h7mgdr0000gn/T/aeb1fac0ac0330740ea0ff24c0aad5ef/aibots-public-web-components-3.0.0.tgz","overrides":{"react":"preact/compat","react-dom":"preact/compat"},"_integrity":"sha512-SzAZ4fxQHmRaMhBbBAOBzjmChBCyBKppBS3Jwt1GN5CiuBO2yuWBh5E4nOjH2g8cZfNsdrwRzweA9jrOa11Ghw==","_npmVersion":"9.8.1","directories":{},"_nodeVersion":"18.18.2","dependencies":{"@tabler/icons-react":"^3.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","preact":"^10.26.0","cssnano":"^7.0.6","postcss":"^8.5.3","@aibots/ui":"1.0.0","typescript":"latest","postcss-modules":"^6.0.1","@aibots/eslint-config":"1.0.0","preact-custom-element":"^4.3.0","@aibots/typescript-config":"1.0.0","@types/preact-custom-element":"^4.0.4"},"peerDependencies":{"@mantine/core":"^7.14.3","@mantine/hooks":"^7.14.3"},"_npmOperationalInternal":{"tmp":"tmp/web-components_3.0.0_1747383065242_0.20161221667395024","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@aibots-public/web-components","version":"3.0.1","_id":"@aibots-public/web-components@3.0.1","maintainers":[{"name":"thangkieu","email":"kqthang1505@gmail.com"}],"dist":{"shasum":"d51526e7dbc78c8d6cc6c0721df6d7faa6b974cc","tarball":"https://registry.npmjs.org/@aibots-public/web-components/-/web-components-3.0.1.tgz","fileCount":22,"integrity":"sha512-9TCnYjiMFHTh7Qt2F/d3wu4v6gXmJyZ4zNmqqjku8AAe53q0/e82lOlYC34pDqxZyDixijnta4nI7H1X7w68qw==","signatures":[{"sig":"MEUCIQCz5F3dkMcOUnQsJfAIr5AyFgMcYa25jAME1xjeQ20Y7QIgaW0I7d3BYAuzK9GdsPyPsUYhkLTa+92aE8+I3+Vfchc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1195526},"_from":"file:aibots-public-web-components-3.0.1.tgz","exports":{"./live-chat-widget":"./src/live-chat-widget/live-chat-widget.tsx"},"private":false,"scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"thangkieu","email":"kqthang1505@gmail.com"},"_resolved":"/private/var/folders/h1/76wwdl5d23sfwjhcj3h7mgdr0000gn/T/0d6f092c64813e1691abb8aced29fdd4/aibots-public-web-components-3.0.1.tgz","overrides":{"react":"preact/compat","react-dom":"preact/compat"},"_integrity":"sha512-9TCnYjiMFHTh7Qt2F/d3wu4v6gXmJyZ4zNmqqjku8AAe53q0/e82lOlYC34pDqxZyDixijnta4nI7H1X7w68qw==","_npmVersion":"9.8.1","directories":{},"_nodeVersion":"18.18.2","dependencies":{"@tabler/icons-react":"^3.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","preact":"^10.26.0","cssnano":"^7.0.6","postcss":"^8.5.3","@aibots/ui":"1.0.0","typescript":"latest","postcss-modules":"^6.0.1","@aibots/eslint-config":"1.0.0","preact-custom-element":"^4.3.0","@aibots/typescript-config":"1.0.0","@types/preact-custom-element":"^4.0.4"},"peerDependencies":{"@mantine/core":"^7.14.3","@mantine/hooks":"^7.14.3"},"_npmOperationalInternal":{"tmp":"tmp/web-components_3.0.1_1747383840977_0.03174818636059418","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@aibots-public/web-components","version":"3.0.2","_id":"@aibots-public/web-components@3.0.2","maintainers":[{"name":"thangkieu","email":"kqthang1505@gmail.com"}],"dist":{"shasum":"fef5c50345268a303ec9ea04eeea4a2fdcbafa2d","tarball":"https://registry.npmjs.org/@aibots-public/web-components/-/web-components-3.0.2.tgz","fileCount":22,"integrity":"sha512-dUTusQojVqzgI/GclovSrSy7D15z/+1/AWpFGeT7oMT3VxDQ/OFM4P0yeO/92btPprw3IYdrzdUOSE/pQonRXw==","signatures":[{"sig":"MEUCIFMO+8HuO1IxdYYQ8/Wv7bFKBbM2ajpw8sOUTnApVfnfAiEAkdtuluyIo82NIhpOOfJO1o4duhEHJhLpAfcOlTKBfLw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1195627},"_from":"file:aibots-public-web-components-3.0.2.tgz","exports":{"./live-chat-widget":"./src/live-chat-widget/live-chat-widget.tsx"},"private":false,"scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"thangkieu","email":"kqthang1505@gmail.com"},"_resolved":"/private/var/folders/h1/76wwdl5d23sfwjhcj3h7mgdr0000gn/T/ec4cf790f43fcd17fa838bc85feafa59/aibots-public-web-components-3.0.2.tgz","overrides":{"react":"preact/compat","react-dom":"preact/compat"},"_integrity":"sha512-dUTusQojVqzgI/GclovSrSy7D15z/+1/AWpFGeT7oMT3VxDQ/OFM4P0yeO/92btPprw3IYdrzdUOSE/pQonRXw==","_npmVersion":"9.8.1","directories":{},"_nodeVersion":"18.18.2","dependencies":{"@tabler/icons-react":"^3.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","preact":"^10.26.0","cssnano":"^7.0.6","postcss":"^8.5.3","@aibots/ui":"1.0.0","typescript":"latest","postcss-modules":"^6.0.1","@aibots/eslint-config":"1.0.0","preact-custom-element":"^4.3.0","@aibots/typescript-config":"1.0.0","@types/preact-custom-element":"^4.0.4"},"peerDependencies":{"@mantine/core":"^7.14.3","@mantine/hooks":"^7.14.3"},"_npmOperationalInternal":{"tmp":"tmp/web-components_3.0.2_1747384780498_0.564779845726016","host":"s3://npm-registry-packages-npm-production"}},"3.1.0":{"name":"@aibots-public/web-components","version":"3.1.0","_id":"@aibots-public/web-components@3.1.0","maintainers":[{"name":"thangkieu","email":"kqthang1505@gmail.com"}],"dist":{"shasum":"27845bfc0d980e0f2277f4f62e3d78c969e5880e","tarball":"https://registry.npmjs.org/@aibots-public/web-components/-/web-components-3.1.0.tgz","fileCount":22,"integrity":"sha512-D0yyxng4HG9htMxpgwCvMCLU8kIXBNULZeeMguCC3dVH+YmFrr8kHS7UM6j6mQZsuXMNhzp8FNsF+uHe5egh2g==","signatures":[{"sig":"MEUCIFbsaurL6zznUVK6aOz+cCBwt84nehx/QDLWKWu1G7WRAiEA3HASP5xoxGjxq83/wOhfG2/qaG+RRY3y9dQwoX5tKu0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1187148},"_from":"file:aibots-public-web-components-3.1.0.tgz","exports":{"./live-chat-widget":"./src/live-chat-widget/live-chat-widget.tsx","./fullscreen-chat-widget":"./src/fullscreen-chat-widget/fullscreen-chat-widget.tsx"},"private":false,"scripts":{"dev":"tsup --watch","build":"tsup"},"_npmUser":{"name":"thangkieu","email":"kqthang1505@gmail.com"},"_resolved":"/private/var/folders/h1/76wwdl5d23sfwjhcj3h7mgdr0000gn/T/1ddf77782521436da65f0455410d4242/aibots-public-web-components-3.1.0.tgz","overrides":{"react":"preact/compat","react-dom":"preact/compat"},"_integrity":"sha512-D0yyxng4HG9htMxpgwCvMCLU8kIXBNULZeeMguCC3dVH+YmFrr8kHS7UM6j6mQZsuXMNhzp8FNsF+uHe5egh2g==","_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@tabler/icons-react":"^3.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","preact":"^10.26.0","cssnano":"^7.0.6","postcss":"^8.5.3","@aibots/ui":"1.0.0","typescript":"latest","postcss-modules":"^6.0.1","@aibots/eslint-config":"1.0.0","preact-custom-element":"^4.3.0","@aibots/typescript-config":"1.0.0","@types/preact-custom-element":"^4.0.4"},"peerDependencies":{"@mantine/core":"^7.14.3","@mantine/hooks":"^7.14.3"},"_npmOperationalInternal":{"tmp":"tmp/web-components_3.1.0_1750059848996_0.11552541989132292","host":"s3://npm-registry-packages-npm-production"}},"3.2.0":{"name":"@aibots-public/web-components","version":"3.2.0","_id":"@aibots-public/web-components@3.2.0","maintainers":[{"name":"thangkieu","email":"kqthang1505@gmail.com"}],"dist":{"shasum":"c56bec86f31527c5daa650b7a4858f551e7e7496","tarball":"https://registry.npmjs.org/@aibots-public/web-components/-/web-components-3.2.0.tgz","fileCount":23,"integrity":"sha512-ObK7nKifPlsn+yNmaD9vwWiRogKkMjTHOt5RGMU8CsAsUeHhUeMJjonW1H0OQLEHq296c9BqXRFEB3LgWHrZww==","signatures":[{"sig":"MEUCIQD8viMU3NXZthPCtfP2xtkm23r4FWFadqMeMRHfLjog+gIgfO4LfhCt+DYMhvPUIzusmgkosrgnLJ1lRV/zJaI59cU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1182482},"_from":"file:aibots-public-web-components-3.2.0.tgz","exports":{"./live-chat-widget":"./src/live-chat-widget/live-chat-widget.tsx","./fullscreen-chat-widget":"./src/fullscreen-chat-widget/fullscreen-chat-widget.tsx"},"private":false,"scripts":{"dev":"tsup --watch","build":"tsup","start:test:server":"npx http-server ./public --cors -p 30001","start:test:server:https":"NODE_TLS_REJECT_UNAUTHORIZED=0 npx http-server ./public --cors --ssl -p 30001 --cert ../../certificates/localhost.pem --key ../../certificates/localhost-key.pem"},"_npmUser":{"name":"thangkieu","actor":{"name":"thangkieu","type":"user","email":"kqthang1505@gmail.com"},"email":"kqthang1505@gmail.com"},"_resolved":"/private/var/folders/h1/76wwdl5d23sfwjhcj3h7mgdr0000gn/T/1e9c729348c1931303e907ba1e252d8e/aibots-public-web-components-3.2.0.tgz","overrides":{"react":"preact/compat","react-dom":"preact/compat"},"_integrity":"sha512-ObK7nKifPlsn+yNmaD9vwWiRogKkMjTHOt5RGMU8CsAsUeHhUeMJjonW1H0OQLEHq296c9BqXRFEB3LgWHrZww==","_npmVersion":"10.8.2","description":"This repository contains a collection of framework-agnostic web components designed for reuse across multiple projects. This guide outlines the process for developing and adding new components to the library.","directories":{},"_nodeVersion":"20.17.0","dependencies":{"@tabler/icons-react":"^3.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","preact":"^10.26.0","cssnano":"^7.0.6","postcss":"^8.5.3","@aibots/ui":"1.1.0","typescript":"latest","postcss-modules":"^6.0.1","@aibots/eslint-config":"1.0.0","preact-custom-element":"^4.3.0","@aibots/typescript-config":"1.0.0","@types/preact-custom-element":"^4.0.4"},"peerDependencies":{"@mantine/core":"^7.14.3","@mantine/hooks":"^7.14.3"},"_npmOperationalInternal":{"tmp":"tmp/web-components_3.2.0_1751951862808_0.8311285813633076","host":"s3://npm-registry-packages-npm-production"}},"3.2.1":{"name":"@aibots-public/web-components","version":"3.2.1","_id":"@aibots-public/web-components@3.2.1","maintainers":[{"name":"thangkieu","email":"kqthang1505@gmail.com"}],"dist":{"shasum":"70a376ea7a06fffcbe5e69fdbff3a04f14bc572c","tarball":"https://registry.npmjs.org/@aibots-public/web-components/-/web-components-3.2.1.tgz","fileCount":23,"integrity":"sha512-p0WkTIiWh3RJqjin8cEykfyqg75vQpo5T5Qq5pTqWp+pcShBBwuoWvAo7iNHL+tfokqtP0WOC/JGITRX6fMFtg==","signatures":[{"sig":"MEYCIQDpNTS8Us7VOVj3j8E9NEzIP+LxeDMw13CWmws0ggJC7AIhAOHP8K9HcPBdZ1J1Z/9gytLuUoafpNumpni878UF1N+9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1203889},"_from":"file:aibots-public-web-components-3.2.1.tgz","exports":{"./live-chat-widget":"./src/live-chat-widget/live-chat-widget.tsx","./fullscreen-chat-widget":"./src/fullscreen-chat-widget/fullscreen-chat-widget.tsx"},"private":false,"scripts":{"dev":"tsup --watch","build":"tsup","start:test:server":"npx http-server ./public --cors -p 30001","start:test:server:https":"NODE_TLS_REJECT_UNAUTHORIZED=0 npx http-server ./public --cors --ssl -p 30001 --cert ../../certificates/localhost.pem --key ../../certificates/localhost-key.pem"},"_npmUser":{"name":"thangkieu","email":"kqthang1505@gmail.com"},"_resolved":"/private/var/folders/1c/b6f24d950pn3k334k3zz8prr0000gn/T/6357ec5460b6496cb41d79437c88dc71/aibots-public-web-components-3.2.1.tgz","overrides":{"react":"preact/compat","react-dom":"preact/compat"},"_integrity":"sha512-p0WkTIiWh3RJqjin8cEykfyqg75vQpo5T5Qq5pTqWp+pcShBBwuoWvAo7iNHL+tfokqtP0WOC/JGITRX6fMFtg==","_npmVersion":"10.8.2","description":"This repository contains a collection of framework-agnostic web components designed for reuse across multiple projects. This guide outlines the process for developing and adding new components to the library.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"@tabler/icons-react":"^3.30.0","@tabler/icons-preact":"^3.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","preact":"^10.26.0","cssnano":"^7.0.6","postcss":"^8.5.3","@aibots/ui":"1.1.1","typescript":"latest","postcss-modules":"^6.0.1","@aibots/eslint-config":"1.0.0","preact-custom-element":"^4.3.0","@aibots/typescript-config":"1.0.0","@types/preact-custom-element":"^4.0.4"},"peerDependencies":{"@mantine/core":"^7.14.3","@mantine/hooks":"^7.14.3"},"_npmOperationalInternal":{"tmp":"tmp/web-components_3.2.1_1761812563709_0.23262800730565947","host":"s3://npm-registry-packages-npm-production"}},"3.2.2":{"name":"@aibots-public/web-components","version":"3.2.2","_id":"@aibots-public/web-components@3.2.2","maintainers":[{"name":"thangkieu","email":"kqthang1505@gmail.com"}],"dist":{"shasum":"36db59e7dbc8b881949134473f9c023129bcf925","tarball":"https://registry.npmjs.org/@aibots-public/web-components/-/web-components-3.2.2.tgz","fileCount":23,"integrity":"sha512-4lz/LhJOnEfGVWrEEBQWOK0vH5GRztCqE4gEla7CVSV5nRYPNoVE4JGLsQDwCLsMibkXtpGVw7Is5WVeB7RNAA==","signatures":[{"sig":"MEQCIH+y8gmK2RwmgCLszVsHbXJ1w1SXdHzTTPY3hTgtJjV6AiAbTmzzmgta3OjjTPjDX2/BIUnDHmxqfdLaJjxb1//65Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1204081},"_from":"file:aibots-public-web-components-3.2.2.tgz","exports":{"./live-chat-widget":"./src/live-chat-widget/live-chat-widget.tsx","./fullscreen-chat-widget":"./src/fullscreen-chat-widget/fullscreen-chat-widget.tsx"},"private":false,"scripts":{"dev":"tsup --watch","build":"tsup","start:test:server":"npx http-server ./public --cors -p 30001","start:test:server:https":"NODE_TLS_REJECT_UNAUTHORIZED=0 npx http-server ./public --cors --ssl -p 30001 --cert ../../certificates/localhost.pem --key ../../certificates/localhost-key.pem"},"_npmUser":{"name":"thangkieu","email":"kqthang1505@gmail.com"},"_resolved":"/private/var/folders/1c/b6f24d950pn3k334k3zz8prr0000gn/T/d7072cf1902a9fe68427a0dea3c0c145/aibots-public-web-components-3.2.2.tgz","overrides":{"react":"preact/compat","react-dom":"preact/compat"},"_integrity":"sha512-4lz/LhJOnEfGVWrEEBQWOK0vH5GRztCqE4gEla7CVSV5nRYPNoVE4JGLsQDwCLsMibkXtpGVw7Is5WVeB7RNAA==","_npmVersion":"10.8.2","description":"This repository contains a collection of framework-agnostic web components designed for reuse across multiple projects. This guide outlines the process for developing and adding new components to the library.","directories":{},"_nodeVersion":"20.19.4","dependencies":{"@tabler/icons-react":"^3.30.0","@tabler/icons-preact":"^3.34.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","preact":"^10.26.0","cssnano":"^7.0.6","postcss":"^8.5.3","@aibots/ui":"1.1.1","typescript":"latest","postcss-modules":"^6.0.1","@aibots/eslint-config":"1.0.0","preact-custom-element":"^4.3.0","@aibots/typescript-config":"1.0.0","@types/preact-custom-element":"^4.0.4"},"peerDependencies":{"@mantine/core":"^7.14.3","@mantine/hooks":"^7.14.3"},"_npmOperationalInternal":{"tmp":"tmp/web-components_3.2.2_1761813630870_0.9327279917427349","host":"s3://npm-registry-packages-npm-production"}},"3.2.3":{"name":"@aibots-public/web-components","version":"3.2.3","publishConfig":{"access":"public"},"private":false,"exports":{"./live-chat-widget":"./src/live-chat-widget/live-chat-widget.tsx","./fullscreen-chat-widget":"./src/fullscreen-chat-widget/fullscreen-chat-widget.tsx"},"devDependencies":{"@types/preact-custom-element":"^4.0.4","cssnano":"^7.0.6","postcss":"^8.5.3","postcss-modules":"^6.0.1","preact":"^10.26.0","preact-custom-element":"^4.3.0","tsup":"^8.3.5","typescript":"latest","@aibots/eslint-config":"1.0.0","@aibots/ui":"1.1.2","@aibots/typescript-config":"1.0.0"},"overrides":{"react":"preact/compat","react-dom":"preact/compat"},"peerDependencies":{"@mantine/core":"^7.14.3","@mantine/hooks":"^7.14.3"},"dependencies":{"@tabler/icons-preact":"^3.34.0","@tabler/icons-react":"^3.30.0"},"scripts":{"dev":"tsup --watch","build":"tsup","start:test:server:https":"NODE_TLS_REJECT_UNAUTHORIZED=0 npx http-server ./public --cors --ssl -p 30001 --cert ../../certificates/localhost.pem --key ../../certificates/localhost-key.pem","start:test:server":"npx http-server ./public --cors -p 30001"},"_id":"@aibots-public/web-components@3.2.3","description":"This repository contains a collection of framework-agnostic web components designed for reuse across multiple projects. This guide outlines the process for developing and adding new components to the library.","_integrity":"sha512-EV2sw6hXf/HJ8S6E7K/nA6jnAbgEJ949E/NY4m8cwa9FcDgTjdmlixto7WfUY4ypv/1p+fstgRwgzn2TT1zLmg==","_resolved":"/private/var/folders/1c/b6f24d950pn3k334k3zz8prr0000gn/T/e9fbfc56a8527804dae804d0c8d47ca6/aibots-public-web-components-3.2.3.tgz","_from":"file:aibots-public-web-components-3.2.3.tgz","_nodeVersion":"20.19.4","_npmVersion":"10.8.2","dist":{"integrity":"sha512-EV2sw6hXf/HJ8S6E7K/nA6jnAbgEJ949E/NY4m8cwa9FcDgTjdmlixto7WfUY4ypv/1p+fstgRwgzn2TT1zLmg==","shasum":"20b8f1f616c4730beaafc0e3ce31f84d3f457fcd","tarball":"https://registry.npmjs.org/@aibots-public/web-components/-/web-components-3.2.3.tgz","fileCount":24,"unpackedSize":1206166,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICA4uuD+zKNVaS+yVgzPuAStqpBPoUKlB4UByYUNGgknAiB0WapUM1nXs3829G54IJouafEu4VXHQCzz0XohBrgTzg=="}]},"_npmUser":{"name":"thangkieu","email":"kqthang1505@gmail.com"},"directories":{},"maintainers":[{"name":"thangkieu","email":"kqthang1505@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/web-components_3.2.3_1764812298856_0.8977811010659102"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-16T08:11:05.182Z","modified":"2025-12-04T01:38:19.268Z","3.0.0":"2025-05-16T08:11:05.472Z","3.0.1":"2025-05-16T08:24:01.222Z","3.0.2":"2025-05-16T08:39:40.814Z","3.1.0":"2025-06-16T07:44:09.214Z","3.2.0":"2025-07-08T05:17:43.020Z","3.2.1":"2025-10-30T08:22:43.991Z","3.2.2":"2025-10-30T08:40:31.111Z","3.2.3":"2025-12-04T01:38:19.058Z"},"description":"This repository contains a collection of framework-agnostic web components designed for reuse across multiple projects. This guide outlines the process for developing and adding new components to the library.","maintainers":[{"name":"thangkieu","email":"kqthang1505@gmail.com"}],"readme":"# Web Component Library\n\nThis repository contains a collection of framework-agnostic web components designed for reuse across multiple projects. This guide outlines the process for developing and adding new components to the library.\n\n## Getting Started\n\nBefore you begin, please ensure you have the following installed on your system:\n\n- **Node.js** (v18 or later recommended)\n- **pnpm** (or your preferred Node.js package manager like `npm` or `yarn`)\n\nTo install the project dependencies, run the following command from the root directory:\n\n```bash\npnpm install\n```\n\n## Project Structure\n\n- **/src**: Contains the source code for each component (e.g., TypeScript/TSX, CSS files). Each component should reside in its own dedicated folder.\n- **/wcs**: Contains manifest files (`.wc`) that define and register each web component. This is how our build system discovers and configures them.\n\n## Developing a New Web Component\n\nFollow these steps to create a new, production-ready web component.\n\n### Step 1: Create the Component Source Files\n\nFirst, create a new directory inside `/src` for your component. It's best practice to name the folder after the component itself.\n\nFor example, to create a new `my-button` component:\n\n1.  Create a new folder: `src/my-button`\n2.  Add your source files inside it, for example: `src/my-button/my-button.tsx` and `src/my-button/my-button/module.css`.\n\n### Step 2: Define the Component Manifest\n\nNext, you need to create a manifest file in the `/wcs` directory to register your component with our build system.\n\n1.  Create a new file in the `/wcs` folder. The filename must follow the convention `component-name.wc`.\n\n    - Example: `wcs/my-button.wc`\n\n2.  Add the following JSON content to the file, customizing it for your component:\n\n```json\n{\n  \"tag\": \"my-button\",\n  \"component\": \"src/my-button/my-button.tsx\",\n  \"attrs\": [\"label\", \"variant\", \"disabled\"]\n}\n```\n\n**Manifest Fields Explained:**\n\n- `\"tag\"`: The custom HTML tag name for your component. By web component standards, this **must contain a hyphen**.\n- `\"component\"`: The path from the project root to your main component source file.\n- `\"attrs\"`: An array of attribute names that your component will observe. When these attributes change on the HTML tag, your component will be notified.\n\n### Step 3: Expose the Component in `package.json`\n\nTo make your component available for development tools like Storybook and for proper module resolution, you must add an entry to the `exports` field in the root `package.json` file.\n\n1.  Open `package.json`.\n2.  Add a new key-value pair to the `exports` object.\n\n        ```json\n        // package.json\n        {\n          // ... other package.json content\n          \"exports\": {\n            // ... other existing exports\n            \"./my-button\": \"./src/my-button/my-button.tsx\"\n          }\n        }\n        ```\n\n    This creates a clean, predictable import path for your component's source code.\n\n### Step 4: View Your Component in Storybook\n\nStorybook is integrated into this project to allow for isolated development and testing of components.\n\n1.  (Optional but Recommended) Create a story for your component. Add a new file in the `<root>/apps/stories` directory, such as `stories/my-button.stories.ts`.\n\nOf course. Here is a rewritten version of that section, designed to be more informative, clear, and provide step-by-step guidance for any developer.\n\n---\n\n## Publishing a New Version to NPM\n\nThis guide outlines the process for publishing a new version of the `@aibots-public/web-components` package to the public NPM registry.\n\n### Prerequisites\n\nBefore you can publish a new version, please ensure you have the following:\n\n1.  **An NPM Account**: You must have an active account on [npmjs.com](https://www.npmjs.com/).\n2.  **Required Permissions**: Your NPM account must have write access to the `@aibots-public` organization.\n3.  **NPM Authentication**: You need to be logged into your NPM account on your local machine. If you are not logged in, run this command and follow the prompts:\n    ```bash\n    npm login\n    ```\n\n### Step 1: Prepare the Release\n\nThis step kicks off an interactive command-line process that helps you select which component(s) to include in the release, choose the new version number (following [SemVer](https://semver.org/) conventions), and generate changelogs.\n\n1.  From the root folder of the project, run the prepare script:\n    ```bash\n    pnpm publish:prepare\n    ```\n2.  Follow the on-screen prompts. You will be asked to select the specific web component(s) you intend to release and choose whether this is a `patch`, `minor`, or `major` version update.\n\nThis command will update the `package.json` version and stage the necessary files for the next step.\n\n### Step 2: Build and Publish\n\nAfter the preparation step is complete, run the following command. This script will handle the final build process for the selected components and upload the new package version to the NPM registry.\n\n```bash\npnpm publish:run\n```\n\nWait for the script to complete. You should see a success message indicating that the package has been published.\n\n### Step 3: Verify the Release\n\nOnce the publish script finishes, it's important to verify that the new version is publicly available.\n\n1.  **Check the NPM Registry:**\n    Visit the package's official page on NPM and confirm that the new version number is listed.\n\n    - [https://www.npmjs.com/settings/aibots-public/packages](https://www.npmjs.com/settings/aibots-public/packages)\n\n2.  **Check the unpkg CDN:**\n    You can also verify that the distributable files are accessible via the `unpkg` CDN. Replace `<version>` with the version you just published (e.g., `3.1.0`).\n\n    ```\n    https://unpkg.com/@aibots-public/web-components@<version>/dist/live-chat.widget.global.js\n    ```\n\n    For example, for version `3.1.0`, the link would be:\n\n    - [https://unpkg.com/@aibots-public/web-components@3.1.0/dist/live-chat.widget.global.js](https://unpkg.com/@aibots-public/web-components@3.1.0/dist/live-chat.widget.global.js)\n\n    If you can access this URL, your package has been successfully published and is available on the CDN.\n\n### Test your built web components\n\n1. Modify the `public/index.html` file to include your latest web component\n2. Run\n\n```shell\npnpm start:test:server\n```\n","readmeFilename":"README.md"}