support-us-button 1.0.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/LICENSE +163 -0
- package/README.md +608 -0
- package/dist/components/SupportUsButton.d.ts +4 -0
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.umd.js +2 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/style.css +1 -0
- package/dist/types/index.d.ts +67 -0
- package/package.json +89 -0
package/README.md
ADDED
|
@@ -0,0 +1,608 @@
|
|
|
1
|
+
<!-- Don't delete it -->
|
|
2
|
+
<div name="readme-top"></div>
|
|
3
|
+
|
|
4
|
+
<!-- Organization Logo -->
|
|
5
|
+
<div align="center" style="display: flex; align-items: center; justify-content: center; gap: 16px;">
|
|
6
|
+
<img alt="AOSSIE" src="public/aossie-logo.svg" width="175">
|
|
7
|
+
</div>
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
<!-- Organization Name -->
|
|
12
|
+
<div align="center">
|
|
13
|
+
|
|
14
|
+
[](https://github.com/AOSSIE-Org/SupportUsButton)
|
|
15
|
+
|
|
16
|
+
<!-- Correct deployed url to be added -->
|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<!-- Organization/Project Social Handles -->
|
|
21
|
+
<p align="center">
|
|
22
|
+
<!-- Telegram -->
|
|
23
|
+
<a href="https://t.me/StabilityNexus">
|
|
24
|
+
<img src="https://img.shields.io/badge/Telegram-black?style=flat&logo=telegram&logoColor=white&logoSize=auto&color=24A1DE" alt="Telegram Badge"/></a>
|
|
25
|
+
|
|
26
|
+
<!-- X (formerly Twitter) -->
|
|
27
|
+
<a href="https://x.com/aossie_org">
|
|
28
|
+
<img src="https://img.shields.io/twitter/follow/aossie_org" alt="X (formerly Twitter) Badge"/></a>
|
|
29
|
+
|
|
30
|
+
<!-- Discord -->
|
|
31
|
+
<a href="https://discord.gg/hjUhu33uAn">
|
|
32
|
+
<img src="https://img.shields.io/discord/1022871757289422898?style=flat&logo=discord&logoColor=white&logoSize=auto&label=Discord&labelColor=5865F2&color=57F287" alt="Discord Badge"/></a>
|
|
33
|
+
|
|
34
|
+
<!-- Medium -->
|
|
35
|
+
<a href="https://news.stability.nexus/">
|
|
36
|
+
<img src="https://img.shields.io/badge/Medium-black?style=flat&logo=medium&logoColor=black&logoSize=auto&color=white" alt="Medium Badge"></a>
|
|
37
|
+
|
|
38
|
+
<!-- LinkedIn -->
|
|
39
|
+
<a href="https://www.linkedin.com/company/aossie/">
|
|
40
|
+
<img src="https://img.shields.io/badge/LinkedIn-black?style=flat&logo=LinkedIn&logoColor=white&logoSize=auto&color=0A66C2" alt="LinkedIn Badge"></a>
|
|
41
|
+
|
|
42
|
+
<!-- Youtube -->
|
|
43
|
+
<a href="https://www.youtube.com/@AOSSIE-Org">
|
|
44
|
+
<img src="https://img.shields.io/youtube/channel/subscribers/UCKVVLbawY7Gej_3o2WKsoiA?style=flat&logo=youtube&logoColor=white%20&logoSize=auto&labelColor=FF0000&color=FF0000" alt="Youtube Badge"></a>
|
|
45
|
+
</p>
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
<div align="center">
|
|
50
|
+
<h1>SUPPORT US BUTTON</h1>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
A lightweight React component library for displaying **Support us page** in a clean and customizable way. It provides pre-built UI components to showcase support us page with tier-based layouts, theme support, and Tailwind CSS styling, making it easy to integrate a professional support us page into any project or website.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
# ð Features
|
|
58
|
+
|
|
59
|
+
- **ðĻ Tier-based Layouts**: Display sponsors in different tiers with logos and links, styled according to the selected theme.
|
|
60
|
+
|
|
61
|
+
- **ðĻ Theme Support**: Choose from **light**, **dark**, **minimal**, **corporate**, or **AOSSIE** themes for consistent branding.
|
|
62
|
+
|
|
63
|
+
- **ðĻ Customizable Styling**: Tailwind CSS classes for easy customization of the support us page.
|
|
64
|
+
|
|
65
|
+
- **ðĨïļ Responsive Design**: Built with responsive design principles for optimal viewing on all devices.
|
|
66
|
+
|
|
67
|
+
- **ð§Đ Easy Integration**: Simple to integrate into any project or website with a single component.
|
|
68
|
+
|
|
69
|
+
- **ðĶ ESM + CommonJS + UMD builds**: Supports various module systems for flexible integration.
|
|
70
|
+
|
|
71
|
+
- **ð§ TypeScript support included**: Provides type definitions for seamless development.
|
|
72
|
+
|
|
73
|
+
- **ðĻ Styled with Tailwind (no global resets)**: Uses Tailwind CSS for styling with no global resets.
|
|
74
|
+
|
|
75
|
+
- **ðŠķ Lightweight and optimized**: Lightweight and optimized for performance.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
# ðŧ Tech Stack
|
|
80
|
+
|
|
81
|
+
**[React](https://react.dev/)** â For building reusable UI components
|
|
82
|
+
|
|
83
|
+
**[TypeScript](https://www.typescriptlang.org/)** â For type safety and better developer experience
|
|
84
|
+
|
|
85
|
+
**[Tailwind CSS](https://tailwindcss.com/)** â For modern, utility-first styling
|
|
86
|
+
|
|
87
|
+
**[Rollup](https://rollupjs.org/)** â For bundling and optimizing the package for distribution
|
|
88
|
+
|
|
89
|
+
**[Node.js](https://nodejs.org/) & [npm](https://www.npmjs.com/)** â For package management and publishing
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
# ð Repository Links
|
|
94
|
+
|
|
95
|
+
- [Main Repository](https://github.com/AOSSIE-Org/SupportUsButton)
|
|
96
|
+
- [NPM Package](https://www.npmjs.com/package/support-us-button)
|
|
97
|
+
- [CDN](https://cdn.jsdelivr.net/npm/support-us-button@latest/dist/index.umd.js)
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
# Installation
|
|
102
|
+
|
|
103
|
+
You can install and use this package either through **npm** (recommended for Node.js projects) or directly via a **CDN**.
|
|
104
|
+
|
|
105
|
+
## Using npm
|
|
106
|
+
|
|
107
|
+
Install the package using npm:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Install the package
|
|
111
|
+
npm install support-us-button
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Using CDN
|
|
115
|
+
|
|
116
|
+
You can also use the component directly in the browser via a CDN:
|
|
117
|
+
|
|
118
|
+
```html
|
|
119
|
+
<script src="https://cdn.jsdelivr.net/npm/support-us-button@latest/dist/index.umd.js"></script>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Once included, the component will be available to use in your project.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
# Usage
|
|
127
|
+
|
|
128
|
+
## Using npm
|
|
129
|
+
|
|
130
|
+
```tsx
|
|
131
|
+
// Import the component in your project:
|
|
132
|
+
import SupportUsButton from "support-us-button";
|
|
133
|
+
|
|
134
|
+
// Import the styles in your project:
|
|
135
|
+
import "support-us-button/style.css";
|
|
136
|
+
|
|
137
|
+
// Import the types in your project:
|
|
138
|
+
import type { supportUsButtonProps } from "support-us-button";
|
|
139
|
+
|
|
140
|
+
// Use the component in your project:
|
|
141
|
+
<SupportUsButton {...props} />; // props is an object of type supportUsButtonProps
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Using CDN
|
|
145
|
+
|
|
146
|
+
```html
|
|
147
|
+
<script src="https://cdn.jsdelivr.net/npm/support-us-button@latest/dist/index.umd.js"></script>
|
|
148
|
+
|
|
149
|
+
// Import the styles in your project:
|
|
150
|
+
<link
|
|
151
|
+
rel="stylesheet"
|
|
152
|
+
href="https://cdn.jsdelivr.net/npm/support-us-button@latest/dist/style.css"
|
|
153
|
+
/>
|
|
154
|
+
|
|
155
|
+
// Use the component in your project:
|
|
156
|
+
<SupportUsButton />
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Once included, the component will be available to use in your project.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Example Usage
|
|
164
|
+
|
|
165
|
+
Below is an example configuration for the `SupportUsButton` component.
|
|
166
|
+
Replace the placeholder text (titles, descriptions, images, links, etc.) with your own project information.
|
|
167
|
+
|
|
168
|
+
```tsx
|
|
169
|
+
// Example props configuration for SupportUsButton
|
|
170
|
+
// Modify the values according to your project needs
|
|
171
|
+
|
|
172
|
+
const props: supportUsButtonProps = {
|
|
173
|
+
// Theme of the widget (e.g., AOSSIE, light, dark, minimal)
|
|
174
|
+
Theme: "AOSSIE",
|
|
175
|
+
|
|
176
|
+
// Background pattern type (e.g., grid, dots)
|
|
177
|
+
pattern: "grid",
|
|
178
|
+
|
|
179
|
+
hero: {
|
|
180
|
+
Image: {
|
|
181
|
+
// Replace with your hero image
|
|
182
|
+
src: "https://your-image-link.com/hero-image.png",
|
|
183
|
+
alt: "Hero section image",
|
|
184
|
+
},
|
|
185
|
+
|
|
186
|
+
// Main title shown at the top of the widget
|
|
187
|
+
title: "Your Title Here",
|
|
188
|
+
|
|
189
|
+
// Short description about your project or mission
|
|
190
|
+
description:
|
|
191
|
+
"Write a brief description about your project, organization, or the purpose of sponsorship here.",
|
|
192
|
+
|
|
193
|
+
// Label shown above the sponsors section
|
|
194
|
+
sponsorLabel: "Your Sponsors",
|
|
195
|
+
},
|
|
196
|
+
|
|
197
|
+
organizationInformation: {
|
|
198
|
+
// Name of your organization
|
|
199
|
+
name: "Your Organization Name",
|
|
200
|
+
|
|
201
|
+
// Short description about the organization
|
|
202
|
+
description:
|
|
203
|
+
"Describe your organization, its mission, and what it works on.",
|
|
204
|
+
|
|
205
|
+
// Optional organization logo
|
|
206
|
+
logo: {
|
|
207
|
+
src: "https://your-image-link.com/logo.png",
|
|
208
|
+
alt: "Organization Logo",
|
|
209
|
+
},
|
|
210
|
+
|
|
211
|
+
projectInformation: {
|
|
212
|
+
// Name of the project that is being sponsored
|
|
213
|
+
name: "Your Project Name",
|
|
214
|
+
|
|
215
|
+
// Short description of the project
|
|
216
|
+
description:
|
|
217
|
+
"Provide a short description of the project that sponsors are supporting.",
|
|
218
|
+
},
|
|
219
|
+
},
|
|
220
|
+
|
|
221
|
+
// List of sponsors
|
|
222
|
+
sponsors: [
|
|
223
|
+
{
|
|
224
|
+
name: "Sponsor Name",
|
|
225
|
+
logo: "https://your-image-link.com/sponsor-logo.png",
|
|
226
|
+
link: "https://sponsor-website.com",
|
|
227
|
+
|
|
228
|
+
// Optional tier: Bronze | Silver | Gold | Platinum
|
|
229
|
+
sponsorshipTier: "Bronze",
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
name: "Another Sponsor",
|
|
233
|
+
logo: "https://your-image-link.com/sponsor-logo.png",
|
|
234
|
+
link: "https://sponsor-website.com",
|
|
235
|
+
sponsorshipTier: "Silver",
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
name: "Company Name",
|
|
239
|
+
logo: "https://your-image-link.com/company-logo.png",
|
|
240
|
+
link: "https://company-website.com",
|
|
241
|
+
sponsorshipTier: "Gold",
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
|
|
245
|
+
ctaSection: {
|
|
246
|
+
// Call-to-action title
|
|
247
|
+
title: "Support This Project",
|
|
248
|
+
|
|
249
|
+
// Description encouraging users to sponsor the project
|
|
250
|
+
description:
|
|
251
|
+
"Explain why supporting your project matters and how people can help.",
|
|
252
|
+
|
|
253
|
+
sponsorLink: [
|
|
254
|
+
{
|
|
255
|
+
// Platform name
|
|
256
|
+
name: "Patreon",
|
|
257
|
+
|
|
258
|
+
// Sponsorship link
|
|
259
|
+
url: "https://www.patreon.com/yourproject",
|
|
260
|
+
|
|
261
|
+
// Optional icon for the platform
|
|
262
|
+
icon: (
|
|
263
|
+
<svg
|
|
264
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
265
|
+
width="24"
|
|
266
|
+
height="24"
|
|
267
|
+
>
|
|
268
|
+
<path d="M0 0h24v24H0z" fill="none" />
|
|
269
|
+
<path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" />
|
|
270
|
+
</svg>
|
|
271
|
+
),
|
|
272
|
+
|
|
273
|
+
// Optional custom class for styling
|
|
274
|
+
className: "patreon-link",
|
|
275
|
+
|
|
276
|
+
// Open link in a new tab
|
|
277
|
+
newTab: true,
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
name: "GitHub Sponsors",
|
|
281
|
+
url: "https://github.com/sponsors/yourproject",
|
|
282
|
+
icon: (
|
|
283
|
+
<svg
|
|
284
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
285
|
+
width="24"
|
|
286
|
+
height="24"
|
|
287
|
+
>
|
|
288
|
+
<path d="M0 0h24v24H0z" fill="none" />
|
|
289
|
+
<path d="M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" />
|
|
290
|
+
</svg>
|
|
291
|
+
),
|
|
292
|
+
className: "github-sponsors-link",
|
|
293
|
+
newTab: true,
|
|
294
|
+
},
|
|
295
|
+
],
|
|
296
|
+
},
|
|
297
|
+
|
|
298
|
+
// Button styling variant
|
|
299
|
+
buttonVariant: "AOSSIE",
|
|
300
|
+
};
|
|
301
|
+
|
|
302
|
+
// Component usage
|
|
303
|
+
<SupportUsButton {...props} />;
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
<h1>Props API</h1>
|
|
309
|
+
|
|
310
|
+
<details>
|
|
311
|
+
<summary> <strong> Show details </strong> </summary>
|
|
312
|
+
|
|
313
|
+
## Available API
|
|
314
|
+
|
|
315
|
+
| Prop | Type | Required | Description |
|
|
316
|
+
| ------------------------- | ---------------- | -------- | -------------------------------------------------------------------------------------------------------------- |
|
|
317
|
+
| `Theme` | string | No | Theme for the button, can be one of "AOSSIE", "light", "dark", "minimal", or "corporate" |
|
|
318
|
+
| `pattern` | string | No | Optional background pattern for the button, can be one of "dots", "grid", "AOSSIE", or "none" |
|
|
319
|
+
| `hero` | object | Yes | Information about the Hero section, including title, description, sponsor label, and optional background Image |
|
|
320
|
+
| `organizationInformation` | object | Yes | Information about the organization, including name, description, logo, and project information |
|
|
321
|
+
| `sponsors` | array of objects | No | List of current sponsors, each with name, optional logo, link, and sponsorship tier |
|
|
322
|
+
| `ctaSection` | object | Yes | Information about the call-to-action section, including title, description, and sponsor links |
|
|
323
|
+
| `classNames` | object | No | Optional additional CSS class for custom styling |
|
|
324
|
+
| `buttonVariant` | string | No | Optional button variant for styling the call-to-action buttons |
|
|
325
|
+
|
|
326
|
+
</details>
|
|
327
|
+
|
|
328
|
+
---
|
|
329
|
+
|
|
330
|
+
# Prop Options Reference
|
|
331
|
+
|
|
332
|
+
<details>
|
|
333
|
+
<summary><strong>Show details</strong></summary>
|
|
334
|
+
All available options for configurable props in the component.
|
|
335
|
+
|
|
336
|
+
## Theme
|
|
337
|
+
|
|
338
|
+
<details>
|
|
339
|
+
<summary><strong>Show details</strong></summary>
|
|
340
|
+
|
|
341
|
+
Controls the overall visual appearance of the widget.
|
|
342
|
+
|
|
343
|
+
| Value | Description |
|
|
344
|
+
| ----------- | ---------------------------------------- |
|
|
345
|
+
| `AOSSIE` | Default theme styled for AOSSIE branding |
|
|
346
|
+
| `corporate` | Corporate styled layout |
|
|
347
|
+
| `dark` | Dark mode UI |
|
|
348
|
+
| `light` | Light mode UI |
|
|
349
|
+
| `minimal` | Minimal clean design |
|
|
350
|
+
|
|
351
|
+
</details>
|
|
352
|
+
|
|
353
|
+
## Pattern
|
|
354
|
+
|
|
355
|
+
<details>
|
|
356
|
+
<summary><strong>Show details</strong></summary>
|
|
357
|
+
|
|
358
|
+
Adds a decorative background pattern to the hero section.
|
|
359
|
+
|
|
360
|
+
| Value | Description |
|
|
361
|
+
| -------- | ------------------------- |
|
|
362
|
+
| `AOSSIE` | Square and Circle pattern |
|
|
363
|
+
| `dots` | Dot pattern background |
|
|
364
|
+
| `grid` | Subtle grid pattern |
|
|
365
|
+
| `none` | None |
|
|
366
|
+
|
|
367
|
+
</details>
|
|
368
|
+
|
|
369
|
+
## hero
|
|
370
|
+
|
|
371
|
+
<details>
|
|
372
|
+
<summary><strong>Show details</strong></summary>
|
|
373
|
+
|
|
374
|
+
Controls the top section of the widget.
|
|
375
|
+
|
|
376
|
+
| Value | Type | Required | Description |
|
|
377
|
+
| -------------- | ------- | -------- | --------------------------- |
|
|
378
|
+
| `Image` | `Image` | No | Background or hero image |
|
|
379
|
+
| `title` | string | Yes | Main heading |
|
|
380
|
+
| `description` | string | Yes | Hero description |
|
|
381
|
+
| `sponsorLabel` | string | No | Label above sponsor section |
|
|
382
|
+
|
|
383
|
+
</details>
|
|
384
|
+
|
|
385
|
+
## Image
|
|
386
|
+
|
|
387
|
+
<details>
|
|
388
|
+
<summary><strong>Show details</strong></summary>
|
|
389
|
+
|
|
390
|
+
Used in hero images and organization logos.
|
|
391
|
+
|
|
392
|
+
| Value | Type | Required | Description |
|
|
393
|
+
| ----- | ------ | -------- | ---------------- |
|
|
394
|
+
| `src` | string | No | Imag URl |
|
|
395
|
+
| `alt` | string | No | Alternative text |
|
|
396
|
+
|
|
397
|
+
</details>
|
|
398
|
+
|
|
399
|
+
## buttonVariant
|
|
400
|
+
|
|
401
|
+
<details>
|
|
402
|
+
<summary><strong>Show details</strong></summary>
|
|
403
|
+
|
|
404
|
+
Controls the styling of the call-to-action buttons.
|
|
405
|
+
|
|
406
|
+
| Value | Description |
|
|
407
|
+
| ----------- | -------------------------- |
|
|
408
|
+
| `AOSSIE` | Default styled button |
|
|
409
|
+
| `primary` | Primary action button |
|
|
410
|
+
| `secondary` | Secondary button style |
|
|
411
|
+
| `ghost` | Transparent minimal button |
|
|
412
|
+
| `gradient` | Gradient styled button |
|
|
413
|
+
|
|
414
|
+
</details>
|
|
415
|
+
|
|
416
|
+
## organizationInformation
|
|
417
|
+
|
|
418
|
+
<details>
|
|
419
|
+
<summary><strong>Show details</strong></summary>
|
|
420
|
+
|
|
421
|
+
Information about the organization and project.
|
|
422
|
+
|
|
423
|
+
| Value | Type | Required | Description |
|
|
424
|
+
| -------------------- | -------------------- | -------- | ------------------------ |
|
|
425
|
+
| `name` | string | Yes | Organization name |
|
|
426
|
+
| `description` | string | Yes | Organization description |
|
|
427
|
+
| `logo` | `Image` / string | No | Organization logo |
|
|
428
|
+
| `projectInformation` | `projectInformation` | Yes | Project details |
|
|
429
|
+
|
|
430
|
+
</details>
|
|
431
|
+
|
|
432
|
+
## projectInformation
|
|
433
|
+
|
|
434
|
+
<details>
|
|
435
|
+
<summary><strong>Show details</strong></summary>
|
|
436
|
+
|
|
437
|
+
Details about the project being sponsored.
|
|
438
|
+
|
|
439
|
+
| Value | Type | Required | Description |
|
|
440
|
+
| ------------- | ------ | -------- | ------------------- |
|
|
441
|
+
| `name` | string | Yes | Project name |
|
|
442
|
+
| `description` | string | Yes | Project description |
|
|
443
|
+
|
|
444
|
+
</details>
|
|
445
|
+
|
|
446
|
+
## sponsors
|
|
447
|
+
|
|
448
|
+
<details>
|
|
449
|
+
<summary><strong>Show details</strong></summary>
|
|
450
|
+
|
|
451
|
+
List of sponsors displayed in the widget.
|
|
452
|
+
|
|
453
|
+
| Value | Type | Required | Description |
|
|
454
|
+
| ----------------- | ------ | -------- | --------------- |
|
|
455
|
+
| `name` | string | Yes | Sponsor name |
|
|
456
|
+
| `logo` | string | No | Sponsor logo |
|
|
457
|
+
| `link` | string | No | Sponsor website |
|
|
458
|
+
| `sponsorshipTier` | `Tier` | No | Sponsor tier |
|
|
459
|
+
|
|
460
|
+
</details>
|
|
461
|
+
|
|
462
|
+
## Tier
|
|
463
|
+
|
|
464
|
+
<details>
|
|
465
|
+
<summary><strong>Show details</strong></summary>
|
|
466
|
+
|
|
467
|
+
Used inside the sponsors array to visually differentiate sponsors.
|
|
468
|
+
|
|
469
|
+
| Value | Description |
|
|
470
|
+
| ---------- | -------------------- |
|
|
471
|
+
| `Platinum` | Highest tier sponsor |
|
|
472
|
+
| `Gold` | High level sponsor |
|
|
473
|
+
| `Silver` | Mid level sponsor |
|
|
474
|
+
| `Bronze` | Entry level sponsor |
|
|
475
|
+
|
|
476
|
+
</details>
|
|
477
|
+
|
|
478
|
+
## ctaSection
|
|
479
|
+
|
|
480
|
+
<details>
|
|
481
|
+
<summary><strong>Show details</strong></summary>
|
|
482
|
+
|
|
483
|
+
Call-to-action section encouraging sponsorship.
|
|
484
|
+
|
|
485
|
+
| Value | Type | Required | Description |
|
|
486
|
+
| ------------- | --------------- | -------- | ----------------------------- |
|
|
487
|
+
| `title` | string | Yes | CTA title |
|
|
488
|
+
| `description` | string | Yes | CTA description |
|
|
489
|
+
| `sponsorLink` | `sponsorLink[]` | Yes | List of sponsorship platforms |
|
|
490
|
+
|
|
491
|
+
</details>
|
|
492
|
+
|
|
493
|
+
## sponsorLink
|
|
494
|
+
|
|
495
|
+
<details>
|
|
496
|
+
<summary><strong>Show details</strong></summary>
|
|
497
|
+
|
|
498
|
+
Platform links for sponsorship (Patreon, GitHub Sponsors, etc).
|
|
499
|
+
|
|
500
|
+
| Value | Type | Required | Description |
|
|
501
|
+
| ----------- | --------- | -------- | --------------------- |
|
|
502
|
+
| `name` | string | Yes | Platform name |
|
|
503
|
+
| `url` | string | Yes | Sponsorship URL |
|
|
504
|
+
| `icon` | ReactNode | No | Icon for the platform |
|
|
505
|
+
| `className` | string | No | Custom CSS class |
|
|
506
|
+
| `newTab` | boolean | No | Open link in new tab |
|
|
507
|
+
|
|
508
|
+
</details>
|
|
509
|
+
|
|
510
|
+
## classNames
|
|
511
|
+
|
|
512
|
+
<details>
|
|
513
|
+
<summary><strong>Show details</strong></summary>
|
|
514
|
+
|
|
515
|
+
Allows custom styling of different widget sections.
|
|
516
|
+
|
|
517
|
+
| Value | Description |
|
|
518
|
+
| ------------------------- | ---------------------------- |
|
|
519
|
+
| `container` | Root container styling |
|
|
520
|
+
| `Hero` | Hero section styling |
|
|
521
|
+
| `organizationInformation` | Organization section styling |
|
|
522
|
+
| `sponsors` | Sponsors section styling |
|
|
523
|
+
| `ctaSection` | CTA section styling |
|
|
524
|
+
|
|
525
|
+
</details>
|
|
526
|
+
|
|
527
|
+
</details>
|
|
528
|
+
|
|
529
|
+
---
|
|
530
|
+
|
|
531
|
+
# ðą App Screenshots
|
|
532
|
+
|
|
533
|
+
## AOSSIE-Theme
|
|
534
|
+
|
|
535
|
+
<details>
|
|
536
|
+
<summary><b>Show details</b></summary>
|
|
537
|
+
|
|
538
|
+
AOSSIE-Theme mobile screen preview.
|
|
539
|
+
|
|
540
|
+
<div style="width:fit-content; margin:auto; display:flex; flex-wrap:wrap; gap:12px; justify-content:center;">
|
|
541
|
+
<img src="./public/AOSSIE_THEME.jpeg" alt="AOSSIE-theme" style="width:fit-content; max-width:100%; height:auto;" />
|
|
542
|
+
<img src="./public/AOSSIE_THEME-SPONSOR.jpeg" alt="AOSSIE-theme" style="width:fit-content; max-width:100%; height:auto;" />
|
|
543
|
+
<img src="./public/AOSSIE_THEME_CTA.jpeg" alt="AOSSIE-theme" style="width:fit-content; max-width:100%; height:auto;" />
|
|
544
|
+
</div>
|
|
545
|
+
|
|
546
|
+
</details>
|
|
547
|
+
|
|
548
|
+
## Light-Theme
|
|
549
|
+
|
|
550
|
+
<details>
|
|
551
|
+
<summary><b>Show details</b></summary>
|
|
552
|
+
|
|
553
|
+
Light-Theme mobile screen preview.
|
|
554
|
+
|
|
555
|
+
<div style="width:fit-content; margin:auto; display:flex; flex-wrap:wrap; gap:12px; justify-content:center;">
|
|
556
|
+
<img src="./public/LIGHT_THEME.jpeg" alt="AOSSIE-theme" style="width:fit-content; max-width:100%; height:auto;" />
|
|
557
|
+
<img src="./public/LIGHT_THEME_SPONSOR.png" alt="AOSSIE-theme" style="width:fit-content; max-width:100%; height:auto;" />
|
|
558
|
+
<img src="./public/LIGHT_THEME_CTA.jpeg" alt="AOSSIE-theme" style="width:fit-content; max-width:100%; height:auto;" />
|
|
559
|
+
</div>
|
|
560
|
+
|
|
561
|
+
</details>
|
|
562
|
+
|
|
563
|
+
## Dark-Theme
|
|
564
|
+
|
|
565
|
+
<details>
|
|
566
|
+
<summary><b>Show details</b></summary>
|
|
567
|
+
|
|
568
|
+
Dark-Theme mobile screen preview.
|
|
569
|
+
|
|
570
|
+
<div style="width:fit-content; margin:auto; display:flex; flex-wrap:wrap; gap:12px; justify-content:center;">
|
|
571
|
+
<img src="./public/DARK_THEME.jpeg" alt="AOSSIE-theme" style="width:fit-content; max-width:100%; height:auto;" />
|
|
572
|
+
<img src="./public/DARK_THEME_SPONSOR.png" alt="AOSSIE-theme" style="width:fit-content; max-width:100%; height:auto;" />
|
|
573
|
+
<img src="./public/DARK_THEME_CTA.jpeg" alt="AOSSIE-theme" style="width:fit-content; max-width:100%; height:auto;" />
|
|
574
|
+
</div>
|
|
575
|
+
|
|
576
|
+
</details>
|
|
577
|
+
|
|
578
|
+
---
|
|
579
|
+
|
|
580
|
+
## ð Contributing
|
|
581
|
+
|
|
582
|
+
â Don't forget to star this repository if you find it useful! â
|
|
583
|
+
|
|
584
|
+
Thank you for considering contributing to this project! Contributions are highly appreciated and welcomed. To ensure smooth collaboration, please refer to our [Contribution Guidelines](./CONTRIBUTING.md).
|
|
585
|
+
|
|
586
|
+
---
|
|
587
|
+
|
|
588
|
+
## âĻ Maintainers
|
|
589
|
+
|
|
590
|
+
- [Rahul vyas](https://github.com/rahul-vyas-dev/)
|
|
591
|
+
- [Zahnentferner](https://github.com/Zahnentferner)
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
## ð License
|
|
596
|
+
|
|
597
|
+
This project is licensed under the GNU General Public License v3.0.
|
|
598
|
+
See the [LICENSE](LICENSE) file for details.
|
|
599
|
+
|
|
600
|
+
---
|
|
601
|
+
|
|
602
|
+
## ðŠ Thanks To All Contributors
|
|
603
|
+
|
|
604
|
+
Thanks a lot for spending your time helping **SupportUsButton** grow. Keep rocking ðĨ
|
|
605
|
+
|
|
606
|
+
[](https://github.com/AOSSIE-Org/SupportUsButton/graphs/contributors)
|
|
607
|
+
|
|
608
|
+
ÂĐ 2026 AOSSIE
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { supportUsButtonProps } from "../types/index";
|
|
3
|
+
declare function SupportUsButton({ Theme, pattern, hero, organizationInformation, sponsors, ctaSection, classNames, buttonVariant, }: supportUsButtonProps): React.JSX.Element;
|
|
4
|
+
export default SupportUsButton;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime");function t(e){switch(e){case"AOSSIE":return"bg-primary text-black";case"light":return"bg-gray-100 text-gray-800";case"dark":return"bg-black text-white";case"minimal":return"bg-transparent text-gray-800 border border-gray-800";case"corporate":return"bg-blue-600 text-white";default:return"bg-gray-200 text-gray-800"}}function r(e){const t="w-full px-5 py-3 font-medium transition-all duration-300 flex items-center justify-center gap-2",r=e??"AOSSIE";return"primary"===r?`${t} bg-white text-black hover:bg-white/90`:"secondary"===r?`${t} border border-white/30 text-white hover:bg-white/20`:"ghost"===r?`${t} text-white/80 hover:text-white hover:bg-white/10 outline-2 outline-white/10 focus-visible:outline focus-visible:outline-2 focus-visible:outline-white/20`:"gradient"===r?`${t} bg-gradient-to-r from-indigo-500 to-purple-600 text-white`:`${t} bg-primary hover:bg-primary/90 text-black font-black py-4 transition-all active:scale-[0.98] shadow-lg shadow-primary/20`}module.exports=function({Theme:s="AOSSIE",pattern:i="AOSSIE",hero:l={title:"Support Our Open Source Project",description:"Your support helps us continue to develop and maintain our project.",sponsorLabel:"You're Sponsoring"},organizationInformation:n,sponsors:a,ctaSection:o,classNames:c={container:"",Hero:"",organizationInformation:"",sponsors:"",ctaSection:""},buttonVariant:d="AOSSIE"}){return e.jsxs("div",{className:`w-full font-sans justify-center items-center text-center ${"light"==s||"dark"==s?t(s):"bg-black text-white"} ${c.container}`,children:[e.jsxs("div",{className:"relative w-full h-[50vh] flex justify-center",children:[l.Image&&e.jsx("img",{src:l.Image.src,alt:l.Image.alt,title:l.Image.alt,className:"w-full h-full object-cover object-center pointer-none:cursor-none select-none"}),e.jsx("div",{className:"absolute inset-0 bg-linear-to-b from-transparent via-black/10 to-black/95"})]}),e.jsx("div",{className:"w-full flex justify-center mt-10 mb-5",children:e.jsxs("div",{className:`${c.Hero} w-[80%] flex text-center p-8 flex-col items-center gap-4`,children:[e.jsx("div",{className:"p-2 rounded-full flex items-center justify-center bg-primary text-black",children:e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"35",height:"35",viewBox:"0 0 24 24",fill:"black",stroke:"black",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"lucide lucide-heart-icon lucide-heart",children:[e.jsx("title",{children:"Support heart icon"}),e.jsx("path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"})]})}),e.jsxs("div",{className:"w-full flex flex-col items-center gap-6",children:[e.jsx("h1",{className:"font-extrabold text-4xl md:text-5xl lg:text-6xl",children:l.title}),e.jsx("p",{className:`wrap-anywhere ${"light"===s?"text-slate-600":"text-slate-400"} text-lg font-semibold`,children:l.description})]})]})}),e.jsx("div",{className:"w-full flex justify-center p-10 mb-50",children:e.jsxs("div",{className:`${c.organizationInformation}\n relative w-[90%] p-15 rounded-2xl overflow-visible\n\n // Shadows for different themes\n ${"AOSSIE"===s&&"shadow-xl shadow-primary/20"}\n ${"light"===s&&"shadow-xl shadow-gray-300/30"}\n ${"dark"===s&&"shadow-xl shadow-gray-700/30"}\n ${"minimal"===s&&"shadow-xl shadow-gray-800/30"}\n ${"corporate"===s&&"shadow-xl shadow-blue-600/30"}\n \n // Outline for light and dark themes\n ${"light"===s&&"outline-1 outline-gray-300"}\n ${"dark"===s&&"outline-1 outline-gray-700"}\n ${t(s)}`,children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(rgba(0,0,0,0.15)_1.5px,transparent_0)] bg-size-[20px_20px] pointer-events-none opacity-100"}),e.jsx("div",{className:`absolute top-0 left-0 bottom-0 w-1/2 h-full rounded-2xl p-6 overflow-visible ${t(s)}`}),e.jsxs("div",{className:"relative z-10 flex justify-start flex-col text-start gap-4",children:[l.sponsorLabel&&e.jsx("span",{className:"text-[10px] font-extrabold tracking-[0.2em] uppercase block",children:l.sponsorLabel}),e.jsx("div",{children:"string"==typeof n.logo?e.jsx("span",{className:"block h-fit w-fit p-4 bg-black text-white rounded-2xl",title:n.logo,children:e.jsx("b",{className:"text-2xl italic",children:n.logo})}):e.jsx("img",{className:"w-24 h-24 bg-white/80 pointer-none:cursor-none select-none rounded-2xl object-cover object-center",src:n.logo?.src,alt:n.logo?.alt,title:n.logo?.alt,draggable:!1})}),e.jsxs("div",{className:"flex flex-col gap-4",children:[e.jsx("h2",{className:"font-extrabold text-4xl md:text-5xl lg:text-6xl",children:n.name}),e.jsx("p",{className:"font-[650]",children:n.description})]}),e.jsx("div",{className:`\n border\n ${"AOSSIE"===s&&"border-[#f1c514]/50"}\n ${"light"===s&&"border-gray-300/50"}\n ${"dark"===s&&"border-gray-700/50"}\n ${"minimal"===s&&"border-gray-800/50"}\n ${"corporate"===s&&"border-blue-600/50"}`}),e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("h3",{className:`font-bold w-fit uppercase text-sm p-2 rounded-lg\n ${"AOSSIE"===s&&"bg-[#edc214]"}\n ${"light"===s&&"bg-gray-300/50"}\n ${"dark"===s&&"bg-gray-700/50"}\n ${"minimal"===s&&"bg-gray-800/50"}\n ${"corporate"===s&&"bg-blue-600/50"}`,children:["ABOUT PROJECT: ",n.projectInformation.name]}),e.jsxs("p",{className:`italic font-semibold \n ${"AOSSIE"===s&&"text-[#614f08]"}\n ${"light"===s&&"text-gray-600"}\n ${"dark"===s&&"text-gray-400"}\n ${"minimal"===s&&"text-gray-800"}\n ${"corporate"===s&&"text-blue-600/80"}\n `,children:['"',n.projectInformation.description,'"']})]})]})]})}),e.jsx("div",{className:`w-full flex justify-center mt-10 p-10\n ${"AOSSIE"===s&&"bg-[#1f1f1f]"} \n ${"light"===s&&"bg-gray-300/50"} \n ${"dark"===s&&"bg-gray-700/50"}\n ${"minimal"===s&&"bg-gray-800/50"}\n ${"corporate"===s&&"bg-blue-600/50"}`,children:a&&a.length>0&&e.jsxs("div",{className:`${c.sponsors} ${t(s)}\n relative w-[90%] flex flex-col p-8 rounded-2xl gap-25 mt-15 overflow-hidden`,children:["AOSSIE"===i&&e.jsx("div",{className:"absolute bottom-0 inset-x-0 h-1/2 sponsor-pattern-AOSSIE opacity-60"}),"grid"===i&&e.jsx("div",{className:"absolute bottom-0 inset-x-0 h-1/2 sponsor-pattern-grid opacity-60"}),"dots"===i&&e.jsx("div",{className:"absolute bottom-0 inset-x-0 h-1/2 bg-[radial-gradient(rgba(0,0,0,0.15)_1.5px,transparent_0)] bg-size-[20px_20px] pointer-events-none opacity-100"}),e.jsx("div",{className:"mt-5 flex justify-center",children:e.jsxs("div",{className:"w-fit flex flex-col gap-5 justify-center items-center",children:[e.jsx("h2",{className:"font-extrabold text-4xl md:text-5xl lg:text-6xl",children:"Our Sponsors"}),e.jsx("div",{className:"border-3 rounded-4xl w-1/2"})]})}),e.jsx("div",{className:"flex flex-row flex-wrap justify-center items-center gap-10 z-10",children:a.map((t,r)=>e.jsx("a",{href:t.link,target:"_blank",rel:"noopener noreferrer",title:`Visit ${t.name}'s website`,children:e.jsxs("div",{className:`${"dark"===s?"bg-gray-800 text-white":"bg-white text-black"} rounded-lg flex flex-col justify-center items-center gap-2 p-8 w-fit transition-transform hover:scale-[1.02] shadow-lg min-h-75 min-w-62.5 hover:border-2 \n\n // Shadows for different themes\n ${"AOSSIE"===s&&"shadow-primary/20"}\n ${"light"===s&&"shadow-gray-300/30"}\n ${"dark"===s&&"shadow-gray-700/30"}\n ${"minimal"===s&&"shadow-gray-800/30"} \n ${"corporate"===s&&"shadow-blue-600/30"}\n \n // Size based on sponsorship tier\n ${"Platinum"===t.sponsorshipTier&&"min-w-80 min-h-90"}\n ${"Gold"===t.sponsorshipTier&&"min-w-70 min-h-80"}\n ${"Silver"===t.sponsorshipTier&&"min-w-60 min-h-70"}\n ${"Bronze"===t.sponsorshipTier&&"min-w-50 min-h-60"}\n `,children:[t.logo?e.jsxs("div",{className:"relative",children:[e.jsx("img",{src:t.logo,alt:t.name,title:t.name,className:`w-50 h-40 object-cover object-center rounded-lg\n ${"Platinum"===t.sponsorshipTier&&"w-60 h-50"}\n ${"Gold"===t.sponsorshipTier&&"w-55 h-45"}\n ${"Silver"===t.sponsorshipTier&&"w-50 h-40"}\n ${"Bronze"===t.sponsorshipTier&&"w-45 h-35"}\n `,draggable:!1}),e.jsxs("div",{className:`absolute rotate-12\n \n ${"Platinum"===t.sponsorshipTier&&"rotate-12 -top-4 -right-1"}\n ${"Gold"===t.sponsorshipTier&&"rotate-20 -top-4.5 -right-2.5"}\n ${"Silver"===t.sponsorshipTier&&"rotate-30 -top-5.5 -right-4.5"}\n ${"Bronze"===t.sponsorshipTier&&"rotate-40 -top-3 -right-3"}\n `,children:["Platinum"===t.sponsorshipTier&&e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24",children:[e.jsx("title",{children:"Platinum tier icon"}),e.jsx("path",{d:"M3 7l4 4 5-7 5 7 4-4v11H3V7z"})]}),"Gold"===t.sponsorshipTier&&e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24",children:[e.jsx("title",{children:"Gold tier icon"}),e.jsx("path",{d:"M6 2h12v3h3v3a5 5 0 0 1-5 5h-1a5 5 0 0 1-4 3.9V20h4v2H9v-2h4v-3.1A5 5 0 0 1 9 13H8a5 5 0 0 1-5-5V5h3V2z"})]}),"Silver"===t.sponsorshipTier&&e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",fill:"currentColor",viewBox:"0 0 24 24",children:[e.jsx("title",{children:"Silver tier icon"}),e.jsx("path",{d:"M12 14a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2l-3 6 3-2 3 2-3-6z"})]}),"Bronze"===t.sponsorshipTier&&e.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",fill:"currentColor",viewBox:"0 0 24 24",children:[e.jsx("title",{children:"Bronze tier icon"}),e.jsx("path",{d:"M2 12l5-5 4 4 4-4 7 7-5 5-4-4-4 4-7-7z"})]})]})]}):e.jsx("span",{className:"block h-fit w-full p-5 bg-black text-white rounded-2xl",title:t.name,children:e.jsx("b",{className:"text-3xl italic",children:t.name})}),e.jsxs("div",{className:"w-full",children:[e.jsx("h3",{className:"font-bold text-2xl",children:t.name}),t.sponsorshipTier&&e.jsx("span",{className:"flex text-[16px] p-2 rounded-xl items-center mt-3.5 font-semibold bg-[#d0f2eb] text-black w-fit",children:t.sponsorshipTier})]})]})},r))})]})}),e.jsx("div",{className:`w-full flex justify-center p-10 ${("light"===s||"dark"===s)&&t(s)} ${c.ctaSection}`,children:e.jsxs("div",{className:"w-4/5 flex flex-col items-center gap-5 py-20 border border-primary rounded-sm mt-20 mb-20",children:[e.jsx("h2",{className:"font-extrabold text-4xl md:text-5xl lg:text-6xl",children:o.title}),e.jsx("p",{className:"font-semibold \n "+("light"===s?"text-gray-600":"text-gray-400"),children:o.description}),e.jsx("div",{className:"flex flex-wrap justify-center items-center gap-5 mt-8",children:o.sponsorLink.map((t,s)=>e.jsx("a",{href:t.url,...t.newTab&&{target:"_blank"},rel:"noopener noreferrer",title:`Support Us using ${t.name}`,children:e.jsxs("div",{className:`${r(d)} w-fit px-6 py-3`,children:[t.icon&&e.jsx("span",{children:t.icon}),e.jsx("h3",{className:"font-bold",children:t.name})]})},s))})]})})]})};
|
|
2
|
+
//# sourceMappingURL=index.cjs.js.map
|