domma-js 0.5.0-alpha → 0.7.2-alpha

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,9 +1,9 @@
1
1
  /*!
2
- * Domma Elements CSS v0.5.0-alpha
2
+ * Domma Elements CSS v0.7.2-alpha
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-01-06T00:30:49.181Z
6
- * Commit: 72b7845
5
+ * Built: 2026-01-08T15:02:28.663Z
6
+ * Commit: 59f511d
7
7
  */
8
8
 
9
9
  /**
@@ -305,7 +305,7 @@
305
305
  border-radius: var(--dm-radius-lg);
306
306
  box-shadow: var(--dm-shadow-xl);
307
307
  z-index: 50;
308
- max-width: 500px;
308
+ max-width: 700px;
309
309
  width: 90%;
310
310
  max-height: 90vh;
311
311
  overflow: auto;
@@ -377,6 +377,23 @@
377
377
  max-width: 1140px;
378
378
  }
379
379
 
380
+ /* Modal Factory Dialog Sizes */
381
+ .dm-dialog-small {
382
+ max-width: 400px !important;
383
+ }
384
+
385
+ .dm-dialog-medium {
386
+ max-width: 700px !important;
387
+ }
388
+
389
+ .dm-dialog-large {
390
+ max-width: 900px !important;
391
+ }
392
+
393
+ .dm-dialog-xl {
394
+ max-width: 1200px !important;
395
+ }
396
+
380
397
 
381
398
  /* ============================================
382
399
  TABS
@@ -824,16 +841,18 @@ textarea:not([class])::placeholder {
824
841
  .form-check {
825
842
  display: flex;
826
843
  align-items: flex-start;
827
- gap: var(--dm-space-2);
844
+ gap: var(--dm-space-3);
828
845
  cursor: pointer;
829
846
  position: relative;
847
+ padding: var(--dm-space-1) 0;
848
+ min-height: 1.5rem;
830
849
  }
831
850
 
832
851
  .form-check-input {
833
852
  appearance: none;
834
853
  -webkit-appearance: none;
835
- width: 1.125rem;
836
- height: 1.125rem;
854
+ width: 1.25rem;
855
+ height: 1.25rem;
837
856
  border: 2px solid var(--dm-border, var(--dm-gray-400));
838
857
  border-radius: var(--dm-radius-sm);
839
858
  background-color: var(--dm-surface, var(--dm-white));
@@ -841,6 +860,8 @@ textarea:not([class])::placeholder {
841
860
  position: relative;
842
861
  flex-shrink: 0;
843
862
  margin-top: 0.125rem;
863
+ margin-right: var(--dm-space-1);
864
+ padding: 0;
844
865
  transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
845
866
  }
846
867
 
@@ -862,10 +883,10 @@ textarea:not([class])::placeholder {
862
883
  .form-check-input:checked::after {
863
884
  content: '';
864
885
  position: absolute;
865
- left: 5px;
866
- top: 2px;
867
- width: 5px;
868
- height: 9px;
886
+ left: 5.5px;
887
+ top: 2.5px;
888
+ width: 6px;
889
+ height: 10px;
869
890
  border: solid var(--dm-white);
870
891
  border-width: 0 2px 2px 0;
871
892
  transform: rotate(45deg);
@@ -884,6 +905,9 @@ textarea:not([class])::placeholder {
884
905
  .form-check-label {
885
906
  cursor: pointer;
886
907
  color: var(--dm-text, var(--dm-gray-900));
908
+ line-height: 1.5;
909
+ padding-top: 0.125rem;
910
+ user-select: none;
887
911
  }
888
912
 
889
913
  /* Custom Radio */
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Grid CSS v0.5.0-alpha
2
+ * Domma Grid CSS v0.7.2-alpha
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-01-06T00:30:49.174Z
6
- * Commit: 72b7845
5
+ * Built: 2026-01-08T15:02:28.652Z
6
+ * Commit: 59f511d
7
7
  */
8
8
 
9
9
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Syntax Highlighting CSS v0.5.0-alpha
2
+ * Domma Syntax Highlighting CSS v0.7.2-alpha
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-01-06T00:30:49.191Z
6
- * Commit: 72b7845
5
+ * Built: 2026-01-08T15:02:28.671Z
6
+ * Commit: 59f511d
7
7
  */
8
8
 
9
9
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Themes v0.5.0-alpha
2
+ * Domma Themes v0.7.2-alpha
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-01-06T00:30:49.133Z
6
- * Commit: 72b7845
5
+ * Built: 2026-01-08T15:02:28.608Z
6
+ * Commit: 59f511d
7
7
  */
8
8
 
9
9
  /**
@@ -3466,3 +3466,216 @@
3466
3466
  --dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
3467
3467
 
3468
3468
  }
3469
+ .dm-theme-grayve {
3470
+ color-scheme: dark; /* Slate is typically a dark theme */
3471
+
3472
+ /* Tailwind-based color palette - adapting for grayve */
3473
+ /* Slate (using bootswatch values) */
3474
+ --dm-slate-50: #F8F9FA; /* Off-white */
3475
+ --dm-slate-100: #E9ECEF;
3476
+ --dm-slate-200: #DEE2E6;
3477
+ --dm-slate-300: #CED4DA;
3478
+ --dm-slate-400: #ADB5BD;
3479
+ --dm-slate-500: #6C757D; /* Medium Gray */
3480
+ --dm-slate-600: #495057;
3481
+ --dm-slate-700: #343A40;
3482
+ --dm-slate-800: #212529;
3483
+ --dm-slate-900: #1a1e21; /* Dark Gray */
3484
+ --dm-slate-950: #141619; /* Very Dark Gray */
3485
+
3486
+ /* Blues (for primary/info, etc.) */
3487
+ --dm-blue-50: #e0f7fa;
3488
+ --dm-blue-100: #b2ebf2;
3489
+ --dm-blue-200: #80deea;
3490
+ --dm-blue-300: #4dd0e1;
3491
+ --dm-blue-400: #26c6da;
3492
+ --dm-blue-500: #00bcd4; /* Bootswatch primary might be close to this or lighter */
3493
+ --dm-blue-600: #00acc1;
3494
+ --dm-blue-700: #0097a7;
3495
+ --dm-blue-800: #00838f;
3496
+ --dm-blue-900: #006064;
3497
+ --dm-blue-950: #004d40;
3498
+
3499
+ /* Green (Success) */
3500
+ --dm-green-500: #28a745;
3501
+ --dm-green-400: #49cc61;
3502
+ --dm-green-300: #6fd180;
3503
+ --dm-green-600: #218838;
3504
+
3505
+ /* Red (Danger) */
3506
+ --dm-red-500: #dc3545;
3507
+ --dm-red-400: #e35a67;
3508
+ --dm-red-300: #eb808a;
3509
+ --dm-red-600: #c82333;
3510
+
3511
+ /* Amber (Warning) */
3512
+ --dm-amber-500: #ffc107;
3513
+ --dm-amber-400: #ffcd38;
3514
+ --dm-amber-300: #ffd865;
3515
+ --dm-amber-600: #e0a800;
3516
+
3517
+ /* Sky (Info - often similar to primary but distinct) */
3518
+ --dm-sky-500: #17a2b8;
3519
+ --dm-sky-400: #26d2e9;
3520
+ --dm-sky-300: #51daec;
3521
+ --dm-sky-600: #138496;
3522
+
3523
+ /* Semantic colors */
3524
+ --dm-background: var(--dm-slate-900);
3525
+ --dm-background-alt: var(--dm-slate-800);
3526
+ --dm-surface: var(--dm-slate-800);
3527
+ --dm-surface-raised: var(--dm-slate-700);
3528
+ --dm-surface-overlay: rgba(0, 0, 0, 0.7);
3529
+
3530
+ /* Text */
3531
+ --dm-text: var(--dm-slate-200);
3532
+ --dm-text-secondary: var(--dm-slate-400);
3533
+ --dm-text-muted: var(--dm-slate-500);
3534
+ --dm-text-disabled: var(--dm-slate-600);
3535
+ --dm-text-inverse: var(--dm-slate-900);
3536
+
3537
+ /* Borders */
3538
+ --dm-border: var(--dm-slate-700);
3539
+ --dm-border-light: var(--dm-slate-800);
3540
+ --dm-border-dark: var(--dm-slate-600);
3541
+ --dm-border-focus: var(--dm-blue-500); /* Use a vibrant blue for focus */
3542
+ --dm-focus-ring: rgba(0, 188, 212, 0.3); /* Based on dm-blue-500 */
3543
+ --dm-focus-ring-danger: rgba(220, 53, 69, 0.3); /* Based on dm-red-500 */
3544
+
3545
+ /* Interactive States */
3546
+ --dm-hover-bg: rgba(255, 255, 255, 0.07);
3547
+ --dm-active-bg: rgba(255, 255, 255, 0.1);
3548
+ --dm-selected-bg: var(--dm-blue-600);
3549
+ --dm-disabled-opacity: 0.4;
3550
+
3551
+ /* Brand Colors */
3552
+ --dm-primary: var(--dm-blue-500);
3553
+ --dm-primary-dark: var(--dm-blue-700);
3554
+ --dm-primary-light: var(--dm-blue-300);
3555
+ --dm-primary-hover: var(--dm-blue-400);
3556
+ --dm-primary-active: var(--dm-blue-600);
3557
+
3558
+ --dm-secondary: var(--dm-slate-500);
3559
+ --dm-secondary-hover: var(--dm-slate-400);
3560
+ --dm-secondary-active: var(--dm-slate-300);
3561
+
3562
+ /* Status Colors */
3563
+ --dm-success: var(--dm-green-500);
3564
+ --dm-success-hover: var(--dm-green-400);
3565
+ --dm-success-active: var(--dm-green-600);
3566
+ --dm-success-light: rgba(40, 167, 69, 0.2);
3567
+ --dm-success-dark: var(--dm-green-600);
3568
+
3569
+ --dm-danger: var(--dm-red-500);
3570
+ --dm-danger-hover: var(--dm-red-400);
3571
+ --dm-danger-active: var(--dm-red-600);
3572
+ --dm-danger-light: rgba(220, 53, 69, 0.2);
3573
+ --dm-danger-dark: var(--dm-red-600);
3574
+
3575
+ --dm-warning: var(--dm-amber-400);
3576
+ --dm-warning-hover: var(--dm-amber-300);
3577
+ --dm-warning-active: var(--dm-amber-500);
3578
+ --dm-warning-text: var(--dm-amber-900);
3579
+ --dm-warning-light: rgba(255, 193, 7, 0.2);
3580
+ --dm-warning-dark: var(--dm-amber-600);
3581
+
3582
+ --dm-info: var(--dm-sky-500);
3583
+ --dm-info-hover: var(--dm-sky-400);
3584
+ --dm-info-active: var(--dm-sky-600);
3585
+ --dm-info-light: rgba(23, 162, 184, 0.2);
3586
+ --dm-info-dark: var(--dm-sky-600);
3587
+
3588
+ /* Background Tints */
3589
+ --dm-primary-bg: rgba(0, 188, 212, 0.15);
3590
+ --dm-secondary-bg: rgba(108, 117, 125, 0.15);
3591
+ --dm-success-bg: rgba(40, 167, 69, 0.15);
3592
+ --dm-danger-bg: rgba(220, 53, 69, 0.15);
3593
+ --dm-warning-bg: rgba(255, 193, 7, 0.15);
3594
+ --dm-info-bg: rgba(23, 162, 184, 0.15);
3595
+
3596
+ /* Semantic Surface Colors */
3597
+ --dm-surface-secondary: var(--dm-slate-900);
3598
+ --dm-card-bg: var(--dm-slate-800);
3599
+ --dm-card-border: var(--dm-slate-700);
3600
+
3601
+ /* Legacy color names (kept for backwards compatibility) */
3602
+ --dm-light: var(--dm-slate-200);
3603
+ --dm-dark: var(--dm-slate-800);
3604
+ --dm-white: #ffffff;
3605
+ --dm-black: #000000;
3606
+
3607
+ /* Grays (mapped to Slate) */
3608
+ --dm-gray-50: var(--dm-slate-50);
3609
+ --dm-gray-100: var(--dm-slate-100);
3610
+ --dm-gray-200: var(--dm-slate-200);
3611
+ --dm-gray-300: var(--dm-slate-300);
3612
+ --dm-gray-400: var(--dm-slate-400);
3613
+ --dm-gray-500: var(--dm-slate-500);
3614
+ --dm-gray-600: var(--dm-slate-600);
3615
+ --dm-gray-700: var(--dm-slate-700);
3616
+ --dm-gray-800: var(--dm-slate-800);
3617
+ --dm-gray-900: var(--dm-slate-900);
3618
+ --dm-gray-950: var(--dm-slate-950);
3619
+
3620
+ /* Component-specific variables */
3621
+ --dm-input-bg: var(--dm-surface);
3622
+ --dm-input-border: var(--dm-border-dark);
3623
+ --dm-input-text: var(--dm-text);
3624
+ --dm-input-placeholder: var(--dm-text-muted);
3625
+ --dm-input-focus-border: var(--dm-primary);
3626
+ --dm-input-disabled-bg: var(--dm-slate-800);
3627
+
3628
+ --dm-table-border: var(--dm-border);
3629
+ --dm-table-hover-bg: var(--dm-hover-bg);
3630
+ --dm-table-stripe-bg: rgba(255, 255, 255, 0.03);
3631
+
3632
+ --dm-navbar-bg: var(--dm-surface);
3633
+ --dm-navbar-text: var(--dm-text);
3634
+ --dm-navbar-border: var(--dm-border);
3635
+
3636
+ --dm-dropdown-bg: var(--dm-surface-raised);
3637
+ --dm-dropdown-border: var(--dm-border);
3638
+ --dm-dropdown-item-hover: var(--dm-hover-bg);
3639
+ --dm-dropdown-item-active: var(--dm-selected-bg);
3640
+
3641
+ --dm-sidebar-bg: var(--dm-surface);
3642
+ --dm-sidebar-border: var(--dm-border);
3643
+ --dm-sidebar-item-hover: var(--dm-hover-bg);
3644
+ --dm-sidebar-item-active: var(--dm-selected-bg);
3645
+
3646
+ --dm-autocomplete-bg: var(--dm-surface);
3647
+ --dm-autocomplete-border: var(--dm-border);
3648
+ --dm-autocomplete-shadow: var(--dm-shadow-md);
3649
+ --dm-autocomplete-item-hover: var(--dm-hover-bg);
3650
+ --dm-autocomplete-item-active: var(--dm-selected-bg);
3651
+ --dm-autocomplete-highlight: var(--dm-primary-light);
3652
+
3653
+ --dm-pillbox-bg: var(--dm-surface);
3654
+ --dm-pillbox-border: var(--dm-border);
3655
+ --dm-pill-bg: var(--dm-gray-700); /* Darker pill background for dark theme */
3656
+ --dm-pill-color: var(--dm-text);
3657
+ --dm-pill-hover-bg: var(--dm-gray-600);
3658
+
3659
+ --dm-tab-border: var(--dm-border);
3660
+ --dm-tab-hover-bg: var(--dm-hover-bg);
3661
+ --dm-tab-active-border: var(--dm-primary);
3662
+ --dm-tab-active-text: var(--dm-primary);
3663
+
3664
+ --dm-accordion-border: var(--dm-border);
3665
+ --dm-accordion-header-hover: var(--dm-hover-bg);
3666
+ }
3667
+
3668
+ /* Syntax highlighting tokens for grayve (assuming similar to dark theme) */
3669
+ .dm-theme-grayve .code-block .syntax-keyword {
3670
+ color: #c792ea; /* Purple */
3671
+ font-weight: 500;
3672
+ }
3673
+
3674
+ .dm-theme-grayve .code-block .syntax-string,
3675
+ .dm-theme-grayve .code-block .syntax-template-string {
3676
+ color: #c3e88d; /* Green */
3677
+ }
3678
+
3679
+ .dm-theme-grayve .code-block .syntax-function {
3680
+ color: #82aaff; /* Light Blue */
3681
+ }
@@ -0,0 +1,241 @@
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>About - {{projectName}}</title>
7
+
8
+ <!-- Domma CSS -->
9
+ <link rel="stylesheet" href="../node_modules/domma-js/public/dist/domma.css">
10
+ <link rel="stylesheet" href="../node_modules/domma-js/public/dist/grid.css">
11
+ <link rel="stylesheet" href="../node_modules/domma-js/public/dist/elements.css">
12
+ <link rel="stylesheet" href="../node_modules/domma-js/public/dist/themes/domma-themes.css">
13
+
14
+ <!-- Custom CSS -->
15
+ <link rel="stylesheet" href="../css/custom.css">
16
+ </head>
17
+ <body class="dm-theme-{{theme}}">
18
+ <!-- Navigation -->
19
+ <nav id="main-navbar"></nav>
20
+
21
+ <!-- Page Header -->
22
+ <section class="container py-6">
23
+ <h1 class="display-2 mb-3">About {{projectName}}</h1>
24
+ <p class="lead text-secondary">
25
+ Learn more about our mission, values, and the team behind the project.
26
+ </p>
27
+ </section>
28
+
29
+ <!-- About Content -->
30
+ <section class="container py-4">
31
+ <div class="row g-6">
32
+ <div class="col-12 col-lg-8">
33
+ <h2 class="h3 mb-4">Our Story</h2>
34
+ <p>
35
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore
36
+ magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris.
37
+ </p>
38
+ <p>
39
+ Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
40
+ sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
41
+ </p>
42
+
43
+ <h2 class="h3 mt-6 mb-4">Our Mission</h2>
44
+ <p>
45
+ To build modern, accessible web applications that deliver exceptional user experiences. We believe in:
46
+ </p>
47
+ <ul class="list-unstyled ms-4">
48
+ <li class="mb-2"><span data-icon="check-circle" class="text-success me-2"></span> <strong>Simplicity</strong> -
49
+ Keep things simple and intuitive
50
+ </li>
51
+ <li class="mb-2"><span data-icon="check-circle" class="text-success me-2"></span> <strong>Performance</strong> -
52
+ Fast, lightweight, and efficient
53
+ </li>
54
+ <li class="mb-2"><span data-icon="check-circle" class="text-success me-2"></span> <strong>Accessibility</strong>
55
+ - Inclusive design for everyone
56
+ </li>
57
+ <li class="mb-2"><span data-icon="check-circle" class="text-success me-2"></span> <strong>Open Source</strong> -
58
+ Community-driven development
59
+ </li>
60
+ </ul>
61
+ </div>
62
+
63
+ <div class="col-12 col-lg-4">
64
+ <div class="card">
65
+ <div class="card-body">
66
+ <h3 class="h5 mb-3">Quick Facts</h3>
67
+ <dl class="mb-0">
68
+ <dt class="text-secondary mb-1">Founded</dt>
69
+ <dd class="mb-3">{{year}}</dd>
70
+
71
+ <dt class="text-secondary mb-1">Framework</dt>
72
+ <dd class="mb-3">Domma.js</dd>
73
+
74
+ <dt class="text-secondary mb-1">License</dt>
75
+ <dd class="mb-3">ISC</dd>
76
+
77
+ <dt class="text-secondary mb-1">Status</dt>
78
+ <dd class="mb-0">
79
+ <span class="badge badge-success">Active Development</span>
80
+ </dd>
81
+ </dl>
82
+ </div>
83
+ </div>
84
+ </div>
85
+ </div>
86
+ </section>
87
+
88
+ <!-- Team Section -->
89
+ <section class="container py-6">
90
+ <h2 class="text-center mb-6">Meet the Team</h2>
91
+
92
+ <div class="row g-4">
93
+ <!-- Team Member 1 -->
94
+ <div class="col-12 col-sm-6 col-lg-3">
95
+ <div class="card text-center hover">
96
+ <div class="card-body">
97
+ <div class="mb-3"
98
+ style="width: 80px; height: 80px; margin: 0 auto; border-radius: 50%; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);"></div>
99
+ <h3 class="h5 mb-1">Jane Doe</h3>
100
+ <p class="text-secondary mb-3">Lead Developer</p>
101
+ <div class="d-flex justify-content-center gap-2">
102
+ <a href="#" class="btn btn-sm btn-outline-primary">
103
+ <span data-icon="github"></span>
104
+ </a>
105
+ <a href="#" class="btn btn-sm btn-outline-primary">
106
+ <span data-icon="twitter"></span>
107
+ </a>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </div>
112
+
113
+ <!-- Team Member 2 -->
114
+ <div class="col-12 col-sm-6 col-lg-3">
115
+ <div class="card text-center hover">
116
+ <div class="card-body">
117
+ <div class="mb-3"
118
+ style="width: 80px; height: 80px; margin: 0 auto; border-radius: 50%; background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);"></div>
119
+ <h3 class="h5 mb-1">John Smith</h3>
120
+ <p class="text-secondary mb-3">UX Designer</p>
121
+ <div class="d-flex justify-content-center gap-2">
122
+ <a href="#" class="btn btn-sm btn-outline-primary">
123
+ <span data-icon="github"></span>
124
+ </a>
125
+ <a href="#" class="btn btn-sm btn-outline-primary">
126
+ <span data-icon="twitter"></span>
127
+ </a>
128
+ </div>
129
+ </div>
130
+ </div>
131
+ </div>
132
+
133
+ <!-- Team Member 3 -->
134
+ <div class="col-12 col-sm-6 col-lg-3">
135
+ <div class="card text-center hover">
136
+ <div class="card-body">
137
+ <div class="mb-3"
138
+ style="width: 80px; height: 80px; margin: 0 auto; border-radius: 50%; background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);"></div>
139
+ <h3 class="h5 mb-1">Sarah Johnson</h3>
140
+ <p class="text-secondary mb-3">Product Manager</p>
141
+ <div class="d-flex justify-content-center gap-2">
142
+ <a href="#" class="btn btn-sm btn-outline-primary">
143
+ <span data-icon="github"></span>
144
+ </a>
145
+ <a href="#" class="btn btn-sm btn-outline-primary">
146
+ <span data-icon="twitter"></span>
147
+ </a>
148
+ </div>
149
+ </div>
150
+ </div>
151
+ </div>
152
+
153
+ <!-- Team Member 4 -->
154
+ <div class="col-12 col-sm-6 col-lg-3">
155
+ <div class="card text-center hover">
156
+ <div class="card-body">
157
+ <div class="mb-3"
158
+ style="width: 80px; height: 80px; margin: 0 auto; border-radius: 50%; background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);"></div>
159
+ <h3 class="h5 mb-1">Mike Chen</h3>
160
+ <p class="text-secondary mb-3">DevOps Engineer</p>
161
+ <div class="d-flex justify-content-center gap-2">
162
+ <a href="#" class="btn btn-sm btn-outline-primary">
163
+ <span data-icon="github"></span>
164
+ </a>
165
+ <a href="#" class="btn btn-sm btn-outline-primary">
166
+ <span data-icon="twitter"></span>
167
+ </a>
168
+ </div>
169
+ </div>
170
+ </div>
171
+ </div>
172
+ </div>
173
+ </section>
174
+
175
+ <!-- Timeline Section -->
176
+ <section class="bg-surface py-6">
177
+ <div class="container">
178
+ <h2 class="text-center mb-6">Our Journey</h2>
179
+
180
+ <div class="row g-4">
181
+ <div class="col-12 col-md-6 col-lg-3">
182
+ <div class="card h-100">
183
+ <div class="card-body">
184
+ <div class="badge badge-primary mb-3">2024 Q1</div>
185
+ <h3 class="h5 mb-2">Project Launch</h3>
186
+ <p class="text-secondary mb-0">
187
+ Initial release with core features and documentation.
188
+ </p>
189
+ </div>
190
+ </div>
191
+ </div>
192
+
193
+ <div class="col-12 col-md-6 col-lg-3">
194
+ <div class="card h-100">
195
+ <div class="card-body">
196
+ <div class="badge badge-primary mb-3">2024 Q2</div>
197
+ <h3 class="h5 mb-2">Community Growth</h3>
198
+ <p class="text-secondary mb-0">
199
+ Reached 1,000 users and 50+ contributors.
200
+ </p>
201
+ </div>
202
+ </div>
203
+ </div>
204
+
205
+ <div class="col-12 col-md-6 col-lg-3">
206
+ <div class="card h-100">
207
+ <div class="card-body">
208
+ <div class="badge badge-primary mb-3">2024 Q3</div>
209
+ <h3 class="h5 mb-2">Major Update</h3>
210
+ <p class="text-secondary mb-0">
211
+ Version 2.0 with enhanced performance and new features.
212
+ </p>
213
+ </div>
214
+ </div>
215
+ </div>
216
+
217
+ <div class="col-12 col-md-6 col-lg-3">
218
+ <div class="card h-100">
219
+ <div class="card-body">
220
+ <div class="badge badge-success mb-3">2024 Q4</div>
221
+ <h3 class="h5 mb-2">Looking Ahead</h3>
222
+ <p class="text-secondary mb-0">
223
+ Expanding features and building partnerships.
224
+ </p>
225
+ </div>
226
+ </div>
227
+ </div>
228
+ </div>
229
+ </div>
230
+ </section>
231
+
232
+ <!-- Footer -->
233
+ <footer class="page-footer"></footer>
234
+
235
+ <!-- Domma JavaScript -->
236
+ <script src="../node_modules/domma-js/public/dist/domma.min.js"></script>
237
+
238
+ <!-- App Initialization -->
239
+ <script src="../js/app.js"></script>
240
+ </body>
241
+ </html>
@@ -0,0 +1,6 @@
1
+ <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <rect width="40" height="40" rx="8" fill="#3b82f6"/>
3
+ <path d="M12 20L18 14L24 20L30 14" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
4
+ <path d="M12 28L18 22L24 28L30 22" stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"
5
+ opacity="0.6"/>
6
+ </svg>