diff --git a/.gitignore b/.gitignore
index 2dced08..be98c26 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,14 +1,15 @@
**/bin/
**/obj/
**/node_modules/
+.pnpm-store/
**/coverage/
**/.vite/
artifacts/
-src/Umbraco.VercelAnalytics/wwwroot/App_Plugins/
-samples/Umbraco.VercelAnalytics.Example/umbraco/Data/
-samples/Umbraco.VercelAnalytics.Example/umbraco/Logs/
-samples/Umbraco.VercelAnalytics.Example/wwwroot/App_Plugins/
-samples/Umbraco.VercelAnalytics.Example/appsettings-schema.json
+src/TheBuilder.WebAnalytics/wwwroot/App_Plugins/
+samples/TheBuilder.WebAnalytics.Example/umbraco/Data/
+samples/TheBuilder.WebAnalytics.Example/umbraco/Logs/
+samples/TheBuilder.WebAnalytics.Example/wwwroot/App_Plugins/
+samples/TheBuilder.WebAnalytics.Example/appsettings-schema.json
*.db
*.db-shm
*.db-wal
diff --git a/.impeccable/design.json b/.impeccable/design.json
index 9a932af..209c127 100644
--- a/.impeccable/design.json
+++ b/.impeccable/design.json
@@ -1,7 +1,7 @@
{
"schemaVersion": 2,
"generatedAt": "2026-07-16T19:48:26Z",
- "title": "Design System: Umbraco Vercel Analytics",
+ "title": "Design System: Web Analytics",
"extensions": {
"colorMeta": {
"backoffice-ink": {
@@ -172,7 +172,7 @@
],
"narrative": {
"northStar": "The Editorial Instrument",
- "overview": "Umbraco Vercel Analytics is a precise but approachable instrument inside the editorial workspace. It should reveal the traffic signal an editor needs, then get out of the way. The visual language is friendly and conversational, but its structure is disciplined: familiar Umbraco controls, clear hierarchy, compact reporting, and feedback close to the action that caused it. The extension belongs to the backoffice rather than merely living inside it. It inherits Umbraco UI Library semantics, Lato typography, spacing, focus treatment, and surface hierarchy. Custom analytics patterns may borrow the clarity of Vercel Analytics, but they must be translated into Umbraco's interaction language. The system explicitly rejects the density, configuration burden, and specialist terminology of an overly dense enterprise analytics platform. It is not Google Analytics, and it must never feel like a separate third-party dashboard embedded in Umbraco.",
+ "overview": "Web Analytics is a precise but approachable instrument inside the editorial workspace. It should reveal the traffic signal an editor needs, then get out of the way. The visual language is friendly and conversational, but its structure is disciplined: familiar Umbraco controls, clear hierarchy, compact reporting, and feedback close to the action that caused it. The extension belongs to the backoffice rather than merely living inside it. It inherits Umbraco UI Library semantics, Lato typography, spacing, focus treatment, and surface hierarchy. Custom analytics patterns may borrow the clarity of Vercel Analytics, but they must be translated into Umbraco's interaction language. The system explicitly rejects the density, configuration burden, and specialist terminology of an overly dense enterprise analytics platform. It is not Google Analytics, and it must never feel like a separate third-party dashboard embedded in Umbraco.",
"keyCharacteristics": [
"Native to Umbraco and visually continuous with the backoffice.",
"Compact, calm, and focused on decisions rather than exhaustive data.",
diff --git a/DESIGN.md b/DESIGN.md
index 626b798..37ed6d4 100644
--- a/DESIGN.md
+++ b/DESIGN.md
@@ -1,5 +1,5 @@
---
-name: Umbraco Vercel Analytics
+name: Web Analytics
description: A native editorial instrument for clear Vercel traffic insight inside Umbraco.
colors:
backoffice-ink: "#060606"
@@ -82,13 +82,13 @@ components:
padding: "6px 9px"
---
-# Design System: Umbraco Vercel Analytics
+# Design System: Web Analytics
## Overview
**Creative North Star: "The Editorial Instrument"**
-Umbraco Vercel Analytics is a precise but approachable instrument inside the editorial workspace. It should reveal the traffic signal an editor needs, then get out of the way. The visual language is friendly and conversational, but its structure is disciplined: familiar Umbraco controls, clear hierarchy, compact reporting, and feedback close to the action that caused it.
+Web Analytics is a precise but approachable instrument inside the editorial workspace. It should reveal the traffic signal an editor needs, then get out of the way. The visual language is friendly and conversational, but its structure is disciplined: familiar Umbraco controls, clear hierarchy, compact reporting, and feedback close to the action that caused it.
The extension belongs to the backoffice rather than merely living inside it. It inherits Umbraco UI Library semantics, Lato typography, spacing, focus treatment, and surface hierarchy. Custom analytics patterns may borrow the clarity of Vercel Analytics, but they must be translated into Umbraco's interaction language.
diff --git a/PRODUCT.md b/PRODUCT.md
index 0b2392a..d741252 100644
--- a/PRODUCT.md
+++ b/PRODUCT.md
@@ -14,7 +14,7 @@ The primary users are content editors and marketing staff working in the authent
## Product Purpose
-Umbraco Vercel Analytics brings Vercel Web Analytics into the Umbraco backoffice. It helps editors understand site and page traffic where they already manage content, while administrators retain secure control of project connections and server-side credentials.
+Web Analytics brings Vercel Web Analytics into the Umbraco backoffice. It helps editors understand site and page traffic where they already manage content, while administrators retain secure control of project connections and server-side credentials.
Success means that an editor can open Analytics, understand the important traffic signals quickly, and return to their content work without needing to visit Vercel or a separate analytics suite.
diff --git a/README.md b/README.md
index 3dfd132..a408c3c 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-# Umbraco Vercel Analytics
+# Web Analytics
-`Umbraco.VercelAnalytics` displays Vercel Web Analytics in the Umbraco 17 and 18 backoffice.
+`TheBuilder.WebAnalytics` displays Vercel Web Analytics in the Umbraco 17 and 18 backoffice.
It provides:
@@ -23,7 +23,7 @@ The package reads analytics already collected by Vercel. It does not add Vercel
Add the package to the Umbraco web project:
```sh
-dotnet add path/to/Your.Umbraco.Web.csproj package Umbraco.VercelAnalytics
+dotnet add path/to/Your.Umbraco.Web.csproj package TheBuilder.WebAnalytics
```
The package registers its services and backoffice extensions automatically. No changes to `Program.cs` are required.
@@ -75,7 +75,7 @@ The shared token is used by every connection. If a project must use a different
### 3. Configure the connection in Umbraco
-Sign in as an administrator and open **Settings → Vercel Analytics**.
+Sign in as an administrator and open **Settings → Web Analytics**.
1. Select **Add connection**.
2. Enter the Vercel project ID. The project name is loaded from Vercel.
@@ -106,7 +106,7 @@ On the first successful package startup, the Analytics section is added to the b
To give other users access, add the **Analytics** section to their Umbraco user group. Global reports require Analytics-section access. Document reports additionally require Content-section access and document read permission.
-Only administrators can open or update **Settings → Vercel Analytics**.
+Only administrators can open or update **Settings → Web Analytics**.
## Configuration-only setup
@@ -176,7 +176,7 @@ The default cache duration is five minutes. Each Umbraco instance maintains its
After deployment:
-1. Open **Settings → Vercel Analytics** and confirm the shared access token says **Configured on the server**.
+1. Open **Settings → Web Analytics** and confirm the shared access token says **Configured on the server**.
2. Select **Save settings**, then **Test connection**.
3. Open the global **Analytics** section and confirm totals and history load.
4. If document analytics is enabled, open a mapped published document and select its **Analytics** workspace view.
@@ -198,9 +198,9 @@ The available reporting window and some dimensions depend on the Vercel plan and
## Development
-When the example host runs with `ASPNETCORE_ENVIRONMENT=Development`, **Settings → Vercel Analytics** includes development data presets for a full demo, UTM campaigns, feature flags, and custom events. Add and save a mock connection like any other connection, then select it in the Analytics dashboard. Mock reports are deterministic, require no access token, and never call Vercel. Persisted mock connections become inactive when the host is not running in Development.
+When the example host runs with `ASPNETCORE_ENVIRONMENT=Development`, **Settings → Web Analytics** includes development data presets for a full demo, UTM campaigns, feature flags, and custom events. Add and save a mock connection like any other connection, then select it in the Analytics dashboard. Mock reports are deterministic, require no access token, and never call Vercel. Persisted mock connections become inactive when the host is not running in Development.
-The client uses pnpm 11. From `src/Umbraco.VercelAnalytics/Client`:
+The client uses pnpm 11. From `src/TheBuilder.WebAnalytics/Client`:
```sh
pnpm install
@@ -216,12 +216,12 @@ Run the example host against the Umbraco version whose document you want to use:
```sh
# Umbraco 17
dotnet run \
- --project samples/Umbraco.VercelAnalytics.Example \
+ --project samples/TheBuilder.WebAnalytics.Example \
-p:UmbracoVersion=17.1.0
# Umbraco 18
dotnet run \
- --project samples/Umbraco.VercelAnalytics.Example \
+ --project samples/TheBuilder.WebAnalytics.Example \
-p:UmbracoVersion=18.0.0
```
@@ -230,13 +230,13 @@ Use a separate database for each major when switching the example host between v
Then regenerate the client from the matching development endpoint:
```sh
-cd src/Umbraco.VercelAnalytics/Client
+cd src/TheBuilder.WebAnalytics/Client
# Umbraco 17
corepack pnpm generate-client -- \
- https://localhost:44389/umbraco/swagger/umbracovercelanalytics/swagger.json
+ https://localhost:44389/umbraco/swagger/thebuilderwebanalytics/swagger.json
# Umbraco 18
corepack pnpm generate-client -- \
- https://localhost:44389/umbraco/openapi/umbracovercelanalytics.json
+ https://localhost:44389/umbraco/openapi/thebuilderwebanalytics.json
```
diff --git a/TheBuilder.WebAnalytics.slnx b/TheBuilder.WebAnalytics.slnx
new file mode 100644
index 0000000..ea531ca
--- /dev/null
+++ b/TheBuilder.WebAnalytics.slnx
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Umbraco.VercelAnalytics.slnx b/Umbraco.VercelAnalytics.slnx
deleted file mode 100644
index 0d6c13f..0000000
--- a/Umbraco.VercelAnalytics.slnx
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/icon.png b/icon.png
new file mode 100644
index 0000000..072f5d7
Binary files /dev/null and b/icon.png differ
diff --git a/samples/Umbraco.VercelAnalytics.Example/.gitignore b/samples/TheBuilder.WebAnalytics.Example/.gitignore
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/.gitignore
rename to samples/TheBuilder.WebAnalytics.Example/.gitignore
diff --git a/samples/Umbraco.VercelAnalytics.Example/Program.cs b/samples/TheBuilder.WebAnalytics.Example/Program.cs
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/Program.cs
rename to samples/TheBuilder.WebAnalytics.Example/Program.cs
diff --git a/samples/Umbraco.VercelAnalytics.Example/Properties/launchSettings.json b/samples/TheBuilder.WebAnalytics.Example/Properties/launchSettings.json
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/Properties/launchSettings.json
rename to samples/TheBuilder.WebAnalytics.Example/Properties/launchSettings.json
diff --git a/samples/Umbraco.VercelAnalytics.Example/Umbraco.VercelAnalytics.Example.csproj b/samples/TheBuilder.WebAnalytics.Example/TheBuilder.WebAnalytics.Example.csproj
similarity index 93%
rename from samples/Umbraco.VercelAnalytics.Example/Umbraco.VercelAnalytics.Example.csproj
rename to samples/TheBuilder.WebAnalytics.Example/TheBuilder.WebAnalytics.Example.csproj
index c112aab..012a9c4 100644
--- a/samples/Umbraco.VercelAnalytics.Example/Umbraco.VercelAnalytics.Example.csproj
+++ b/samples/TheBuilder.WebAnalytics.Example/TheBuilder.WebAnalytics.Example.csproj
@@ -2,7 +2,7 @@
net10.0enable
- enable
+ enablefalse17.1.0$(DefineConstants);UMBRACO_18_OR_LATER
@@ -20,7 +20,7 @@
-
+
diff --git a/samples/Umbraco.VercelAnalytics.Example/VercelAnalyticsOpenApiComposer.cs b/samples/TheBuilder.WebAnalytics.Example/VercelAnalyticsOpenApiComposer.cs
similarity index 89%
rename from samples/Umbraco.VercelAnalytics.Example/VercelAnalyticsOpenApiComposer.cs
rename to samples/TheBuilder.WebAnalytics.Example/VercelAnalyticsOpenApiComposer.cs
index c08b38c..0259a45 100644
--- a/samples/Umbraco.VercelAnalytics.Example/VercelAnalyticsOpenApiComposer.cs
+++ b/samples/TheBuilder.WebAnalytics.Example/VercelAnalyticsOpenApiComposer.cs
@@ -14,9 +14,9 @@
#endif
using Umbraco.Cms.Core.Composing;
using Umbraco.Cms.Core.DependencyInjection;
-using Umbraco.VercelAnalytics;
+using TheBuilder.WebAnalytics;
-namespace Umbraco.VercelAnalytics.Example;
+namespace TheBuilder.WebAnalytics.Example;
public sealed class VercelAnalyticsOpenApiComposer : IComposer
{
@@ -26,14 +26,14 @@ public void Compose(IUmbracoBuilder builder)
builder.AddBackOfficeOpenApiDocument(
Constants.ApiName,
document => document
- .WithTitle("Umbraco Vercel Analytics Backoffice API")
+ .WithTitle("Web Analytics Backoffice API")
.WithBackOfficeAuthentication()
.ConfigureOpenApiOptions(options => options.AddOperationTransformer(
(operation, context, _) =>
{
if (context.Description.ActionDescriptor is ControllerActionDescriptor controller &&
controller.ControllerTypeInfo.Namespace?.StartsWith(
- "Umbraco.VercelAnalytics.Controllers",
+ "TheBuilder.WebAnalytics.Controllers",
StringComparison.InvariantCultureIgnoreCase) is true)
{
operation.OperationId = context.Description.ActionDescriptor.RouteValues["action"];
@@ -49,7 +49,7 @@ public void Compose(IUmbracoBuilder builder)
Constants.ApiName,
new OpenApiInfo
{
- Title = "Umbraco Vercel Analytics Backoffice API",
+ Title = "Web Analytics Backoffice API",
Version = "1.0",
});
options.OperationFilter();
@@ -70,7 +70,7 @@ protected override bool CanHandle(
ApiDescription apiDescription,
ControllerActionDescriptor controllerActionDescriptor)
=> controllerActionDescriptor.ControllerTypeInfo.Namespace?.StartsWith(
- "Umbraco.VercelAnalytics.Controllers",
+ "TheBuilder.WebAnalytics.Controllers",
StringComparison.InvariantCultureIgnoreCase) is true;
public override string Handle(ApiDescription apiDescription)
diff --git a/samples/Umbraco.VercelAnalytics.Example/Views/Partials/blockgrid/area.cshtml b/samples/TheBuilder.WebAnalytics.Example/Views/Partials/blockgrid/area.cshtml
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/Views/Partials/blockgrid/area.cshtml
rename to samples/TheBuilder.WebAnalytics.Example/Views/Partials/blockgrid/area.cshtml
diff --git a/samples/Umbraco.VercelAnalytics.Example/Views/Partials/blockgrid/areas.cshtml b/samples/TheBuilder.WebAnalytics.Example/Views/Partials/blockgrid/areas.cshtml
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/Views/Partials/blockgrid/areas.cshtml
rename to samples/TheBuilder.WebAnalytics.Example/Views/Partials/blockgrid/areas.cshtml
diff --git a/samples/Umbraco.VercelAnalytics.Example/Views/Partials/blockgrid/default.cshtml b/samples/TheBuilder.WebAnalytics.Example/Views/Partials/blockgrid/default.cshtml
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/Views/Partials/blockgrid/default.cshtml
rename to samples/TheBuilder.WebAnalytics.Example/Views/Partials/blockgrid/default.cshtml
diff --git a/samples/Umbraco.VercelAnalytics.Example/Views/Partials/blockgrid/items.cshtml b/samples/TheBuilder.WebAnalytics.Example/Views/Partials/blockgrid/items.cshtml
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/Views/Partials/blockgrid/items.cshtml
rename to samples/TheBuilder.WebAnalytics.Example/Views/Partials/blockgrid/items.cshtml
diff --git a/samples/Umbraco.VercelAnalytics.Example/Views/Partials/blocklist/default.cshtml b/samples/TheBuilder.WebAnalytics.Example/Views/Partials/blocklist/default.cshtml
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/Views/Partials/blocklist/default.cshtml
rename to samples/TheBuilder.WebAnalytics.Example/Views/Partials/blocklist/default.cshtml
diff --git a/samples/Umbraco.VercelAnalytics.Example/Views/Partials/singleblock/default.cshtml b/samples/TheBuilder.WebAnalytics.Example/Views/Partials/singleblock/default.cshtml
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/Views/Partials/singleblock/default.cshtml
rename to samples/TheBuilder.WebAnalytics.Example/Views/Partials/singleblock/default.cshtml
diff --git a/samples/Umbraco.VercelAnalytics.Example/Views/_ViewImports.cshtml b/samples/TheBuilder.WebAnalytics.Example/Views/_ViewImports.cshtml
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/Views/_ViewImports.cshtml
rename to samples/TheBuilder.WebAnalytics.Example/Views/_ViewImports.cshtml
diff --git a/samples/Umbraco.VercelAnalytics.Example/appsettings.Development.json b/samples/TheBuilder.WebAnalytics.Example/appsettings.Development.json
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/appsettings.Development.json
rename to samples/TheBuilder.WebAnalytics.Example/appsettings.Development.json
diff --git a/samples/Umbraco.VercelAnalytics.Example/appsettings.json b/samples/TheBuilder.WebAnalytics.Example/appsettings.json
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/appsettings.json
rename to samples/TheBuilder.WebAnalytics.Example/appsettings.json
diff --git a/samples/Umbraco.VercelAnalytics.Example/wwwroot/favicon.ico b/samples/TheBuilder.WebAnalytics.Example/wwwroot/favicon.ico
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/wwwroot/favicon.ico
rename to samples/TheBuilder.WebAnalytics.Example/wwwroot/favicon.ico
diff --git a/samples/Umbraco.VercelAnalytics.Example/wwwroot/media/.gitkeep b/samples/TheBuilder.WebAnalytics.Example/wwwroot/media/.gitkeep
similarity index 100%
rename from samples/Umbraco.VercelAnalytics.Example/wwwroot/media/.gitkeep
rename to samples/TheBuilder.WebAnalytics.Example/wwwroot/media/.gitkeep
diff --git a/src/Umbraco.VercelAnalytics/Client/.vscode/extensions.json b/src/TheBuilder.WebAnalytics/Client/.vscode/extensions.json
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/.vscode/extensions.json
rename to src/TheBuilder.WebAnalytics/Client/.vscode/extensions.json
diff --git a/src/Umbraco.VercelAnalytics/Client/package.json b/src/TheBuilder.WebAnalytics/Client/package.json
similarity index 93%
rename from src/Umbraco.VercelAnalytics/Client/package.json
rename to src/TheBuilder.WebAnalytics/Client/package.json
index f8e450a..b08cca0 100644
--- a/src/Umbraco.VercelAnalytics/Client/package.json
+++ b/src/TheBuilder.WebAnalytics/Client/package.json
@@ -1,5 +1,5 @@
{
- "name": "umbraco-vercel-analytics",
+ "name": "thebuilder-web-analytics",
"private": true,
"version": "0.1.0",
"type": "module",
diff --git a/src/Umbraco.VercelAnalytics/Client/pnpm-lock.yaml b/src/TheBuilder.WebAnalytics/Client/pnpm-lock.yaml
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/pnpm-lock.yaml
rename to src/TheBuilder.WebAnalytics/Client/pnpm-lock.yaml
diff --git a/src/TheBuilder.WebAnalytics/Client/pnpm-workspace.yaml b/src/TheBuilder.WebAnalytics/Client/pnpm-workspace.yaml
new file mode 100644
index 0000000..5ed0b5a
--- /dev/null
+++ b/src/TheBuilder.WebAnalytics/Client/pnpm-workspace.yaml
@@ -0,0 +1,2 @@
+allowBuilds:
+ esbuild: true
diff --git a/src/TheBuilder.WebAnalytics/Client/public/umbraco-package.json b/src/TheBuilder.WebAnalytics/Client/public/umbraco-package.json
new file mode 100644
index 0000000..afd1af9
--- /dev/null
+++ b/src/TheBuilder.WebAnalytics/Client/public/umbraco-package.json
@@ -0,0 +1,14 @@
+{
+ "id": "TheBuilder.WebAnalytics",
+ "name": "Web Analytics",
+ "version": "0.1.0",
+ "allowTelemetry": false,
+ "extensions": [
+ {
+ "name": "Web Analytics Bundle",
+ "alias": "TheBuilder.WebAnalytics.Bundle",
+ "type": "bundle",
+ "js": "/App_Plugins/TheBuilder.WebAnalytics/web-analytics.js"
+ }
+ ]
+}
diff --git a/src/Umbraco.VercelAnalytics/Client/scripts/generate-openapi.js b/src/TheBuilder.WebAnalytics/Client/scripts/generate-openapi.js
similarity index 90%
rename from src/Umbraco.VercelAnalytics/Client/scripts/generate-openapi.js
rename to src/TheBuilder.WebAnalytics/Client/scripts/generate-openapi.js
index 73d6cd0..64f63cc 100644
--- a/src/Umbraco.VercelAnalytics/Client/scripts/generate-openapi.js
+++ b/src/TheBuilder.WebAnalytics/Client/scripts/generate-openapi.js
@@ -9,8 +9,8 @@ const swaggerUrl = process.argv.slice(2).find((argument) => argument !== '--');
if (swaggerUrl === undefined) {
console.error(chalk.red(`ERROR: Missing URL to OpenAPI spec`));
console.error(`Please provide the URL to the OpenAPI spec as the first argument found in ${chalk.yellow('package.json')}`);
- console.error(`Umbraco 17 example: node generate-openapi.js ${chalk.yellow('https://localhost:44389/umbraco/swagger/umbracovercelanalytics/swagger.json')}`);
- console.error(`Umbraco 18 example: node generate-openapi.js ${chalk.yellow('https://localhost:44389/umbraco/openapi/umbracovercelanalytics.json')}`);
+ console.error(`Umbraco 17 example: node generate-openapi.js ${chalk.yellow('https://localhost:44389/umbraco/swagger/thebuilderwebanalytics/swagger.json')}`);
+ console.error(`Umbraco 18 example: node generate-openapi.js ${chalk.yellow('https://localhost:44389/umbraco/openapi/thebuilderwebanalytics.json')}`);
process.exit();
}
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-breakdown-grid.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-breakdown-grid.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-breakdown-grid.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-breakdown-grid.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-components.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-components.test.ts
similarity index 99%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-components.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-components.test.ts
index ed3cb0b..29ac0e9 100644
--- a/src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-components.test.ts
+++ b/src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-components.test.ts
@@ -11,7 +11,7 @@ const sdk = vi.hoisted(() => ({
eventDetails: vi.fn(),
eventPropertyValues: vi.fn(),
}));
-vi.mock("../api/sdk.gen.js", () => ({ UmbracoVercelAnalyticsService: sdk }));
+vi.mock("../api/sdk.gen.js", () => ({ WebAnalyticsService: sdk }));
vi.mock("@umbraco-cms/backoffice/element-api", () => ({
UmbElementMixin: (base: T) => class extends base {
readonly localize = {
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard-header.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard-header.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard-header.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard-header.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard.controller.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard.controller.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard.controller.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard.controller.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard.controller.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard.controller.ts
similarity index 99%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard.controller.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard.controller.ts
index 966d732..8c877a1 100644
--- a/src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard.controller.ts
+++ b/src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard.controller.ts
@@ -79,8 +79,8 @@ export type DashboardEnvironment = {
const defaultEnvironment = (): DashboardEnvironment => ({
currentUrl: () => new URL(window.location.href),
replaceUrl: (url) => window.history.replaceState(window.history.state, "", url),
- getStoredConnection: () => localStorage.getItem("umbraco-vercel-analytics:connection"),
- setStoredConnection: (connection) => localStorage.setItem("umbraco-vercel-analytics:connection", connection),
+ getStoredConnection: () => localStorage.getItem("thebuilder-web-analytics:connection"),
+ setStoredConnection: (connection) => localStorage.setItem("thebuilder-web-analytics:connection", connection),
languages: navigator.languages,
});
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard.styles.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard.styles.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-dashboard.styles.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-dashboard.styles.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-summary.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-summary.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/analytics-summary.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/analytics-summary.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/async-state.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/async-state.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/async-state.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/async-state.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/breakdown-dialog.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/breakdown-dialog.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/breakdown-dialog.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/breakdown-dialog.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/breakdown-rows.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/breakdown-rows.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/breakdown-rows.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/breakdown-rows.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/breakdown-rows.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/breakdown-rows.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/breakdown-rows.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/breakdown-rows.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/breakdown-table.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/breakdown-table.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/breakdown-table.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/breakdown-table.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/chart-value.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/chart-value.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/chart-value.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/chart-value.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/chart-value.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/chart-value.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/chart-value.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/chart-value.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/country-display.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/country-display.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/country-display.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/country-display.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/country-display.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/country-display.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/country-display.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/country-display.ts
diff --git a/src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-api.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-api.ts
new file mode 100644
index 0000000..b9cb164
--- /dev/null
+++ b/src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-api.ts
@@ -0,0 +1,37 @@
+import { WebAnalyticsService } from "../api/sdk.gen.js";
+import type {
+ AnalyticsBreakdown,
+ AnalyticsConnectionsResponse,
+ AnalyticsDocumentRoute,
+ AnalyticsEventDetails,
+ AnalyticsEventProperty,
+ AnalyticsEventsReport,
+ AnalyticsFlagsReport,
+ AnalyticsSummary,
+ FlagsData,
+} from "../api/types.gen.js";
+
+type ApiResponse = Promise<{ data?: T; error?: unknown; response: Response }>;
+type FlagsOptions = { query?: FlagsData["query"]; signal?: AbortSignal };
+
+export type DashboardApi = {
+ connections: (options?: Parameters>[0]) => ApiResponse;
+ documentRoutes: (options: Parameters>[0]) => ApiResponse;
+ summary: (options?: Parameters>[0]) => ApiResponse;
+ events: (options?: Parameters>[0]) => ApiResponse;
+ flags: (options?: FlagsOptions) => ApiResponse;
+ breakdown: (options: Parameters>[0]) => ApiResponse;
+ eventDetails: (options?: Parameters>[0]) => ApiResponse;
+ eventPropertyValues: (options?: Parameters>[0]) => ApiResponse;
+};
+
+export const dashboardApi: DashboardApi = {
+ connections: (options) => WebAnalyticsService.connections(options),
+ documentRoutes: (options) => WebAnalyticsService.documentRoutes(options),
+ summary: (options) => WebAnalyticsService.summary(options),
+ events: (options) => WebAnalyticsService.events(options),
+ flags: (options) => WebAnalyticsService.flags(options),
+ breakdown: (options) => WebAnalyticsService.breakdown(options),
+ eventDetails: (options) => WebAnalyticsService.eventDetails(options),
+ eventPropertyValues: (options) => WebAnalyticsService.eventPropertyValues(options),
+};
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-cards.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-cards.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-cards.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-cards.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-cards.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-cards.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-cards.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-cards.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-report-loader.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-report-loader.test.ts
similarity index 98%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-report-loader.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-report-loader.test.ts
index 2bd4103..bffafb8 100644
--- a/src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-report-loader.test.ts
+++ b/src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-report-loader.test.ts
@@ -1,7 +1,7 @@
import { beforeEach, describe, expect, it, vi } from "vitest";
const sdk = vi.hoisted(() => ({ summary: vi.fn(), events: vi.fn(), flags: vi.fn(), breakdown: vi.fn() }));
-vi.mock("../api/sdk.gen.js", () => ({ UmbracoVercelAnalyticsService: sdk }));
+vi.mock("../api/sdk.gen.js", () => ({ WebAnalyticsService: sdk }));
import { loadDashboardReports, type DashboardReportQuery, type DashboardReportUpdate } from "./dashboard-report-loader.js";
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-report-loader.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-report-loader.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-report-loader.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-report-loader.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-url-state.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-url-state.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-url-state.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-url-state.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-url-state.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-url-state.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/dashboard-url-state.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/dashboard-url-state.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/date-range-picker.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/date-range-picker.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/date-range-picker.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/date-range-picker.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/date-range.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/date-range.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/date-range.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/date-range.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/date-range.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/date-range.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/date-range.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/date-range.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/document-route.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/document-route.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/document-route.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/document-route.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/document-route.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/document-route.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/document-route.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/document-route.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/event-details-dialog.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/event-details-dialog.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/event-details-dialog.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/event-details-dialog.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/event-dialog.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/event-dialog.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/event-dialog.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/event-dialog.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/event-rows.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/event-rows.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/event-rows.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/event-rows.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/event-rows.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/event-rows.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/event-rows.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/event-rows.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/event-table.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/event-table.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/event-table.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/event-table.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/flag-card.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/flag-card.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/flag-card.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/flag-card.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/history-chart.element.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/history-chart.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/history-chart.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/history-chart.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/metric-comparison.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/metric-comparison.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/metric-comparison.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/metric-comparison.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/metric-comparison.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/metric-comparison.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/metric-comparison.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/metric-comparison.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/report-error.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/report-error.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/report-error.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/report-error.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/report-error.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/report-error.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/report-error.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/report-error.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/request-coordinator.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/request-coordinator.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/request-coordinator.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/request-coordinator.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/request-coordinator.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/request-coordinator.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/request-coordinator.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/request-coordinator.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/utm-capability.test.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/utm-capability.test.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/utm-capability.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/utm-capability.test.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/analytics/utm-capability.ts b/src/TheBuilder.WebAnalytics/Client/src/analytics/utm-capability.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/analytics/utm-capability.ts
rename to src/TheBuilder.WebAnalytics/Client/src/analytics/utm-capability.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/client.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/client.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/client.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/client.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/client/client.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/client/client.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/client/client.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/client/client.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/client/index.ts b/src/TheBuilder.WebAnalytics/Client/src/api/client/index.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/client/index.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/client/index.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/client/types.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/client/types.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/client/types.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/client/types.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/client/utils.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/client/utils.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/client/utils.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/client/utils.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/core/auth.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/core/auth.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/core/auth.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/core/auth.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/core/bodySerializer.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/core/bodySerializer.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/core/bodySerializer.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/core/bodySerializer.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/core/params.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/core/params.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/core/params.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/core/params.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/core/pathSerializer.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/core/pathSerializer.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/core/pathSerializer.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/core/pathSerializer.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/core/queryKeySerializer.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/core/queryKeySerializer.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/core/queryKeySerializer.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/core/queryKeySerializer.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/core/serverSentEvents.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/core/serverSentEvents.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/core/serverSentEvents.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/core/serverSentEvents.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/core/types.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/core/types.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/core/types.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/core/types.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/core/utils.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/core/utils.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/core/utils.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/core/utils.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/index.ts b/src/TheBuilder.WebAnalytics/Client/src/api/index.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/index.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/index.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/sdk.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/sdk.gen.ts
similarity index 99%
rename from src/Umbraco.VercelAnalytics/Client/src/api/sdk.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/sdk.gen.ts
index 64c5ac8..c63e797 100644
--- a/src/Umbraco.VercelAnalytics/Client/src/api/sdk.gen.ts
+++ b/src/TheBuilder.WebAnalytics/Client/src/api/sdk.gen.ts
@@ -18,7 +18,7 @@ export type Options;
};
-export class UmbracoVercelAnalyticsService {
+export class WebAnalyticsService {
public static connections(options?: Options) {
return (options?.client ?? client).get({
security: [
diff --git a/src/Umbraco.VercelAnalytics/Client/src/api/types.gen.ts b/src/TheBuilder.WebAnalytics/Client/src/api/types.gen.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/api/types.gen.ts
rename to src/TheBuilder.WebAnalytics/Client/src/api/types.gen.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/bundle.manifests.ts b/src/TheBuilder.WebAnalytics/Client/src/bundle.manifests.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/bundle.manifests.ts
rename to src/TheBuilder.WebAnalytics/Client/src/bundle.manifests.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/entrypoints/entrypoint.ts b/src/TheBuilder.WebAnalytics/Client/src/entrypoints/entrypoint.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/entrypoints/entrypoint.ts
rename to src/TheBuilder.WebAnalytics/Client/src/entrypoints/entrypoint.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/entrypoints/manifest.ts b/src/TheBuilder.WebAnalytics/Client/src/entrypoints/manifest.ts
similarity index 57%
rename from src/Umbraco.VercelAnalytics/Client/src/entrypoints/manifest.ts
rename to src/TheBuilder.WebAnalytics/Client/src/entrypoints/manifest.ts
index 09639d2..631aa12 100644
--- a/src/Umbraco.VercelAnalytics/Client/src/entrypoints/manifest.ts
+++ b/src/TheBuilder.WebAnalytics/Client/src/entrypoints/manifest.ts
@@ -1,7 +1,7 @@
export const manifests: Array = [
{
- name: "Umbraco Vercel Analytics Entrypoint",
- alias: "Umbraco.VercelAnalytics.Entrypoint",
+ name: "Web Analytics Entrypoint",
+ alias: "TheBuilder.WebAnalytics.Entrypoint",
type: "backofficeEntryPoint",
js: () => import("./entrypoint.js"),
},
diff --git a/src/Umbraco.VercelAnalytics/Client/src/manifests.test.ts b/src/TheBuilder.WebAnalytics/Client/src/manifests.test.ts
similarity index 61%
rename from src/Umbraco.VercelAnalytics/Client/src/manifests.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/manifests.test.ts
index c12a72c..e5e6680 100644
--- a/src/Umbraco.VercelAnalytics/Client/src/manifests.test.ts
+++ b/src/TheBuilder.WebAnalytics/Client/src/manifests.test.ts
@@ -1,14 +1,14 @@
import { describe, expect, it } from "vitest";
import { manifests } from "./manifests.js";
-describe("Vercel Analytics manifests", () => {
+describe("Web Analytics manifests", () => {
it("only exposes the Analytics section when the package is enabled", () => {
- const section = manifests.find((manifest) => manifest.alias === "Umbraco.VercelAnalytics.Section") as
+ const section = manifests.find((manifest) => manifest.alias === "TheBuilder.WebAnalytics.Section") as
| { conditions?: Array<{ alias: string }> }
| undefined;
- const condition = manifests.find((manifest) => manifest.alias === "Umbraco.VercelAnalytics.Condition.AnalyticsEnabled");
+ const condition = manifests.find((manifest) => manifest.alias === "TheBuilder.WebAnalytics.Condition.AnalyticsEnabled");
expect(condition?.type).toBe("condition");
- expect(section?.conditions).toContainEqual({ alias: "Umbraco.VercelAnalytics.Condition.AnalyticsEnabled" });
+ expect(section?.conditions).toContainEqual({ alias: "TheBuilder.WebAnalytics.Condition.AnalyticsEnabled" });
});
});
diff --git a/src/Umbraco.VercelAnalytics/Client/src/manifests.ts b/src/TheBuilder.WebAnalytics/Client/src/manifests.ts
similarity index 60%
rename from src/Umbraco.VercelAnalytics/Client/src/manifests.ts
rename to src/TheBuilder.WebAnalytics/Client/src/manifests.ts
index 064c01b..e24a8e1 100644
--- a/src/Umbraco.VercelAnalytics/Client/src/manifests.ts
+++ b/src/TheBuilder.WebAnalytics/Client/src/manifests.ts
@@ -1,32 +1,32 @@
export const manifests: Array = [
{
type: "condition",
- alias: "Umbraco.VercelAnalytics.Condition.AnalyticsEnabled",
- name: "Vercel Analytics Enabled Condition",
+ alias: "TheBuilder.WebAnalytics.Condition.AnalyticsEnabled",
+ name: "Web Analytics Enabled Condition",
api: () => import("./section/analytics-enabled.condition.js"),
},
{
type: "section",
- alias: "Umbraco.VercelAnalytics.Section",
- name: "Vercel Analytics Section",
+ alias: "TheBuilder.WebAnalytics.Section",
+ name: "Web Analytics Section",
meta: { label: "Analytics", pathname: "analytics" },
- conditions: [{ alias: "Umbraco.VercelAnalytics.Condition.AnalyticsEnabled" }],
+ conditions: [{ alias: "TheBuilder.WebAnalytics.Condition.AnalyticsEnabled" }],
},
{
type: "sectionView",
- alias: "Umbraco.VercelAnalytics.SectionView",
- name: "Vercel Analytics Section View",
+ alias: "TheBuilder.WebAnalytics.SectionView",
+ name: "Web Analytics Section View",
js: () => import("./section/analytics-section.element.js"),
meta: { label: "Analytics", pathname: "overview", icon: "icon-chart-curve" },
- conditions: [{ alias: "Umb.Condition.SectionAlias", match: "Umbraco.VercelAnalytics.Section" }],
+ conditions: [{ alias: "Umb.Condition.SectionAlias", match: "TheBuilder.WebAnalytics.Section" }],
},
{
type: "dashboard",
- alias: "Umbraco.VercelAnalytics.SettingsDashboard",
- name: "Vercel Analytics Settings Dashboard",
+ alias: "TheBuilder.WebAnalytics.SettingsDashboard",
+ name: "Web Analytics Settings Dashboard",
js: () => import("./settings/settings-dashboard.element.js"),
weight: 25,
- meta: { label: "Vercel Analytics", pathname: "vercel-analytics" },
+ meta: { label: "Web Analytics", pathname: "vercel-analytics" },
conditions: [
{ alias: "Umb.Condition.SectionAlias", match: "Umb.Section.Settings" },
{ alias: "Umb.Condition.CurrentUser.IsAdmin" },
@@ -34,19 +34,19 @@ export const manifests: Array = [
},
{
type: "condition",
- alias: "Umbraco.VercelAnalytics.Condition.DocumentAnalytics",
+ alias: "TheBuilder.WebAnalytics.Condition.DocumentAnalytics",
name: "Document Analytics Availability Condition",
api: () => import("./workspace/document-analytics.condition.js"),
},
{
type: "workspaceView",
- alias: "Umbraco.VercelAnalytics.DocumentWorkspaceView",
- name: "Vercel Analytics Document Workspace View",
+ alias: "TheBuilder.WebAnalytics.DocumentWorkspaceView",
+ name: "Web Analytics Document Workspace View",
js: () => import("./workspace/analytics-workspace.element.js"),
meta: { label: "Analytics", pathname: "analytics", icon: "icon-chart-curve" },
conditions: [
{ alias: "Umb.Condition.WorkspaceAlias", match: "Umb.Workspace.Document" },
- { alias: "Umbraco.VercelAnalytics.Condition.DocumentAnalytics" },
+ { alias: "TheBuilder.WebAnalytics.Condition.DocumentAnalytics" },
],
},
];
diff --git a/src/Umbraco.VercelAnalytics/Client/src/section/analytics-availability.ts b/src/TheBuilder.WebAnalytics/Client/src/section/analytics-availability.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/section/analytics-availability.ts
rename to src/TheBuilder.WebAnalytics/Client/src/section/analytics-availability.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/section/analytics-enabled.condition.test.ts b/src/TheBuilder.WebAnalytics/Client/src/section/analytics-enabled.condition.test.ts
similarity index 90%
rename from src/Umbraco.VercelAnalytics/Client/src/section/analytics-enabled.condition.test.ts
rename to src/TheBuilder.WebAnalytics/Client/src/section/analytics-enabled.condition.test.ts
index 298f450..3759875 100644
--- a/src/Umbraco.VercelAnalytics/Client/src/section/analytics-enabled.condition.test.ts
+++ b/src/TheBuilder.WebAnalytics/Client/src/section/analytics-enabled.condition.test.ts
@@ -3,7 +3,7 @@ import { afterEach, describe, expect, it, vi } from "vitest";
const sdk = vi.hoisted(() => ({ connections: vi.fn() }));
-vi.mock("../api/sdk.gen.js", () => ({ UmbracoVercelAnalyticsService: sdk }));
+vi.mock("../api/sdk.gen.js", () => ({ WebAnalyticsService: sdk }));
vi.mock("@umbraco-cms/backoffice/extension-registry", () => ({
UmbConditionBase: class {
#permitted = false;
@@ -39,7 +39,7 @@ describe("AnalyticsEnabledCondition", () => {
it("permits the section only when saved settings are enabled", async () => {
sdk.connections.mockResolvedValue({ data: { enabled: true }, error: undefined });
condition = new AnalyticsEnabledCondition({} as never, {
- config: { alias: "Umbraco.VercelAnalytics.Condition.AnalyticsEnabled" },
+ config: { alias: "TheBuilder.WebAnalytics.Condition.AnalyticsEnabled" },
onChange: vi.fn(),
});
@@ -52,7 +52,7 @@ describe("AnalyticsEnabledCondition", () => {
it("fails closed when availability cannot be loaded", async () => {
sdk.connections.mockResolvedValue({ data: undefined, error: { status: 403 } });
condition = new AnalyticsEnabledCondition({} as never, {
- config: { alias: "Umbraco.VercelAnalytics.Condition.AnalyticsEnabled" },
+ config: { alias: "TheBuilder.WebAnalytics.Condition.AnalyticsEnabled" },
onChange: vi.fn(),
});
diff --git a/src/Umbraco.VercelAnalytics/Client/src/section/analytics-enabled.condition.ts b/src/TheBuilder.WebAnalytics/Client/src/section/analytics-enabled.condition.ts
similarity index 90%
rename from src/Umbraco.VercelAnalytics/Client/src/section/analytics-enabled.condition.ts
rename to src/TheBuilder.WebAnalytics/Client/src/section/analytics-enabled.condition.ts
index 0c60594..abd2ae3 100644
--- a/src/Umbraco.VercelAnalytics/Client/src/section/analytics-enabled.condition.ts
+++ b/src/TheBuilder.WebAnalytics/Client/src/section/analytics-enabled.condition.ts
@@ -1,6 +1,6 @@
import { UmbConditionBase } from "@umbraco-cms/backoffice/extension-registry";
import type { UmbConditionConfigBase, UmbExtensionCondition } from "@umbraco-cms/backoffice/extension-api";
-import { UmbracoVercelAnalyticsService } from "../api/sdk.gen.js";
+import { WebAnalyticsService } from "../api/sdk.gen.js";
import {
ANALYTICS_AVAILABILITY_CHANGED_EVENT,
type AnalyticsAvailabilityChangedDetail,
@@ -26,7 +26,7 @@ export class AnalyticsEnabledCondition extends UmbConditionBase {
const request = ++this.#request;
- const { data, error } = await UmbracoVercelAnalyticsService.connections();
+ const { data, error } = await WebAnalyticsService.connections();
if (request === this.#request) this.permitted = !error && data?.enabled === true;
}
diff --git a/src/Umbraco.VercelAnalytics/Client/src/section/analytics-section.element.ts b/src/TheBuilder.WebAnalytics/Client/src/section/analytics-section.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/section/analytics-section.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/section/analytics-section.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/settings/connection-editor.element.ts b/src/TheBuilder.WebAnalytics/Client/src/settings/connection-editor.element.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/settings/connection-editor.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/settings/connection-editor.element.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/settings/mock-scenarios.ts b/src/TheBuilder.WebAnalytics/Client/src/settings/mock-scenarios.ts
similarity index 100%
rename from src/Umbraco.VercelAnalytics/Client/src/settings/mock-scenarios.ts
rename to src/TheBuilder.WebAnalytics/Client/src/settings/mock-scenarios.ts
diff --git a/src/Umbraco.VercelAnalytics/Client/src/settings/settings-dashboard.element.ts b/src/TheBuilder.WebAnalytics/Client/src/settings/settings-dashboard.element.ts
similarity index 96%
rename from src/Umbraco.VercelAnalytics/Client/src/settings/settings-dashboard.element.ts
rename to src/TheBuilder.WebAnalytics/Client/src/settings/settings-dashboard.element.ts
index 81d9d11..6c89fd8 100644
--- a/src/Umbraco.VercelAnalytics/Client/src/settings/settings-dashboard.element.ts
+++ b/src/TheBuilder.WebAnalytics/Client/src/settings/settings-dashboard.element.ts
@@ -8,7 +8,7 @@ import {
import { UmbElementMixin } from "@umbraco-cms/backoffice/element-api";
import { UmbTextStyles } from "@umbraco-cms/backoffice/style";
import type { UUIInputElement, UUIToggleElement } from "@umbraco-cms/backoffice/external/uui";
-import { UmbracoVercelAnalyticsService } from "../api/sdk.gen.js";
+import { WebAnalyticsService } from "../api/sdk.gen.js";
import type {
AnalyticsConnectionSettingsResponse,
AnalyticsSettingsResponse,
@@ -43,7 +43,7 @@ export class VercelAnalyticsSettingsDashboardElement extends UmbElementMixin(Lit
async #load(): Promise {
this._loading = true;
- const { data, error } = await UmbracoVercelAnalyticsService.settings();
+ const { data, error } = await WebAnalyticsService.settings();
this._loading = false;
if (error || !data) {
this._status = { type: "error", message: "Analytics settings could not be loaded. Administrator access is required." };
@@ -126,7 +126,7 @@ export class VercelAnalyticsSettingsDashboardElement extends UmbElementMixin(Lit
}
this._testingKey = key;
this._connectionStatuses = { ...this._connectionStatuses, [key]: { type: "info", message: "Testing the saved connection…" } };
- const { data, error } = await UmbracoVercelAnalyticsService.testConnection({ path: { key } });
+ const { data, error } = await WebAnalyticsService.testConnection({ path: { key } });
this._testingKey = undefined;
this._connectionStatuses = {
...this._connectionStatuses,
@@ -138,7 +138,7 @@ export class VercelAnalyticsSettingsDashboardElement extends UmbElementMixin(Lit
async #save(event?: Event): Promise {
event?.preventDefault();
- await this.#persistSettings("Vercel Analytics settings saved.");
+ await this.#persistSettings("Web Analytics settings saved.");
}
async #persistSettings(successMessage?: string): Promise {
@@ -155,7 +155,7 @@ export class VercelAnalyticsSettingsDashboardElement extends UmbElementMixin(Lit
this._saving = true;
this._status = undefined;
const body: UpdateAnalyticsSettingsRequest = createSettingsUpdate(this._settings);
- const { data, error } = await UmbracoVercelAnalyticsService.saveSettings({ body });
+ const { data, error } = await WebAnalyticsService.saveSettings({ body });
this._saving = false;
if (error || !data) {
this._status = { type: "error", message: "Settings were not saved. Check the connection fields and mapping values." };
@@ -188,13 +188,13 @@ export class VercelAnalyticsSettingsDashboardElement extends UmbElementMixin(Lit
return html`