@dazl/addons 1.8.0 → 1.10.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/dist/addons.json +191 -0
- package/package.json +11 -10
- package/src/globals.d.ts +5 -0
package/dist/addons.json
CHANGED
|
@@ -14,6 +14,62 @@
|
|
|
14
14
|
"homepage": "https://www.ag-grid.com/",
|
|
15
15
|
"exampleUsagePrompt": "Implement a data grid using AG Grid to display and manage tabular data with sorting, filtering, and pagination features."
|
|
16
16
|
},
|
|
17
|
+
"anthropic": {
|
|
18
|
+
"id": "anthropic",
|
|
19
|
+
"displayName": "Anthropic",
|
|
20
|
+
"description": "Integration with Anthropic AI services (Claude Opus, Sonnet, and Haiku) for advanced language modeling, coding, and reasoning capabilities",
|
|
21
|
+
"dependencies": [
|
|
22
|
+
"@anthropic-ai/sdk"
|
|
23
|
+
],
|
|
24
|
+
"envInstructionsMd": "# API Key Creation\n\nGo to https://console.anthropic.com/ to sign up and create a new Anthropic API key.\n",
|
|
25
|
+
"tags": [
|
|
26
|
+
"ai",
|
|
27
|
+
"ml",
|
|
28
|
+
"claude",
|
|
29
|
+
"api",
|
|
30
|
+
"integration",
|
|
31
|
+
"llm",
|
|
32
|
+
"anthropic"
|
|
33
|
+
],
|
|
34
|
+
"environmentVariables": [
|
|
35
|
+
{
|
|
36
|
+
"name": "ANTHROPIC_API_KEY",
|
|
37
|
+
"description": "API key for accessing Anthropic AI services (Claude)"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"homepage": "https://docs.anthropic.com",
|
|
41
|
+
"exampleUsagePrompt": "Use the Anthropic Messages API with the latest Claude models to analyze a chunk of text or generate a response."
|
|
42
|
+
},
|
|
43
|
+
"customerio": {
|
|
44
|
+
"id": "customerio",
|
|
45
|
+
"displayName": "Customer.io",
|
|
46
|
+
"description": "Send transactional and behavioral messages via the Customer.io API — track events, manage customers, and trigger campaigns",
|
|
47
|
+
"dependencies": [
|
|
48
|
+
"customerio-node"
|
|
49
|
+
],
|
|
50
|
+
"envInstructionsMd": "# Customer.io API Credentials\n\n1. Log in to [customer.io](https://customer.io) and go to **Settings → API Credentials**.\n2. Copy your **Site ID** and **API Key**.\n3. Paste them into the `CUSTOMERIO_SITE_ID` and `CUSTOMERIO_API_KEY` inputs:\n",
|
|
51
|
+
"tags": [
|
|
52
|
+
"email",
|
|
53
|
+
"sms",
|
|
54
|
+
"messaging",
|
|
55
|
+
"crm",
|
|
56
|
+
"api",
|
|
57
|
+
"integration",
|
|
58
|
+
"automation"
|
|
59
|
+
],
|
|
60
|
+
"environmentVariables": [
|
|
61
|
+
{
|
|
62
|
+
"name": "CUSTOMERIO_SITE_ID",
|
|
63
|
+
"description": "Customer.io Site ID from your workspace API credentials"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"name": "CUSTOMERIO_API_KEY",
|
|
67
|
+
"description": "Customer.io API Key from your workspace API credentials"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"homepage": "https://customer.io/docs/api/",
|
|
71
|
+
"exampleUsagePrompt": "Track a user sign-up event in Customer.io and set their email and name attributes."
|
|
72
|
+
},
|
|
17
73
|
"deck-gl": {
|
|
18
74
|
"id": "deck-gl",
|
|
19
75
|
"displayName": "Deck.gl",
|
|
@@ -32,6 +88,32 @@
|
|
|
32
88
|
"homepage": "https://deck.gl/",
|
|
33
89
|
"exampleUsagePrompt": "Create a Deck.gl visualization that displays a 3D scatter plot of geographical data points with varying elevations and colors based on a dataset of city populations."
|
|
34
90
|
},
|
|
91
|
+
"github": {
|
|
92
|
+
"id": "github",
|
|
93
|
+
"displayName": "GitHub (Octokit)",
|
|
94
|
+
"description": "Interact with the GitHub REST and GraphQL APIs via the official Octokit SDK — manage repos, issues, pull requests, and more",
|
|
95
|
+
"dependencies": [
|
|
96
|
+
"@octokit/rest"
|
|
97
|
+
],
|
|
98
|
+
"envInstructionsMd": "# GitHub Token\n\n1. Go to [github.com/settings/tokens](https://github.com/settings/tokens).\n2. Click **Generate new token (classic)** or create a **Fine-grained token**.\n3. Select the required scopes for your use case (e.g. `repo`, `read:user`).\n4. Copy the generated token and add paste it in the `GITHUB_TOKEN` input:\n",
|
|
99
|
+
"tags": [
|
|
100
|
+
"github",
|
|
101
|
+
"git",
|
|
102
|
+
"api",
|
|
103
|
+
"integration",
|
|
104
|
+
"repos",
|
|
105
|
+
"issues",
|
|
106
|
+
"pull-requests"
|
|
107
|
+
],
|
|
108
|
+
"environmentVariables": [
|
|
109
|
+
{
|
|
110
|
+
"name": "GITHUB_TOKEN",
|
|
111
|
+
"description": "GitHub personal access token or app installation token"
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"homepage": "https://github.com/octokit/rest.js",
|
|
115
|
+
"exampleUsagePrompt": "Use the GitHub API to list all open pull requests in a repository and display their titles and authors."
|
|
116
|
+
},
|
|
35
117
|
"google-ai": {
|
|
36
118
|
"id": "google-ai",
|
|
37
119
|
"displayName": "Google AI",
|
|
@@ -57,6 +139,32 @@
|
|
|
57
139
|
"homepage": "https://ai.google.dev/gemini-api/docs",
|
|
58
140
|
"exampleUsagePrompt": "Use the Google AI Gemini API to generate a text summary of a given article."
|
|
59
141
|
},
|
|
142
|
+
"google-analytics": {
|
|
143
|
+
"id": "google-analytics",
|
|
144
|
+
"displayName": "Google Analytics (GA4)",
|
|
145
|
+
"description": "Google Analytics 4 (GA4) integration using the official gtag.js script for pageview tracking, custom event logging, and user engagement monitoring in React applications",
|
|
146
|
+
"files": {
|
|
147
|
+
"app/components/ui/google-analytics/google-analytics.tsx": "import { useEffect } from \"react\";\n\ndeclare global {\n interface Window {\n dataLayer: unknown[];\n gtag: (...args: unknown[]) => void;\n }\n}\n\nexport interface GoogleAnalyticsProps {\n /**\n * Google Analytics 4 Measurement ID (usually starts with \"G-\").\n */\n measurementId: string;\n /**\n * Set to false to skip tracking the initial pageview on mount.\n * Default is true.\n */\n trackPageview?: boolean;\n}\n\n/**\n * Loads the official Google Analytics gtag.js script and bootstraps GA4.\n * Safe to call multiple times - the script is only injected once per measurement ID.\n */\nexport function initGA(measurementId: string): void {\n if (typeof window === \"undefined\" || !measurementId) return;\n\n const scriptId = `ga-gtag-${measurementId}`;\n if (document.getElementById(scriptId)) return;\n\n window.dataLayer = window.dataLayer || [];\n window.gtag = function gtag() {\n // eslint-disable-next-line prefer-rest-params\n window.dataLayer.push(arguments);\n };\n window.gtag(\"js\", new Date());\n window.gtag(\"config\", measurementId, { send_page_view: false });\n\n const script = document.createElement(\"script\");\n script.id = scriptId;\n script.async = true;\n script.src = `https://www.googletagmanager.com/gtag/js?id=${encodeURIComponent(measurementId)}`;\n document.head.appendChild(script);\n}\n\n/**\n * GoogleAnalytics Component\n *\n * Place this component once near the root of your app to load the official\n * gtag.js script and initialize GA4 on the client.\n */\nexport function GoogleAnalytics({ measurementId, trackPageview = true }: GoogleAnalyticsProps) {\n useEffect(() => {\n initGA(measurementId);\n if (trackPageview) {\n trackPageView(window.location.pathname + window.location.search);\n }\n }, [measurementId, trackPageview]);\n\n return null;\n}\n\n// Global cache to prevent consecutive duplicate pageview tracking\nlet lastTrackedPath: string | null = null;\n\n/**\n * Track a page view programmatically (useful for client-side routing).\n */\nexport function trackPageView(path: string, title?: string) {\n if (typeof window === \"undefined\" || typeof window.gtag !== \"function\") return;\n\n if (lastTrackedPath === path) return;\n lastTrackedPath = path;\n\n window.gtag(\"event\", \"page_view\", {\n page_path: path,\n page_title: title || document.title,\n });\n}\n\n/**\n * Track a custom GA4 event (e.g. button clicks, form submissions).\n */\nexport function trackEvent(action: string, params?: Record<string, unknown>) {\n if (typeof window === \"undefined\" || typeof window.gtag !== \"function\") return;\n window.gtag(\"event\", action, params);\n}\n"
|
|
148
|
+
},
|
|
149
|
+
"envInstructionsMd": "# Google Analytics Setup\n\n1. Sign in or create an account on [Google Analytics](https://analytics.google.com/).\n2. Head to **Admin** -> **Data Streams** (under Data Collection and Modification).\n3. Select your web data stream (or create a new web stream if needed).\n4. Copy your **Measurement ID** (it typically starts with `G-`, e.g., `G-1234567890`).\n5. Add this Measurement ID to your environment configuration (e.g., your `.env` file):\n\n```env\nGA_MEASUREMENT_ID=G-1234567890\n```\n",
|
|
150
|
+
"tags": [
|
|
151
|
+
"analytics",
|
|
152
|
+
"google",
|
|
153
|
+
"ga4",
|
|
154
|
+
"gtag",
|
|
155
|
+
"tracking",
|
|
156
|
+
"metrics",
|
|
157
|
+
"marketing"
|
|
158
|
+
],
|
|
159
|
+
"environmentVariables": [
|
|
160
|
+
{
|
|
161
|
+
"name": "GA_MEASUREMENT_ID",
|
|
162
|
+
"description": "Google Analytics 4 Measurement ID (usually starts with 'G-')"
|
|
163
|
+
}
|
|
164
|
+
],
|
|
165
|
+
"homepage": "https://developers.google.com/analytics/devguides/collection/ga4",
|
|
166
|
+
"exampleUsagePrompt": "Integrate Google Analytics 4 in my React application to track page views and custom button clicks."
|
|
167
|
+
},
|
|
60
168
|
"gsap": {
|
|
61
169
|
"id": "gsap",
|
|
62
170
|
"displayName": "GSAP",
|
|
@@ -109,6 +217,34 @@
|
|
|
109
217
|
"homepage": "https://lexical.dev/",
|
|
110
218
|
"exampleUsagePrompt": "Set up a basic text editor using Lexical to provide rich text editing capabilities."
|
|
111
219
|
},
|
|
220
|
+
"mailchimp": {
|
|
221
|
+
"id": "mailchimp",
|
|
222
|
+
"displayName": "Mailchimp",
|
|
223
|
+
"description": "Manage email marketing with the Mailchimp Marketing API — add contacts, manage lists/audiences, and trigger campaigns",
|
|
224
|
+
"dependencies": [
|
|
225
|
+
"@mailchimp/mailchimp_marketing"
|
|
226
|
+
],
|
|
227
|
+
"devDependencies": [
|
|
228
|
+
"@types/mailchimp__mailchimp_marketing"
|
|
229
|
+
],
|
|
230
|
+
"envInstructionsMd": "# Mailchimp API Key\n\n1. Log in to [mailchimp.com](https://mailchimp.com) and go to **Account & Billing → Extras → API keys**.\n2. Click **Create A Key** and copy the generated key.\n3. Paste it into the `MAILCHIMP_API_KEY` input\n",
|
|
231
|
+
"tags": [
|
|
232
|
+
"email",
|
|
233
|
+
"marketing",
|
|
234
|
+
"newsletter",
|
|
235
|
+
"api",
|
|
236
|
+
"integration",
|
|
237
|
+
"contacts"
|
|
238
|
+
],
|
|
239
|
+
"environmentVariables": [
|
|
240
|
+
{
|
|
241
|
+
"name": "MAILCHIMP_API_KEY",
|
|
242
|
+
"description": "Mailchimp API key (includes the data-center suffix, e.g. key-us1)"
|
|
243
|
+
}
|
|
244
|
+
],
|
|
245
|
+
"homepage": "https://mailchimp.com/developer/marketing/api/",
|
|
246
|
+
"exampleUsagePrompt": "Add a new subscriber to a Mailchimp audience list using their email address and name."
|
|
247
|
+
},
|
|
112
248
|
"mermaid": {
|
|
113
249
|
"id": "mermaid",
|
|
114
250
|
"displayName": "Mermaid",
|
|
@@ -126,6 +262,34 @@
|
|
|
126
262
|
"homepage": "https://mermaid.js.org/",
|
|
127
263
|
"exampleUsagePrompt": "Create a flowchart diagram using Mermaid syntax to illustrate the process of user authentication in a web application."
|
|
128
264
|
},
|
|
265
|
+
"mixpanel": {
|
|
266
|
+
"id": "mixpanel",
|
|
267
|
+
"displayName": "Mixpanel",
|
|
268
|
+
"description": "Client-side product analytics tracking with Mixpanel — track events, identify users, and measure feature adoption",
|
|
269
|
+
"dependencies": [
|
|
270
|
+
"mixpanel-browser"
|
|
271
|
+
],
|
|
272
|
+
"files": {
|
|
273
|
+
"app/lib/mixpanel.tsx": "import mixpanel from \"mixpanel-browser\";\nimport { useEffect } from \"react\";\n\nlet initialized = false;\n\n/**\n * Initialize the Mixpanel SDK. Safe to call multiple times — only runs once.\n */\nexport function initMixpanel(token: string): void {\n if (typeof window === \"undefined\" || !token || initialized) return;\n mixpanel.init(token, { track_pageview: false, persistence: \"localStorage\" });\n initialized = true;\n}\n\nexport interface MixpanelProps {\n /**\n * Mixpanel project token (MIXPANEL_TOKEN).\n */\n token: string;\n /**\n * Set to true to automatically track a pageview on mount.\n * Default is false.\n */\n trackPageview?: boolean;\n}\n\n/**\n * MixpanelProvider Component\n *\n * Place this once near the root of your app to initialize the Mixpanel SDK.\n */\nexport function MixpanelProvider({ token, trackPageview = false }: MixpanelProps) {\n useEffect(() => {\n initMixpanel(token);\n if (trackPageview) {\n trackPageView();\n }\n }, [token, trackPageview]);\n\n return null;\n}\n\n/**\n * Track a page view event.\n */\nexport function trackPageView(properties?: Record<string, unknown>): void {\n if (!initialized) return;\n mixpanel.track_pageview(properties);\n}\n\n/**\n * Track a custom event.\n */\nexport function trackEvent(event: string, properties?: Record<string, unknown>): void {\n if (!initialized) return;\n mixpanel.track(event, properties);\n}\n\n/**\n * Identify a user by their unique ID and optionally set profile properties.\n */\nexport function identifyUser(userId: string, properties?: Record<string, unknown>): void {\n if (!initialized) return;\n mixpanel.identify(userId);\n if (properties) {\n mixpanel.people.set(properties);\n }\n}\n\n/**\n * Reset the current identity (e.g. on logout).\n */\nexport function resetUser(): void {\n if (!initialized) return;\n mixpanel.reset();\n initialized = false;\n}\n"
|
|
274
|
+
},
|
|
275
|
+
"envInstructionsMd": "# Mixpanel Token\n\n1. Go to [mixpanel.com](https://mixpanel.com) and open your project.\n2. Navigate to **Settings → Project Settings**.\n3. Copy the **Project Token** from the **Access Keys** section.\n4. Paste it into the `MIXPANEL_TOKEN` input\n",
|
|
276
|
+
"tags": [
|
|
277
|
+
"analytics",
|
|
278
|
+
"tracking",
|
|
279
|
+
"events",
|
|
280
|
+
"product-analytics",
|
|
281
|
+
"api",
|
|
282
|
+
"integration"
|
|
283
|
+
],
|
|
284
|
+
"environmentVariables": [
|
|
285
|
+
{
|
|
286
|
+
"name": "MIXPANEL_TOKEN",
|
|
287
|
+
"description": "Mixpanel project token (found in Project Settings → Access Keys)"
|
|
288
|
+
}
|
|
289
|
+
],
|
|
290
|
+
"homepage": "https://docs.mixpanel.com/docs/sdks/javascript",
|
|
291
|
+
"exampleUsagePrompt": "Initialize Mixpanel and track a button click event with properties like button name and page."
|
|
292
|
+
},
|
|
129
293
|
"monaco-editor": {
|
|
130
294
|
"id": "monaco-editor",
|
|
131
295
|
"displayName": "Monaco Editor",
|
|
@@ -158,6 +322,33 @@
|
|
|
158
322
|
"homepage": "https://motion.dev/",
|
|
159
323
|
"exampleUsagePrompt": "Create smooth and interactive animations for the current page using the Motion library."
|
|
160
324
|
},
|
|
325
|
+
"openai": {
|
|
326
|
+
"id": "openai",
|
|
327
|
+
"displayName": "OpenAI",
|
|
328
|
+
"description": "Integration with OpenAI services (GPT models, DALL-E) for state-of-the-art text generation, reasoning, vision, and image creation",
|
|
329
|
+
"dependencies": [
|
|
330
|
+
"openai"
|
|
331
|
+
],
|
|
332
|
+
"envInstructionsMd": "# API Key Creation\n\nGo to https://platform.openai.com/api-keys to create a new OpenAI API key.\n",
|
|
333
|
+
"tags": [
|
|
334
|
+
"ai",
|
|
335
|
+
"ml",
|
|
336
|
+
"gpt",
|
|
337
|
+
"openai",
|
|
338
|
+
"api",
|
|
339
|
+
"integration",
|
|
340
|
+
"llm",
|
|
341
|
+
"dall-e"
|
|
342
|
+
],
|
|
343
|
+
"environmentVariables": [
|
|
344
|
+
{
|
|
345
|
+
"name": "OPENAI_API_KEY",
|
|
346
|
+
"description": "API key for accessing OpenAI services"
|
|
347
|
+
}
|
|
348
|
+
],
|
|
349
|
+
"homepage": "https://platform.openai.com/docs",
|
|
350
|
+
"exampleUsagePrompt": "Use the OpenAI Responses API with the latest GPT models to reply to a user prompt, utilizing structured outputs, tools, or web search if needed."
|
|
351
|
+
},
|
|
161
352
|
"react-leaflet": {
|
|
162
353
|
"id": "react-leaflet",
|
|
163
354
|
"displayName": "Leaflet",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dazl/addons",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Add-ons for Dazl",
|
|
6
6
|
"exports": {
|
|
@@ -21,17 +21,18 @@
|
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/mocha": "^10.0.10",
|
|
23
23
|
"@types/node": "24",
|
|
24
|
-
"@types/react": "^19.2.
|
|
24
|
+
"@types/react": "^19.2.17",
|
|
25
25
|
"@types/react-dom": "^19.2.3",
|
|
26
26
|
"classnames": "^2.5.1",
|
|
27
|
-
"mocha": "12.0.0-beta-
|
|
28
|
-
"motion": "^12.
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"react
|
|
27
|
+
"mocha": "12.0.0-beta-9.4",
|
|
28
|
+
"motion": "^12.40.0",
|
|
29
|
+
"mixpanel-browser": "^2.80.0",
|
|
30
|
+
"prettier": "^3.8.4",
|
|
31
|
+
"react": "^19.2.7",
|
|
32
|
+
"react-dom": "^19.2.7",
|
|
32
33
|
"react-image-gallery": "^2.1.2",
|
|
33
|
-
"typescript": "~
|
|
34
|
-
"zod": "^4.3
|
|
34
|
+
"typescript": "~6.0.3",
|
|
35
|
+
"zod": "^4.4.3"
|
|
35
36
|
},
|
|
36
37
|
"repository": {
|
|
37
38
|
"type": "git",
|
|
@@ -44,7 +45,7 @@
|
|
|
44
45
|
"url": "https://github.com/dazl-dev/dazl-addons/issues"
|
|
45
46
|
},
|
|
46
47
|
"publishConfig": {
|
|
47
|
-
"access": "
|
|
48
|
+
"access": "public"
|
|
48
49
|
},
|
|
49
50
|
"files": [
|
|
50
51
|
"dist",
|