create-template-html-css 1.7.0 → 1.8.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.
@@ -1,381 +0,0 @@
1
- /* CARD Component Styles */
2
-
3
- * {
4
- margin: 0;
5
- padding: 0;
6
- box-sizing: border-box;
7
- }
8
-
9
- body {
10
- font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
11
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
12
- min-height: 100vh;
13
- padding: 60px 20px;
14
- }
15
-
16
- .container {
17
- max-width: 1200px;
18
- margin: 0 auto;
19
- }
20
-
21
- h1 {
22
- text-align: center;
23
- color: white;
24
- margin-bottom: 10px;
25
- font-size: 2.5rem;
26
- font-weight: 700;
27
- }
28
-
29
- .subtitle {
30
- text-align: center;
31
- color: rgba(255, 255, 255, 0.8);
32
- margin-bottom: 50px;
33
- font-size: 1.1rem;
34
- }
35
-
36
- .cards-grid {
37
- display: grid;
38
- grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
39
- gap: 30px;
40
- }
41
-
42
- /* Card Base */
43
- .card {
44
- background: white;
45
- border-radius: 16px;
46
- overflow: hidden;
47
- box-shadow: 0 10px 35px rgba(0, 0, 0, 0.15);
48
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
49
- position: relative;
50
- }
51
-
52
- .card:hover {
53
- transform: translateY(-8px);
54
- box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
55
- }
56
-
57
- .card-header {
58
- position: relative;
59
- overflow: hidden;
60
- height: 200px;
61
- }
62
-
63
- .card-img {
64
- width: 100%;
65
- height: 100%;
66
- object-fit: cover;
67
- transition: transform 0.4s ease;
68
- }
69
-
70
- .card:hover .card-img {
71
- transform: scale(1.08);
72
- }
73
-
74
- /* Badges */
75
- .card-badge {
76
- position: absolute;
77
- top: 12px;
78
- right: 12px;
79
- background: #667eea;
80
- color: white;
81
- padding: 6px 14px;
82
- border-radius: 20px;
83
- font-size: 12px;
84
- font-weight: 600;
85
- text-transform: uppercase;
86
- letter-spacing: 0.5px;
87
- z-index: 10;
88
- animation: slideIn 0.4s ease;
89
- }
90
-
91
- .card-badge.premium {
92
- background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
93
- }
94
-
95
- .card-badge.secondary {
96
- background: #43e97b;
97
- }
98
-
99
- .card-badge.interactive {
100
- background: #fa709a;
101
- animation: pulse 2s infinite;
102
- }
103
-
104
- @keyframes slideIn {
105
- from {
106
- opacity: 0;
107
- transform: translateX(20px);
108
- }
109
- to {
110
- opacity: 1;
111
- transform: translateX(0);
112
- }
113
- }
114
-
115
- @keyframes pulse {
116
- 0%, 100% { opacity: 1; }
117
- 50% { opacity: 0.7; }
118
- }
119
-
120
- .card-body {
121
- padding: 25px;
122
- }
123
-
124
- .card-category {
125
- display: inline-block;
126
- color: #667eea;
127
- font-size: 12px;
128
- font-weight: 600;
129
- text-transform: uppercase;
130
- letter-spacing: 0.5px;
131
- margin-bottom: 10px;
132
- }
133
-
134
- .card-title {
135
- color: #333;
136
- font-size: 1.6rem;
137
- margin-bottom: 12px;
138
- font-weight: 600;
139
- line-height: 1.3;
140
- }
141
-
142
- .card-subtitle {
143
- color: #666;
144
- font-size: 0.95rem;
145
- margin-bottom: 15px;
146
- font-weight: 500;
147
- }
148
-
149
- .card-text {
150
- color: #666;
151
- line-height: 1.7;
152
- margin-bottom: 20px;
153
- font-size: 0.95rem;
154
- }
155
-
156
- .card-price {
157
- font-size: 2rem;
158
- font-weight: 700;
159
- color: #667eea;
160
- margin-bottom: 15px;
161
- }
162
-
163
- /* Features List */
164
- .card-features {
165
- display: flex;
166
- flex-direction: column;
167
- gap: 8px;
168
- margin-bottom: 20px;
169
- }
170
-
171
- .feature {
172
- color: #555;
173
- font-size: 0.9rem;
174
- display: flex;
175
- align-items: center;
176
- gap: 8px;
177
- }
178
-
179
- /* Tags */
180
- .card-tags {
181
- display: flex;
182
- flex-wrap: wrap;
183
- gap: 8px;
184
- margin-bottom: 15px;
185
- }
186
-
187
- .tag {
188
- display: inline-block;
189
- background: #f0f0f0;
190
- color: #667eea;
191
- padding: 5px 12px;
192
- border-radius: 16px;
193
- font-size: 0.85rem;
194
- font-weight: 500;
195
- }
196
-
197
- /* Meta Information */
198
- .card-meta {
199
- display: flex;
200
- gap: 15px;
201
- margin-bottom: 20px;
202
- font-size: 0.9rem;
203
- color: #999;
204
- }
205
-
206
- .meta-item {
207
- display: flex;
208
- align-items: center;
209
- gap: 5px;
210
- }
211
-
212
- /* Button */
213
- .card-btn {
214
- width: 100%;
215
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
216
- color: white;
217
- border: none;
218
- padding: 12px 25px;
219
- border-radius: 8px;
220
- font-size: 14px;
221
- font-weight: 600;
222
- cursor: pointer;
223
- transition: all 0.3s ease;
224
- text-transform: uppercase;
225
- letter-spacing: 0.5px;
226
- position: relative;
227
- overflow: hidden;
228
- }
229
-
230
- .card-btn::before {
231
- content: '';
232
- position: absolute;
233
- top: 50%;
234
- left: 50%;
235
- width: 0;
236
- height: 0;
237
- border-radius: 50%;
238
- background: rgba(255, 255, 255, 0.3);
239
- transform: translate(-50%, -50%);
240
- transition: width 0.6s, height 0.6s;
241
- }
242
-
243
- .card-btn:hover::before {
244
- width: 300px;
245
- height: 300px;
246
- }
247
-
248
- .card-btn:hover {
249
- transform: translateY(-2px);
250
- box-shadow: 0 8px 20px rgba(102, 126, 234, 0.4);
251
- }
252
-
253
- .card-btn:active {
254
- transform: translateY(0);
255
- }
256
-
257
- .btn-premium {
258
- background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
259
- }
260
-
261
- .btn-premium:hover {
262
- box-shadow: 0 8px 20px rgba(245, 87, 108, 0.4);
263
- }
264
-
265
- /* Card Variations */
266
- .card-premium {
267
- border-top: 3px solid #f5576c;
268
- }
269
-
270
- .card-minimal .card-body {
271
- padding: 20px;
272
- }
273
-
274
- .card-minimal .card-title {
275
- font-size: 1.4rem;
276
- }
277
-
278
- .card-minimal .card-text {
279
- margin-bottom: 15px;
280
- }
281
-
282
- /* User Card */
283
- .card-user .card-body {
284
- text-align: center;
285
- padding: 30px 25px;
286
- }
287
-
288
- .card-avatar {
289
- font-size: 3rem;
290
- margin-bottom: 15px;
291
- }
292
-
293
- .card-user .card-title {
294
- margin-bottom: 5px;
295
- }
296
-
297
- .card-user .card-subtitle {
298
- margin-bottom: 15px;
299
- }
300
-
301
- .card-social {
302
- display: flex;
303
- gap: 10px;
304
- margin-top: 20px;
305
- justify-content: center;
306
- }
307
-
308
- .social-btn {
309
- display: inline-block;
310
- padding: 8px 16px;
311
- background: #f0f0f0;
312
- color: #667eea;
313
- text-decoration: none;
314
- border-radius: 6px;
315
- font-size: 0.85rem;
316
- font-weight: 600;
317
- transition: all 0.3s ease;
318
- cursor: pointer;
319
- }
320
-
321
- .social-btn:hover {
322
- background: #667eea;
323
- color: white;
324
- transform: translateY(-2px);
325
- }
326
-
327
- /* Interactive Card */
328
- .card-actions {
329
- display: flex;
330
- gap: 10px;
331
- margin-top: 20px;
332
- }
333
-
334
- .action-btn {
335
- flex: 1;
336
- padding: 10px 12px;
337
- background: #f5f5f5;
338
- border: 2px solid #e0e0e0;
339
- border-radius: 8px;
340
- cursor: pointer;
341
- font-size: 0.9rem;
342
- font-weight: 600;
343
- transition: all 0.3s ease;
344
- display: flex;
345
- align-items: center;
346
- justify-content: center;
347
- gap: 6px;
348
- }
349
-
350
- .action-btn:hover {
351
- border-color: #667eea;
352
- background: #f9f9f9;
353
- color: #667eea;
354
- transform: translateY(-2px);
355
- }
356
-
357
- .action-btn:active {
358
- transform: translateY(0);
359
- }
360
-
361
- /* Responsive */
362
- @media (max-width: 768px) {
363
- .cards-grid {
364
- grid-template-columns: 1fr;
365
- }
366
-
367
- h1 {
368
- font-size: 2rem;
369
- }
370
-
371
- .card-title {
372
- font-size: 1.4rem;
373
- }
374
-
375
- .subtitle {
376
- font-size: 1rem;
377
- }
378
- }
379
- font-size: 2rem;
380
- }
381
- }
package/demo/index.html DELETED
@@ -1,169 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Component Demo</title>
7
- <!-- Component Styles -->
8
- <link rel="stylesheet" href="css/button-component.css">
9
- <link rel="stylesheet" href="css/card-component.css">
10
- <link rel="stylesheet" href="css/accordion-component.css">
11
- </head>
12
- <body>
13
- <!-- Header -->
14
- <header class="page-header">
15
- <h1>Component Library Demo</h1>
16
- <p class="subtitle">Showcase of reusable UI components</p>
17
- </header>
18
-
19
- <main class="main-content">
20
- <!-- Button Component Section -->
21
- <section class="component-section">
22
- <h2>Button Component</h2>
23
- <div class="container">
24
- <button class="btn btn-primary">Primary Button</button>
25
- <button class="btn btn-secondary">Secondary Button</button>
26
- <button class="btn btn-success">Success Button</button>
27
- <button class="btn btn-danger">Danger Button</button>
28
- <button class="btn btn-outlined">Outlined Button</button>
29
- <button class="btn btn-primary" disabled>Disabled Button</button>
30
- </div>
31
- </section>
32
-
33
- <!-- Card Component Section -->
34
- <section class="component-section">
35
- <h2>Card Component</h2>
36
- <div class="container">
37
- <div class="cards-grid">
38
- <!-- Card 1 - Basic -->
39
- <div class="card">
40
- <div class="card-header">
41
- <img src="https://via.placeholder.com/300x200/667eea" alt="Card" class="card-img">
42
- <span class="card-badge">Featured</span>
43
- </div>
44
- <div class="card-body">
45
- <div class="card-category">Technology</div>
46
- <h3 class="card-title">Modern Design</h3>
47
- <p class="card-text">Beautiful and responsive card component.</p>
48
- <div class="card-meta">
49
- <span>⭐ 4.5</span>
50
- <span>📅 Jan 29, 2026</span>
51
- </div>
52
- <button class="card-btn">Learn More</button>
53
- </div>
54
- </div>
55
-
56
- <!-- Card 2 - Premium -->
57
- <div class="card card-premium">
58
- <div class="card-header">
59
- <img src="https://via.placeholder.com/300x200/764ba2" alt="Premium" class="card-img">
60
- <span class="card-badge premium">Popular</span>
61
- </div>
62
- <div class="card-body">
63
- <div class="card-category">Services</div>
64
- <h3 class="card-title">Premium Package</h3>
65
- <div class="card-price">$29.99/mo</div>
66
- <p class="card-text">Exclusive features and priority support.</p>
67
- <div class="card-features">
68
- <span>✓ Advanced Tools</span>
69
- <span>✓ Priority Support</span>
70
- <span>✓ Analytics</span>
71
- </div>
72
- <button class="card-btn btn-premium">Subscribe Now</button>
73
- </div>
74
- </div>
75
-
76
- <!-- Card 3 - Blog -->
77
- <div class="card">
78
- <div class="card-header">
79
- <img src="https://via.placeholder.com/300x200/43e97b" alt="Blog" class="card-img">
80
- <span class="card-badge secondary">New</span>
81
- </div>
82
- <div class="card-body">
83
- <div class="card-category">Blog</div>
84
- <h3 class="card-title">Latest Updates</h3>
85
- <p class="card-text">Discover the newest features and improvements.</p>
86
- <div class="card-tags">
87
- <span class="tag">CSS</span>
88
- <span class="tag">Design</span>
89
- <span class="tag">UI</span>
90
- </div>
91
- <button class="card-btn">Read Article</button>
92
- </div>
93
- </div>
94
- </div>
95
- </div>
96
- </section>
97
-
98
- <!-- Accordion Component Section -->
99
- <section class="component-section">
100
- <h2>Accordion Component</h2>
101
- <div class="container">
102
- <div class="accordion-wrapper">
103
- <h3>Frequently Asked Questions</h3>
104
-
105
- <div class="accordion">
106
- <div class="accordion-item">
107
- <button class="accordion-header">
108
- <span>What is this accordion component?</span>
109
- <span class="icon">+</span>
110
- </button>
111
- <div class="accordion-content">
112
- <div class="accordion-body">
113
- This is a fully functional accordion component that uses DOM manipulation to toggle content visibility. Click on any header to expand or collapse the content.
114
- </div>
115
- </div>
116
- </div>
117
-
118
- <div class="accordion-item">
119
- <button class="accordion-header">
120
- <span>How does it work?</span>
121
- <span class="icon">+</span>
122
- </button>
123
- <div class="accordion-content">
124
- <div class="accordion-body">
125
- The accordion uses JavaScript to toggle classes on DOM elements. When you click a header, it adds or removes the 'active' class to expand or collapse the content section.
126
- </div>
127
- </div>
128
- </div>
129
-
130
- <div class="accordion-item">
131
- <button class="accordion-header">
132
- <span>Can I customize the content?</span>
133
- <span class="icon">+</span>
134
- </button>
135
- <div class="accordion-content">
136
- <div class="accordion-body">
137
- Absolutely! You can easily modify the HTML to add your own questions and answers. The styling and functionality will work with any content you add.
138
- </div>
139
- </div>
140
- </div>
141
-
142
- <div class="accordion-item">
143
- <button class="accordion-header">
144
- <span>Is it mobile responsive?</span>
145
- <span class="icon">+</span>
146
- </button>
147
- <div class="accordion-content">
148
- <div class="accordion-body">
149
- Yes! This accordion is fully responsive and works great on all screen sizes - desktop, tablet, and mobile devices.
150
- </div>
151
- </div>
152
- </div>
153
- </div>
154
- </div>
155
- </div>
156
- </section>
157
- </main>
158
-
159
- <!-- Footer -->
160
- <footer class="page-footer">
161
- <p>&copy; 2026 Component Library. All rights reserved.</p>
162
- </footer>
163
-
164
- <!-- Component Scripts -->
165
- <script src="js/button-component.js"></script>
166
- <script src="js/card-component.js"></script>
167
- <script src="js/accordion-component.js"></script>
168
- </body>
169
- </html>
@@ -1,31 +0,0 @@
1
- // ACCORDION Component Script
2
-
3
- // Accordion Component
4
-
5
- const accordionHeaders = document.querySelectorAll('.accordion-header');
6
-
7
- // Toggle accordion
8
- function toggleAccordion(e) {
9
- const header = e.currentTarget;
10
- const item = header.parentElement;
11
-
12
- // Close all other items
13
- document.querySelectorAll('.accordion-item').forEach(accordionItem => {
14
- if (accordionItem !== item) {
15
- accordionItem.classList.remove('active');
16
- }
17
- });
18
-
19
- // Toggle current item
20
- item.classList.toggle('active');
21
- }
22
-
23
- // Add event listeners
24
- accordionHeaders.forEach(header => {
25
- header.addEventListener('click', toggleAccordion);
26
- });
27
-
28
- // Optional: Open first item by default
29
- if (accordionHeaders.length > 0) {
30
- accordionHeaders[0].parentElement.classList.add('active');
31
- }
@@ -1,17 +0,0 @@
1
- // BUTTON Component Script
2
-
3
- // Button click animations
4
- document.querySelectorAll('.btn').forEach(button => {
5
- button.addEventListener('click', function(e) {
6
- if (!this.disabled) {
7
- console.log('Button clicked:', this.textContent);
8
-
9
- // Ripple effect
10
- const ripple = document.createElement('span');
11
- ripple.classList.add('ripple');
12
- this.appendChild(ripple);
13
-
14
- setTimeout(() => ripple.remove(), 600);
15
- }
16
- });
17
- });