@dazl/addons 1.7.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/README.md +9 -0
- package/dist/addons.json +251 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/types.d.ts +38 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +21 -0
- package/dist/types.js.map +1 -0
- package/package.json +58 -0
- package/src/globals.d.ts +6 -0
- package/src/index.ts +1 -0
- package/src/types.ts +31 -0
package/README.md
ADDED
package/dist/addons.json
ADDED
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
{
|
|
2
|
+
"deck-gl": {
|
|
3
|
+
"id": "deck-gl",
|
|
4
|
+
"displayName": "Deck.gl",
|
|
5
|
+
"description": "A suite of 3D-enabled data visualization overlays",
|
|
6
|
+
"dependencies": [
|
|
7
|
+
"deck.gl"
|
|
8
|
+
],
|
|
9
|
+
"tags": [
|
|
10
|
+
"3d",
|
|
11
|
+
"visualization",
|
|
12
|
+
"data",
|
|
13
|
+
"maps",
|
|
14
|
+
"graphics",
|
|
15
|
+
"webgl"
|
|
16
|
+
],
|
|
17
|
+
"homepage": "https://deck.gl/",
|
|
18
|
+
"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."
|
|
19
|
+
},
|
|
20
|
+
"google-ai": {
|
|
21
|
+
"id": "google-ai",
|
|
22
|
+
"displayName": "Google AI",
|
|
23
|
+
"description": "Integration with Google AI services for enhanced functionalities",
|
|
24
|
+
"dependencies": [
|
|
25
|
+
"@google/genai"
|
|
26
|
+
],
|
|
27
|
+
"envInstructionsMd": "# API Key Creation\n\nGo to https://aistudio.google.com/api-keys to create a new API key.\n",
|
|
28
|
+
"tags": [
|
|
29
|
+
"ai",
|
|
30
|
+
"ml",
|
|
31
|
+
"gemini",
|
|
32
|
+
"api",
|
|
33
|
+
"integration",
|
|
34
|
+
"llm"
|
|
35
|
+
],
|
|
36
|
+
"environmentVariables": [
|
|
37
|
+
{
|
|
38
|
+
"name": "GOOGLE_API_KEY",
|
|
39
|
+
"description": "API key for accessing Google AI services"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"homepage": "https://ai.google.dev/gemini-api/docs",
|
|
43
|
+
"exampleUsagePrompt": "Use the Google AI Gemini API to generate a text summary of a given article."
|
|
44
|
+
},
|
|
45
|
+
"gsap": {
|
|
46
|
+
"id": "gsap",
|
|
47
|
+
"displayName": "GSAP",
|
|
48
|
+
"description": "JavaScript animation library built for professionals",
|
|
49
|
+
"dependencies": [
|
|
50
|
+
"gsap"
|
|
51
|
+
],
|
|
52
|
+
"tags": [
|
|
53
|
+
"animation",
|
|
54
|
+
"effects",
|
|
55
|
+
"transitions",
|
|
56
|
+
"motion",
|
|
57
|
+
"ui"
|
|
58
|
+
],
|
|
59
|
+
"homepage": "https://gsap.com/",
|
|
60
|
+
"exampleUsagePrompt": "Add animations to the current page elements using GSAP."
|
|
61
|
+
},
|
|
62
|
+
"image-gallery": {
|
|
63
|
+
"id": "image-gallery",
|
|
64
|
+
"displayName": "Image Gallery (Carousel)",
|
|
65
|
+
"description": "Show a collection of images using a carousel gallery",
|
|
66
|
+
"dependencies": [
|
|
67
|
+
"react-image-gallery"
|
|
68
|
+
],
|
|
69
|
+
"devDependencies": [
|
|
70
|
+
"@types/react-image-gallery"
|
|
71
|
+
],
|
|
72
|
+
"files": {
|
|
73
|
+
"app/components/ui/image-gallery/image-gallery.tsx": "import ImageGallery from \"react-image-gallery\";\nimport \"react-image-gallery/styles/css/image-gallery.css\";\n\nexport { ImageGallery };\n",
|
|
74
|
+
"app/components/ui/image-gallery/image-gallery.usage.md": "# Image Gallery\n\nReact component for building image galleries and carousels.\n\n## Features\n\n- Mobile swipe gestures\n- Thumbnail navigation\n- Fullscreen support\n- Custom rendered slides\n- RTL support\n- Responsive design\n- Tons of customization options (see props below)\n\n### Usage\n\n```tsx\nimport { ImageGallery } from \"~/components/ui/image-gallery/image-gallery\";\n\nconst images = [\n {\n original: \"https://picsum.photos/id/1018/1000/600/\",\n thumbnail: \"https://picsum.photos/id/1018/250/150/\",\n },\n {\n original: \"https://picsum.photos/id/1015/1000/600/\",\n thumbnail: \"https://picsum.photos/id/1015/250/150/\",\n },\n {\n original: \"https://picsum.photos/id/1019/1000/600/\",\n thumbnail: \"https://picsum.photos/id/1019/250/150/\",\n },\n];\n\nexport default function Home() {\n return (\n <ImageGallery items={images} />;\n );\n}\n```\n\n# Props\n\n- `items`: (required) Array of objects, see example above,\n - Available Properties\n - `original` - image src url\n - `thumbnail` - image thumbnail src url\n - `fullscreen` - image for fullscreen (defaults to original)\n - `originalHeight` - image height (html5 attribute)\n - `originalWidth` - image width (html5 attribute)\n - `loading` - image loading. Either \"lazy\" or \"eager\" (html5 attribute)\n - `thumbnailHeight` - image height (html5 attribute)\n - `thumbnailWidth` - image width (html5 attribute)\n - `thumbnailLoading` - image loading. Either \"lazy\" or \"eager\" (html5 attribute)\n - `originalClass` - custom image class\n - `thumbnailClass` - custom thumbnail class\n - `renderItem` - Function for custom rendering a specific slide (see renderItem below)\n - `renderThumbInner` - Function for custom thumbnail renderer (see renderThumbInner below)\n - `originalAlt` - image alt\n - `thumbnailAlt` - thumbnail image alt\n - `originalTitle` - image title\n - `thumbnailTitle` - thumbnail image title\n - `thumbnailLabel` - label for thumbnail\n - `description` - description for image\n - `srcSet` - image srcset (html5 attribute)\n - `sizes` - image sizes (html5 attribute)\n - `bulletClass` - extra class for the bullet of the item\n- `infinite`: Boolean, default `true`\n - infinite sliding\n- `lazyLoad`: Boolean, default `false`\n- `showNav`: Boolean, default `true`\n- `showThumbnails`: Boolean, default `true`\n- `thumbnailPosition`: String, default `bottom`\n - available positions: `top, right, bottom, left`\n- `showFullscreenButton`: Boolean, default `true`\n- `useBrowserFullscreen`: Boolean, default `true`\n - if false, fullscreen will be done via css within the browser\n- `useTranslate3D`: Boolean, default `true`\n - if false, will use `translate` instead of `translate3d` css property to transition slides\n- `showPlayButton`: Boolean, default `true`\n- `isRTL`: Boolean, default `false`\n - if true, gallery's direction will be from right-to-left (to support right-to-left languages)\n- `showBullets`: Boolean, default `false`\n- `showIndex`: Boolean, default `false`\n- `autoPlay`: Boolean, default `false`\n- `disableThumbnailScroll`: Boolean, default `false`\n - disables the thumbnail container from adjusting\n- `disableKeyDown`: Boolean, default `false`\n - disables keydown listener for keyboard shortcuts (left arrow, right arrow, esc key)\n- `disableSwipe`: Boolean, default `false`\n- `disableThumbnailSwipe`: Boolean, default `false`\n- `onErrorImageURL`: String, default `undefined`\n - an image src pointing to your default image if an image fails to load\n - handles both slide image, and thumbnail image\n- `indexSeparator`: String, default `' / '`, ignored if `showIndex` is false\n- `slideDuration`: Number, default `450`\n - transition duration during image slide in milliseconds\n- `swipingTransitionDuration`: Number, default `0`\n - transition duration while swiping in milliseconds\n- `slideInterval`: Number, default `3000`\n- `slideOnThumbnailOver`: Boolean, default `false`\n- `flickThreshold`: Number (float), default `0.4`\n - Determines the max velocity of a swipe before it's considered a flick (lower = more sensitive)\n- `swipeThreshold`: Number, default `30`\n - A percentage of how far the offset of the current slide is swiped to trigger a slide event.\n e.g. If the current slide is swiped less than 30% to the left or right, it will not trigger a slide event.\n- `stopPropagation`: Boolean, default `false`\n - Automatically calls stopPropagation on all 'swipe' events.\n- `startIndex`: Number, default `0`\n- `onImageError`: Function, `callback(event)`\n - overrides onErrorImage\n- `onThumbnailError`: Function, `callback(event)`\n - overrides onErrorImage\n- `onThumbnailClick`: Function, `callback(event, index)`\n- `onBulletClick`: Function, `callback(event, index)`\n- `onImageLoad`: Function, `callback(event)`\n- `onSlide`: Function, `callback(currentIndex)`\n- `onBeforeSlide`: Function, `callback(nextIndex)`\n- `onScreenChange`: Function, `callback(boolean)`\n - When fullscreen is toggled a boolean is passed to the callback\n- `onPause`: Function, `callback(currentIndex)`\n- `onPlay`: Function, `callback(currentIndex)`\n- `onClick`: Function, `callback(event)`\n- `onTouchMove`: Function, `callback(event) on gallery slide`\n- `onTouchEnd`: Function, `callback(event) on gallery slide`\n- `onTouchStart`: Function, `callback(event) on gallery slide`\n- `onMouseOver`: Function, `callback(event) on gallery slide`\n- `onMouseLeave`: Function, `callback(event) on gallery slide`\n- `additionalClass`: String,\n - Additional class that will be added to the root node of the component.\n- `renderCustomControls`: Function, custom controls rendering\n - Use this to render custom controls or other elements on the currently displayed image (like the fullscreen button)\n ```javascript\n _renderCustomControls() {\n return <a href='' className='image-gallery-custom-action' onClick={this._customAction.bind(this)}/>\n }\n ```\n- `renderItem`: Function, custom item rendering\n - NOTE: Highly suggest looking into a render cache such as React.memo if you plan to override renderItem\n - On a specific item `[{thumbnail: '...', renderItem: this.myRenderItem}]`\n - As a prop passed into `ImageGallery` to completely override `renderItem`, see source for renderItem implementation\n- `renderThumbInner`: Function, custom thumbnail rendering\n - On a specific item `[{thumbnail: '...', renderThumbInner: this.myRenderThumbInner}]`\n - As a prop passed into `ImageGallery` to completely override `_renderThumbInner`, see source for reference\n\n- `renderLeftNav`: Function, custom left nav component\n - See [`<LeftNav />`](https://github.com/xiaolin/react-image-gallery/blob/master/src/components/controls/LeftNav.js)\n - Use this to render a custom left nav control\n - Args:\n - `onClick` callback that will slide to the previous item\n - `disabled` boolean for when the nav is disabled\n ```javascript\n renderLeftNav: (onClick, disabled) => <LeftNav onClick={onClick} disabled={disabled} />;\n ```\n- `renderRightNav`: Function, custom right nav component\n - See [`<RightNav />`](https://github.com/xiaolin/react-image-gallery/blob/master/src/components/controls/RightNav.js)\n - Use this to render a custom right nav control\n - Args:\n - `onClick` callback that will slide to the next item\n - `disabled` boolean for when the nav is disabled\n ```javascript\n renderRightNav: (onClick, disabled) => <RightNav onClick={onClick} disabled={disabled} />;\n ```\n- `renderPlayPauseButton`: Function, play pause button component\n - See [`<PlayPause />`](https://github.com/xiaolin/react-image-gallery/blob/master/src/components/controls/PlayPause.js)\n - Use this to render a custom play pause button\n - Args:\n - `onClick` callback that will toggle play/pause\n - `isPlaying` boolean for when gallery is playing\n ```javascript\n renderPlayPauseButton: (onClick, isPlaying) => <PlayPause onClick={onClick} isPlaying={isPlaying} />;\n ```\n- `renderFullscreenButton`: Function, custom fullscreen button component\n - See [`<Fullscreen />`](https://github.com/xiaolin/react-image-gallery/blob/master/src/components/controls/Fullscreen.js)\n - Use this to render a custom fullscreen button\n - Args:\n - `onClick` callback that will toggle fullscreen\n - `isFullscreen` argument for when fullscreen is active\n ```javascript\n renderFullscreenButton: (onClick, isFullscreen) => (\n <Fullscreen onClick={onClick} isFullscreen={isFullscreen} />\n ),\n ```\n- `useWindowKeyDown`: Boolean, default `true`\n - If `true`, listens to keydown events on window (window.addEventListener)\n - If `false`, listens to keydown events on image gallery element (imageGalleryElement.addEventListener)\n\n# Functions\n\nThe following functions can be accessed using [refs](https://reactjs.org/docs/refs-and-the-dom.html)\n\n- `play()`: plays the slides\n- `pause()`: pauses the slides\n- `toggleFullScreen()`: toggles full screen\n- `slideToIndex(index)`: slides to a specific index\n- `getCurrentIndex()`: returns the current index\n"
|
|
75
|
+
},
|
|
76
|
+
"tags": [
|
|
77
|
+
"images",
|
|
78
|
+
"carousel",
|
|
79
|
+
"gallery",
|
|
80
|
+
"ui",
|
|
81
|
+
"slideshow"
|
|
82
|
+
],
|
|
83
|
+
"homepage": "https://linxtion.com/demo/react-image-gallery/",
|
|
84
|
+
"exampleUsagePrompt": "Create an image gallery carousel that displays a series of images with thumbnails and navigation controls."
|
|
85
|
+
},
|
|
86
|
+
"mermaid": {
|
|
87
|
+
"id": "mermaid",
|
|
88
|
+
"displayName": "Mermaid",
|
|
89
|
+
"description": "Generate diagrams from markdown-like text",
|
|
90
|
+
"dependencies": [
|
|
91
|
+
"mermaid"
|
|
92
|
+
],
|
|
93
|
+
"tags": [
|
|
94
|
+
"diagrams",
|
|
95
|
+
"flowchart",
|
|
96
|
+
"visualization",
|
|
97
|
+
"markdown",
|
|
98
|
+
"documentation"
|
|
99
|
+
],
|
|
100
|
+
"homepage": "https://mermaid.js.org/",
|
|
101
|
+
"exampleUsagePrompt": "Create a flowchart diagram using Mermaid syntax to illustrate the process of user authentication in a web application."
|
|
102
|
+
},
|
|
103
|
+
"motion": {
|
|
104
|
+
"id": "motion",
|
|
105
|
+
"displayName": "Motion",
|
|
106
|
+
"description": "A production-grade animation library for the web",
|
|
107
|
+
"dependencies": [
|
|
108
|
+
"motion"
|
|
109
|
+
],
|
|
110
|
+
"tags": [
|
|
111
|
+
"animation",
|
|
112
|
+
"motion",
|
|
113
|
+
"transitions",
|
|
114
|
+
"effects",
|
|
115
|
+
"ui"
|
|
116
|
+
],
|
|
117
|
+
"homepage": "https://motion.dev/",
|
|
118
|
+
"exampleUsagePrompt": "Create smooth and interactive animations for the current page using the Motion library."
|
|
119
|
+
},
|
|
120
|
+
"react-konva": {
|
|
121
|
+
"id": "react-konva",
|
|
122
|
+
"displayName": "Konva",
|
|
123
|
+
"description": "Drawing complex canvas graphics",
|
|
124
|
+
"dependencies": [
|
|
125
|
+
"react-konva",
|
|
126
|
+
"konva"
|
|
127
|
+
],
|
|
128
|
+
"tags": [
|
|
129
|
+
"canvas",
|
|
130
|
+
"graphics",
|
|
131
|
+
"drawing",
|
|
132
|
+
"2d",
|
|
133
|
+
"visualization"
|
|
134
|
+
],
|
|
135
|
+
"homepage": "https://konvajs.org/",
|
|
136
|
+
"exampleUsagePrompt": "Create an interactive canvas graphic using React Konva that includes shapes, images, and text elements."
|
|
137
|
+
},
|
|
138
|
+
"react-leaflet": {
|
|
139
|
+
"id": "react-leaflet",
|
|
140
|
+
"displayName": "Leaflet",
|
|
141
|
+
"description": "Interactive maps",
|
|
142
|
+
"dependencies": [
|
|
143
|
+
"react-leaflet",
|
|
144
|
+
"leaflet"
|
|
145
|
+
],
|
|
146
|
+
"devDependencies": [
|
|
147
|
+
"@types/leaflet"
|
|
148
|
+
],
|
|
149
|
+
"tags": [
|
|
150
|
+
"maps",
|
|
151
|
+
"geolocation",
|
|
152
|
+
"interactive",
|
|
153
|
+
"visualization",
|
|
154
|
+
"geo"
|
|
155
|
+
],
|
|
156
|
+
"homepage": "https://react-leaflet.js.org/",
|
|
157
|
+
"exampleUsagePrompt": "Create an interactive map using React Leaflet that displays markers for various locations with popups containing additional information."
|
|
158
|
+
},
|
|
159
|
+
"react-pdf": {
|
|
160
|
+
"id": "react-pdf",
|
|
161
|
+
"displayName": "PDF Viewer",
|
|
162
|
+
"description": "Display PDFs in your React app as easily as if they were images",
|
|
163
|
+
"dependencies": [
|
|
164
|
+
"react-pdf"
|
|
165
|
+
],
|
|
166
|
+
"tags": [
|
|
167
|
+
"pdf",
|
|
168
|
+
"viewer",
|
|
169
|
+
"documents",
|
|
170
|
+
"display"
|
|
171
|
+
],
|
|
172
|
+
"homepage": "https://projects.wojtekmaj.pl/react-pdf/",
|
|
173
|
+
"exampleUsagePrompt": "Implement a PDF viewer in the current page using React PDF that allows users to view and navigate through a multi-page PDF document."
|
|
174
|
+
},
|
|
175
|
+
"react-prosemirror": {
|
|
176
|
+
"id": "react-prosemirror",
|
|
177
|
+
"displayName": "ProseMirror",
|
|
178
|
+
"description": "Create and customize structured documents with a WYSIWYG interface",
|
|
179
|
+
"dependencies": [
|
|
180
|
+
"@handlewithcare/react-prosemirror"
|
|
181
|
+
],
|
|
182
|
+
"tags": [
|
|
183
|
+
"editor",
|
|
184
|
+
"wysiwyg",
|
|
185
|
+
"text",
|
|
186
|
+
"rich-text",
|
|
187
|
+
"ui"
|
|
188
|
+
],
|
|
189
|
+
"homepage": "https://prosemirror.net/",
|
|
190
|
+
"exampleUsagePrompt": "Implement a WYSIWYG text editor using ProseMirror that allows users to format text, insert images, and create lists."
|
|
191
|
+
},
|
|
192
|
+
"text-loading": {
|
|
193
|
+
"id": "text-loading",
|
|
194
|
+
"displayName": "Text Loading Animation",
|
|
195
|
+
"description": "Text loading animation with fade out and slide effects",
|
|
196
|
+
"dependencies": [
|
|
197
|
+
"motion",
|
|
198
|
+
"classnames"
|
|
199
|
+
],
|
|
200
|
+
"files": {
|
|
201
|
+
"app/components/ui/text-loading/text-loading.tsx": "import classNames from \"classnames\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { useEffect, useState } from \"react\";\nimport styles from \"./text-loading.module.css\";\n\nexport interface TextLoadingProps {\n texts?: string[];\n className?: string;\n interval?: number;\n}\n\nexport default function TextLoading({\n texts = [\"Thinking...\", \"Processing...\", \"Analyzing...\", \"Computing...\", \"Almost...\"],\n className,\n interval = 2000,\n}: TextLoadingProps) {\n const [currentTextIndex, setCurrentTextIndex] = useState(0);\n\n useEffect(() => {\n const timer = setInterval(() => {\n setCurrentTextIndex((prevIndex) => (prevIndex + 1) % texts.length);\n }, interval);\n\n return () => clearInterval(timer);\n }, [interval, texts.length]);\n\n return (\n <div className={styles.container}>\n <motion.div\n className={styles.wrapper}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n transition={{ duration: 0.4 }}\n >\n <AnimatePresence mode=\"wait\">\n <motion.div\n key={currentTextIndex}\n initial={{ opacity: 0, y: 20 }}\n animate={{\n opacity: 1,\n y: 0,\n backgroundPosition: [\"200% center\", \"-200% center\"],\n }}\n exit={{ opacity: 0, y: -20 }}\n transition={{\n opacity: { duration: 0.3 },\n y: { duration: 0.3 },\n backgroundPosition: {\n duration: 2.5,\n ease: \"linear\",\n repeat: Infinity,\n },\n }}\n className={classNames(styles.text, className)}\n >\n {texts[currentTextIndex]}\n </motion.div>\n </AnimatePresence>\n </motion.div>\n </div>\n );\n}\n",
|
|
202
|
+
"app/components/ui/text-loading/text-loading.module.css": ".container {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n}\n\n.wrapper {\n position: relative;\n padding-left: 1rem;\n padding-right: 1rem;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n width: 100%;\n}\n\n.text {\n display: flex;\n justify-content: center;\n font-size: 1.875rem;\n line-height: 2.25rem;\n font-weight: 700;\n background: linear-gradient(to right, rgb(10 10 10), rgb(163 163 163), rgb(10 10 10));\n background-size: 200% 100%;\n background-clip: text;\n -webkit-background-clip: text;\n color: transparent;\n white-space: nowrap;\n min-width: max-content;\n}\n\n:global(html.dark-theme) .text {\n background: linear-gradient(to right, rgb(255 255 255), rgb(82 82 82), rgb(255 255 255));\n background-size: 200% 100%;\n background-clip: text;\n -webkit-background-clip: text;\n}\n"
|
|
203
|
+
},
|
|
204
|
+
"tags": [
|
|
205
|
+
"animation",
|
|
206
|
+
"loading",
|
|
207
|
+
"ui",
|
|
208
|
+
"effects",
|
|
209
|
+
"text"
|
|
210
|
+
],
|
|
211
|
+
"exampleUsagePrompt": "Create a text loading animation that fades out and slides the text to indicate loading state."
|
|
212
|
+
},
|
|
213
|
+
"three-js": {
|
|
214
|
+
"id": "three-js",
|
|
215
|
+
"displayName": "Three.js",
|
|
216
|
+
"description": "3D library for showing 3D graphics in the browser",
|
|
217
|
+
"dependencies": [
|
|
218
|
+
"three"
|
|
219
|
+
],
|
|
220
|
+
"devDependencies": [
|
|
221
|
+
"@types/three"
|
|
222
|
+
],
|
|
223
|
+
"tags": [
|
|
224
|
+
"3d",
|
|
225
|
+
"graphics",
|
|
226
|
+
"webgl",
|
|
227
|
+
"rendering",
|
|
228
|
+
"visualization"
|
|
229
|
+
],
|
|
230
|
+
"homepage": "https://threejs.org/",
|
|
231
|
+
"exampleUsagePrompt": "Create a 3D scene using Three.js that includes a rotating cube, a plane as the ground, and basic lighting to illuminate the objects."
|
|
232
|
+
},
|
|
233
|
+
"xyflow-react": {
|
|
234
|
+
"id": "xyflow-react",
|
|
235
|
+
"displayName": "XYFlow",
|
|
236
|
+
"description": "Building node-based editors and interactive flow charts",
|
|
237
|
+
"dependencies": [
|
|
238
|
+
"@xyflow/react"
|
|
239
|
+
],
|
|
240
|
+
"tags": [
|
|
241
|
+
"flow",
|
|
242
|
+
"nodes",
|
|
243
|
+
"diagrams",
|
|
244
|
+
"editor",
|
|
245
|
+
"visualization",
|
|
246
|
+
"interactive"
|
|
247
|
+
],
|
|
248
|
+
"homepage": "https://xyflow.com/",
|
|
249
|
+
"exampleUsagePrompt": "Create an interactive node-based editor using XYFlow React that allows users to create, connect, and manipulate nodes representing different data processing steps."
|
|
250
|
+
}
|
|
251
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
export type FilePath = string;
|
|
3
|
+
export type FileContent = string;
|
|
4
|
+
export declare const builtAddonSchema: z.ZodObject<{
|
|
5
|
+
id: z.ZodString;
|
|
6
|
+
displayName: z.ZodString;
|
|
7
|
+
description: z.ZodString;
|
|
8
|
+
dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
9
|
+
devDependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
10
|
+
files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
11
|
+
environmentVariables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
12
|
+
name: z.ZodString;
|
|
13
|
+
description: z.ZodOptional<z.ZodString>;
|
|
14
|
+
}, z.core.$strip>>>;
|
|
15
|
+
envInstructionsMd: z.ZodOptional<z.ZodString>;
|
|
16
|
+
homepage: z.ZodOptional<z.ZodURL>;
|
|
17
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
18
|
+
exampleUsagePrompt: z.ZodOptional<z.ZodString>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export type BuiltAddon = z.infer<typeof builtAddonSchema>;
|
|
21
|
+
export declare const builtAddonsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
22
|
+
id: z.ZodString;
|
|
23
|
+
displayName: z.ZodString;
|
|
24
|
+
description: z.ZodString;
|
|
25
|
+
dependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
26
|
+
devDependencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
27
|
+
files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
28
|
+
environmentVariables: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
29
|
+
name: z.ZodString;
|
|
30
|
+
description: z.ZodOptional<z.ZodString>;
|
|
31
|
+
}, z.core.$strip>>>;
|
|
32
|
+
envInstructionsMd: z.ZodOptional<z.ZodString>;
|
|
33
|
+
homepage: z.ZodOptional<z.ZodURL>;
|
|
34
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
35
|
+
exampleUsagePrompt: z.ZodOptional<z.ZodString>;
|
|
36
|
+
}, z.core.$strip>>;
|
|
37
|
+
export type BuiltAddons = z.infer<typeof builtAddonsSchema>;
|
|
38
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AAEjC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;iBAmB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;kBAAyC,CAAC;AAExE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
export const builtAddonSchema = z.object({
|
|
3
|
+
id: z.string(),
|
|
4
|
+
displayName: z.string(),
|
|
5
|
+
description: z.string(),
|
|
6
|
+
dependencies: z.array(z.string()).optional(),
|
|
7
|
+
devDependencies: z.array(z.string()).optional(),
|
|
8
|
+
files: z.record(z.string(), z.string()).optional(),
|
|
9
|
+
environmentVariables: z
|
|
10
|
+
.array(z.object({
|
|
11
|
+
name: z.string(),
|
|
12
|
+
description: z.string().optional(),
|
|
13
|
+
}))
|
|
14
|
+
.optional(),
|
|
15
|
+
envInstructionsMd: z.string().optional(),
|
|
16
|
+
homepage: z.url().optional(),
|
|
17
|
+
tags: z.array(z.string()).optional(),
|
|
18
|
+
exampleUsagePrompt: z.string().optional(),
|
|
19
|
+
});
|
|
20
|
+
export const builtAddonsSchema = z.record(z.string(), builtAddonSchema);
|
|
21
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAKpB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAClD,oBAAoB,EAAE,CAAC;SACpB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC,CACH;SACA,QAAQ,EAAE;IACb,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,gBAAgB,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dazl/addons",
|
|
3
|
+
"version": "1.7.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Add-ons for Dazl",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": "./dist/index.js",
|
|
8
|
+
"./addons.json": "./dist/addons.json",
|
|
9
|
+
"./package.json": "./package.json"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"clean": "node -e \"fs.rmSync('./dist', { recursive: true, force: true })\"",
|
|
13
|
+
"prebuild": "npm run clean",
|
|
14
|
+
"build": "npm run build:lib && npm run build:addons",
|
|
15
|
+
"build:lib": "tsc -p tsconfig.build.json",
|
|
16
|
+
"build:addons": "node scripts/build-addons.ts",
|
|
17
|
+
"typecheck": "tsc --noEmit",
|
|
18
|
+
"test": "npm run typecheck && npm run build",
|
|
19
|
+
"prepack": "npm run build"
|
|
20
|
+
},
|
|
21
|
+
"devDependencies": {
|
|
22
|
+
"@types/mocha": "^10.0.10",
|
|
23
|
+
"@types/node": "24",
|
|
24
|
+
"@types/react": "^19.2.9",
|
|
25
|
+
"@types/react-dom": "^19.2.3",
|
|
26
|
+
"@types/react-image-gallery": "^1.2.4",
|
|
27
|
+
"classnames": "^2.5.1",
|
|
28
|
+
"mocha": "^12.0.0-beta-6",
|
|
29
|
+
"motion": "^12.29.0",
|
|
30
|
+
"prettier": "^3.8.1",
|
|
31
|
+
"react": "^19.2.3",
|
|
32
|
+
"react-dom": "^19.2.3",
|
|
33
|
+
"react-image-gallery": "^1.4.0",
|
|
34
|
+
"typescript": "~5.9.3",
|
|
35
|
+
"zod": "^4.3.6"
|
|
36
|
+
},
|
|
37
|
+
"repository": {
|
|
38
|
+
"type": "git",
|
|
39
|
+
"url": "git+https://github.com/dazl-dev/dazl-addons.git"
|
|
40
|
+
},
|
|
41
|
+
"keywords": [],
|
|
42
|
+
"author": "Dazl",
|
|
43
|
+
"license": "UNLICENSED",
|
|
44
|
+
"bugs": {
|
|
45
|
+
"url": "https://github.com/dazl-dev/dazl-addons/issues"
|
|
46
|
+
},
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "restricted"
|
|
49
|
+
},
|
|
50
|
+
"files": [
|
|
51
|
+
"dist",
|
|
52
|
+
"src"
|
|
53
|
+
],
|
|
54
|
+
"homepage": "https://github.com/dazl-dev/dazl-addons",
|
|
55
|
+
"prettier": {
|
|
56
|
+
"printWidth": 120
|
|
57
|
+
}
|
|
58
|
+
}
|
package/src/globals.d.ts
ADDED
package/src/index.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types.ts";
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
|
|
3
|
+
export type FilePath = string;
|
|
4
|
+
export type FileContent = string;
|
|
5
|
+
|
|
6
|
+
export const builtAddonSchema = z.object({
|
|
7
|
+
id: z.string(),
|
|
8
|
+
displayName: z.string(),
|
|
9
|
+
description: z.string(),
|
|
10
|
+
dependencies: z.array(z.string()).optional(),
|
|
11
|
+
devDependencies: z.array(z.string()).optional(),
|
|
12
|
+
files: z.record(z.string(), z.string()).optional(),
|
|
13
|
+
environmentVariables: z
|
|
14
|
+
.array(
|
|
15
|
+
z.object({
|
|
16
|
+
name: z.string(),
|
|
17
|
+
description: z.string().optional(),
|
|
18
|
+
}),
|
|
19
|
+
)
|
|
20
|
+
.optional(),
|
|
21
|
+
envInstructionsMd: z.string().optional(),
|
|
22
|
+
homepage: z.url().optional(),
|
|
23
|
+
tags: z.array(z.string()).optional(),
|
|
24
|
+
exampleUsagePrompt: z.string().optional(),
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export type BuiltAddon = z.infer<typeof builtAddonSchema>;
|
|
28
|
+
|
|
29
|
+
export const builtAddonsSchema = z.record(z.string(), builtAddonSchema);
|
|
30
|
+
|
|
31
|
+
export type BuiltAddons = z.infer<typeof builtAddonsSchema>;
|