Rework cookie-banner exports: themed banner as default, headless as subpath

Make the themed banner the default "." export and move the headless
components to "./headless". Remove unused VERSION export.

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-04-22 10:49:22 +04:00
parent 0cb48a4f33
commit 4a88cc5902
5 changed files with 24 additions and 11 deletions

View File

@@ -34,7 +34,7 @@ This automatically renders a fully styled consent dialog and a floating settings
Import the pre-built themed banner as an ES module for use in bundled applications (React, Vue, Svelte, etc.): Import the pre-built themed banner as an ES module for use in bundled applications (React, Vue, Svelte, etc.):
```js ```js
import { registerThemedBanner } from "@probo/cookie-banner/themed-banner"; import { registerThemedBanner } from "@probo/cookie-banner";
registerThemedBanner(); registerThemedBanner();
``` ```
@@ -92,7 +92,7 @@ Dark mode example:
For complete control over the UI, import the headless Web Components directly. This entrypoint gives you unstyled building blocks that you compose and style yourself: For complete control over the UI, import the headless Web Components directly. This entrypoint gives you unstyled building blocks that you compose and style yourself:
```js ```js
import { registerComponents } from "@probo/cookie-banner"; import { registerComponents } from "@probo/cookie-banner/headless";
registerComponents(); registerComponents();
``` ```

View File

@@ -28,8 +28,8 @@ await Promise.all([
}), }),
esbuild.build({ esbuild.build({
...shared, ...shared,
entryPoints: ["src/themed-banner/index.ts"], entryPoints: ["src/headless/index.ts"],
outfile: "dist/cookie-banner-themed.mjs", outfile: "dist/cookie-banner-headless.mjs",
format: "esm", format: "esm",
}), }),
esbuild.build({ esbuild.build({

View File

@@ -12,10 +12,10 @@
"import": "./dist/cookie-banner.mjs", "import": "./dist/cookie-banner.mjs",
"default": "./dist/cookie-banner.mjs" "default": "./dist/cookie-banner.mjs"
}, },
"./themed-banner": { "./headless": {
"types": "./dist/themed-banner/index.d.ts", "types": "./dist/headless/index.d.ts",
"import": "./dist/cookie-banner-themed.mjs", "import": "./dist/cookie-banner-headless.mjs",
"default": "./dist/cookie-banner-themed.mjs" "default": "./dist/cookie-banner-headless.mjs"
}, },
"./iife": "./dist/cookie-banner.iife.js" "./iife": "./dist/cookie-banner.iife.js"
}, },

View File

@@ -0,0 +1,15 @@
// Copyright (c) 2026 Probo Inc <hello@getprobo.com>.
//
// Permission to use, copy, modify, and/or distribute this software for any
// purpose with or without fee is hereby granted, provided that the above
// copyright notice and this permission notice appear in all copies.
//
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
// LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
export { registerComponents } from "../components";

View File

@@ -12,6 +12,4 @@
// OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR // OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE. // PERFORMANCE OF THIS SOFTWARE.
export const VERSION = "0.0.0"; export { ProboThemedBanner, registerThemedBanner } from "./themed-banner";
export { registerComponents } from "./components";