├── .build.yml ├── .gitignore ├── .husky └── pre-commit ├── .npmignore ├── .prettierignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── assets ├── IMG_0682.png ├── IMG_0683.png ├── IMG_0684.png ├── styling.png ├── todo-app.gif ├── wc-base-demo.gif └── wc-feeling.gif ├── docs ├── .gitignore ├── .vscode │ ├── extensions.json │ └── launch.json ├── README.md ├── astro.config.mjs ├── package-lock.json ├── package.json ├── public │ ├── apple-touch-icon.png │ ├── favicon.svg │ ├── mask-icon.svg │ └── touch-icon-large.png ├── src │ ├── assets │ │ └── houston.webp │ ├── components │ │ └── Attribution.astro │ ├── content.config.ts │ └── content │ │ └── docs │ │ ├── guides │ │ ├── examples.md │ │ ├── exports.md │ │ ├── getting-started.mdx │ │ ├── just-parts.md │ │ ├── library-size.md │ │ ├── life-cycle-hooks.md │ │ ├── prop-access.mdx │ │ ├── shadow-dom.md │ │ ├── styling.md │ │ ├── template-vs-render.md │ │ ├── usage.md │ │ └── why.mdx │ │ ├── index.mdx │ │ └── reference │ │ └── example.md └── tsconfig.json ├── eslint.config.mjs ├── examples ├── constructed-styles │ ├── index.html │ └── index.js ├── demo │ ├── BooleanPropTest.mjs │ ├── Counter.mjs │ ├── HelloWorld.mjs │ ├── SimpleText.mjs │ ├── Toggle.js │ └── index.html ├── pens │ └── counter-toggle.html ├── props-blueprint │ ├── hello-world.js │ ├── index.html │ └── index.js ├── style-objects │ ├── index.html │ └── index.js ├── templating │ ├── index.html │ ├── index.js │ └── with-lit.js ├── type-restore │ ├── Counter.mjs │ ├── HelloWorld.mjs │ ├── Object.mjs │ ├── Toggle.mjs │ └── index.html └── use-shadow │ ├── index.html │ └── index.js ├── netlify.toml ├── package.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── prettier.config.mjs ├── src ├── WebComponent.js ├── html.js ├── index.js └── utils │ ├── create-element.mjs │ ├── deserialize.mjs │ ├── get-camel-case.mjs │ ├── get-kebab-case.mjs │ ├── index.js │ ├── serialize.mjs │ └── serialize.test.mjs ├── test ├── WebComponent.test.mjs └── utils │ └── serialize.test.mjs ├── tsconfig.json ├── vendors └── htm │ └── LICENSE.txt └── vitest.config.mjs /.build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/.build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/.gitignore -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/.husky/pre-commit -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/.npmignore -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/.prettierignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/README.md -------------------------------------------------------------------------------- /assets/IMG_0682.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/assets/IMG_0682.png -------------------------------------------------------------------------------- /assets/IMG_0683.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/assets/IMG_0683.png -------------------------------------------------------------------------------- /assets/IMG_0684.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/assets/IMG_0684.png -------------------------------------------------------------------------------- /assets/styling.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/assets/styling.png -------------------------------------------------------------------------------- /assets/todo-app.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/assets/todo-app.gif -------------------------------------------------------------------------------- /assets/wc-base-demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/assets/wc-base-demo.gif -------------------------------------------------------------------------------- /assets/wc-feeling.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/assets/wc-feeling.gif -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/.gitignore -------------------------------------------------------------------------------- /docs/.vscode/extensions.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/.vscode/extensions.json -------------------------------------------------------------------------------- /docs/.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/.vscode/launch.json -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/astro.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/astro.config.mjs -------------------------------------------------------------------------------- /docs/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/package-lock.json -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/package.json -------------------------------------------------------------------------------- /docs/public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/public/apple-touch-icon.png -------------------------------------------------------------------------------- /docs/public/favicon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/public/favicon.svg -------------------------------------------------------------------------------- /docs/public/mask-icon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/public/mask-icon.svg -------------------------------------------------------------------------------- /docs/public/touch-icon-large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/public/touch-icon-large.png -------------------------------------------------------------------------------- /docs/src/assets/houston.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/assets/houston.webp -------------------------------------------------------------------------------- /docs/src/components/Attribution.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/components/Attribution.astro -------------------------------------------------------------------------------- /docs/src/content.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content.config.ts -------------------------------------------------------------------------------- /docs/src/content/docs/guides/examples.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/examples.md -------------------------------------------------------------------------------- /docs/src/content/docs/guides/exports.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/exports.md -------------------------------------------------------------------------------- /docs/src/content/docs/guides/getting-started.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/getting-started.mdx -------------------------------------------------------------------------------- /docs/src/content/docs/guides/just-parts.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/just-parts.md -------------------------------------------------------------------------------- /docs/src/content/docs/guides/library-size.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/library-size.md -------------------------------------------------------------------------------- /docs/src/content/docs/guides/life-cycle-hooks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/life-cycle-hooks.md -------------------------------------------------------------------------------- /docs/src/content/docs/guides/prop-access.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/prop-access.mdx -------------------------------------------------------------------------------- /docs/src/content/docs/guides/shadow-dom.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/shadow-dom.md -------------------------------------------------------------------------------- /docs/src/content/docs/guides/styling.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/styling.md -------------------------------------------------------------------------------- /docs/src/content/docs/guides/template-vs-render.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/template-vs-render.md -------------------------------------------------------------------------------- /docs/src/content/docs/guides/usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/usage.md -------------------------------------------------------------------------------- /docs/src/content/docs/guides/why.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/guides/why.mdx -------------------------------------------------------------------------------- /docs/src/content/docs/index.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/index.mdx -------------------------------------------------------------------------------- /docs/src/content/docs/reference/example.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/src/content/docs/reference/example.md -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/docs/tsconfig.json -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/eslint.config.mjs -------------------------------------------------------------------------------- /examples/constructed-styles/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/constructed-styles/index.html -------------------------------------------------------------------------------- /examples/constructed-styles/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/constructed-styles/index.js -------------------------------------------------------------------------------- /examples/demo/BooleanPropTest.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/demo/BooleanPropTest.mjs -------------------------------------------------------------------------------- /examples/demo/Counter.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/demo/Counter.mjs -------------------------------------------------------------------------------- /examples/demo/HelloWorld.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/demo/HelloWorld.mjs -------------------------------------------------------------------------------- /examples/demo/SimpleText.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/demo/SimpleText.mjs -------------------------------------------------------------------------------- /examples/demo/Toggle.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/demo/Toggle.js -------------------------------------------------------------------------------- /examples/demo/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/demo/index.html -------------------------------------------------------------------------------- /examples/pens/counter-toggle.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/pens/counter-toggle.html -------------------------------------------------------------------------------- /examples/props-blueprint/hello-world.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/props-blueprint/hello-world.js -------------------------------------------------------------------------------- /examples/props-blueprint/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/props-blueprint/index.html -------------------------------------------------------------------------------- /examples/props-blueprint/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/props-blueprint/index.js -------------------------------------------------------------------------------- /examples/style-objects/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/style-objects/index.html -------------------------------------------------------------------------------- /examples/style-objects/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/style-objects/index.js -------------------------------------------------------------------------------- /examples/templating/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/templating/index.html -------------------------------------------------------------------------------- /examples/templating/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/templating/index.js -------------------------------------------------------------------------------- /examples/templating/with-lit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/templating/with-lit.js -------------------------------------------------------------------------------- /examples/type-restore/Counter.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/type-restore/Counter.mjs -------------------------------------------------------------------------------- /examples/type-restore/HelloWorld.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/type-restore/HelloWorld.mjs -------------------------------------------------------------------------------- /examples/type-restore/Object.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/type-restore/Object.mjs -------------------------------------------------------------------------------- /examples/type-restore/Toggle.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/type-restore/Toggle.mjs -------------------------------------------------------------------------------- /examples/type-restore/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/type-restore/index.html -------------------------------------------------------------------------------- /examples/use-shadow/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/use-shadow/index.html -------------------------------------------------------------------------------- /examples/use-shadow/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/examples/use-shadow/index.js -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/netlify.toml -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/package.json -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/pnpm-lock.yaml -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/pnpm-workspace.yaml -------------------------------------------------------------------------------- /prettier.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/prettier.config.mjs -------------------------------------------------------------------------------- /src/WebComponent.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/src/WebComponent.js -------------------------------------------------------------------------------- /src/html.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/src/html.js -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/src/index.js -------------------------------------------------------------------------------- /src/utils/create-element.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/src/utils/create-element.mjs -------------------------------------------------------------------------------- /src/utils/deserialize.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/src/utils/deserialize.mjs -------------------------------------------------------------------------------- /src/utils/get-camel-case.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/src/utils/get-camel-case.mjs -------------------------------------------------------------------------------- /src/utils/get-kebab-case.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/src/utils/get-kebab-case.mjs -------------------------------------------------------------------------------- /src/utils/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/src/utils/index.js -------------------------------------------------------------------------------- /src/utils/serialize.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/src/utils/serialize.mjs -------------------------------------------------------------------------------- /src/utils/serialize.test.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/src/utils/serialize.test.mjs -------------------------------------------------------------------------------- /test/WebComponent.test.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/test/WebComponent.test.mjs -------------------------------------------------------------------------------- /test/utils/serialize.test.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/test/utils/serialize.test.mjs -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vendors/htm/LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/vendors/htm/LICENSE.txt -------------------------------------------------------------------------------- /vitest.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ayoayco/wcb/HEAD/vitest.config.mjs --------------------------------------------------------------------------------