@walkeros/explorer 0.0.7 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,71 +1,112 @@
1
1
  {
2
2
  "name": "@walkeros/explorer",
3
- "version": "0.0.7",
4
- "description": "Vanilla JS interactive HTML element explorer and live code editor for walkerOS",
5
- "keywords": [
6
- "walkerOS",
7
- "explorer",
8
- "code-editor",
9
- "html",
10
- "elb-tagging",
11
- "developer-tools"
12
- ],
13
- "homepage": "https://www.walkerOS.com",
14
- "bugs": "https://github.com/elbwalker/walkerOS/issues",
15
- "repository": {
16
- "type": "git",
17
- "url": "https://github.com/elbwalker/walkerOS.git",
18
- "directory": "apps/explorer"
19
- },
3
+ "version": "0.3.0",
4
+ "description": "Interactive React components for walkerOS documentation and exploration",
20
5
  "license": "MIT",
21
- "author": "elbwalker",
22
- "main": "dist/index.cjs",
23
- "module": "dist/index.mjs",
24
- "types": "dist/index.d.ts",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "module": "./dist/index.mjs",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.mjs",
14
+ "require": "./dist/index.js"
15
+ },
16
+ "./styles.css": "./dist/styles.css",
17
+ "./styles": "./dist/styles.css"
18
+ },
25
19
  "files": [
26
- "dist/**",
27
- "serve.js"
20
+ "dist/**"
28
21
  ],
29
22
  "scripts": {
30
23
  "build": "tsup --silent",
31
- "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
32
24
  "dev": "jest --watchAll --colors",
33
- "demo": "npm run build && node serve.js",
34
- "lint": "tsc && eslint \"**/*.ts*\" --rule '@typescript-eslint/no-explicit-any: off'",
35
- "test": "jest --passWithNoTests --silent",
36
- "test:watch": "jest --watch --passWithNoTests --silent",
37
- "test:coverage": "jest --coverage --passWithNoTests --silent",
38
- "test:quick": "jest --testPathPattern=quick.test.ts --passWithNoTests --silent",
39
- "test:foundation": "jest --testPathPattern=foundation.test.ts --passWithNoTests --silent",
40
- "test:ci": "jest --ci --coverage --passWithNoTests --silent",
41
- "test:verbose": "jest --passWithNoTests --verbose",
42
- "test:visual": "node test-harness.js",
43
- "test:visual:watch": "node test-harness.js --watch",
44
- "test:playwright": "playwright test",
45
- "test:playwright:ui": "playwright test --ui",
46
- "test:playwright:debug": "playwright test --debug",
47
- "test:playwright:report": "playwright show-report",
48
- "dev:visual": "node dev-workflow.js",
49
- "dev:visual:once": "node dev-workflow.js --no-watch",
50
- "update": "npx npm-check-updates -u && npm update"
25
+ "start": "storybook dev -p 6006 --no-open",
26
+ "lint": "tsc && eslint \"src/**/*.ts*\"",
27
+ "test": "jest",
28
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
29
+ "update": "npx npm-check-updates -u && npm update",
30
+ "build-storybook": "storybook build",
31
+ "publish-packages": "npm run build && npm run lint && npm run test && changeset version && changeset publish",
32
+ "prepare": "husky || true",
33
+ "format": "prettier --write ."
51
34
  },
52
35
  "dependencies": {
53
- "@walkeros/collector": "*",
54
- "@walkeros/core": "*",
55
- "@walkeros/web-core": "*"
36
+ "@monaco-editor/react": "^4.7.0",
37
+ "@rjsf/core": "^5.24.13",
38
+ "@rjsf/utils": "^5.24.13",
39
+ "@rjsf/validator-ajv8": "^5.24.13",
40
+ "clsx": "^2.1.1",
41
+ "monaco-editor": "^0.54.0",
42
+ "tailwind-merge": "^2.5.5"
43
+ },
44
+ "peerDependencies": {
45
+ "@walkeros/core": "^0.3.0",
46
+ "react": ">=18.0.0",
47
+ "react-dom": ">=18.0.0"
48
+ },
49
+ "peerDependenciesMeta": {
50
+ "@walkeros/collector": {
51
+ "optional": true
52
+ },
53
+ "@walkeros/web-source-browser": {
54
+ "optional": true
55
+ }
56
56
  },
57
57
  "devDependencies": {
58
- "@playwright/test": "^1.54.1",
58
+ "@changesets/cli": "^2.29.7",
59
+ "@storybook/addon-docs": "^10.0.4",
60
+ "@storybook/react-vite": "^10.0.4",
59
61
  "@testing-library/jest-dom": "^6.6.3",
60
- "@walkeros/eslint": "*",
61
- "@walkeros/jest": "*",
62
- "@walkeros/tsconfig": "*",
63
- "@walkeros/tsup": "*",
64
- "chokidar": "^4.0.3",
65
- "typescript": "^5.5.2"
62
+ "@testing-library/react": "^16.1.0",
63
+ "@testing-library/user-event": "^14.5.2",
64
+ "@types/react": "^19.0.2",
65
+ "@types/react-dom": "^19.0.2",
66
+ "@vitejs/plugin-react": "^5.1.0",
67
+ "@walkeros/collector": "^0.3.0",
68
+ "@walkeros/config": "^0.1.3",
69
+ "@walkeros/core": "^0.3.0",
70
+ "@walkeros/web-destination-gtag": "^0.3.0",
71
+ "@walkeros/web-source-browser": "^0.3.0",
72
+ "eslint-plugin-storybook": "^10.0.4",
73
+ "husky": "^9.1.7",
74
+ "identity-obj-proxy": "^3.0.0",
75
+ "lint-staged": "^16.2.6",
76
+ "prettier": "^3.6.2",
77
+ "rehype-external-links": "^3.0.0",
78
+ "rehype-slug": "^6.0.0",
79
+ "sass": "^1.93.2",
80
+ "storybook": "^10.0.4",
81
+ "vite": "^7.1.12"
82
+ },
83
+ "repository": {
84
+ "url": "git+https://github.com/elbwalker/walkerOS.git",
85
+ "directory": "apps/explorer"
86
+ },
87
+ "author": "elbwalker <hello@elbwalker.com>",
88
+ "homepage": "https://github.com/elbwalker/walkerOS#readme",
89
+ "bugs": {
90
+ "url": "https://github.com/elbwalker/walkerOS/issues"
66
91
  },
67
- "funding": {
68
- "type": "github",
69
- "url": "https://github.com/sponsors/elbwalker"
92
+ "keywords": [
93
+ "walker",
94
+ "walkerOS",
95
+ "react",
96
+ "components",
97
+ "documentation",
98
+ "interactive",
99
+ "playground"
100
+ ],
101
+ "funding": [
102
+ {
103
+ "type": "GitHub Sponsors",
104
+ "url": "https://github.com/sponsors/elbwalker"
105
+ }
106
+ ],
107
+ "lint-staged": {
108
+ "*.{js,ts,tsx,json,css,md}": [
109
+ "prettier --write"
110
+ ]
70
111
  }
71
112
  }
@@ -1,143 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>Destination Component Demo</title>
7
- <style>
8
- body {
9
- font-family: Arial, sans-serif;
10
- margin: 0;
11
- padding: 20px;
12
- background: #f5f5f5;
13
- }
14
- .container {
15
- max-width: 1600px;
16
- margin: 0 auto;
17
- }
18
- h1 {
19
- color: #333;
20
- margin-bottom: 20px;
21
- text-align: center;
22
- }
23
- .theme-toggle {
24
- position: absolute;
25
- top: 20px;
26
- right: 20px;
27
- background: none;
28
- border: 2px solid #ddd;
29
- border-radius: 50%;
30
- width: 40px;
31
- height: 40px;
32
- cursor: pointer;
33
- font-size: 18px;
34
- display: flex;
35
- align-items: center;
36
- justify-content: center;
37
- transition: all 0.2s ease;
38
- }
39
- .theme-toggle:hover {
40
- border-color: #007bff;
41
- background: rgba(0, 123, 255, 0.1);
42
- }
43
- .destination-demo {
44
- height: 600px;
45
- min-height: 500px;
46
- }
47
-
48
- /* Ensure the explorer container uses full height */
49
- #destination-container {
50
- height: 100%;
51
- min-height: 500px;
52
- }
53
- </style>
54
- </head>
55
- <body>
56
- <button class="theme-toggle" onclick="toggleTheme()" title="Toggle theme">
57
- <span id="theme-icon">🌙</span>
58
- </button>
59
-
60
- <div class="container">
61
- <h1>Destination Component Demo</h1>
62
- <p style="text-align: center; margin-bottom: 30px">
63
- Edit the Event and Mapping to see the processed result from the
64
- destination.
65
- </p>
66
-
67
- <div class="destination-demo">
68
- <div id="destination-container"></div>
69
- </div>
70
- </div>
71
-
72
- <script src="../explorer.js"></script>
73
- <script>
74
- // Theme toggle functionality
75
- window.toggleTheme = () => {
76
- const html = document.documentElement;
77
- const currentTheme = html.getAttribute('data-theme');
78
- const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
79
-
80
- html.setAttribute('data-theme', newTheme);
81
-
82
- // Update icon
83
- const icon = document.getElementById('theme-icon');
84
- icon.textContent = newTheme === 'dark' ? '☀️' : '🌙';
85
-
86
- // Save preference
87
- localStorage.setItem('theme', newTheme);
88
- };
89
-
90
- document.addEventListener('DOMContentLoaded', () => {
91
- // Create the destination component with PiwikPro order complete example
92
- const destinationComponent = WalkerExplorer.createDestination(
93
- '#destination-container',
94
- {
95
- height: '100%',
96
- showHeader: true,
97
- initialEvent: `{
98
- "event": "order complete",
99
- "data": {
100
- "id": "0rd3r1d",
101
- "currency": "EUR",
102
- "shipping": 5.22,
103
- "taxes": 73.76,
104
- "total": 555
105
- },
106
- "context": {
107
- "shopping": ["complete", 0]
108
- },
109
- "globals": {
110
- "pagegroup": "shop"
111
- },
112
- "nested": [
113
- {
114
- "type": "product",
115
- "data": {
116
- "id": "ers",
117
- "name": "Everyday Ruck Snack",
118
- "color": "black",
119
- "size": "l",
120
- "price": 420
121
- }
122
- }
123
- ]
124
- }`,
125
- initialMapping: `{
126
- "order": {
127
- "complete": {
128
- "data": {
129
- "event_name": "purchase",
130
- "product_id": "data.id",
131
- "product_name": "data.name",
132
- "product_price": "data.price",
133
- "product_category": "data.category"
134
- }
135
- }
136
- }
137
- }`,
138
- },
139
- );
140
- });
141
- </script>
142
- </body>
143
- </html>
@@ -1,110 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>WalkerOS Explorer - Demo Index</title>
7
- <style>
8
- body {
9
- font-family: Arial, sans-serif;
10
- max-width: 800px;
11
- margin: 0 auto;
12
- padding: 40px 20px;
13
- background: #f5f5f5;
14
- }
15
- .container {
16
- background: white;
17
- padding: 40px;
18
- border-radius: 12px;
19
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
20
- }
21
- h1 {
22
- color: #333;
23
- margin-bottom: 10px;
24
- text-align: center;
25
- }
26
- .subtitle {
27
- color: #666;
28
- text-align: center;
29
- margin-bottom: 40px;
30
- font-size: 18px;
31
- }
32
- .demo-grid {
33
- display: grid;
34
- grid-template-columns: 1fr 1fr;
35
- gap: 20px;
36
- margin-bottom: 40px;
37
- }
38
- .demo-card {
39
- border: 2px solid #e1e5e9;
40
- border-radius: 8px;
41
- padding: 24px;
42
- text-decoration: none;
43
- color: inherit;
44
- transition: all 0.2s ease;
45
- background: white;
46
- }
47
- .demo-card:hover {
48
- border-color: #007bff;
49
- box-shadow: 0 4px 12px rgba(0, 123, 255, 0.15);
50
- transform: translateY(-2px);
51
- }
52
- .demo-card h3 {
53
- margin: 0 0 12px 0;
54
- color: #007bff;
55
- font-size: 20px;
56
- }
57
- .demo-card p {
58
- margin: 0;
59
- color: #666;
60
- line-height: 1.5;
61
- }
62
- .demo-card .emoji {
63
- font-size: 24px;
64
- margin-right: 8px;
65
- }
66
- .footer {
67
- text-align: center;
68
- color: #666;
69
- font-size: 14px;
70
- padding-top: 20px;
71
- border-top: 1px solid #e1e5e9;
72
- }
73
- @media (max-width: 768px) {
74
- .demo-grid {
75
- grid-template-columns: 1fr;
76
- }
77
- body {
78
- padding: 20px 10px;
79
- }
80
- .container {
81
- padding: 20px;
82
- }
83
- }
84
- </style>
85
- </head>
86
- <body>
87
- <div class="container">
88
- <h1>🚀 WalkerOS Explorer</h1>
89
- <p class="subtitle">Interactive components for walkerOS development</p>
90
-
91
- <div class="demo-grid">
92
- <a href="livecode-js.html" class="demo-card">
93
- <h3><span class="emoji">⚡</span>LiveCodeJS</h3>
94
- <p>
95
- JavaScript evaluation with context injection. Perfect for testing
96
- walkerOS functions and data processing with live code editing.
97
- </p>
98
- </a>
99
-
100
- <a href="destination.html" class="demo-card">
101
- <h3><span class="emoji">🎯</span>Destination</h3>
102
- <p>
103
- Three-column layout for Event, Mapping, and Result. Visualize how
104
- event data transforms through mapping configurations.
105
- </p>
106
- </a>
107
- </div>
108
- </div>
109
- </body>
110
- </html>