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/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
+ &nbsp;
10
+
11
+ <!-- Organization Name -->
12
+ <div align="center">
13
+
14
+ [![Static Badge](https://img.shields.io/badge/AOSSIE-SUPPORT_US_BUTTON-228B22?style=for-the-badge&labelColor=FFC517)](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
+ &nbsp;&nbsp;
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
+ &nbsp;&nbsp;
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
+ &nbsp;&nbsp;
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
+ &nbsp;&nbsp;
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
+ &nbsp;&nbsp;
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
+ [![Contributors](https://contrib.rocks/image?repo=AOSSIE-Org/SupportUsButton)](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